summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2017-03-24 01:49:41 +0300
committerGitHub <noreply@github.com>2017-03-24 01:49:41 +0300
commitf45cf10f6e0468b12c4a3c1391460c3d348a2fda (patch)
tree79557f3056ee826285e329a89bf4ab30e09bad7a /pkgs
parentd6e2366b1cd97d4cdcc5c84a361bc8533dd6c063 (diff)
parent82f7f8ad9a0344384a1f41e60c6665e721065242 (diff)
downloadnixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.tar
nixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.tar.gz
nixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.tar.bz2
nixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.tar.lz
nixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.tar.xz
nixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.tar.zst
nixpkgs-f45cf10f6e0468b12c4a3c1391460c3d348a2fda.zip
Merge pull request #24133 from abbradar/gtk3-qt
Fix GTK dependencies in wrappers
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/kde/wrapper.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/dconf/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.8/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/make-qt-wrapper.sh12
-rw-r--r--pkgs/tools/misc/antimicro/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix8
7 files changed, 32 insertions, 13 deletions
diff --git a/pkgs/build-support/kde/wrapper.nix b/pkgs/build-support/kde/wrapper.nix
index f5add12e8ec..228eb696bd9 100644
--- a/pkgs/build-support/kde/wrapper.nix
+++ b/pkgs/build-support/kde/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, makeWrapper, buildEnv }:
+{ stdenv, lib, makeWrapper, buildEnv, gtk3, dconf }:
 
 packages:
 
@@ -47,10 +47,11 @@ stdenv.mkDerivation {
                     --argv0 '"$0"' \
                     --suffix PATH : "$env/bin" \
                     --prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \
-                    --prefix XDG_DATA_DIRS : "$env/share" \
+                    --prefix XDG_DATA_DIRS : "$env/share:${gtk3}/share/gsettings-schemas/${gtk3.name}" \
                     --set QML_IMPORT_PATH "$env/lib/qt5/imports" \
                     --set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
-                    --set QT_PLUGIN_PATH "$env/lib/qt5/plugins"
+                    --set QT_PLUGIN_PATH "$env/lib/qt5/plugins" \
+                    --prefix GIO_EXTRA_MODULES : "${dconf.lib}/lib/gio/modules"
                 good="1"
                 break
             fi
diff --git a/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix
index 02c60256e15..f67dc7e32ae 100644
--- a/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/dconf/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6";
   };
 
+  outputs = [ "out" "lib" "dev" ];
+
   buildInputs = [ vala_0_32 libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
                   intltool docbook_xsl docbook_xsl_ns makeWrapper ];
 
diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix
index f387a242101..91364dd65bb 100644
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/default.nix
@@ -18,7 +18,7 @@ top-level attribute to `top-level/all-packages.nix`.
   newScope,
   stdenv, fetchurl, makeSetupHook, makeWrapper,
   bison, cups ? null, harfbuzz, mesa, perl,
-  gstreamer, gst-plugins-base,
+  gstreamer, gst-plugins-base, gtk3, dconf,
 
   # options
   developerBuild ? false,
@@ -107,7 +107,7 @@ let
 
       makeQtWrapper =
         makeSetupHook
-        { deps = [ makeWrapper ]; }
+        { deps = [ makeWrapper dconf.lib gtk ]; }
         (if stdenv.isDarwin then ../make-qt-wrapper-darwin.sh else ../make-qt-wrapper.sh);
 
       qmakeHook =
diff --git a/pkgs/development/libraries/qt-5/5.8/default.nix b/pkgs/development/libraries/qt-5/5.8/default.nix
index 85b38c6fc6c..f02b8070638 100644
--- a/pkgs/development/libraries/qt-5/5.8/default.nix
+++ b/pkgs/development/libraries/qt-5/5.8/default.nix
@@ -18,7 +18,7 @@ top-level attribute to `top-level/all-packages.nix`.
   newScope,
   stdenv, fetchurl, makeSetupHook, makeWrapper,
   bison, cups ? null, harfbuzz, mesa, perl,
-  gstreamer, gst-plugins-base,
+  gstreamer, gst-plugins-base, gtk3, dconf,
 
   # options
   developerBuild ? false,
@@ -106,7 +106,7 @@ let
 
       makeQtWrapper =
         makeSetupHook
-        { deps = [ makeWrapper ]; }
+        { deps = [ makeWrapper dconf.lib gtk3 ]; }
         ../make-qt-wrapper.sh;
 
       qmakeHook =
diff --git a/pkgs/development/libraries/qt-5/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/make-qt-wrapper.sh
index d716a876526..8f42682fa23 100644
--- a/pkgs/development/libraries/qt-5/make-qt-wrapper.sh
+++ b/pkgs/development/libraries/qt-5/make-qt-wrapper.sh
@@ -7,6 +7,7 @@ wrapQtProgram() {
         --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \
         --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \
         --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \
+        --prefix GIO_EXTRA_MODULES : "$GIO_EXTRA_MODULES" \
         "$@"
 }
 
@@ -21,6 +22,7 @@ makeQtWrapper() {
         --set QML2_IMPORT_PATH "$QML2_IMPORT_PATH" \
         --prefix XDG_DATA_DIRS : "$RUNTIME_XDG_DATA_DIRS" \
         --prefix XDG_CONFIG_DIRS : "$RUNTIME_XDG_CONFIG_DIRS" \
+        --prefix GIO_EXTRA_MODULES : "$GIO_EXTRA_MODULES" \
         "$@"
 }
 
@@ -29,8 +31,16 @@ _makeQtWrapperSetup() {
     export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins"
     export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports"
     export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml"
-    export RUNTIME_XDG_DATA_DIRS="$RUNTIME_XDG_DATA_DIRS${RUNTIME_XDG_DATA_DIRS:+:}${!outputBin}/share"
+    export RUNTIME_XDG_DATA_DIRS="$RUNTIME_XDG_DATA_DIRS${RUNTIME_XDG_DATA_DIRS:+:}${!outputBin}/share${GSETTINGS_SCHEMAS_PATH:+:$GSETTINGS_SCHEMAS_PATH}"
     export RUNTIME_XDG_CONFIG_DIRS="$RUNTIME_XDG_CONFIG_DIRS${RUNTIME_XDG_CONFIG_DIRS:+:}${!outputBin}/etc/xdg"
 }
 
 prePhases+=(_makeQtWrapperSetup)
+
+_findGioModules() {
+    if [ -d "$1"/lib/gio/modules ] && [ -n "$(ls -A $1/lib/gio/modules)" ] ; then
+        export GIO_EXTRA_MODULES="$GIO_EXTRA_MODULES${GIO_EXTRA_MODULES:+:}$1/lib/gio/modules"
+    fi
+}
+
+envHooks+=(_findGioModules)
diff --git a/pkgs/tools/misc/antimicro/default.nix b/pkgs/tools/misc/antimicro/default.nix
index 710641281e5..02d65597f74 100644
--- a/pkgs/tools/misc/antimicro/default.nix
+++ b/pkgs/tools/misc/antimicro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, pkgconfig, SDL2, qtbase, qttools, xorg, fetchFromGitHub }:
+{ stdenv, cmake, pkgconfig, SDL2, qtbase, qttools, makeQtWrapper, xorg, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "antimicro-${version}";
@@ -12,9 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    cmake pkgconfig SDL2 qtbase qttools xorg.libXtst
+    cmake pkgconfig SDL2 qtbase qttools xorg.libXtst makeQtWrapper
   ];
 
+  postInstall = ''
+    wrapQtProgram $out/bin/antimicro
+  '';
+
   meta = with stdenv.lib; {
     description = "GUI for mapping keyboard and mouse controls to a gamepad";
     inherit (src.meta) homepage;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 93d79b1e0ed..6b8ae0020a0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -271,8 +271,8 @@ with pkgs;
 
   kdeDerivation = import ../build-support/kde/derivation.nix { inherit stdenv lib; };
 
-  kdeWrapper = import ../build-support/kde/wrapper.nix {
-    inherit stdenv lib makeWrapper buildEnv;
+  kdeWrapper = callPackage ../build-support/kde/wrapper.nix {
+    inherit (gnome3) dconf;
   };
 
   nixBufferBuilders = import ../build-support/emacs/buffer.nix { inherit (pkgs) lib writeText; inherit (emacsPackagesNg) inherit-local; };
@@ -321,7 +321,7 @@ with pkgs;
   findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh;
 
   wrapGAppsHook = makeSetupHook {
-    deps = [ makeWrapper ];
+    deps = [ gnome3.dconf.lib gnome3.gtk makeWrapper ];
   } ../build-support/setup-hooks/wrap-gapps-hook.sh;
 
   separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh;
@@ -9456,6 +9456,7 @@ with pkgs;
     mesa = mesa_noglu;
     inherit perl;
     inherit (gst_all_1) gstreamer gst-plugins-base;
+    inherit (gnome3) gtk3 dconf;
   });
 
   libsForQt57 = recurseIntoAttrs (lib.makeScope qt57.newScope mkLibsForQt5);
@@ -9469,6 +9470,7 @@ with pkgs;
     mesa = mesa_noglu;
     inherit perl;
     inherit (gst_all_1) gstreamer gst-plugins-base;
+    inherit (gnome3) gtk3 dconf;
   });
 
   libsForQt58 = recurseIntoAttrs (lib.makeScope qt58.newScope mkLibsForQt5);