nixpkgs/pkgs/games/xonotic/default.nix
davidak 3270aa896b replace "Mac OS X" and "OS X" with "macOS"
as it is the official name since 2016

https://en.wikipedia.org/wiki/Macintosh_operating_systems#Desktop

exception are parts refering to older versions of macOS like

"GUI support for Mac OS X 10.6 - 10.12. Note that Emacs 23 and later [...]"
2017-08-07 21:41:30 +02:00

89 lines
2.6 KiB
Nix

{ stdenv, fetchurl
, # required for both
unzip, libjpeg, zlib, libvorbis, curl, patchelf
, # glx
libX11, mesa, libXpm, libXext, libXxf86vm, alsaLib
, # sdl
SDL2
}:
stdenv.mkDerivation rec {
name = "xonotic-0.8.2";
src = fetchurl {
url = "http://dl.xonotic.org/${name}.zip";
sha256 = "1mcs6l4clvn7ibfq3q69k2p0z6ww75rxvnngamdq5ic6yhq74bx2";
};
buildInputs = [
# required for both
unzip libjpeg
# glx
libX11 mesa libXpm libXext libXxf86vm alsaLib
# sdl
SDL2
zlib libvorbis curl
];
sourceRoot = "Xonotic/source/darkplaces";
# "debug", "release", "profile"
target = "release";
dontStrip = target != "release";
buildPhase = ''
DP_FS_BASEDIR="$out/share/xonotic"
make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-${target}
make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-${target}
make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-${target}
'';
enableParallelBuilding = true;
installPhase = ''
mkdir -p "$out/bin"
cp darkplaces-dedicated "$out/bin/xonotic-dedicated"
cp darkplaces-sdl "$out/bin/xonotic-sdl"
cp darkplaces-glx "$out/bin/xonotic-glx"
cd ../..
mkdir -p "$out/share/xonotic"
mv data "$out/share/xonotic"
# default to sdl
ln -s "$out/bin/xonotic-sdl" "$out/bin/xonotic"
'';
# Xonotic needs to find libcurl.so at runtime for map downloads
dontPatchELF = true;
postFixup = ''
patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-dedicated
patchelf \
--add-needed ${curl.out}/lib/libcurl.so \
--add-needed ${libvorbis}/lib/libvorbisfile.so \
--add-needed ${libvorbis}/lib/libvorbis.so \
$out/bin/xonotic-glx
patchelf \
--add-needed ${curl.out}/lib/libcurl.so \
--add-needed ${libvorbis}/lib/libvorbisfile.so \
--add-needed ${libvorbis}/lib/libvorbis.so \
$out/bin/xonotic-sdl
'';
meta = {
description = "A free fast-paced first-person shooter";
longDescription = ''
Xonotic is a free, fast-paced first-person shooter that works on
Windows, macOS and Linux. The project is geared towards providing
addictive arena shooter gameplay which is all spawned and driven
by the community itself. Xonotic is a direct successor of the
Nexuiz project with years of development between them, and it
aims to become the best possible open-source FPS of its kind.
'';
homepage = http://www.xonotic.org;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [ astsmtl zalakain ];
platforms = stdenv.lib.platforms.linux;
hydraPlatforms = [];
};
}