about summary refs log tree commit diff
path: root/pkgs/applications/graphics
diff options
context:
space:
mode:
authorBobby Rong <rjl931189261@126.com>2023-08-15 16:02:34 +0800
committerJan Tojnar <jtojnar@gmail.com>2023-11-21 08:41:50 +0100
commit02848fc11ca3f0302b12790ceaf0ed6bf2929c37 (patch)
tree9dbc9668ff7d29523faa266020c1353c46bd24ac /pkgs/applications/graphics
parente403416ffe47aa5ba1af5b9b011280e2a442f572 (diff)
snapshot: init at 45.beta
https://gitlab.gnome.org/GNOME/snapshot/-/commits/45.beta

If you are having issues, try these environment variables to get more info:

- RUST_LOG=snapshot=debug,aperture=debug
- RUST_BACKTRACE=1
- GST_DEBUG=3

Still need to see if we should study anything from cheese.
Diffstat (limited to 'pkgs/applications/graphics')
-rw-r--r--pkgs/applications/graphics/snapshot/default.nix68
1 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/snapshot/default.nix b/pkgs/applications/graphics/snapshot/default.nix
new file mode 100644
index 0000000000000..943dda2938136
--- /dev/null
+++ b/pkgs/applications/graphics/snapshot/default.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, lib
+, fetchurl
+, cargo
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, rustc
+, wrapGAppsHook4
+, glib
+, gst_all_1
+, gtk4
+, libadwaita
+, pipewire
+, gnome
+}:
+
+stdenv.mkDerivation rec {
+  pname = "snapshot";
+  version = "45.beta";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/snapshot/${lib.versions.major version}/snapshot-${version}.tar.xz";
+    hash = "sha256-Dxi06QoLHxL5pqFh3zGBZ/n8zoxW7iWW+QNs21qfRvg=";
+  };
+
+  nativeBuildInputs = [
+    cargo
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    rustc
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    glib
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gstreamer
+    gtk4
+    libadwaita
+    pipewire # for device provider
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # vp8enc preset
+      --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets"
+    )
+  '';
+
+  passthru.updateScript = gnome.updateScript {
+    packageName = "snapshot";
+  };
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/GNOME/snapshot";
+    description = "Take pictures and videos on your computer, tablet, or phone";
+    maintainers = teams.gnome.members;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    mainProgram = "snapshot";
+  };
+}