diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 448c34f1e0f7..da619869ede2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -19120,6 +19120,12 @@ github = "uakci"; githubId = 6961268; }; + uartman = { + name = "Anton Gusev"; + email = "uartman@mail.ru"; + github = "UARTman"; + githubId = 21099202; + }; udono = { email = "udono@virtual-things.biz"; github = "udono"; diff --git a/pkgs/by-name/gt/gtkclipblock/package.nix b/pkgs/by-name/gt/gtkclipblock/package.nix new file mode 100644 index 000000000000..a4d5400af6fe --- /dev/null +++ b/pkgs/by-name/gt/gtkclipblock/package.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, cmake +, ninja +, pkg-config +, gtk2 +, gtk3 +, gtk4 +}: + +let + distorm-src = fetchFromGitHub { + owner = "gdabah"; + repo = "distorm"; + rev = "3.5.2b"; + hash = "sha256-2ftEV3TMS3HT7f96k+Pwt3Mm31fVEXcHpcbbz05jycU="; + }; + pname = "gtkclipblock"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "notpeelz"; + repo = "gtkclipblock"; + rev = "v${version}"; + hash = "sha256-ok/D7M0KekN8zf8AzhcOLtedbYVRHHv3m9zEHsJfcPM="; + fetchSubmodules = true; + }; +in +stdenv.mkDerivation { + inherit pname version src; + + nativeBuildInputs = [ meson cmake ninja pkg-config ]; + + buildInputs = [ gtk2 gtk3 gtk4 ]; + + postPatch = '' + substituteInPlace subprojects/funchook-helper/subprojects/funchook/CMakeLists.txt \ + --replace "GIT_REPOSITORY https://github.com/gdabah/distorm.git" "SOURCE_DIR ${distorm-src}" + ''; + + dontUseCmakeConfigure = true; + + meta = with lib; { + description = "A LD_PRELOAD hack to prevent GTK programs from interacting with the primary clipboard"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ uartman ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cc92d021a3d2..ace5c084e77f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8988,6 +8988,8 @@ with pkgs; gtdialog = callPackage ../development/libraries/gtdialog { }; + gtkclipblock = callPackage ../by-name/gt/gtkclipblock/package.nix { stdenv = gcc13Stdenv; }; + gtkd = callPackage ../development/libraries/gtkd { dcompiler = ldc; }; gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };