From 0a142d311210d0898c538533e377a2696e3e33df Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jul 2017 04:15:26 +0200 Subject: [PATCH 1/2] wrap-gapps-hook: also wrap symlinks to executables Some programs store the executable in a different place and link it from the `bin` directory. For example, Polari links `$out/bin/polari` to `$out/share/polari/org.gnome.Polari`. `wrapGAppsHook` did not follow symlinks so it was not able to wrap Polari, making it unable to access GObject introspection definitions required for running the program. I made the wrapping script follow symlinks to fix this corner case. --- pkgs/build-support/setup-hooks/wrap-gapps-hook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh index 9891128a6231..79b8d5b73fa1 100644 --- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh @@ -39,7 +39,7 @@ wrapGAppsHook() { targetDirs=( "${prefix}/bin" "${prefix}/libexec" ) for targetDir in "${targetDirs[@]}"; do if [[ -d "${targetDir}" ]]; then - find "${targetDir}" -type f -executable -print0 \ + find -L "${targetDir}" -type f -executable -print0 \ | while IFS= read -r -d '' file; do echo "Wrapping program ${file}" wrapProgram "${file}" "${gappsWrapperArgs[@]}" From ec6f8320f4070d82b89c44bc7f9b52484853ee98 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jul 2017 04:20:59 +0200 Subject: [PATCH 2/2] polari: unbreak The build was failing due to missing telepathy_logger dependency, I added it. Additionally, the connection to server was failing due to telepathy executables not having an access to dconf, which was fixed in #26113. Lastly, when I tried running Polari directly, it terminated with SIGTRAP and the following error: (org.gnome.Polari:22998): GLib-GIO-ERROR **: Settings schema 'org.gnome.desktop.interface' is not installed adding `gnome3.gsettings_desktop_schemas` as a buildInput fixed that. --- pkgs/desktops/gnome-3/3.22/apps/polari/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.22/apps/polari/default.nix b/pkgs/desktops/gnome-3/3.22/apps/polari/default.nix index a827831c801c..f14a1ef3c47d 100644 --- a/pkgs/desktops/gnome-3/3.22/apps/polari/default.nix +++ b/pkgs/desktops/gnome-3/3.22/apps/polari/default.nix @@ -1,15 +1,15 @@ { stdenv, intltool, fetchurl, gdk_pixbuf, adwaita-icon-theme , telepathy_glib, gjs, itstool, telepathy_idle, libxml2 , pkgconfig, gtk3, glib, librsvg, libsecret, libsoup -, gnome3, wrapGAppsHook }: +, gnome3, wrapGAppsHook, telepathy_logger }: stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; - propagatedUserEnvPkgs = [ telepathy_idle ]; + propagatedUserEnvPkgs = [ telepathy_idle telepathy_logger ]; - buildInputs = [ pkgconfig gtk3 glib intltool itstool adwaita-icon-theme wrapGAppsHook - telepathy_glib gjs gdk_pixbuf librsvg libxml2 libsecret libsoup ]; + buildInputs = [ pkgconfig gtk3 glib intltool itstool adwaita-icon-theme wrapGAppsHook gnome3.gsettings_desktop_schemas + telepathy_glib telepathy_logger gjs gdk_pixbuf librsvg libxml2 libsecret libsoup ]; enableParallelBuilding = true; @@ -19,6 +19,5 @@ stdenv.mkDerivation rec { maintainers = gnome3.maintainers; license = licenses.gpl2; platforms = platforms.linux; - broken = true; }; }