1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
{
lib,
python3Packages,
fetchFromGitHub,
wrapGAppsHook4,
appstream-glib,
blueprint-compiler,
desktop-file-utils,
gettext,
gtk4,
libadwaita,
meson,
ninja,
pkg-config,
gobject-introspection,
jpegoptim,
libwebp,
optipng,
pngquant,
oxipng,
nix-update-script,
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "curtail";
version = "1.16.2";
pyproject = false;
src = fetchFromGitHub {
owner = "Huluti";
repo = "Curtail";
tag = finalAttrs.version;
hash = "sha256-Z4XY2/24FBdvPB3MeT7PPSXprf5HHlL1OdB6rknsL/w=";
};
nativeBuildInputs = [
wrapGAppsHook4
appstream-glib
blueprint-compiler
desktop-file-utils
gettext
gtk4
libadwaita
meson
ninja
pkg-config
gobject-introspection
];
buildInputs = [
appstream-glib
gettext
gtk4
libadwaita
];
dependencies = [
python3Packages.pygobject3
];
preInstall = ''
patchShebangs ../build-aux/meson/postinstall.py
'';
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
"--prefix" "PATH" ":" "${
lib.makeBinPath [
jpegoptim
libwebp
optipng
pngquant
oxipng
]
}"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
changelog = "https://github.com/Huluti/Curtail/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "Simple & useful image compressor";
mainProgram = "curtail";
homepage = "https://github.com/Huluti/Curtail";
license = lib.licenses.gpl3Only;
teams = [ lib.teams.gnome-circle ];
};
})
|