nixpkgs/pkgs/games/scid-vs-pc/default.nix

82 lines
2.1 KiB
Nix
Raw Normal View History

{ lib, fetchurl, tcl, tk, libX11, zlib, makeWrapper, makeDesktopItem }:
tcl.mkTclDerivation rec {
pname = "scid-vs-pc";
2021-08-28 01:15:09 +01:00
version = "4.22";
src = fetchurl {
2019-01-11 10:48:41 +00:00
url = "mirror://sourceforge/scidvspc/scid_vs_pc-${version}.tgz";
2021-08-28 01:15:09 +01:00
sha256 = "sha256-PSHDPrfhJI/DyEVQLo8Ckargqf/iUG5PgvUbO/4WNJM=";
};
2019-01-11 10:48:41 +00:00
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ tk libX11 zlib ];
prePatch = ''
sed -i -e '/^ *set headerPath *{/a ${tcl}/include ${tk}/include' \
-e '/^ *set libraryPath *{/a ${tcl}/lib ${tk}/lib' \
-e '/^ *set x11Path *{/a ${libX11}/lib/' \
configure
sed -i -e '/^ *set scidShareDir/s|\[file.*|"'"$out/share"'"|' \
tcl/config.tcl
'';
# configureFlags = [
# "BINDIR=$(out)/bin"
# "SHAREDIR=$(out)/share"
# "FONTDIR=$(out)/fonts"
# ];
preConfigure = ''configureFlags="
BINDIR=$out/bin
SHAREDIR=$out/share
FONTDIR=$out/fonts"
'';
patches = [
./0001-put-fonts-in-out.patch
];
hardeningDisable = [ "format" ];
dontPatchShebangs = true;
2021-06-17 19:43:01 +01:00
# TODO: can this use tclWrapperArgs?
postFixup = ''
2019-01-11 10:48:41 +00:00
sed -i -e '1c#!'"$out"'/bin/tcscid' "$out/bin/scidpgn"
sed -i -e '1c#!${tk}/bin/wish' "$out/bin/sc_remote"
sed -i -e '1c#!'"$out"'/bin/tkscid' "$out/bin/scid"
2019-01-11 10:48:41 +00:00
for cmd in $out/bin/* ; do
wrapProgram "$cmd" \
--set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
done
'';
2019-01-11 10:48:41 +00:00
postInstall = ''
mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications/
install -D icons/scid.png "$out"/share/icons/hicolor/128x128/apps/scid.png
'';
desktopItem = makeDesktopItem {
name = "scid-vs-pc";
desktopName = "Scid vs. PC";
genericName = "Chess Database";
comment = meta.description;
icon = "scid";
exec = "scid";
categories = "Game;BoardGame;";
};
meta = with lib; {
description = "Chess database with play and training functionality";
homepage = "http://scidvspc.sourceforge.net/";
2021-01-15 04:31:39 +00:00
license = lib.licenses.gpl2;
maintainers = [ maintainers.paraseba ];
2021-01-15 04:31:39 +00:00
platforms = lib.platforms.linux;
};
}