1{
2 fetchFromGitHub,
3 fetchpatch,
4 lib,
5 stdenv,
6 autoreconfHook,
7 intltool,
8 pkg-config,
9 gtk3,
10 libayatana-appindicator,
11 xdotool,
12 which,
13 wrapGAppsHook3,
14}:
15
16stdenv.mkDerivation rec {
17 pname = "clipit";
18 version = "1.4.5";
19
20 src = fetchFromGitHub {
21 owner = "CristianHenzel";
22 repo = "ClipIt";
23 rev = "45e2ea386d04dbfc411ea370299502450d589d0c";
24 sha256 = "0byqz9hanwmdc7i55xszdby2iqrk93lws7hmjda2kv17g34apwl7";
25 };
26
27 preConfigure = ''
28 intltoolize --copy --force --automake
29 '';
30
31 patches = [
32 # Fixes for GCC14
33 (fetchpatch {
34 url = "https://salsa.debian.org/debian/clipit/-/raw/d4bafc28fcb445d1940cdfede6c70142cf3162f5/debian/patches/incompatible-pointer-types.patch";
35 hash = "sha256-STI1fpnoPdEqu1embQcUlTG712HPbJ+LPm930P13Ixo=";
36 })
37 (fetchpatch {
38 url = "https://salsa.debian.org/debian/clipit/-/raw/656d0814030c13437b10d40ee75615d0e8cd873e/debian/patches/missing-prototypes.patch";
39 hash = "sha256-UD183IjV5BprPHQK9bhmUBKfUYgqEZ9M1cRE+AmhAPA=";
40 })
41 ];
42
43 nativeBuildInputs = [
44 pkg-config
45 wrapGAppsHook3
46 autoreconfHook
47 intltool
48 ];
49
50 configureFlags = [
51 "--with-gtk3"
52 "--enable-appindicator=yes"
53 ];
54
55 buildInputs = [
56 gtk3
57 libayatana-appindicator
58 ];
59
60 gappsWrapperArgs = [
61 "--prefix"
62 "PATH"
63 ":"
64 "${lib.makeBinPath [
65 xdotool
66 which
67 ]}"
68 ];
69
70 meta = with lib; {
71 description = "Lightweight GTK Clipboard Manager";
72 inherit (src.meta) homepage;
73 license = licenses.gpl3Plus;
74 platforms = platforms.linux;
75 mainProgram = "clipit";
76 maintainers = with maintainers; [ kamilchm ];
77 };
78}