From 5f54cb62e1bcea49e6811e5a6106a8370ba2eec0 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Wed, 15 Sep 2021 23:37:45 +0200 Subject: [PATCH 1/6] ksnip: init at 1.9.1 --- pkgs/tools/misc/ksnip/default.nix | 81 +++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 83 insertions(+) create mode 100644 pkgs/tools/misc/ksnip/default.nix diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix new file mode 100644 index 000000000000..edd1f6100190 --- /dev/null +++ b/pkgs/tools/misc/ksnip/default.nix @@ -0,0 +1,81 @@ +{ stdenv +, lib +, autoPatchelfHook +, wrapQtAppsHook +, fetchurl +, dpkg +, qtbase +, qtx11extras +}: + +stdenv.mkDerivation rec { + pname = "ksnip"; + version = "1.9.1"; + + src = fetchurl { + url = "https://github.com/ksnip/ksnip/releases/download/v${version}/ksnip-${version}-continuous.deb"; + sha256 = "0wabyhb6751jlbrr0872ks2klb6570yfjczn6fjb1albavsk8mml"; + }; + + sourceRoot = "."; + unpackCmd = "dpkg-deb -x $src ."; + + dontConfigure = true; + dontBuild = true; + + buildInputs = [ + qtbase + qtx11extras + ]; + + nativeBuildInputs = [ + autoPatchelfHook + wrapQtAppsHook + dpkg + ]; + + installPhase = '' + mkdir -p $out/bin + mv usr $out/ + ln -s $out/usr/bin/ksnip $out/bin/ksnip + ''; + + meta = with lib; { + homepage = "https://github.com/ksnip/ksnip"; + description = "Cross-platform screenshot tool wihth many annotation features"; + longDescription = '' + Features: + + - Supports Linux (X11, Plasma Wayland, GNOME Wayland and xdg-desktop-portal Wayland), Windows and macOS. + - Screenshot of a custom rectangular area that can be drawn with mouse cursor. + - Screenshot of last selected rectangular area without selecting again. + - Screenshot of the screen/monitor where the mouse cursor is currently located. + - Screenshot of full-screen, including all screens/monitors. + - Screenshot of window that currently has focus. + - Screenshot of window under mouse cursor. + - Screenshot with or without mouse cursor. + - Capture mouse cursor as annotation item that can be moved and deleted. + - Customizable capture delay for all capture options. + - Upload screenshots directly to imgur.com in anonymous or user mode. + - Upload screenshots via custom user defined scripts. + - Command-line support, for capturing screenshots and saving to default location, filename and format. + - Filename wildcards for Year ($Y), Month ($M), Day ($D), Time ($T) and Counter (multiple # characters for number with zero-leading padding). + - Print screenshot or save it to PDF/PS. + - Annotate screenshots with pen, marker, rectangles, ellipses, texts and other tools. + - Annotate screenshots with stickers and add custom stickers. + - Obfuscate image regions with blur and pixelate. + - Add effects to image (Drop Shadow, Grayscale, invert color or Border). + - Add watermarks to captured images. + - Global hotkeys for capturing screenshots (currently only for Windows and X11). + - Tabs for screenshots and images. + - Open existing images via dialog, drag-and-drop or paste from clipboard. + - Run as single instance application (secondary instances send cli parameter to primary instance). + - Pin screenshots in frameless windows that stay atop other windows. + - User-defined actions for taking screenshot and post-processing. + - Many configuration options. + ''; + license = licenses.gpl2; + maintainers = with maintainers; [ x3ro ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d683cd8f39f3..5e6c743d3091 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -899,6 +899,8 @@ with pkgs; gofu = callPackage ../applications/misc/gofu { }; + ksnip = libsForQt5.callPackage ../tools/misc/ksnip { }; + linux-router = callPackage ../tools/networking/linux-router { }; linux-router-without-wifi = linux-router.override { useWifiDependencies = false; }; From 4f1e2dbc73ccf8c81a77debcfddd3ec23d9f5303 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Thu, 16 Sep 2021 12:59:21 +0200 Subject: [PATCH 2/6] ksnip: Build from source --- .../libraries/kColorPicker/default.nix | 33 +++++++++++++ .../libraries/kImageAnnotator/default.nix | 39 +++++++++++++++ pkgs/tools/misc/ksnip/default.nix | 48 +++++++++---------- pkgs/top-level/all-packages.nix | 4 ++ 4 files changed, 98 insertions(+), 26 deletions(-) create mode 100644 pkgs/development/libraries/kColorPicker/default.nix create mode 100644 pkgs/development/libraries/kImageAnnotator/default.nix diff --git a/pkgs/development/libraries/kColorPicker/default.nix b/pkgs/development/libraries/kColorPicker/default.nix new file mode 100644 index 000000000000..44ae276679ca --- /dev/null +++ b/pkgs/development/libraries/kColorPicker/default.nix @@ -0,0 +1,33 @@ +{ stdenv +, lib +, cmake +, fetchFromGitHub +, qtbase +}: + +stdenv.mkDerivation rec { + pname = "kColorPicker"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "ksnip"; + repo = "kColorPicker"; + rev = "v${version}"; + sha256 = "1167xwk75yiz697vddbz3lq42l7ckhyl2cvigy4m05qgg9693ksd"; + }; + + dontWrapQtApps = true; + + nativeBuildInputs = [ + cmake + qtbase + ]; + + meta = with lib; { + homepage = "https://github.com/ksnip/kImageAnnotator"; + description = "Tool for annotating images"; + license = licenses.lgpl3; + maintainers = with maintainers; [ x3ro ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/kImageAnnotator/default.nix b/pkgs/development/libraries/kImageAnnotator/default.nix new file mode 100644 index 000000000000..8daebeddefb3 --- /dev/null +++ b/pkgs/development/libraries/kImageAnnotator/default.nix @@ -0,0 +1,39 @@ +{ stdenv +, lib +, cmake +, fetchFromGitHub +, kColorPicker +, qtbase +, qtsvg +, qttranslations +}: + +stdenv.mkDerivation rec { + pname = "kImageAnnotator"; + version = "0.5.2"; + + src = fetchFromGitHub { + owner = "ksnip"; + repo = "kImageAnnotator"; + rev = "v${version}"; + sha256 = "07m3il928gwzzab349grpaksqqv4n7r6mn317sx2jly0x0bpv0rh"; + }; + + dontWrapQtApps = true; + + nativeBuildInputs = [ + cmake + kColorPicker + qtbase + qtsvg + qttranslations + ]; + + meta = with lib; { + homepage = "https://github.com/ksnip/kImageAnnotator"; + description = "Tool for annotating images"; + license = licenses.lgpl3; + maintainers = with maintainers; [ x3ro ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix index edd1f6100190..0e08780e38db 100644 --- a/pkgs/tools/misc/ksnip/default.nix +++ b/pkgs/tools/misc/ksnip/default.nix @@ -1,10 +1,12 @@ { stdenv , lib -, autoPatchelfHook -, wrapQtAppsHook -, fetchurl -, dpkg -, qtbase +, cmake +, extra-cmake-modules +, fetchFromGitHub +, kColorPicker +, kImageAnnotator +, qtsvg +, qttranslations , qtx11extras }: @@ -12,33 +14,27 @@ stdenv.mkDerivation rec { pname = "ksnip"; version = "1.9.1"; - src = fetchurl { - url = "https://github.com/ksnip/ksnip/releases/download/v${version}/ksnip-${version}-continuous.deb"; - sha256 = "0wabyhb6751jlbrr0872ks2klb6570yfjczn6fjb1albavsk8mml"; + src = fetchFromGitHub { + owner = "ksnip"; + repo = "ksnip"; + rev = "v${version}"; + sha256 = "1izsk586n9fbm0di0hj6pxs7r0a6w554gpad1ghf247icr0pfc1l"; }; - sourceRoot = "."; - unpackCmd = "dpkg-deb -x $src ."; - - dontConfigure = true; - dontBuild = true; - - buildInputs = [ - qtbase - qtx11extras - ]; + dontWrapQtApps = true; nativeBuildInputs = [ - autoPatchelfHook - wrapQtAppsHook - dpkg + cmake + extra-cmake-modules + qttranslations ]; - installPhase = '' - mkdir -p $out/bin - mv usr $out/ - ln -s $out/usr/bin/ksnip $out/bin/ksnip - ''; + buildInputs = [ + kColorPicker + kImageAnnotator + qtsvg + qtx11extras + ]; meta = with lib; { homepage = "https://github.com/ksnip/ksnip"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5e6c743d3091..dab46d839969 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16466,6 +16466,10 @@ with pkgs; judy = callPackage ../development/libraries/judy { }; + kColorPicker = libsForQt5.callPackage ../development/libraries/kColorPicker { }; + + kImageAnnotator = libsForQt5.callPackage ../development/libraries/kImageAnnotator { }; + kddockwidgets = libsForQt5.callPackage ../development/libraries/kddockwidgets { }; keybinder = callPackage ../development/libraries/keybinder { From 9ac0b8488797bf2f0bc676337c494df2fb305588 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Fri, 17 Sep 2021 00:43:40 +0200 Subject: [PATCH 3/6] ksnip: Move dependencies from `nativeBuildInputs` to `buildInputs` --- pkgs/development/libraries/kColorPicker/default.nix | 3 +++ pkgs/development/libraries/kImageAnnotator/default.nix | 3 +++ pkgs/tools/misc/ksnip/default.nix | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/kColorPicker/default.nix b/pkgs/development/libraries/kColorPicker/default.nix index 44ae276679ca..fac27084ac41 100644 --- a/pkgs/development/libraries/kColorPicker/default.nix +++ b/pkgs/development/libraries/kColorPicker/default.nix @@ -20,6 +20,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake + ]; + + buildInputs = [ qtbase ]; diff --git a/pkgs/development/libraries/kImageAnnotator/default.nix b/pkgs/development/libraries/kImageAnnotator/default.nix index 8daebeddefb3..70f852dd75b7 100644 --- a/pkgs/development/libraries/kImageAnnotator/default.nix +++ b/pkgs/development/libraries/kImageAnnotator/default.nix @@ -23,6 +23,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake + ]; + + buildInputs = [ kColorPicker qtbase qtsvg diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix index 0e08780e38db..89a27a207f01 100644 --- a/pkgs/tools/misc/ksnip/default.nix +++ b/pkgs/tools/misc/ksnip/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake extra-cmake-modules - qttranslations ]; buildInputs = [ kColorPicker kImageAnnotator qtsvg + qttranslations qtx11extras ]; From d687093e669d40fe99f51e67889eb1bf3fa230ed Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Fri, 17 Sep 2021 08:11:09 +0200 Subject: [PATCH 4/6] ksnip: Use existing packages for dependencies --- .../libraries/kColorPicker/default.nix | 36 ---------------- .../libraries/kImageAnnotator/default.nix | 42 ------------------- .../libraries/kimageannotator/default.nix | 4 +- pkgs/tools/misc/ksnip/default.nix | 8 ++-- 4 files changed, 6 insertions(+), 84 deletions(-) delete mode 100644 pkgs/development/libraries/kColorPicker/default.nix delete mode 100644 pkgs/development/libraries/kImageAnnotator/default.nix diff --git a/pkgs/development/libraries/kColorPicker/default.nix b/pkgs/development/libraries/kColorPicker/default.nix deleted file mode 100644 index fac27084ac41..000000000000 --- a/pkgs/development/libraries/kColorPicker/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv -, lib -, cmake -, fetchFromGitHub -, qtbase -}: - -stdenv.mkDerivation rec { - pname = "kColorPicker"; - version = "0.1.6"; - - src = fetchFromGitHub { - owner = "ksnip"; - repo = "kColorPicker"; - rev = "v${version}"; - sha256 = "1167xwk75yiz697vddbz3lq42l7ckhyl2cvigy4m05qgg9693ksd"; - }; - - dontWrapQtApps = true; - - nativeBuildInputs = [ - cmake - ]; - - buildInputs = [ - qtbase - ]; - - meta = with lib; { - homepage = "https://github.com/ksnip/kImageAnnotator"; - description = "Tool for annotating images"; - license = licenses.lgpl3; - maintainers = with maintainers; [ x3ro ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/libraries/kImageAnnotator/default.nix b/pkgs/development/libraries/kImageAnnotator/default.nix deleted file mode 100644 index 70f852dd75b7..000000000000 --- a/pkgs/development/libraries/kImageAnnotator/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv -, lib -, cmake -, fetchFromGitHub -, kColorPicker -, qtbase -, qtsvg -, qttranslations -}: - -stdenv.mkDerivation rec { - pname = "kImageAnnotator"; - version = "0.5.2"; - - src = fetchFromGitHub { - owner = "ksnip"; - repo = "kImageAnnotator"; - rev = "v${version}"; - sha256 = "07m3il928gwzzab349grpaksqqv4n7r6mn317sx2jly0x0bpv0rh"; - }; - - dontWrapQtApps = true; - - nativeBuildInputs = [ - cmake - ]; - - buildInputs = [ - kColorPicker - qtbase - qtsvg - qttranslations - ]; - - meta = with lib; { - homepage = "https://github.com/ksnip/kImageAnnotator"; - description = "Tool for annotating images"; - license = licenses.lgpl3; - maintainers = with maintainers; [ x3ro ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/libraries/kimageannotator/default.nix b/pkgs/development/libraries/kimageannotator/default.nix index 3188415ea045..b43883b645d8 100644 --- a/pkgs/development/libraries/kimageannotator/default.nix +++ b/pkgs/development/libraries/kimageannotator/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "kimageannotator"; - version = "0.5.1"; + version = "0.5.2"; src = fetchFromGitHub { owner = "ksnip"; repo = "kImageAnnotator"; rev = "v${version}"; - sha256 = "0hfvrd78lgwd7bccz0fx2pr7g0v3s401y5plra63rxwk55ffkxf8"; + sha256 = "07m3il928gwzzab349grpaksqqv4n7r6mn317sx2jly0x0bpv0rh"; }; nativeBuildInputs = [ cmake qttools ]; diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix index 89a27a207f01..e131f103557b 100644 --- a/pkgs/tools/misc/ksnip/default.nix +++ b/pkgs/tools/misc/ksnip/default.nix @@ -3,8 +3,8 @@ , cmake , extra-cmake-modules , fetchFromGitHub -, kColorPicker -, kImageAnnotator +, kcolorpicker +, kimageannotator , qtsvg , qttranslations , qtx11extras @@ -29,8 +29,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - kColorPicker - kImageAnnotator + kcolorpicker + kimageannotator qtsvg qttranslations qtx11extras From 5e39a98d15d03326b260a0429936494bb9eb3237 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Fri, 17 Sep 2021 08:14:56 +0200 Subject: [PATCH 5/6] ksnip: Remove deleted packages from `all-packages` --- pkgs/top-level/all-packages.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dab46d839969..5e6c743d3091 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16466,10 +16466,6 @@ with pkgs; judy = callPackage ../development/libraries/judy { }; - kColorPicker = libsForQt5.callPackage ../development/libraries/kColorPicker { }; - - kImageAnnotator = libsForQt5.callPackage ../development/libraries/kImageAnnotator { }; - kddockwidgets = libsForQt5.callPackage ../development/libraries/kddockwidgets { }; keybinder = callPackage ../development/libraries/keybinder { From 53c4bea5093fc87b08bef5e6e3c45e2f6c2ce205 Mon Sep 17 00:00:00 2001 From: ^x3ro Date: Sun, 19 Sep 2021 22:39:34 +0200 Subject: [PATCH 6/6] ksnip: Change license to `gpl2Plus` --- pkgs/tools/misc/ksnip/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix index e131f103557b..d78b45d9b7ac 100644 --- a/pkgs/tools/misc/ksnip/default.nix +++ b/pkgs/tools/misc/ksnip/default.nix @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { - User-defined actions for taking screenshot and post-processing. - Many configuration options. ''; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = with maintainers; [ x3ro ]; platforms = platforms.linux; };