about summary refs log tree commit diff
path: root/pkgs/applications/science/misc/golly
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2021-12-06 16:27:09 +0100
committerMichael Raskin <7c6f434c@mail.ru>2021-12-06 16:27:09 +0100
commit65b2df8b45b04362670950d9ba838abfaf712e79 (patch)
treefc21d32365c3d004c20a23644bae6d8952f38cd7 /pkgs/applications/science/misc/golly
parent2c7ebb55243348df8646fcbb6a85eccef886fd7e (diff)
golly: 3.3 -> 4.1
Diffstat (limited to 'pkgs/applications/science/misc/golly')
-rw-r--r--pkgs/applications/science/misc/golly/default.nix42
1 files changed, 29 insertions, 13 deletions
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 724a1008c1fb7..7d91c76579f95 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,31 +1,47 @@
-{lib, stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU, libGL, libX11}:
+{lib, stdenv, fetchurl, wxGTK, perl, python3, zlib, libGLU, libGL, libX11, SDL2}:
 stdenv.mkDerivation rec {
   pname = "golly";
-  version = "3.3";
+  version = "4.1";
 
   src = fetchurl {
-    sha256 = "1j3ksnar4rdam4xiyspgyrs1pifbvxfxkrn65brkwxpx39mpgzc8";
+    sha256 = "1j30dpzy6wh8fv1j2750hzc6wb0nhk83knl9fapccxgxw9n5lrbc";
     url="mirror://sourceforge/project/golly/golly/golly-${version}/golly-${version}-src.tar.gz";
   };
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU libGL libX11
+    wxGTK perl python3 zlib libGLU libGL libX11 SDL2
   ];
 
   setSourceRoot = ''
-    sourceRoot=$(echo */gui-wx/configure)
+    sourceRoot=$(echo */gui-wx/)
+  '';
+
+  postPatch = ''
+    sed -e '/gollydir =/agollydir += "/../share/golly/";' -i wxgolly.cpp
+    grep share/golly wxgolly.cpp
+
+    sed -e 's@PYTHON_SHLIB@${python3}/lib/libpython3.so@' -i wxprefs.cpp
+    sed -e 's@PERL_SHLIB@'"$(find "${perl}/lib/" -name libperl.so)"'@' -i wxprefs.cpp
+    ! grep _SHLIB *.cpp
+
+    grep /lib/libpython wxprefs.cpp
+    grep /libperl wxprefs.cpp
   '';
 
-  # Link against Python explicitly as it is needed for scripts
   makeFlags=[
-    "AM_LDFLAGS="
+    "-f" "makefile-gtk"
+    "ENABLE_SOUND=1" "ENABLE_PERL=1"
   ];
-  NIX_LDFLAGS="-l${python2.libPrefix} -lperl";
-  preConfigure=''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -L$(dirname "$(find ${perl} -name libperl.so)")"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
-      -DPYTHON_SHLIB=$(basename "$(
-        readlink -f ${python2}/lib/libpython*.so)")"
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp ../golly ../bgolly "$out/bin"
+
+    mkdir -p "$out/share/doc/golly/"
+    cp ../docs/*  "$out/share/doc/golly/"
+
+    mkdir -p "$out/share/golly"
+    cp -r ../{Help,Patterns,Scripts,Rules} "$out/share/golly"
   '';
 
   meta = {