evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ga / gargoyle / package.nix
blobd7863361b84615c841f82aa069c5ba3887a42d1c
1 { lib, stdenv, fetchFromGitHub, substituteAll, jam, cctools, pkg-config
2 , SDL, SDL_mixer, SDL_sound, gtk2, libvorbis, smpeg }:
4 let
6   jamenv = ''
7     unset AR
8   '' + (if stdenv.hostPlatform.isDarwin then ''
9     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${lib.getDev SDL}/include/SDL"
10     export GARGLKINI="$out/Applications/Gargoyle.app/Contents/Resources/garglk.ini"
11   '' else ''
12     export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/libexec/gargoyle"
13     export DESTDIR="$out"
14     export _BINDIR=libexec/gargoyle
15     export _APPDIR=libexec/gargoyle
16     export _LIBDIR=libexec/gargoyle
17     export GARGLKINI="$out/etc/garglk.ini"
18   '');
22 stdenv.mkDerivation rec {
23   pname = "gargoyle";
24   version = "2019.1.1";
26   src = fetchFromGitHub {
27     owner = "garglk";
28     repo = "garglk";
29     rev = version;
30     sha256 = "0w54avmbp4i4zps2rb4acmpa641s6wvwbrln4vbdhcz97fx48nzz";
31   };
33   nativeBuildInputs = [ jam pkg-config ] ++ lib.optional stdenv.hostPlatform.isDarwin cctools;
35   buildInputs = [ SDL SDL_mixer SDL_sound gtk2 ]
36     ++ lib.optionals stdenv.hostPlatform.isDarwin [ smpeg libvorbis ];
38   # Workaround build failure on -fno-common toolchains:
39   #   ld: build/linux.release/alan3/Location.o:(.bss+0x0): multiple definition of
40   #     `logFile'; build/linux.release/alan3/act.o:(.bss+0x0): first defined here
41   # TODO: drop once updated to 2022.1 or later.
42   env.NIX_CFLAGS_COMPILE = "-fcommon";
44   buildPhase = jamenv + "jam -j$NIX_BUILD_CORES";
46   installPhase =
47   if stdenv.hostPlatform.isDarwin then
48   (substituteAll {
49     inherit (stdenv) shell;
50     isExecutable = true;
51     src = ./darwin.sh;
52   })
53   else jamenv + ''
54     jam -j$NIX_BUILD_CORES install
55     mkdir -p "$out/bin"
56     ln -s ../libexec/gargoyle/gargoyle "$out/bin"
57     mkdir -p "$out/etc"
58     cp garglk/garglk.ini "$out/etc"
59     mkdir -p "$out/share/applications"
60     cp garglk/gargoyle.desktop "$out/share/applications"
61     mkdir -p "$out/share/icons/hicolor/32x32/apps"
62     cp garglk/gargoyle-house.png "$out/share/icons/hicolor/32x32/apps"
63   '';
65   enableParallelBuilding = true;
67   meta = with lib; {
68     broken = stdenv.hostPlatform.isDarwin;
69     homepage = "http://ccxvii.net/gargoyle/";
70     license = licenses.gpl2Plus;
71     description = "Interactive fiction interpreter GUI";
72     mainProgram = "gargoyle";
73     platforms = platforms.unix;
74     maintainers = with maintainers; [ orivej ];
75   };