ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / po / poptracker / package.nix
blob8020e5da4f6052782d0a8e0e095539a7f0504221
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   util-linux,
6   SDL2,
7   SDL2_ttf,
8   SDL2_image,
9   openssl,
10   which,
11   libsForQt5,
12   makeWrapper,
13   makeDesktopItem,
14   copyDesktopItems,
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "poptracker";
19   version = "0.27.0";
21   src = fetchFromGitHub {
22     owner = "black-sliver";
23     repo = "PopTracker";
24     rev = "v${finalAttrs.version}";
25     hash = "sha256-Tz3rVbaHw5RfFKuLih4BEEnn3uNeLrtDQpBD2yYUzkM=";
26     fetchSubmodules = true;
27   };
29   patches = [ ./assets-path.diff ];
31   postPatch = ''
32     substituteInPlace src/poptracker.cpp --replace "@assets@" "$out/share/poptracker/"
33   '';
35   enableParallelBuilding = true;
37   nativeBuildInputs = [
38     util-linux
39     makeWrapper
40     copyDesktopItems
41   ];
43   buildInputs = [
44     SDL2
45     SDL2_ttf
46     SDL2_image
47     openssl
48   ];
50   buildFlags = [
51     "native"
52     "CONF=RELEASE"
53     "VERSION=v${finalAttrs.version}"
54   ];
56   installPhase = ''
57     runHook preInstall
58     install -m555 -Dt $out/bin build/linux-x86_64/poptracker
59     install -m444 -Dt $out/share/poptracker assets/*
60     wrapProgram $out/bin/poptracker --prefix PATH : ${
61       lib.makeBinPath [
62         which
63         libsForQt5.kdialog
64       ]
65     }
66     mkdir -p $out/share/icons/hicolor/{64x64,512x512}/apps
67     ln -s $out/share/poptracker/icon.png  $out/share/icons/hicolor/64x64/apps/poptracker.png
68     ln -s $out/share/poptracker/icon512.png  $out/share/icons/hicolor/512x512/apps/poptracker.png
69     runHook postInstall
70   '';
72   desktopItems = [
73     (makeDesktopItem {
74       name = "poptracker";
75       desktopName = "PopTracker";
76       exec = "poptracker";
77       comment = "Universal, scriptable randomizer tracking solution";
78       icon = "poptracker";
79       categories = [
80         "Game"
81         "Utility"
82       ];
83     })
84   ];
86   meta = {
87     description = "Scriptable tracker for randomized games";
88     longDescription = ''
89       Universal, scriptable randomizer tracking solution that is open source. Supports auto-tracking.
91       PopTracker packs should be placed in `~/PopTracker/packs` or `./packs`.
92     '';
93     homepage = "https://github.com/black-sliver/PopTracker";
94     changelog = "https://github.com/black-sliver/PopTracker/releases/tag/v${finalAttrs.version}";
95     license = lib.licenses.gpl3Only;
96     maintainers = with lib.maintainers; [
97       freyacodes
98       pyrox0
99     ];
100     mainProgram = "poptracker";
101     platforms = [ "x86_64-linux" ];
102   };