Initial commit
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…
Reference in New Issue