evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / zo / zotero / linux.nix
blob1b7d58f86883e411b4784a021a3c97b8a672fc28
2   pname,
3   version,
4   meta,
5   lib,
6   stdenv,
7   fetchurl,
8   wrapGAppsHook3,
9   makeDesktopItem,
10   alsa-lib,
11   atk,
12   cairo,
13   dbus-glib,
14   gdk-pixbuf,
15   glib,
16   gtk3,
17   libGL,
18   libva,
19   xorg,
20   mesa,
21   pango,
22   pciutils,
25 stdenv.mkDerivation rec {
26   inherit pname version meta;
28   src = fetchurl {
29     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
30     hash = "sha256-utiqS4/PvlkQesqTOyEvj8uwW1sDxlqjnhv6GFfY5uk=";
31   };
33   dontPatchELF = true;
34   nativeBuildInputs = [ wrapGAppsHook3 ];
36   libPath =
37     lib.makeLibraryPath [
38       alsa-lib
39       atk
40       cairo
41       dbus-glib
42       gdk-pixbuf
43       glib
44       gtk3
45       libGL
46       libva
47       xorg.libX11
48       xorg.libXcomposite
49       xorg.libXcursor
50       xorg.libXdamage
51       xorg.libXext
52       xorg.libXfixes
53       xorg.libXi
54       xorg.libXrandr
55       xorg.libXtst
56       xorg.libxcb
57       mesa
58       pango
59       pciutils
60     ]
61     + ":"
62     + lib.makeSearchPathOutput "lib" "lib64" [ stdenv.cc.cc ];
64   desktopItem = makeDesktopItem {
65     name = "zotero";
66     exec = "zotero -url %U";
67     icon = "zotero";
68     comment = meta.description;
69     desktopName = "Zotero";
70     genericName = "Reference Management";
71     categories = [
72       "Office"
73       "Database"
74     ];
75     startupNotify = true;
76     mimeTypes = [
77       "x-scheme-handler/zotero"
78       "text/plain"
79     ];
80   };
82   installPhase = ''
83     runHook preInstall
85     # Copy package contents to the output directory
86     mkdir -p "$prefix/usr/lib/zotero-bin-${version}"
87     cp -r * "$prefix/usr/lib/zotero-bin-${version}"
88     mkdir -p "$out/bin"
89     ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/"
91     # Install desktop file and icons
92     mkdir -p $out/share/applications
93     cp ${desktopItem}/share/applications/* $out/share/applications/
94     for size in 32 64 128; do
95       install -Dm444 icons/icon''${size}.png \
96         $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png
97     done
98     install -Dm444 icons/symbolic.svg \
99       $out/share/icons/hicolor/symbolic/apps/zotero-symbolic.svg
101     runHook postInstall
102   '';
104   postFixup = ''
105     for executable in \
106       zotero-bin plugin-container updater vaapitest \
107       minidump-analyzer glxtest
108     do
109       if [ -e "$out/usr/lib/zotero-bin-${version}/$executable" ]; then
110         patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
111           "$out/usr/lib/zotero-bin-${version}/$executable"
112       fi
113     done
114     find . -executable -type f -exec \
115       patchelf --set-rpath "$libPath" \
116         "$out/usr/lib/zotero-bin-${version}/{}" \;
117   '';