diff --git a/pkgs/by-name/et/ete-unwrapped/package.nix b/pkgs/by-name/et/ete-unwrapped/package.nix new file mode 100644 index 000000000000..eaa19f97dabd --- /dev/null +++ b/pkgs/by-name/et/ete-unwrapped/package.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cjson, + cmake, + curl, + freetype, + glew, + libjpeg, + libogg, + libpng, + libtheora, + libX11, + lua5_4, + minizip, + openal, + SDL2, + sqlite, + zlib, +}: +let + arch = if stdenv.hostPlatform.isi686 then "x86" else "x86_64"; +in +stdenv.mkDerivation (finalAttrs: { + pname = "ete-unwrapped"; + version = "0-unstable-2025-08-17"; + + src = fetchFromGitHub { + owner = "etfdevs"; + repo = "ETe"; + rev = "f6a9fda3b82c1ca8fd4536ae928571e93ff91fcc"; + hash = "sha256-oTFtUAgkDYtbcw66EFBBFMMUEYWSHYpTAFAv1izqsuo="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + cjson + curl + freetype + glew + libjpeg + libogg + libpng + libtheora + libX11 + lua5_4 + minizip + openal + SDL2 + sqlite + zlib + ]; + + cmakeDir = "../src"; + cmakeFlags = [ + (lib.cmakeBool "CROSS_COMPILE32" false) + (lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release") + (lib.cmakeBool "BUILD_DEDSERVER" true) + (lib.cmakeBool "BUILD_CLIENT" true) + (lib.cmakeBool "BUILD_ETMAIN_MOD" true) + (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/lib/ete") + ]; + + postInstall = '' + mkdir -p $out/bin + for f in ete-ded.${arch} ete.${arch}; do + mv $out/lib/ete/''${f} $out/bin/''${f} + done + ''; + + meta = { + description = "Improved Wolfenstein: Enemy Territory Engine"; + homepage = "https://github.com/etfdevs/ETe"; + license = with lib.licenses; [ gpl3Plus ]; + maintainers = with lib.maintainers; [ + ashleyghooper + drupol + ]; + }; +}) diff --git a/pkgs/by-name/et/ete/package.nix b/pkgs/by-name/et/ete/package.nix new file mode 100644 index 000000000000..850b8f115503 --- /dev/null +++ b/pkgs/by-name/et/ete/package.nix @@ -0,0 +1,48 @@ +{ + lib, + stdenv, + symlinkJoin, + etlegacy-assets, + ete-unwrapped, + makeBinaryWrapper, +}: + +symlinkJoin { + pname = "ete"; + version = ete-unwrapped.version; + + paths = [ + (etlegacy-assets.overrideAttrs (prev: { + postInstall = (prev.postInstall or "") + '' + mv $out/lib/etlegacy $out/lib/ete + ''; + })) + ete-unwrapped + ]; + + nativeBuildInputs = [ + makeBinaryWrapper + ]; + + postBuild = '' + wrapProgram $out/bin/ete.* \ + --add-flags "+set fs_basepath ${placeholder "out"}/lib/ete" + wrapProgram $out/bin/ete-ded.* \ + --add-flags "+set fs_basepath ${placeholder "out"}/lib/ete" + ''; + + meta = { + description = "Improved Wolfenstein: Enemy Territory Engine"; + homepage = "https://github.com/etfdevs/ETe"; + license = with lib.licenses; [ + gpl3Plus + cc-by-nc-sa-30 + ]; + mainProgram = "ete." + (if stdenv.hostPlatform.isi686 then "x86" else "x86_64"); + maintainers = with lib.maintainers; [ + ashleyghooper + drupol + ]; + platforms = lib.platforms.linux; + }; +}