Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / web / publii / default.nix
blobe09e21f174a711a7085eae5c5b184b67a24585ab
1 { stdenv
2 , lib
3 , fetchurl
4 , autoPatchelfHook
5 , makeShellWrapper
6 , wrapGAppsHook
7 , alsa-lib
8 , at-spi2-atk
9 , at-spi2-core
10 , atk
11 , cairo
12 , cups
13 , dbus
14 , expat
15 , glib
16 , gtk3
17 , libsecret
18 , mesa
19 , nss
20 , pango
21 , udev
22 , xdg-utils
23 , xorg
26 stdenv.mkDerivation rec {
27   pname = "publii";
28   version = "0.45.2";
30   src = fetchurl {
31     url = "https://getpublii.com/download/Publii-${version}.deb";
32     hash = "sha256-NGS5ovaJ6XskCimN48mqvUdoA+N9eDlIpazV0GDEs3E=";
33   };
35   dontConfigure = true;
36   dontBuild = true;
37   dontWrapGApps = true;
39   nativeBuildInputs = [
40     autoPatchelfHook
41     makeShellWrapper
42     wrapGAppsHook
43   ];
45   buildInputs = [
46     alsa-lib
47     at-spi2-atk
48     at-spi2-core
49     atk
50     cairo
51     cups
52     dbus
53     expat
54     glib
55     gtk3
56     libsecret
57     mesa
58     nss
59     pango
60     xorg.libX11
61     xorg.libxcb
62   ];
64   unpackPhase = ''
65     ar p $src data.tar.xz | tar xJ
66   '';
68   installPhase = ''
69     runHook preInstall
71     mkdir -p $out/bin
73     mv usr/share $out
74     substituteInPlace $out/share/applications/Publii.desktop \
75       --replace 'Exec=/opt/Publii/Publii' 'Exec=Publii'
77     mv opt $out
79     runHook postInstall
80   '';
82   preFixup = ''
83     makeWrapper $out/opt/Publii/Publii $out/bin/Publii \
84       "''${gappsWrapperArgs[@]}" \
85       --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
86       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
87   '';
89   meta = with lib; {
90     description = "Static Site CMS with GUI to build privacy-focused SEO-friendly website.";
91     mainProgram = "Publii";
92     longDescription = ''
93       Creating a website doesn't have to be complicated or expensive. With Publii, the most
94       intuitive static site CMS, you can create a beautiful, safe, and privacy-friendly website
95       quickly and easily; perfect for anyone who wants a fast, secure website in a flash.
96     '';
97     homepage = "https://getpublii.com";
98     changelog = "https://github.com/getpublii/publii/releases/tag/v${version}";
99     license = licenses.gpl3Only;
100     maintainers = with lib.maintainers; [ urandom sebtm ];
101     platforms = [ "x86_64-linux" ];
102   };