mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 07:13:23 +01:00
commit
9101c027ae
3 changed files with 1 additions and 107 deletions
|
@ -1,105 +0,0 @@
|
||||||
{ stdenv, fetchurl, binutils-unwrapped, sconsPackages, gnum4, p7zip, glibc_multi, mesa
|
|
||||||
, xorg, libGLU, libGL, openal
|
|
||||||
, lib, makeWrapper, makeDesktopItem }:
|
|
||||||
|
|
||||||
let
|
|
||||||
pname = "tdm";
|
|
||||||
version = "2.08";
|
|
||||||
|
|
||||||
desktop = makeDesktopItem {
|
|
||||||
desktopName = pname;
|
|
||||||
name = pname;
|
|
||||||
exec = "@out@/bin/${pname}";
|
|
||||||
icon = pname;
|
|
||||||
terminal = "false";
|
|
||||||
comment = "The Dark Mod - stealth FPS inspired by the Thief series";
|
|
||||||
type = "Application";
|
|
||||||
categories = "Game;";
|
|
||||||
genericName = pname;
|
|
||||||
fileValidation = false;
|
|
||||||
};
|
|
||||||
in stdenv.mkDerivation {
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://www.thedarkmod.com/sources/thedarkmod.${version}.src.7z";
|
|
||||||
sha256 = "0bmv07j6s6q3m7hnpx7cwrycjkbvlf0y9sg9migakni0jg9yz5ps";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [
|
|
||||||
p7zip sconsPackages.scons_3_1_2 gnum4 makeWrapper
|
|
||||||
];
|
|
||||||
buildInputs = [
|
|
||||||
glibc_multi mesa.dev xorg.libX11.dev openal
|
|
||||||
xorg.libXext.dev xorg.libXxf86vm.dev
|
|
||||||
libGL libGLU
|
|
||||||
];
|
|
||||||
unpackPhase = ''
|
|
||||||
7z x $src
|
|
||||||
'';
|
|
||||||
|
|
||||||
# I'm pretty sure there's a better way to build 2 targets than a random hook
|
|
||||||
preBuild = ''
|
|
||||||
pushd tdm_update
|
|
||||||
scons BUILD=release TARGET_ARCH=x64
|
|
||||||
install -Dm755 bin/tdm_update.linux64 $out/share/libexec/tdm_update.linux
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
|
|
||||||
# why oh why can it find ld but not strip?
|
|
||||||
postPatch = ''
|
|
||||||
sed -i 's!strip \$!${binutils-unwrapped}/bin/strip $!' SConstruct
|
|
||||||
# This adds math.h needed for math::floor
|
|
||||||
sed -i 's|#include "Util.h"|#include "Util.h"\n#include <math.h>|' tdm_update/ConsoleUpdater.cpp
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
install -Dm644 ${desktop}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop
|
|
||||||
substituteInPlace $out/share/applications/${pname}.desktop --subst-var out
|
|
||||||
install -Dm755 thedarkmod.x64 $out/share/libexec/tdm
|
|
||||||
|
|
||||||
# The package doesn't install assets, these get installed by running tdm_update.linux
|
|
||||||
# Provide a script that runs tdm_update.linux on first launch
|
|
||||||
install -Dm755 <(cat <<'EOF'
|
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
DIR="$HOME/.local/share/tdm"
|
|
||||||
mkdir -p "$DIR"
|
|
||||||
cd "$DIR"
|
|
||||||
exec "PKGDIR/share/libexec/tdm_update.linux" --noselfupdate
|
|
||||||
EOF
|
|
||||||
) $out/bin/tdm_update
|
|
||||||
|
|
||||||
install -Dm755 <(cat <<'EOF'
|
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
DIR="$HOME/.local/share/tdm"
|
|
||||||
if [ ! -d "$DIR" ]; then
|
|
||||||
echo "Please run tdm_update to (re)download game data"
|
|
||||||
else
|
|
||||||
cd "$DIR"
|
|
||||||
exec "PKGDIR/share/libexec/tdm"
|
|
||||||
fi
|
|
||||||
EOF
|
|
||||||
) $out/bin/tdm
|
|
||||||
sed -i "s!PKGDIR!$out!g" $out/bin/tdm_update
|
|
||||||
sed -i "s!PKGDIR!$out!g" $out/bin/tdm
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libGLU ]}
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
sconsFlags = [ "BUILD=release" "TARGET_ARCH=x64" ];
|
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "The Dark Mod - stealth FPS inspired by the Thief series";
|
|
||||||
homepage = "http://www.thedarkmod.com";
|
|
||||||
license = licenses.gpl3;
|
|
||||||
maintainers = with maintainers; [ cizra ];
|
|
||||||
platforms = with platforms; [ "x86_64-linux" ]; # tdm also supports x86, but I don't have a x86 install at hand to test.
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -607,6 +607,7 @@ mapAliases ({
|
||||||
systool = sysfsutils; # added 2018-04-25
|
systool = sysfsutils; # added 2018-04-25
|
||||||
tahoelafs = tahoe-lafs; # added 2018-03-26
|
tahoelafs = tahoe-lafs; # added 2018-03-26
|
||||||
tangogps = foxtrotgps; # added 2020-01-26
|
tangogps = foxtrotgps; # added 2020-01-26
|
||||||
|
tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead.";
|
||||||
telepathy_farstream = telepathy-farstream; # added 2018-02-25
|
telepathy_farstream = telepathy-farstream; # added 2018-02-25
|
||||||
telepathy_gabble = telepathy-gabble; # added 2018-02-25
|
telepathy_gabble = telepathy-gabble; # added 2018-02-25
|
||||||
telepathy_glib = telepathy-glib; # added 2018-02-25
|
telepathy_glib = telepathy-glib; # added 2018-02-25
|
||||||
|
|
|
@ -28802,8 +28802,6 @@ in
|
||||||
gcc-armhf-embedded = pkgsCross.armhf-embedded.buildPackages.gcc;
|
gcc-armhf-embedded = pkgsCross.armhf-embedded.buildPackages.gcc;
|
||||||
};
|
};
|
||||||
|
|
||||||
tdm = callPackage ../games/tdm { };
|
|
||||||
|
|
||||||
newlib = callPackage ../development/misc/newlib { };
|
newlib = callPackage ../development/misc/newlib { };
|
||||||
newlibCross = callPackage ../development/misc/newlib {
|
newlibCross = callPackage ../development/misc/newlib {
|
||||||
stdenv = crossLibcStdenv;
|
stdenv = crossLibcStdenv;
|
||||||
|
|
Loading…
Reference in a new issue