nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 meson,
6 pkg-config,
7 vala,
8 gtk3,
9 wrapGAppsHook3,
10 pantheon,
11 ninja,
12 ghostscript,
13 makeWrapper,
14 nix-update-script,
15}:
16stdenv.mkDerivation (finalAttrs: {
17 pname = "pdftricks";
18 version = "0.4.1";
19
20 src = fetchFromGitHub {
21 owner = "muriloventuroso";
22 repo = "pdftricks";
23 tag = finalAttrs.version;
24 hash = "sha256-l4Xg4Uk520qoaEo8UxdLE8MfpVkRj/bpGBzL5HwdDUo=";
25 };
26
27 nativeBuildInputs = [
28 meson
29 pkg-config
30 vala
31 wrapGAppsHook3
32 ninja
33 makeWrapper
34 ];
35
36 buildInputs = [
37 gtk3
38 pantheon.granite
39 ghostscript
40 ];
41
42 preFixup = ''
43 wrapProgram $out/bin/com.github.muriloventuroso.pdftricks \
44 --prefix PATH : ${lib.makeBinPath [ ghostscript ]} \
45 ''${gappsWrapperArgs[@]}
46 '';
47
48 dontWrapGApps = true;
49
50 postPatch = ''
51 # Remove positional arguments that cause errors
52 substituteInPlace data/meson.build \
53 --replace-fail "'desktop'," "" \
54 --replace-fail "'appdata'," ""
55 '';
56
57 passthru.updateScript = nix-update-script { };
58
59 meta = {
60 description = "Simple, efficient application for small manipulations in PDF files using Ghostscript";
61 homepage = "https://github.com/muriloventuroso/pdftricks";
62 changelog = "https://github.com/muriloventuroso/pdftricks/releases";
63 license = lib.licenses.gpl3Plus;
64 maintainers = with lib.maintainers; [ theobori ];
65 platforms = lib.platforms.linux;
66 mainProgram = "com.github.muriloventuroso.pdftricks";
67 };
68})