nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchurl,
5 fftwSinglePrec,
6 freetype,
7 SDL,
8 SDL_ttf,
9}:
10
11stdenv.mkDerivation rec {
12 pname = "quantumminigolf";
13 version = "1.1.1";
14
15 src = fetchurl {
16 url = "mirror://sourceforge/project/quantumminigolf/quantumminigolf/${version}/quantumminigolf-${version}.src.tar.gz";
17 sha256 = "sha256-Y3LUGk6pAuNGVOYkc0WYDbgJFtwJJn+aLRHmCKY7W5k=";
18 };
19
20 buildInputs = [
21 fftwSinglePrec
22 freetype
23 SDL
24 SDL_ttf
25 ];
26
27 preBuild = ''
28 export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${lib.getDev SDL}/include/SDL -I${SDL_ttf}/include/SDL"
29
30 sed -re 's@"(gfx|fonts|tracks)/@"'"$out"'/share/quantumminigolf/\1/@g' -i *.cpp
31 '';
32
33 installPhase = ''
34 mkdir -p "$out"/{share/doc,share/quantumminigolf,bin}
35 cp README THANKS LICENSE "$out/share/doc"
36 cp -r fonts gfx tracks "$out/share/quantumminigolf"
37 cp quantumminigolf "$out/bin"
38 '';
39
40 meta = with lib; {
41 description = "Quantum mechanics-based minigolf-like game";
42 mainProgram = "quantumminigolf";
43 license = licenses.gpl2Plus;
44 maintainers = with maintainers; [ raskin ];
45 platforms = platforms.linux;
46 # never built on aarch64-linux since first introduction in nixpkgs
47 broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64;
48 };
49}