summary refs log tree commit diff
path: root/pkgs/games/scid-vs-pc
diff options
context:
space:
mode:
authorSebastian Galkin <paraseba@gmail.com>2018-01-12 14:41:20 -0200
committerSebastian Galkin <paraseba@gmail.com>2018-01-12 14:41:20 -0200
commitdc7091f41ca19b624d2a39620fd54171d2962563 (patch)
tree06d85ff72bfa729803631c4c5d2da2d427c034d1 /pkgs/games/scid-vs-pc
parent6b6e95ae1f8a80aa042e8cac8481a7ed5404ca90 (diff)
downloadnixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.tar
nixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.tar.gz
nixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.tar.bz2
nixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.tar.lz
nixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.tar.xz
nixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.tar.zst
nixpkgs-dc7091f41ca19b624d2a39620fd54171d2962563.zip
scid-vs-pc: init at version 4.18.1
scid vs pc is a chess database and playing program, a more maintained fork of
scid. scid was already packaged so this change adds a very similar expression.

Currently scid and scid-vs-pc collide since they install the same binaries.
Diffstat (limited to 'pkgs/games/scid-vs-pc')
-rw-r--r--pkgs/games/scid-vs-pc/0001-put-fonts-in-out.patch77
-rw-r--r--pkgs/games/scid-vs-pc/default.nix70
2 files changed, 147 insertions, 0 deletions
diff --git a/pkgs/games/scid-vs-pc/0001-put-fonts-in-out.patch b/pkgs/games/scid-vs-pc/0001-put-fonts-in-out.patch
new file mode 100644
index 00000000000..63f31d7ef9e
--- /dev/null
+++ b/pkgs/games/scid-vs-pc/0001-put-fonts-in-out.patch
@@ -0,0 +1,77 @@
+From 7e99cf4ae3f38406133a4abf962527cd02416f8e Mon Sep 17 00:00:00 2001
+From: Sebastian Galkin <paraseba@gmail.com>
+Date: Wed, 20 Dec 2017 18:23:03 -0200
+Subject: [PATCH] put fonts in $out
+
+---
+ Makefile.conf | 22 ++++------------------
+ configure     | 12 ------------
+ 2 files changed, 4 insertions(+), 30 deletions(-)
+
+diff --git a/Makefile.conf b/Makefile.conf
+index e7f8de9..87f3fff 100644
+--- a/Makefile.conf
++++ b/Makefile.conf
+@@ -226,19 +226,11 @@ install_scid: all_scid
+ 	fi
+ 	install -m 755 -d $(SHAREDIR)/bitmaps
+ 	cp -r ./bitmaps/* $(SHAREDIR)/bitmaps/
+-	@if [ "`id -u`" -eq 0 ]; then \
+-		install -m 755 -d $(FONTDIR); \
+-		install -m 644 -p fonts/*.ttf $(FONTDIR); \
+-	else \
+-		install -m 755 -d ~/.fonts; \
+-		install -m 644 -p fonts/*.ttf ~/.fonts; \
+-	fi
++	install -m 755 -d $(FONTDIR); \
++	install -m 644 -p fonts/*.ttf $(FONTDIR); \
++
+ 	@if [ ! -z "`which fc-cache`" ]; then \
+-		if [ "`id -u`" -eq 0 ]; then \
+- 			fc-cache -fv $(FONTDIR); \
+-		else \
+-			fc-cache -fv ~/.fonts; \
+-		fi; \
++ 		fc-cache -fv $(FONTDIR); \
+ 	else \
+ 		echo "Don't know how to setup truetype fonts (fc-cache not available)."; \
+ 		echo "Please contact your system administrator."; \
+@@ -292,12 +284,6 @@ uninstall:
+ 		for f in `ls fonts/*.ttf`; do \
+ 			rm -f ~/.$$f; \
+ 		done; \
+-		if [ ! -z "`which fc-cache`" ]; then \
+-			fc-cache -fv ~/.fonts; \
+-		fi; \
+-		if [ "`find ~/.fonts -type d -empty`" = "`ls -d ~/.fonts`" ]; then \
+-			rmdir ~/.fonts; \
+-		fi; \
+ 	fi
+ 
+ clean:
+diff --git a/configure b/configure
+index 4599c77..8b09678 100755
+--- a/configure
++++ b/configure
+@@ -473,18 +473,6 @@ proc writeMakefile {{type ""}} {
+        exit 1
+     }
+ 
+-    if {[isDarwin]} {
+-        set var(FONTDIR) /Library/Fonts/
+-    } else {
+-        # Just install fonts in to /usr irrespective of system prefix. /usr/local may not be active
+-        set prefix /usr
+-        if {![file isdirectory $prefix/share/fonts]} {
+-            set var(FONTDIR) "~/.fonts"
+-        } else {
+-            set var(FONTDIR) $prefix/share/fonts/truetype/Scid
+-        }
+-    }
+-
+     set line [gets $from]
+     while {1} {
+         set line [gets $from]
+-- 
+2.15.1
+
diff --git a/pkgs/games/scid-vs-pc/default.nix b/pkgs/games/scid-vs-pc/default.nix
new file mode 100644
index 00000000000..60fa7bf5621
--- /dev/null
+++ b/pkgs/games/scid-vs-pc/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, tcl, tk, libX11, zlib, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "scid-vs-pc-${version}";
+  version = "4.18.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/scidvspc/scid_vs_pc-4.18.1.tgz";
+    sha256 = "01nd88g3wh3avz1yk9fka9zf20ij8dlnpwzz8gnx78i5b06cp459";
+  };
+
+  buildInputs = [ tcl tk libX11 zlib makeWrapper ];
+
+  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;
+
+  postFixup = ''
+    for cmd in sc_addmove sc_eco sc_epgn scidpgn \
+               sc_import sc_spell sc_tree spliteco
+    do
+      sed -i -e '1c#!'"$out"'/bin/tcscid' "$out/bin/$cmd"
+    done
+
+    sed -i -e '1c#!${tk}/bin/wish' "$out/bin/sc_remote"
+    sed -i -e '1c#!'"$out"'/bin/tkscid' "$out/bin/scid"
+
+    for cmd in $out/bin/*
+    do
+      wrapProgram "$cmd" \
+        --set TCLLIBPATH "${tcl}/${tcl.libdir}" \
+        --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
+    done
+  '';
+
+
+  meta = with stdenv.lib; {
+    description = "Chess database with play and training functionality";
+    homepage = http://scidvspc.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ maintainers.paraseba ];
+  };
+}
+