From 142260c991ae62904fb6b675a9dc5198fb0a85c9 Mon Sep 17 00:00:00 2001 From: jpathy <15735913+jpathy@users.noreply.github.com> Date: Mon, 4 Mar 2019 15:25:17 +0530 Subject: Zotero: Fix to use patchelf instead of FHS Env. Removed buildFHSUserEnv to use `patchelf` on prebuilt binaries and libs. Should fix issue #48814. --- pkgs/applications/office/zotero/default.nix | 168 +++++++++++++++++++--------- 1 file changed, 113 insertions(+), 55 deletions(-) (limited to 'pkgs') diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 61e84e2be430..75a70fd9ff50 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -1,67 +1,125 @@ -{ stdenv, fetchurl, buildFHSUserEnv, makeDesktopItem, runCommand, bash, wrapGAppsHook, gsettings-desktop-schemas, gtk3, gnome3 }: - -let -version = "5.0.60"; -meta = with stdenv.lib; { - homepage = https://www.zotero.org; - description = "Collect, organize, cite, and share your research sources"; - license = licenses.agpl3; - platforms = platforms.linux; -}; - -zoteroSrc = stdenv.mkDerivation rec { - inherit version; - name = "zotero-${version}-pkg"; +{ stdenv, fetchurl, wrapGAppsHook +, atk +, cairo +, curl +, cups +, dbus-glib +, dbus +, fontconfig +, freetype +, gdk_pixbuf +, glib +, glibc +, gtk3 +, libX11 +, libXScrnSaver +, libxcb +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXinerama +, libXrender +, libXt +, libnotify +, gnome3 +, libGLU_combined +, nspr +, nss +, pango +, coreutils +, gnused +, gsettings-desktop-schemas +}: +stdenv.mkDerivation rec { + name = "zotero-${version}"; + version = "5.0.60"; + src = fetchurl { url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2"; sha256 = "0753xk95shhxma4dvdxrj2q6y81z8lianxg7jnab9m17fb67jy2d"; }; - + buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ]; - phases = [ "unpackPhase" "installPhase" "fixupPhase"]; - installPhase = '' - mkdir -p $out/data - cp -r * $out/data - mkdir $out/bin - ln -s $out/data/zotero $out/bin/zotero - ''; -}; + phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ]; -fhsEnv = buildFHSUserEnv { - name = "zotero-fhs-env"; - targetPkgs = pkgs: with pkgs; with xorg; [ - gtk3 dbus-glib glib - libXt nss - libX11 - ]; -}; + dontStrip = true; + dontPatchELF = true; -desktopItem = makeDesktopItem rec { - name = "zotero-${version}"; - exec = "zotero -url %U"; - icon = "zotero"; - type = "Application"; - comment = meta.description; - desktopName = "Zotero"; - genericName = "Reference Management"; - categories = "Office;Database;"; - startupNotify = "true"; -}; + libPath = stdenv.lib.makeLibraryPath + [ stdenv.cc.cc + atk + cairo + curl + cups + dbus-glib + dbus + fontconfig + freetype + gdk_pixbuf + glib + glibc + gtk3 + libX11 + libXScrnSaver + libXcomposite + libXcursor + libxcb + libXdamage + libXext + libXfixes + libXi + libXinerama + libXrender + libXt + libnotify + libGLU_combined + nspr + nss + pango + ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [ + stdenv.cc.cc + ]; -in runCommand "zotero-${version}" { inherit meta; } '' - mkdir -p $out/bin $out/share/applications - cat >$out/bin/zotero < Date: Thu, 14 Mar 2019 09:56:39 +0530 Subject: Fix desktop file. --- pkgs/applications/office/zotero/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'pkgs') diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 75a70fd9ff50..9ca46e6e7cdb 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, wrapGAppsHook +{ stdenv, fetchurl, wrapGAppsHook, makeDesktopItem , atk , cairo , curl @@ -89,6 +89,19 @@ stdenv.mkDerivation rec { sed -i '/pref("app.update.enabled", true);/c\pref("app.update.enabled", false);' defaults/preferences/prefs.js ''; + desktopItem = makeDesktopItem rec { + name = "zotero-${version}"; + exec = "zotero -url %U"; + icon = "zotero"; + type = "Application"; + comment = meta.description; + desktopName = "Zotero"; + genericName = "Reference Management"; + categories = "Office;Database;"; + startupNotify = "true"; + mimeType = "text/plain"; + }; + installPhase = '' mkdir -p "$prefix/usr/lib/zotero-bin-${version}" @@ -96,7 +109,9 @@ stdenv.mkDerivation rec { mkdir -p "$out/bin" ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/" - install -Dm444 zotero.desktop $out/share/applications/zotero.desktop + # install desktop file and icons. + mkdir -p $out/share/applications + cp ${desktopItem}/share/applications/* $out/share/applications/ for size in 16 32 48 256; do install -Dm444 chrome/icons/default/default$size.png \ $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png -- cgit 1.4.1