biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / video / peek / default.nix
blob105a86fbf4a7bad7b8bde36073a02a78a24630c9
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , fetchpatch
5 , nix-update-script
6 , meson
7 , ninja
8 , gettext
9 , desktop-file-utils
10 , appstream-glib
11 , pkg-config
12 , txt2man
13 , vala
14 , wrapGAppsHook
15 , gsettings-desktop-schemas
16 , gtk3
17 , glib
18 , cairo
19 , keybinder3
20 , ffmpeg-full
21 , python3
22 , libxml2
23 , gst_all_1
24 , which
25 , gifski
28 stdenv.mkDerivation rec {
29   pname = "peek";
30   version = "1.5.1";
32   src = fetchFromGitHub {
33     owner = "phw";
34     repo = "peek";
35     rev = version;
36     sha256 = "1xwlfizga6hvjqq127py8vabaphsny928ar7mwqj9cyqfl6fx41x";
37   };
39   patches = [
40     # Fix compatibility with GNOME Shell ≥ 40.
41     # https://github.com/phw/peek/pull/910
42     (fetchpatch {
43       url = "https://github.com/phw/peek/commit/008d15316ab5428363c512b263ca8138cb8f52ba.patch";
44       sha256 = "xxJ+r5uRk93MEzWTFla88ewZsnUl3+YKTenzDygtKP0=";
45     })
46   ];
48   nativeBuildInputs = [
49     appstream-glib
50     desktop-file-utils
51     gettext
52     meson
53     ninja
54     libxml2
55     pkg-config
56     txt2man
57     python3
58     vala
59     wrapGAppsHook
60   ];
62   buildInputs = [
63     cairo
64     glib
65     gsettings-desktop-schemas
66     gtk3
67     gst_all_1.gstreamer
68     gst_all_1.gst-plugins-good
69     gst_all_1.gst-plugins-ugly
70     keybinder3
71   ];
73   postPatch = ''
74     patchShebangs build-aux/meson/postinstall.py data/man/build_man.sh
75   '';
77   preFixup = ''
78     gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ which ffmpeg-full gifski ]})
79   '';
81   passthru = {
82     updateScript = nix-update-script { };
83   };
86   meta = with lib; {
87     homepage = "https://github.com/phw/peek";
88     description = "Simple animated GIF screen recorder with an easy to use interface";
89     license = licenses.gpl3Plus;
90     maintainers = with maintainers; [ puffnfresh ];
91     platforms = platforms.linux;
92     mainProgram = "peek";
93   };