youki: add systemd build flag (#355607)
[NixPkgs.git] / pkgs / applications / misc / pdfpc / default.nix
blobf7fa1223a34c6b76fd210483bc250ac05e0d2ca9
1 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, vala, gtk3, libgee
2 , poppler, libpthreadstubs, gstreamer, gst-plugins-base, gst-plugins-good, gst-libav, gobject-introspection, wrapGAppsHook3
3 , qrencode, webkitgtk_4_0, discount, json-glib, fetchpatch }:
5 stdenv.mkDerivation rec {
6   pname = "pdfpc";
7   version = "4.6.0";
9   src = fetchFromGitHub {
10     repo = "pdfpc";
11     owner = "pdfpc";
12     rev = "v${version}";
13     hash = "sha256-5HFmbVsNajMwo+lBe9kJcJyQGe61N6Oy2CI/WJwmSE4=";
14   };
16   nativeBuildInputs = [
17     cmake pkg-config vala
18     # For setup hook
19     gobject-introspection
20     wrapGAppsHook3
21   ];
23   buildInputs = [
24     gtk3 libgee poppler
25     libpthreadstubs
26     gstreamer
27     gst-plugins-base
28     (gst-plugins-good.override { gtkSupport = true; })
29     gst-libav
30     qrencode
31     webkitgtk_4_0
32     discount
33     json-glib
34   ];
36   patches = [
37     # needed for compiling pdfpc 4.6.0 with vala 0.56.7, see
38     # https://github.com/pdfpc/pdfpc/issues/686
39     # https://github.com/pdfpc/pdfpc/pull/687
40     (fetchpatch {
41       url = "https://github.com/pdfpc/pdfpc/commit/d38edfac63bec54173b4b31eae5c7fb46cd8f714.diff";
42       hash = "sha256-KC2oyzcwU2fUmxaed8qAsKcePwR5KcXgpVdstJg8KmU=";
43     })
44     # Allow compiling with markdown3
45     # https://github.com/pdfpc/pdfpc/pull/716
46     (fetchpatch {
47       url = "https://github.com/pdfpc/pdfpc/commit/08e66b9d432e9598c1ee9a78b2355728036ae1a1.patch";
48       hash = "sha256-SKH2GQ5/6Is36xOFmSs89Yw/w7Fnma3FrNqwjOlUQKM=";
49     })
50   ];
52   cmakeFlags = lib.optional stdenv.hostPlatform.isDarwin (lib.cmakeBool "MOVIES" false);
54   meta = with lib; {
55     description = "Presenter console with multi-monitor support for PDF files";
56     mainProgram = "pdfpc";
57     homepage = "https://pdfpc.github.io/";
58     license = licenses.gpl3Plus;
59     maintainers = with maintainers; [ pSub ];
60     platforms = platforms.unix;
61   };