nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 vala,
8 gtk3,
9 libgee,
10 poppler,
11 libpthreadstubs,
12 gstreamer,
13 gst-plugins-base,
14 gst-plugins-good,
15 gst-libav,
16 gobject-introspection,
17 wrapGAppsHook3,
18 qrencode,
19 webkitgtk_4_1,
20 discount,
21 json-glib,
22 nix-update-script,
23}:
24
25stdenv.mkDerivation rec {
26 pname = "pdfpc";
27 version = "4.7.0";
28
29 src = fetchFromGitHub {
30 repo = "pdfpc";
31 owner = "pdfpc";
32 rev = "v${version}";
33 hash = "sha256-fPhCrn1ELC03/II+e021BUNJr1OKCBIcFCM7z+2Oo+s=";
34 };
35
36 nativeBuildInputs = [
37 cmake
38 pkg-config
39 vala
40 # For setup hook
41 gobject-introspection
42 wrapGAppsHook3
43 ];
44
45 buildInputs = [
46 gtk3
47 libgee
48 poppler
49 libpthreadstubs
50 gstreamer
51 gst-plugins-base
52 (gst-plugins-good.override { gtkSupport = true; })
53 gst-libav
54 qrencode
55 webkitgtk_4_1
56 discount
57 json-glib
58 ];
59
60 cmakeFlags = lib.optional stdenv.hostPlatform.isDarwin (lib.cmakeBool "MOVIES" false);
61
62 passthru.updateScript = nix-update-script { };
63
64 meta = with lib; {
65 description = "Presenter console with multi-monitor support for PDF files";
66 mainProgram = "pdfpc";
67 homepage = "https://pdfpc.github.io/";
68 license = licenses.gpl3Plus;
69 maintainers = with maintainers; [ pSub ];
70 platforms = platforms.unix;
71 };
72
73}