blob: d7337065e1ce0bf009cc75bef469082571773210 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
{ stdenv, fetchHumbleBundle, SDL2, unzip, xorg, libudev, alsaLib, dbus
, libpulseaudio, libdrm, libvorbis, json_c }:
stdenv.mkDerivation rec {
name = "pico-8-${version}";
version = "0.2.1b";
src = fetchHumbleBundle {
name = "pico8_linux";
machineName = "pico8_linux";
downloadName = {
"x86_64-linux" = "64-bit";
"i686-linux" = "32-bit";
}.${stdenv.system};
md5 = {
"x86_64-linux" = "8fb79431e139ea431eba739bb687ff8a";
"i686-linux" = "8e1c9033cd1a066890e7624207824948";
}.${stdenv.system};
};
unpackCmd = ''
${unzip}/bin/unzip -qq -d . "$src" || :
'';
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
buildPhase = let
rpath = stdenv.lib.makeLibraryPath [
stdenv.cc.cc SDL2 xorg.libXxf86vm xorg.libXcursor xorg.libXi
xorg.libXrandr libudev alsaLib dbus
libpulseaudio libdrm libvorbis json_c
];
in ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" pico8
'';
installPhase = ''
install -vD pico8 "$out/share/pico8"
install -vD pico8.dat "$out/share/pico8.dat"
install -vD pico-8.txt "$out/share/pico-8.txt"
install -vD license.txt "$out/share/license.txt"
install -vD lexaloffle-pico8.png "$out/share/lexaloffle-pico8.png"
mkdir -p "$out/bin"
ln -s "$out/share/pico8" "$out/bin/pico8"
'';
dontPatchELF = true;
}
|