summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-05-26 12:39:40 +0300
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-05-26 12:39:40 +0300
commit60849da99ace9040f454eb616488293a63f6b0ab (patch)
treee633696518e0f161d20f8ff65d63159d9d47f301
parent027259f359ac7cbbe46f4b645b0fbdb4065a6355 (diff)
downloadnixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.tar
nixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.tar.gz
nixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.tar.bz2
nixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.tar.lz
nixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.tar.xz
nixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.tar.zst
nixpkgs-60849da99ace9040f454eb616488293a63f6b0ab.zip
gnushogi: refactor, unbreak on darwin
-rw-r--r--pkgs/games/gnushogi/default.nix27
1 files changed, 18 insertions, 9 deletions
diff --git a/pkgs/games/gnushogi/default.nix b/pkgs/games/gnushogi/default.nix
index ee23585cf64..2557b0571ea 100644
--- a/pkgs/games/gnushogi/default.nix
+++ b/pkgs/games/gnushogi/default.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchurl, zlib }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnushogi";
   version = "1.4.2";
-  buildInputs = [ zlib ];
 
   src = fetchurl {
     url = "mirror://gnu/gnushogi/${pname}-${version}.tar.gz";
-    sha256 = "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y";
+    hash = "sha256-HsxIqGYwPGNlJVKzJdaF5+9emJMkQIApGmHZZQXVKyk=";
   };
 
-  env.LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-Wl,-z,muldefs";
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/g/gnushogi/1.4.2-7/debian/patches/01-make-dont-ignore";
+      hash = "sha256-Aw0zfH+wkj+rQQzKIn6bSilP76YIO27FwJ8n1UzG6ow=";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/g/gnushogi/1.4.2-7/debian/patches/globals";
+      hash = "sha256-wZJBPMYSz4n1kOyLmR9QOp70650R9xXQUWD5hvaMRok=";
+    })
+  ];
 
-  # Makefile ignores errors, so the build may silently succeed erroneously
-  postBuild = ''
-    test -e gnushogi/gnushogi || { echo "ERROR: no binary produced"; exit 1; }
-  '';
+  buildInputs = [ zlib ];
 
   meta = with lib; {
     description = "GNU implementation of Shogi, also known as Japanese Chess";
@@ -23,6 +33,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.ciil ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin; # darwin does not support -z muldefs
   };
 }