Code change:
<ins> { stdenv, lib, makeWrapper, writeScriptBin, fetchFromGitHub, fetchurl, runCommand, cmake, git, glew, SDL2, zlib, minizip, libjpeg, curl, lua, libogg, libtheora, freetype, libpng, sqlite, openal, unzip, cjson, }: let version = "2.81.1"; pkgname = "etlegacy"; mirror = "https://mirror.etlegacy.com"; fetchAsset = { asset, sha256, }: fetchurl { url = mirror + "/etmain/" + asset; inherit sha256; }; pak0 = fetchAsset { asset = "pak0.pk3"; sha256 = "712966b20e06523fe81419516500e499c86b2b4fec823856ddbd333fcb3d26e5"; }; pak1 = fetchAsset { asset = "pak1.pk3"; sha256 = "5610fd749024405b4425a7ce6397e58187b941d22092ef11d4844b427df53e5d"; }; pak2 = fetchAsset { asset = "pak2.pk3"; sha256 = "a48ab749a1a12ab4d9137286b1f23d642c29da59845b2bafc8f64e052cf06f3e"; }; fakeGit = writeScriptBin "git" '' #! ${stdenv.shell} -e if [ "$1" = "describe" ]; then echo "${version}" fi ''; mainProgram = if stdenv.hostPlatform.system == "i686-linux" then "etl.i386" else "etl.x86_64"; in stdenv.mkDerivation rec { pname = pkgname; inherit version; src = fetchFromGitHub { owner = "etlegacy"; repo = "etlegacy"; rev = "refs/tags/v" + version; sha256 = "sha256-CGXtc51vaId/SHbD34ZeT0gPsrl7p2DEw/Kp+GBZIaA="; # 2.81.1 }; nativeBuildInputs = [cmake fakeGit git makeWrapper unzip cjson]; buildInputs = [ glew SDL2 zlib minizip libjpeg curl lua libogg libtheora freetype libpng sqlite openal ]; preBuild = '' # Required for build time to not be in 1980 export SOURCE_DATE_EPOCH=$(date +%s) # This indicates the build was by a CI pipeline and prevents the resource # files from being flagged as 'dirty' due to potentially being custom built. export CI="true" ''; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DCROSS_COMPILE32=0" "-DBUILD_SERVER=0" "-DBUILD_CLIENT=1" "-DBUNDLED_JPEG=0" "-DBUNDLED_LIBS=0" "-DINSTALL_EXTRA=0" "-DINSTALL_OMNIBOT=0" "-DINSTALL_GEOIP=0" "-DINSTALL_WOLFADMIN=0" "-DFEATURE_AUTOUPDATE=0" "-DINSTALL_DEFAULT_BASEDIR=." "-DINSTALL_DEFAULT_BINDIR=." "-DINSTALL_DEFAULT_MODDIR=." ]; postInstall = '' ETMAIN=$out/etmain mkdir -p $ETMAIN ln -s ${pak0} $ETMAIN/pak0.pk3 ln -s ${pak1} $ETMAIN/pak1.pk3 ln -s ${pak2} $ETMAIN/pak2.pk3 makeWrapper $out/${mainProgram} $out/bin/${mainProgram} --chdir $out ''; meta = with lib; { description = "ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license"; homepage = "https://etlegacy.com"; platforms = ["i686-linux" "x86_64-linux"]; license = [licenses.gpl3 licenses.cc-by-nc-sa-30]; inherit mainProgram; maintainers = with maintainers; [ashleyghooper]; }; } </ins>

Related discussion:
text: Project description ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license. Metadata homepage URL: source URL: license: gpl3 platforms: unix, linux, darwin
I got a derivation to work: This is for the 32-bit build, client only. Run and use the binary. Planning to properly package it and contribute to nixpkgs, but since it's my first package it'll require some more time. Also planning to get the server and omnibot working.
I marked this as stale due to inactivity. &rarr;
Still interested.
My version of derivation gist doesn't seem to work now that I've upgraded to NixOS 22.05. Haven't had time to investigate too much yet. Whether I try to join an online game server or host a game, I get the below error:
This adaptation of gist is working for me. It's currently for the 32-bit Linux version only, so produces a package . There is an option to use the mod libs built by the ET Legacy project (CI pipeline) or compile them locally.
Hi guys Based on gist I did compiled using NixOS VM Machine it runs fine but there a small quirks there Date is not set correctly it is set to beginning of the time :D Also does ignores manually set env variables ?
Added those 2 in etlegacy*.nix files ` Those 2 should fix issue with correct compile date and naming scheme to build non package But it does not Am I doing something wrong ? :D
Package created and pull request created. Just waiting on PR to be approved so the package can be to nixpkgs.
Is it normal I cannot find the package in the unstable channel?
I think there may be some delay as it migrates to the unstable channel, and then into 23.05.
it seems to be in unstable now.