mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
q2pro: init at r3510
This commit is contained in:
parent
2997153414
commit
2ff03b2eb2
109
pkgs/by-name/q2/q2pro/package.nix
Normal file
109
pkgs/by-name/q2/q2pro/package.nix
Normal file
@ -0,0 +1,109 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
pkg-config,
|
||||
ninja,
|
||||
zlib,
|
||||
libpng,
|
||||
libjpeg,
|
||||
curl,
|
||||
SDL2,
|
||||
openalSoft,
|
||||
libogg,
|
||||
libvorbis,
|
||||
libXi,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
libdecor,
|
||||
ffmpeg,
|
||||
wayland-scanner,
|
||||
makeWrapper,
|
||||
versionCheckHook,
|
||||
x11Support ? stdenv.isLinux,
|
||||
waylandSupport ? stdenv.isLinux,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "q2pro";
|
||||
version = "3510";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skullernet";
|
||||
repo = "q2pro";
|
||||
rev = "refs/tags/r${version}";
|
||||
hash = "sha256-LNOrGJarXnf4QqFXDkUfUgLGrjSqbjncpIN2yttbMuk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
makeWrapper
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
zlib
|
||||
libpng
|
||||
libjpeg
|
||||
curl
|
||||
SDL2
|
||||
libogg
|
||||
libvorbis
|
||||
ffmpeg
|
||||
openalSoft
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
wayland
|
||||
wayland-protocols
|
||||
libdecor
|
||||
]
|
||||
++ lib.optionals x11Support [ libXi ];
|
||||
|
||||
mesonBuildType = "release";
|
||||
|
||||
mesonFlags = [
|
||||
(lib.mesonBool "anticheat-server" true)
|
||||
(lib.mesonBool "client-gtv" true)
|
||||
(lib.mesonBool "packetdup-hack" true)
|
||||
(lib.mesonBool "variable-fps" true)
|
||||
(lib.mesonEnable "wayland" waylandSupport)
|
||||
(lib.mesonEnable "x11" x11Support)
|
||||
(lib.mesonEnable "icmp-errors" stdenv.isLinux)
|
||||
(lib.mesonEnable "windows-crash-dumps" false)
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
echo 'r${version}' > VERSION
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
let
|
||||
ldLibraryPathEnvName =
|
||||
if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in
|
||||
''
|
||||
mv -v $out/bin/q2pro $out/bin/q2pro-unwrapped
|
||||
makeWrapper $out/bin/q2pro-unwrapped $out/bin/q2pro \
|
||||
--prefix ${ldLibraryPathEnvName} : "${lib.makeLibraryPath finalAttrs.buildInputs}"
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Enhanced Quake 2 client and server focused on multiplayer";
|
||||
homepage = "https://github.com/skullernet/q2pro";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ carlossless ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "q2pro";
|
||||
};
|
||||
})
|
Loading…
Reference in New Issue
Block a user