Initial commit

master
Sven Slootweg 6 years ago
commit c9ae8ff6d3

@ -0,0 +1,19 @@
let
nixpkgs = import <nixpkgs>;
buildPath = path:
{system ? builtins.currentSystem}:
let
nixpkgsWithOverlays = nixpkgs {
inherit system;
overlays = [
(import ../default.nix)
];
};
in
nixpkgsWithOverlays.lib.getAttr path nixpkgsWithOverlays;
jobs = rec {
xonotic = buildPath "xonotic";
};
in jobs

@ -0,0 +1,4 @@
self: super:
{
xonotic = super.callPackage ./pkgs/games/xonotic {};
}

@ -0,0 +1,88 @@
{ stdenv, fetchurl
, # required for both
unzip, libjpeg, zlib, libvorbis, curl, patchelf
, # glx
libX11, libGLU_combined, 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 libGLU_combined 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 = [];
};
}
Loading…
Cancel
Save