ioquake3: cleanup
- Fix `ioquake3` - Remove the arch suffix from the binaries (`ioquake3.x86-64` -> `ioquake3`, `ioq3ded.x86-64` -> `ioq3ded`) - Add `.desktop` file - Remove unneeded dependencies - Clean-up installation phase - Add `meta.mainProgram` attribute - Add myself in the maintainer list
This commit is contained in:
parent
ea322c2662
commit
dbcc734bbd
1 changed files with 39 additions and 19 deletions
|
@ -1,47 +1,52 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, which
|
||||
, pkg-config
|
||||
, which
|
||||
, copyDesktopItems
|
||||
, makeBinaryWrapper
|
||||
, SDL2
|
||||
, libGL
|
||||
, openalSoft
|
||||
, openal
|
||||
, curl
|
||||
, speex
|
||||
, opusfile
|
||||
, libogg
|
||||
, libvorbis
|
||||
, libopus
|
||||
, libjpeg
|
||||
, mumble
|
||||
, makeDesktopItem
|
||||
, freetype
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "ioquake3";
|
||||
version = "unstable-2022-11-24";
|
||||
version = "unstable-2023-08-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ioquake";
|
||||
repo = "ioq3";
|
||||
rev = "70d07d91d62dcdd2f2268d1ac401bfb697b4c991";
|
||||
sha256 = "sha256-WDjR0ik+xAs6OA1DNbUGIF1MXSuEoy8nNkPiHaegfF0=";
|
||||
rev = "ee950eb7b0e41437cc23a9943254c958da8a61ab";
|
||||
sha256 = "sha256-NfhInwrtw85i2mnv7EtBrrpNaslaQaVhLNlK0I9aYto=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeBinaryWrapper
|
||||
pkg-config
|
||||
which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
libGL
|
||||
openalSoft
|
||||
openal
|
||||
curl
|
||||
speex
|
||||
opusfile
|
||||
libogg
|
||||
libvorbis
|
||||
libopus
|
||||
libjpeg
|
||||
freetype
|
||||
mumble
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -50,17 +55,32 @@ stdenv.mkDerivation {
|
|||
|
||||
installTargets = [ "copyfiles" ];
|
||||
|
||||
installFlags = [ "COPYDIR=$(out)" "COPYBINDIR=$(out)/bin" ];
|
||||
installFlags = [ "COPYDIR=$(out)/share/ioquake3" ];
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out/baseq3 $out/bin
|
||||
postInstall = ''
|
||||
install -Dm644 misc/quake3.svg $out/share/icons/hicolor/scalable/apps/ioquake3.svg
|
||||
|
||||
makeWrapper $out/share/ioquake3/ioquake3.* $out/bin/ioquake3
|
||||
makeWrapper $out/share/ioquake3/ioq3ded.* $out/bin/ioq3ded
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "IOQuake3";
|
||||
exec = "ioquake3";
|
||||
icon = "ioquake3";
|
||||
comment = "A fast-paced 3D first-person shooter, a community effort to continue supporting/developing id's Quake III Arena";
|
||||
desktopName = "ioquake3";
|
||||
categories = [ "Game" "ActionGame" ];
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://ioquake3.org/";
|
||||
description = "First person shooter engine based on the Quake 3: Arena and Quake 3: Team Arena";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ rvolosatovs eelco abbradar ];
|
||||
description = "A fast-paced 3D first-person shooter, a community effort to continue supporting/developing id's Quake III Arena";
|
||||
license = lib.licenses.gpl2Only;
|
||||
mainProgram = "ioquake3";
|
||||
maintainers = with lib.maintainers; [ abbradar drupol eelco rvolosatovs ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue