rio: 0.0.36 -> 0.0.37
[NixPkgs.git] / pkgs / applications / misc / polar-bookshelf / default.nix
blob1e29c225f92c494c18154ed04cf9bcfd4a941cfe
1 { stdenv
2 , lib
3 , makeWrapper
4 , fetchurl
5 , dpkg
6 , wrapGAppsHook3
7 , autoPatchelfHook
8 , gtk3
9 , cairo
10 , pango
11 , atk
12 , gdk-pixbuf
13 , glib
14 , at-spi2-atk
15 , dbus
16 , libX11
17 , libxcb
18 , libXi
19 , libXcursor
20 , libXdamage
21 , libXrandr
22 , libXcomposite
23 , libXext
24 , libXfixes
25 , libXrender
26 , libXtst
27 , libXScrnSaver
28 , nss
29 , nspr
30 , alsa-lib
31 , cups
32 , fontconfig
33 , expat
34 , libudev0-shim
35 , glibc
36 , curl
37 , openssl
38 , libnghttp2
39 , gsettings-desktop-schemas
40 , libdrm
41 , mesa
45 stdenv.mkDerivation rec {
46   pname = "polar-bookshelf";
47   version = "2.0.103";
49   # fetching a .deb because there's no easy way to package this Electron app
50   src = fetchurl {
51     url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-desktop-app-${version}-amd64.deb";
52     hash = "sha256-jcq0hW698bAhVM3fLQQeKAnld33XLkHsGjS3QwUpciQ=";
53   };
55   buildInputs = [
56     libdrm
57     mesa
58     gsettings-desktop-schemas
59     glib
60     gtk3
61     cairo
62     pango
63     atk
64     gdk-pixbuf
65     at-spi2-atk
66     dbus
67     libX11
68     libxcb
69     libXi
70     libXcursor
71     libXdamage
72     libXrandr
73     libXcomposite
74     libXext
75     libXfixes
76     libXrender
77     libXtst
78     libXScrnSaver
79     nss
80     nspr
81     alsa-lib
82     cups
83     fontconfig
84     expat
85   ];
87   nativeBuildInputs = [
88     wrapGAppsHook3
89     autoPatchelfHook
90     makeWrapper
91     dpkg
92   ];
94   runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl libnghttp2 ];
96   unpackPhase = "dpkg-deb -x $src .";
98   installPhase = ''
99     runHook preInstall
101     mkdir -p $out/share/polar-bookshelf
102     mkdir -p $out/bin
103     mkdir -p $out/lib
105     mv opt/Polar/* $out/share/polar-bookshelf
106     mv $out/share/polar-bookshelf/*.so $out/lib
108     mv usr/share/* $out/share/
110     ln -s $out/share/polar-bookshelf/polar-desktop-app $out/bin/polar-desktop-app
112     substituteInPlace $out/share/applications/polar-desktop-app.desktop \
113       --replace "/opt/Polar/polar-desktop-app" "$out/bin/polar-desktop-app"
115     runHook postInstall
116   '';
118   preFixup = ''
119     gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" )
120   '';
122   meta = {
123     homepage = "https://getpolarized.io/";
124     description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation";
125     mainProgram = "polar-desktop-app";
126     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
127     license = lib.licenses.gpl3Only;
128     platforms = lib.platforms.linux;
129     maintainers = [ ];
130   };