1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 unstableGitUpdater,
6 xxd,
7 pkg-config,
8 imagemagick,
9 wrapGAppsHook3,
10 gtk3,
11 jansson,
12 nixosTests,
13}:
14
15stdenv.mkDerivation {
16 pname = "urn-timer";
17 version = "0-unstable-2025-07-21";
18
19 src = fetchFromGitHub {
20 owner = "paoloose";
21 repo = "urn";
22 rev = "3e5d00cfb19c27e155e6bb03a11a70f1e89b0842";
23 hash = "sha256-FttQ9NffJQ8UjNaRUQ6kCDnDHp72q8eOmIhnoplwtYw=";
24 };
25
26 nativeBuildInputs = [
27 xxd
28 pkg-config
29 imagemagick
30 wrapGAppsHook3
31 ];
32
33 buildInputs = [
34 gtk3
35 jansson
36 ];
37
38 makeFlags = [ "PREFIX=$(out)" ];
39
40 passthru.updateScript = unstableGitUpdater {
41 url = "https://github.com/paoloose/urn.git";
42 };
43
44 passthru.tests.nixosTest = nixosTests.urn-timer;
45
46 meta = with lib; {
47 homepage = "https://github.com/paoloose/urn";
48 description = "Split tracker / timer for speedrunning with GTK+ frontend";
49 license = licenses.gpl3Plus;
50 maintainers = with maintainers; [ fgaz ];
51 mainProgram = "urn-gtk";
52 };
53}