1{ lib, stdenv
2, fetchFromGitHub
3, fetchpatch
4, unstableGitUpdater
5, xxd
6, pkg-config
7, imagemagick
8, wrapGAppsHook
9, gtk3
10, jansson
11}:
12
13stdenv.mkDerivation {
14 pname = "urn-timer";
15 version = "unstable-2017-08-20";
16
17 src = fetchFromGitHub {
18 owner = "3snowp7im";
19 repo = "urn";
20 rev = "246a7a642fa7a673166c1bd281585d0fc22e75b2";
21 sha256 = "0bniwf3nhsqapsss9m9y9ylh38v6v7q45999wa1qcsddpa72k0i0";
22 fetchSubmodules = true;
23 };
24
25 patches = [
26 # https://github.com/3snowp7im/urn/pull/50
27 (fetchpatch {
28 name = "stop-hardcoding-prefix";
29 url = "https://github.com/3snowp7im/urn/commit/6054ee62dcd6095e31e8fb2a229155dbbcb39f68.patch";
30 sha256 = "1xdkylbqlqjwqx4pb9v1snf81ag7b6q8vybirz3ibsv6iy79v9pk";
31 })
32 # https://github.com/3snowp7im/urn/pull/53
33 (fetchpatch {
34 name = "create-installation-directories";
35 url = "https://github.com/3snowp7im/urn/commit/fb032851b9c5bebb5066d306f5366f0be34f0797.patch";
36 sha256 = "0jjhcz4n8bm3hl56rvjzkvxr6imc05qlyavzjrlafa19hf036g4a";
37 })
38 ];
39
40 postPatch = ''substituteInPlace GNUmakefile --replace 'rsync -a --exclude=".*"' 'cp -r' '';
41
42 nativeBuildInputs = [
43 xxd
44 pkg-config
45 imagemagick
46 wrapGAppsHook
47 ];
48
49 buildInputs = [
50 gtk3
51 jansson
52 ];
53
54 makeFlags = [ "PREFIX=$(out)" ];
55
56 passthru.updateScript = unstableGitUpdater {
57 url = "https://github.com/3snowp7im/urn.git";
58 };
59
60 meta = with lib; {
61 homepage = "https://github.com/3snowp7im/urn";
62 description = "Split tracker / timer for speedrunning with GTK+ frontend";
63 license = licenses.gpl3Plus;
64 maintainers = with maintainers; [ fgaz ];
65 };
66}