Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 65 lines 2.0 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchzip, 5 requireFile, 6}: 7 8let 9 version = "1.32c"; 10in 11stdenv.mkDerivation (finalAttrs: { 12 pname = "quake3arenadata"; 13 inherit version; 14 15 src = requireFile rec { 16 name = "pak0.pk3"; 17 hash = "sha256-fOizkQYgzVCgnk8RAPQm6MYYD2iJXVifgOa9la9UvK4="; 18 message = '' 19 Quake 3 Arena requires the original ${name} file, from any legal source of the game. 20 21 This could be an old CD-ROM you have lying around or you can try to buy the game. 22 23 To my knowledge the Steam Quake-Collection-Package, is about the last legal way to get it. 24 25 Please note, there are plenty of versions of this file online like: 26 27 - https://github.com/nrempel/q3-server/raw/master/baseq3/pak0.pk3 28 - https://archive.org/details/quake-3-arena 29 30 However, none of these have the blessing of ID-Software and thus do not qualify. 31 32 Once you download a version or checked your old CD-ROM, locate the ${name} file 33 inside the baseq3 folder and then run the following command on it: 34 35 nix-prefetch-url file:///path/to/baseq3/${name} 36 ''; 37 }; 38 39 buildCommand = '' 40 mkdir -p $out/baseq3 41 echo 'wwwwwwwwwwwwwwww' > $out/baseq3/q3key 42 ln -s $src $out/baseq3/pak0.pk3 43 ''; 44 45 preferLocalBuild = true; 46 47 meta = { 48 description = "Quake 3 Arena content"; 49 longDescription = '' 50 Quake III Arena and it's demo don't offer current wide screen resolutions in the menu. 51 52 To switch to such a resolution, you will have to enter something like this in the quake console (invoke with ~ by default) 53 54 r_mode -1; r_customwidth 2560; r_customheight 1440; r_fullscreen 1; vid_restart 55 56 Or call the quake commandline with these parameters 57 58 $ quake3 +set r_mode -1 +set r_customwidth 2560 +set r_customheight 1440 +set r_fullscreen 1 59 ''; 60 homepage = "https://www.idsoftware.com/"; 61 license = lib.licenses.unfreeRedistributable; 62 platforms = lib.platforms.all; 63 maintainers = with lib.maintainers; [ abbradar ]; 64 }; 65})