Merge pull request #329327 from poperigby/vkquake-1.31.0

vkquake: 1.22.3 → 1.31.0
This commit is contained in:
tomberek 2024-08-07 00:36:37 -04:00 committed by GitHub
commit 6ca3ad7c9c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 43 additions and 21 deletions

View File

@ -16345,6 +16345,11 @@
githubId = 4201956; githubId = 4201956;
name = "pongo1231"; name = "pongo1231";
}; };
PopeRigby = {
name = "PopeRigby";
github = "poperigby";
githubId = 20866468;
};
poptart = { poptart = {
email = "poptart@hosakacorp.net"; email = "poptart@hosakacorp.net";
github = "terrorbyte"; github = "terrorbyte";

View File

@ -1,55 +1,71 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper {
, SDL2, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader, moltenvk lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
glslang,
pkg-config,
flac,
libopus,
opusfile,
makeWrapper,
SDL2,
gzip,
libvorbis,
libmad,
vulkan-loader,
moltenvk,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vkquake"; pname = "vkquake";
version = "1.22.3"; version = "1.31.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Novum"; owner = "Novum";
repo = "vkQuake"; repo = "vkQuake";
rev = version; rev = version;
sha256 = "sha256-+8DU1QT3Lgqf1AIReVnXQ2Lq6R6eBb8VjdkJfAn/Rtc="; sha256 = "sha256-3xWwqN0EcwDMEhVxfLa0bMMClM+zELEFWzO/EJvPNs0=";
}; };
sourceRoot = "${src.name}/Quake";
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper makeWrapper
vulkan-headers glslang
meson
ninja
pkg-config
]; ];
buildInputs = [ buildInputs = [
gzip
SDL2 SDL2
libvorbis flac
gzip
libmad libmad
libopus
libvorbis
opusfile
vulkan-loader vulkan-loader
] ++ lib.optional stdenv.isDarwin moltenvk; ] ++ lib.optional stdenv.isDarwin moltenvk;
buildFlags = [ "DO_USERDIRS=1" ]; buildFlags = [ "DO_USERDIRS=1" ];
preInstall = ''
mkdir -p "$out/bin"
'';
makeFlags = [ "prefix=$(out) bindir=$(out)/bin" ];
env = lib.optionalAttrs stdenv.isDarwin { env = lib.optionalAttrs stdenv.isDarwin {
NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable"; NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable";
}; };
postFixup = '' installPhase = ''
wrapProgram $out/bin/vkquake \ mkdir -p "$out/bin"
--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib cp vkquake "$out/bin"
''; '';
enableParallelBuilding = true; postFixup = ''
patchelf $out/bin/vkquake \
--add-rpath ${lib.makeLibraryPath [ vulkan-loader ]}
'';
meta = with lib; { meta = with lib; {
description = "Vulkan Quake port based on QuakeSpasm"; description = "Vulkan Quake port based on QuakeSpasm";
mainProgram = "vkquake";
homepage = src.meta.homepage; homepage = src.meta.homepage;
longDescription = '' longDescription = ''
vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering. vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering.
@ -61,6 +77,7 @@ stdenv.mkDerivation rec {
''; '';
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ ylh ]; maintainers = with maintainers; [ PopeRigby ylh ];
mainProgram = "vkquake";
}; };
} }