about summary refs log tree commit diff
path: root/pkgs/desktops/lomiri
diff options
context:
space:
mode:
authorOPNA2608 <opna2608@protonmail.com>2024-04-12 22:12:47 +0200
committerOPNA2608 <opna2608@protonmail.com>2024-04-12 22:12:47 +0200
commit40e6d7af2e2da507f725beefa087ec2cd57f7ff9 (patch)
tree7ef291bbb790119b8ce8cfc63daedfcf7affb437 /pkgs/desktops/lomiri
parent425c8101a9e9a484a2b109cf8e3aa34ed94f7cd6 (diff)
lomiri.u1db-qt: Fix pkg-config file
Diffstat (limited to 'pkgs/desktops/lomiri')
-rw-r--r--pkgs/desktops/lomiri/development/u1db-qt/default.nix25
1 files changed, 20 insertions, 5 deletions
diff --git a/pkgs/desktops/lomiri/development/u1db-qt/default.nix b/pkgs/desktops/lomiri/development/u1db-qt/default.nix
index 275fe85a55d24..a141abb79d699 100644
--- a/pkgs/desktops/lomiri/development/u1db-qt/default.nix
+++ b/pkgs/desktops/lomiri/development/u1db-qt/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitLab
+, fetchpatch
 , gitUpdater
 , testers
 , cmake
@@ -27,16 +28,30 @@ stdenv.mkDerivation (finalAttrs: {
     "examples"
   ];
 
+  patches = [
+    # Fixes some issues with the pkg-config file
+    # Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/7 merged & in release
+    (fetchpatch {
+      name = "0001-u1db-qt-Fix-pkg-config-files-includedir-variable.patch";
+      url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/ddafbfadfad6dfc508a866835354a4701dda1fe1.patch";
+      hash = "sha256-entwjU9TiHuSuht7Cdl0k1v0cP7350a04/FXgTVhGmk=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs tests/strict-qmltestrunner.sh
 
-    # QMake query response is broken
+    # QMake query response is broken, just hardcode the expected location
     substituteInPlace modules/U1db/CMakeLists.txt \
-      --replace "\''${QT_IMPORTS_DIR}" "$out/$qtQmlPrefix"
+      --replace-fail 'exec_program(''${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML"' 'exec_program(echo ARGS "''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"'
+
+    # For our automatic pkg-config output patcher to work, prefix must be used here
+    substituteInPlace libu1db-qt.pc.in \
+      --replace-fail 'libdir=''${exec_prefix}/lib' 'libdir=''${prefix}/lib'
   '' + lib.optionalString (!finalAttrs.doCheck) ''
     # Other locations add dependencies to custom check target from tests
     substituteInPlace CMakeLists.txt \
-      --replace 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")'
+      --replace-fail 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")'
   '';
 
   strictDeps = true;
@@ -57,8 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    # Needs qdoc
-    "-DBUILD_DOCS=OFF"
+    # Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379
+    (lib.cmakeBool "BUILD_DOCS" false)
   ];
 
   dontWrapQtApps = true;