From 109b32fd375724e9df85e372a1e1e4b0e294d6a9 Mon Sep 17 00:00:00 2001 From: Gliczy <129636582+Gliczy@users.noreply.github.com> Date: Sat, 29 Nov 2025 23:08:46 +0100 Subject: [PATCH] uzdoom: init at 4.14.3 --- pkgs/by-name/uz/uzdoom/package.nix | 102 +++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 pkgs/by-name/uz/uzdoom/package.nix diff --git a/pkgs/by-name/uz/uzdoom/package.nix b/pkgs/by-name/uz/uzdoom/package.nix new file mode 100644 index 000000000000..2cb41b26981c --- /dev/null +++ b/pkgs/by-name/uz/uzdoom/package.nix @@ -0,0 +1,102 @@ +{ + lib, + stdenv, + fetchFromGitHub, + bzip2, + cmake, + gtk3, + libGL, + libvpx, + libwebp, + makeWrapper, + ninja, + openal, + pkg-config, + SDL2, + vulkan-loader, + zlib, + zmusic, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "uzdoom"; + version = "4.14.3"; + + src = fetchFromGitHub { + owner = "UZDoom"; + repo = "UZDoom"; + tag = finalAttrs.version; + hash = "sha256-vMynousxc2k7jSa6ScYNeZ9/ozRnDXTyKwgcYQcf87M="; + }; + + outputs = [ "out" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "doc" ]; + + nativeBuildInputs = [ + cmake + makeWrapper + ninja + pkg-config + ]; + + buildInputs = [ + bzip2 + gtk3 + libGL + libvpx + libwebp + openal + SDL2 + vulkan-loader + zlib + zmusic + ]; + + postPatch = '' + substituteInPlace tools/updaterevision/UpdateRevision.cmake \ + --replace-fail "unknown" "${finalAttrs.src.tag}" + ''; + + cmakeFlags = [ + (lib.cmakeBool "DYN_GTK" false) + (lib.cmakeBool "DYN_OPENAL" false) + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + (lib.cmakeFeature "OPENAL_INCLUDE_DIR" "${openal}/include/AL") + (lib.cmakeFeature "OPENAL_LIBRARY" "${openal}/lib/libopenal.dylib") + (lib.cmakeBool "HAVE_VULKAN" true) + (lib.cmakeBool "HAVE_GLES2" false) + ]; + + installPhase = lib.optionalString stdenv.hostPlatform.isDarwin '' + runHook preInstall + + mkdir -p "$out"/{Applications,bin} + mv uzdoom.app "$out/Applications/" + makeWrapper $out/Applications/uzdoom.app/Contents/MacOS/uzdoom $out/bin/uzdoom \ + --chdir $out/Applications/uzdoom.app/Contents/MacOS/ + + runHook postInstall + ''; + + postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + mv $out/bin/uzdoom $out/share/games/uzdoom/uzdoom + makeWrapper $out/share/games/uzdoom/uzdoom $out/bin/uzdoom \ + --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ vulkan-loader ]} + ''; + + meta = { + homepage = "https://github.com/UZDoom/UZDoom"; + description = "Modder-friendly OpenGL and Vulkan source port based on the DOOM engine"; + mainProgram = "uzdoom"; + longDescription = '' + UZDoom is a feature centric port for all Doom engine games, based on + GZDoom, adding an advanced renderer and powerful scripting capabilities + ''; + license = lib.licenses.gpl3Plus; + platforms = with lib.platforms; linux ++ darwin; + maintainers = with lib.maintainers; [ + Gliczy + keenanweaver + ]; + }; +})