summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Davis <davisrichard437@gmail.com>2023-01-24 20:30:46 -0500
committerpennae <82953136+pennae@users.noreply.github.com>2023-04-12 19:06:55 +0200
commit5128a000ada7cf9425d8e62676796d9accc4ce76 (patch)
tree1c0311f120484ab71c500634fdf03c3a9ece2429
parent1501d6e0b9ba463ddad5569705d1ee50f83ca4af (diff)
downloadnixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.gz
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.bz2
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.lz
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.xz
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.zst
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.zip
gscreenshot: init at 3.4.0
https://github.com/thenaterhood/gscreenshot/releases/tag/v3.4.0
-rw-r--r--pkgs/applications/graphics/gscreenshot/0001-Changing-paths-to-be-nix-compatible.patch25
-rw-r--r--pkgs/applications/graphics/gscreenshot/default.nix90
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 117 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/gscreenshot/0001-Changing-paths-to-be-nix-compatible.patch b/pkgs/applications/graphics/gscreenshot/0001-Changing-paths-to-be-nix-compatible.patch
new file mode 100644
index 00000000000..187d4a0154b
--- /dev/null
+++ b/pkgs/applications/graphics/gscreenshot/0001-Changing-paths-to-be-nix-compatible.patch
@@ -0,0 +1,25 @@
+From a4822ee9e894f5f5b3110f41f65a698dd845a41d Mon Sep 17 00:00:00 2001
+From: Richard Davis <davisrichard437@gmail.com>
+Date: Fri, 24 Mar 2023 11:45:23 -0400
+Subject: [PATCH] Changing paths to be nix-compatible.
+
+---
+ dist/desktop/gscreenshot.desktop | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dist/desktop/gscreenshot.desktop b/dist/desktop/gscreenshot.desktop
+index a5d2bcd..9d289e2 100644
+--- a/dist/desktop/gscreenshot.desktop
++++ b/dist/desktop/gscreenshot.desktop
+@@ -2,7 +2,7 @@
+ Type=Application
+ Name=gscreenshot
+ Comment=A simple screenshot utility
+-TryExec=/usr/bin/gscreenshot
++TryExec=gscreenshot
+ Exec=gscreenshot
+ Icon=gscreenshot
+ Categories=Graphics;
+-- 
+2.39.2
+
diff --git a/pkgs/applications/graphics/gscreenshot/default.nix b/pkgs/applications/graphics/gscreenshot/default.nix
new file mode 100644
index 00000000000..0847bc87cfd
--- /dev/null
+++ b/pkgs/applications/graphics/gscreenshot/default.nix
@@ -0,0 +1,90 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, gettext
+, gobject-introspection
+, gtk3
+, wrapGAppsHook
+, xdg-utils
+, scrot
+, slop
+, xclip
+, grim
+, slurp
+, wl-clipboard
+, waylandSupport ? true
+, x11Support ? true
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "gscreenshot";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "thenaterhood";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "YuISiTUReX9IQpckIgbt03CY7klnog/IeOtfBoQ1DZM=";
+  };
+
+  # needed for wrapGAppsHook to function
+  strictDeps = false;
+  # tests require a display and fail
+  doCheck = false;
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+  propagatedBuildInputs = [
+    gettext
+    gobject-introspection
+    gtk3
+    xdg-utils
+  ] ++ lib.optionals waylandSupport [
+    # wayland deps
+    grim
+    slurp
+    wl-clipboard
+  ] ++ lib.optionals x11Support [
+    # X11 deps
+    scrot
+    slop
+    xclip
+    python3Packages.xlib
+  ] ++ (with python3Packages; [
+    pillow
+    pygobject3
+    setuptools
+  ]);
+
+  patches = [ ./0001-Changing-paths-to-be-nix-compatible.patch ];
+
+  meta = {
+    description = "A screenshot frontend (CLI and GUI) for a variety of screenshot backends";
+
+    longDescription = ''
+      gscreenshot provides a common frontend and expanded functionality to a
+      number of X11 and Wayland screenshot and region selection utilties.
+
+      In a nutshell, gscreenshot supports the following:
+
+      - Capturing a full-screen screenshot
+      - Capturing a region of the screen interactively
+      - Capturing a window interactively
+      - Capturing the cursor
+      - Capturing the cursor, using an alternate cursor glyph
+      - Capturing a screenshot with a delay
+      - Showing a notification when a screenshot is taken
+      - Capturing a screenshot from the command line or a custom script
+      - Capturing a screenshot using a GUI
+      - Saving to a variety of image formats including 'bmp', 'eps', 'gif', 'jpeg', 'pcx', 'pdf', 'ppm', 'tiff', 'png', and 'webp'.
+      - Copying a screenshot to the system clipboard
+      - Opening a screenshot in the configured application after capture
+
+      Other than region selection, gscreenshot's CLI is non-interactive and is suitable for use in scripts.
+    '';
+
+    homepage = "https://github.com/thenaterhood/gscreenshot";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.davisrichard437 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 34235dea7ae..85c68885d77 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -30623,6 +30623,8 @@ with pkgs;
 
   grisbi = callPackage ../applications/office/grisbi { gtk = gtk3; };
 
+  gscreenshot = callPackage ../applications/graphics/gscreenshot { };
+
   gtkpod = callPackage ../applications/audio/gtkpod { };
 
   q4wine = libsForQt5.callPackage ../applications/misc/q4wine { };