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