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