summary refs log tree commit diff
path: root/pkgs/desktops/lxqt
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-08-22 00:42:28 -0400
committerworldofpeace <worldofpeace@protonmail.ch>2019-08-22 00:42:28 -0400
commite34de045b65ac7b812d980df85204644baeb60c9 (patch)
tree27dbdafeae7a636e7edd4e3ff1d0f297bb698228 /pkgs/desktops/lxqt
parent3167eb3780ca59f1786e9f80d017e5ac3e7807ac (diff)
downloadnixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.tar
nixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.tar.gz
nixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.tar.bz2
nixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.tar.lz
nixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.tar.xz
nixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.tar.zst
nixpkgs-e34de045b65ac7b812d980df85204644baeb60c9.zip
lxqt: use modified LXQtConfigVars CMake macro
LXQt uses the values in this macro to set installation
directories and in the case of lxqt-session to substitute in paths.
However, by doing this all the paths are from within lxqt-build-tools
prefix. By utilizing a setup hook we can set the directories with the
correct prefix as cmake flags.
Diffstat (limited to 'pkgs/desktops/lxqt')
-rw-r--r--pkgs/desktops/lxqt/liblxqt/default.nix7
-rw-r--r--pkgs/desktops/lxqt/lxqt-about/default.nix5
-rw-r--r--pkgs/desktops/lxqt/lxqt-admin/default.nix5
-rw-r--r--pkgs/desktops/lxqt/lxqt-archiver/default.nix1
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake7
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/default.nix11
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh15
-rw-r--r--pkgs/desktops/lxqt/lxqt-config/default.nix17
-rw-r--r--pkgs/desktops/lxqt/lxqt-globalkeys/default.nix10
-rw-r--r--pkgs/desktops/lxqt/lxqt-notificationd/default.nix10
-rw-r--r--pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix5
-rw-r--r--pkgs/desktops/lxqt/lxqt-panel/default.nix14
-rw-r--r--pkgs/desktops/lxqt/lxqt-policykit/default.nix8
-rw-r--r--pkgs/desktops/lxqt/lxqt-powermanagement/default.nix10
-rw-r--r--pkgs/desktops/lxqt/lxqt-runner/default.nix8
-rw-r--r--pkgs/desktops/lxqt/lxqt-session/default.nix12
-rw-r--r--pkgs/desktops/lxqt/lxqt-sudo/default.nix5
-rw-r--r--pkgs/desktops/lxqt/lxqt-themes/default.nix7
-rw-r--r--pkgs/desktops/lxqt/pcmanfm-qt/default.nix7
19 files changed, 31 insertions, 133 deletions
diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix
index 96493149420..d94b1ac0d03 100644
--- a/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -27,15 +27,8 @@ mkDerivation rec {
     xorg.libXScrnSaver
   ];
 
-  cmakeFlags = [
-    "-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg"
-  ];
-
   postPatch = ''
-    sed -i 's|set(LXQT_SHARE_DIR .*)|set(LXQT_SHARE_DIR "/run/current-system/sw/share/lxqt")|' CMakeLists.txt
     sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
   '';
 
   meta = with lib; {
diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix
index 784968bc9df..595141daffc 100644
--- a/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -25,11 +25,6 @@ mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
   meta = with lib; {
     description = "Dialogue window providing information about LXQt and the system it's running on";
     homepage = https://github.com/lxqt/lxqt-about;
diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix
index ea5b4010e66..a49bb120791 100644
--- a/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -29,11 +29,6 @@ mkDerivation rec {
   postPatch = ''
     sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \
       -i lxqt-admin-user/CMakeLists.txt
-
-    for f in lxqt-admin-{user,time}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
   '';
 
   meta = with lib; {
diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index bf3c1596f22..da90826116f 100644
--- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -1,7 +1,6 @@
 { lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }:
 
 mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "lxqt-archiver";
   version = "0.0.96";
 
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake b/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake
new file mode 100644
index 00000000000..fd7ef927f8b
--- /dev/null
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake
@@ -0,0 +1,7 @@
+add_definitions("-DLXQT_RELATIVE_SHARE_DIR=\"${LXQT_RELATIVE_SHARE_DIR}\"")
+add_definitions("-DLXQT_SHARE_DIR=\"${LXQT_SHARE_DIR}\"")
+add_definitions("-DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"${LXQT_RELATIVE_TRANSLATIONS_DIR}\"")
+add_definitions("-DLXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\"")
+add_definitions("-DLXQT_GRAPHICS_DIR=\"${LXQT_GRAPHICS_DIR}\"")
+add_definitions("-DLXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\"")
+add_definitions("-DLXQT_DATA_DIR=\"${LXQT_DATA_DIR}\"")
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index d202ba95d3e..626c99fcf9c 100644
--- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -11,11 +11,18 @@ mkDerivation rec {
     sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig setupHook ];
 
   buildInputs = [ qtbase glib pcre ];
 
-  preConfigure = ''cmakeFlags+=" -DLXQT_ETC_XDG_DIR=$out/etc/xdg"'';
+  setupHook = ./setup-hook.sh;
+
+  # We're dependent on this macro doing add_definitions in most places
+  # But we have the setup-hook to set the values.
+  postInstall = ''
+    rm $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
+    cp ${./LXQtConfigVars.cmake} $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
+  '';
 
   meta = with lib; {
     description = "Various packaging tools and scripts for LXQt applications";
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh b/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh
new file mode 100644
index 00000000000..e40765116e9
--- /dev/null
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh
@@ -0,0 +1,15 @@
+LXQtCMakePostHook() {
+  cmakeFlagsArray+=(
+    -DLXQT_LIBRARY_NAME=lxqt
+    -DLXQT_SHARE_DIR=$out/share/lxqt
+    -DLXQT_TRANSLATIONS_DIR=$out/share/lxqt/translations
+    -DLXQT_GRAPHICS_DIR=$out/share/lxqt/graphics
+    -DLXQT_ETC_XDG_DIR=$out/etc/xdg
+    -DLXQT_DATA_DIR=$out/share
+    -DLXQT_RELATIVE_SHARE_DIR=lxqt
+    -DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=lxqt/translations
+  )
+
+}
+
+postHooks+=(LXQtCMakePostHook)
diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix
index 9d27beab2d6..d775a93fff4 100644
--- a/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -38,23 +38,6 @@ mkDerivation rec {
   ];
 
   postPatch = ''
-    substituteInPlace src/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    for f in \
-      lxqt-config-file-associations/CMakeLists.txt \
-      lxqt-config-brightness/CMakeLists.txt \
-      lxqt-config-appearance/CMakeLists.txt \
-      lxqt-config-locale/CMakeLists.txt \
-      lxqt-config-monitor/CMakeLists.txt \
-      lxqt-config-input/CMakeLists.txt \
-      liblxqt-config-cursor/CMakeLists.txt \
-      src/CMakeLists.txt
-    do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-
     sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt
   '';
 
diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index b9d3e8a7e4c..d836ddeea38 100644
--- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -26,16 +26,6 @@ mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    for dir in autostart xdg; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-
-    substituteInPlace config/CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
   meta = with lib; {
     description = "Daemon used to register global keyboard shortcuts";
     homepage = https://github.com/lxqt/lxqt-globalkeys;
diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 7e32e0454f8..81a6a423a21 100644
--- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -16,16 +16,6 @@ mkDerivation rec {
     lxqt-build-tools
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    for f in {config,src}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
   buildInputs = [
     qtbase
     qttools
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index 8e361caf6e3..83048ed7d57 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -26,11 +26,6 @@ mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
   meta = with lib; {
     description = "GUI to query passwords on behalf of SSH agents";
     homepage = https://github.com/lxqt/lxqt-openssh-askpass;
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index e107cde6e04..4558d36e554 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -49,20 +49,6 @@ mkDerivation rec {
     libXdamage
   ];
 
-  postPatch = ''
-    for dir in  autostart menu; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-    substituteInPlace panel/CMakeLists.txt \
-      --replace "DESTINATION \''${LXQT_ETC_XDG_DIR}" "DESTINATION etc/xdg"
-
-    for f in cmake/BuildPlugin.cmake panel/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
   meta = with lib; {
     description = "The LXQt desktop panel";
     homepage = https://github.com/lxqt/lxqt-panel;
diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 47122d00eb8..d501d83947e 100644
--- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -33,14 +33,6 @@ mkDerivation rec {
     pcre
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
   meta = with lib; {
     description = "The LXQt PolicyKit agent";
     homepage = https://github.com/lxqt/lxqt-policykit;
diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index e9e6a41a62f..9f8c66d826c 100644
--- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -28,16 +28,6 @@ mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    for f in {config,src}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
   meta = with lib; {
     description = "Power management module for LXQt";
     homepage = https://github.com/lxqt/lxqt-powermanagement;
diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix
index 7581899b5af..d737bd91c91 100644
--- a/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -32,14 +32,6 @@ mkDerivation rec {
     pcre
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
   meta = with lib; {
     description = "Tool used to launch programs quickly by typing their names";
     homepage = https://github.com/lxqt/lxqt-runner;
diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix
index 8bf384c8f4c..fbf2c7ddde7 100644
--- a/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -30,18 +30,6 @@ mkDerivation rec {
     xdg-user-dirs
   ];
 
-  postPatch = ''
-    for dir in autostart config; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-
-    for f in lxqt-{config-session,leave,session}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
   meta = with lib; {
     description = "An alternative session manager ported from the original razor-session";
     homepage = https://github.com/lxqt/lxqt-session;
diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 10630f0f7d0..91159398b8f 100644
--- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -27,11 +27,6 @@ mkDerivation rec {
     sudo
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
   meta = with lib; {
     description = "GUI frontend for sudo/su";
     homepage = https://github.com/lxqt/lxqt-sudo;
diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix
index a52515b73ab..9d8da87fd5d 100644
--- a/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -16,13 +16,6 @@ mkDerivation rec {
     lxqt-build-tools
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_GRAPHICS_DIR}" "DESTINATION \"share/lxqt/graphics"
-    substituteInPlace themes/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_SHARE_DIR}" "DESTINATION \"share/lxqt"
-  '';
-
   meta = with lib; {
     description = "Themes, graphics and icons for LXQt";
     homepage = https://github.com/lxqt/lxqt-themes;
diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index 3adf6fc90bc..168b7f35ad2 100644
--- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -28,13 +28,6 @@ mkDerivation rec {
     lxmenu-data
   ];
 
-  postPatch = ''
-    for dir in autostart config; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-  '';
-
   meta = with lib; {
     description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)";
     homepage = https://github.com/lxqt/pcmanfm-qt;