1{
2 lib,
3 catch2_3,
4 cmake,
5 fetchFromGitHub,
6 gtkmm4,
7 libadwaita,
8 pcre2,
9 pkg-config,
10 stdenv,
11 tinyxml-2,
12 wrapGAppsHook4,
13}:
14stdenv.mkDerivation (finalAttrs: {
15 pname = "progress-tracker";
16 version = "1.6";
17
18 src = fetchFromGitHub {
19 owner = "smolBlackCat";
20 repo = "progress-tracker";
21 rev = "v${finalAttrs.version}";
22 hash = "sha256-uUw3+BJWRoCT1VH27SZBEBRsEbbpaP4IahKonfSOyeM=";
23 };
24
25 nativeBuildInputs = [
26 cmake
27 pkg-config
28 wrapGAppsHook4
29 ];
30
31 buildInputs = [
32 catch2_3
33 gtkmm4
34 libadwaita
35 pcre2
36 tinyxml-2
37 ];
38
39 postPatch = ''
40 substituteInPlace src/CMakeLists.txt \
41 --replace-fail "/usr/bin/" "${placeholder "out"}/bin/"
42
43 substituteInPlace po/CMakeLists.txt \
44 --replace-fail "/usr/share/" "${placeholder "out"}/share/"
45
46 substituteInPlace data/CMakeLists.txt \
47 --replace-fail "/usr/share/" "${placeholder "out"}/share/"
48 '';
49
50 meta = {
51 description = "Simple kanban-style task organiser";
52 homepage = "https://github.com/smolBlackCat/progress-tracker";
53 license = lib.licenses.mit;
54 mainProgram = "progress";
55 maintainers = with lib.maintainers; [ Guanran928 ];
56 platforms = lib.platforms.linux;
57 };
58})