vscode-extensions.yoavbls.pretty-ts-errors: 0.5.4 -> 0.6.1 (#363464)
[NixPkgs.git] / pkgs / by-name / po / polar-bookshelf / package.nix
blob7a3f6babb2ab93b0e51c9283b84ddd30887eca5d
2   stdenv,
3   lib,
4   makeWrapper,
5   fetchurl,
6   dpkg,
7   wrapGAppsHook3,
8   autoPatchelfHook,
9   gtk3,
10   cairo,
11   pango,
12   atk,
13   gdk-pixbuf,
14   glib,
15   at-spi2-atk,
16   dbus,
17   libX11,
18   libxcb,
19   libXi,
20   libXcursor,
21   libXdamage,
22   libXrandr,
23   libXcomposite,
24   libXext,
25   libXfixes,
26   libXrender,
27   libXtst,
28   libXScrnSaver,
29   nss,
30   nspr,
31   alsa-lib,
32   cups,
33   fontconfig,
34   expat,
35   libudev0-shim,
36   glibc,
37   curl,
38   openssl,
39   libnghttp2,
40   gsettings-desktop-schemas,
41   libdrm,
42   libgbm,
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     libgbm
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 [
95     libudev0-shim
96     glibc
97     curl
98     openssl
99     libnghttp2
100   ];
102   installPhase = ''
103     runHook preInstall
105     mkdir -p $out/share/polar-bookshelf
106     mkdir -p $out/bin
107     mkdir -p $out/lib
109     mv opt/Polar/* $out/share/polar-bookshelf
110     mv $out/share/polar-bookshelf/*.so $out/lib
112     mv usr/share/* $out/share/
114     ln -s $out/share/polar-bookshelf/polar-desktop-app $out/bin/polar-desktop-app
116     substituteInPlace $out/share/applications/polar-desktop-app.desktop \
117       --replace "/opt/Polar/polar-desktop-app" "$out/bin/polar-desktop-app"
119     runHook postInstall
120   '';
122   preFixup = ''
123     gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" )
124   '';
126   meta = {
127     homepage = "https://getpolarized.io/";
128     description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation";
129     mainProgram = "polar-desktop-app";
130     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
131     license = lib.licenses.gpl3Only;
132     platforms = lib.platforms.linux;
133     maintainers = [ ];
134   };