ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
78 lines
2.2 KiB
Nix
78 lines
2.2 KiB
Nix
{ stdenv
|
|
, lib
|
|
, fetchurl
|
|
, fetchzip
|
|
, copyDesktopItems
|
|
, gccmakedep
|
|
, imake
|
|
, installShellFiles
|
|
, libX11
|
|
, libXext
|
|
, makeDesktopItem
|
|
}:
|
|
|
|
let
|
|
debian-extras = fetchzip {
|
|
url = "mirror://debian/pool/main/k/koules/koules_1.4-27.debian.tar.xz";
|
|
hash = "sha256-g0Z6C1YSZL6N2eYUuZgXkPDoOLc4e9jAFL3ivk3OAS8=";
|
|
};
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "koules";
|
|
version = "1.4";
|
|
|
|
src = fetchurl {
|
|
url = "https://www.ucw.cz/~hubicka/koules/packages/${pname}${version}-src.tar.gz";
|
|
hash = "sha256-w2+T/q/uvVmYO/RBACQOZ6hKi6yr1+5SjJMEbe/kohs=";
|
|
};
|
|
|
|
nativeBuildInputs = [ imake gccmakedep installShellFiles copyDesktopItems ];
|
|
buildInputs = [ libX11 libXext ];
|
|
|
|
# Debian maintains lots of patches for koules. Let's include all of them.
|
|
prePatch = ''
|
|
patches="$patches $(cat ${debian-extras}/patches/series | sed 's|^|${debian-extras}/patches/|')"
|
|
'';
|
|
|
|
postPatch = ''
|
|
# We do not want to depend on that particular font to be available in the
|
|
# xserver, hence substitute it by a font which is always available
|
|
sed -ie 's:-schumacher-clean-bold-r-normal--8-80-75-75-c-80-\*iso\*:fixed:' xlib/init.c
|
|
'';
|
|
|
|
preBuild = ''
|
|
cp xkoules.6 xkoules.man # else "make" will not succeed
|
|
sed -ie "s:^SOUNDDIR\s*=.*:SOUNDDIR=$out/lib:" Makefile
|
|
sed -ie "s:^KOULESDIR\s*=.*:KOULESDIR=$out:" Makefile
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
install -Dm755 xkoules $out/bin/xkoules
|
|
install -Dm755 koules.sndsrv.linux $out/lib/koules.sndsrv.linux
|
|
install -m644 sounds/* $out/lib/
|
|
install -Dm644 Koules.xpm $out/share/pixmaps/koules.xpm
|
|
installManPage xkoules.6
|
|
runHook postInstall
|
|
'';
|
|
|
|
desktopItems = [
|
|
(makeDesktopItem {
|
|
desktopName = "Koules";
|
|
name = "koules";
|
|
exec = "xkoules";
|
|
icon = "koules";
|
|
comment = "Push your enemies away, but stay away from obstacles";
|
|
categories = [ "Game" "ArcadeGame" ];
|
|
})
|
|
];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://www.ucw.cz/~hubicka/koules/English/";
|
|
description = "Fast arcade game based on the fundamental law of body attraction";
|
|
mainProgram = "xkoules";
|
|
license = licenses.gpl2Plus;
|
|
maintainers = [ maintainers.iblech ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|