diff options
author | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2014-04-25 18:35:18 +0000 |
---|---|---|
committer | Austin Seipp <aseipp@pobox.com> | 2014-04-26 12:58:25 -0500 |
commit | 9a77b8e64f41cbfe682dc2bdaa8635ee01d41013 (patch) | |
tree | 8aaee87a763315bac33c30f2a3542f5edb73656b /pkgs/games/tibia | |
parent | 9ef104cbad052dc619a88cd632f336fbdb9bd4cf (diff) | |
download | nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.tar nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.tar.gz nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.tar.bz2 nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.tar.lz nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.tar.xz nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.tar.zst nixpkgs-9a77b8e64f41cbfe682dc2bdaa8635ee01d41013.zip |
tibia: version 10.38
Closes #2396
Diffstat (limited to 'pkgs/games/tibia')
-rw-r--r-- | pkgs/games/tibia/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix new file mode 100644 index 00000000000..5cf451e9201 --- /dev/null +++ b/pkgs/games/tibia/default.nix @@ -0,0 +1,58 @@ +{stdenv, fetchurl, patchelf, glibc, libX11, mesa}: + +with stdenv.lib; +assert stdenv.isi686; +stdenv.mkDerivation { + name = "tibia-10.38"; + + src = fetchurl { + url = http://static.tibia.com/download/tibia1038.tgz; + sha256 = "13mxsdh0p0bhdiv5p0hbfdx4a5ha2fv9p2yvn6250z9plfi9xq2h"; + }; + + shell = stdenv.shell; + + # These binaries come stripped already and trying to strip after the + # files are in $out/res and after patchelf just breaks them. + # Strangely it works if the files are in $out but then nix doesn't + # put them in our PATH. We set all the files to $out/res because + # we'll be using a wrapper to start the program which will go into + # $out/bin. + dontStrip = true; + + installPhase = '' + mkdir -pv $out/res + cp -r ./* $out/res + + patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \ + --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${mesa}/lib \ + "$out/res/Tibia" || true + + # We've patchelf'd the files. The main ‘Tibia’ binary is a bit + # dumb so it looks for ‘./Tibia.dat’. This requires us to be in + # the same directory as the file itself but that's very tedious, + # especially with nix which changes store hashes. Here we generate + # a simple wrapper that we put in $out/bin which will do the + # directory changing for us. + + mkdir -pv $out/bin + + # The wrapper script itself. We use $LD_LIBRARY_PATH for libGL. + cat << EOF > "$out/bin/Tibia" + #!${stdenv.shell} + cd $out/res + ${glibc}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@" + EOF + + chmod +x $out/bin/Tibia + + ''; + + meta = { + description = "Top-down MMORPG set in a fantasy setting"; + homepage = "http://tibia.com"; + license = "unfree"; + maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; + platforms = ["i686-linux"]; + }; +} |