summary refs log tree commit diff
path: root/pkgs/applications/science/logic/boolector
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-02-05 13:28:14 -0600
committerWill Dietz <w@wdtz.org>2018-02-13 09:44:32 -0600
commit46cbded0def3ad36b567bf2b81771196a9173dbc (patch)
tree75f27cd40973296bb36472d2996261bd3299f2f4 /pkgs/applications/science/logic/boolector
parent9138d055bfd0064c3cd7fb7458e104d5fde9ae4a (diff)
downloadnixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.tar
nixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.tar.gz
nixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.tar.bz2
nixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.tar.lz
nixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.tar.xz
nixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.tar.zst
nixpkgs-46cbded0def3ad36b567bf2b81771196a9173dbc.zip
boolector: patch usage of ar and ranlib for cross
eep.
Diffstat (limited to 'pkgs/applications/science/logic/boolector')
-rw-r--r--pkgs/applications/science/logic/boolector/default.nix20
1 files changed, 17 insertions, 3 deletions
diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix
index 9e40d0ce5f1..aa815e48db4 100644
--- a/pkgs/applications/science/logic/boolector/default.nix
+++ b/pkgs/applications/science/logic/boolector/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, writeShellScriptBin }:
 
 stdenv.mkDerivation rec {
   name    = "boolector-${version}";
@@ -8,8 +8,22 @@ stdenv.mkDerivation rec {
     sha256 = "0mdf7hwix237pvknvrpazcx6s3ininj5k7vhysqjqgxa7lxgq045";
   };
 
-  prePatch = ''
-    sed -i -e 's@mv lingeling\* lingeling@\0 \&\& sed -i -e "1i#include <stdint.h>" lingeling/lglib.h@' makefile
+  prePatch =
+    let
+      lingelingPatch = writeShellScriptBin "lingeling-patch" ''
+        sed -i -e "1i#include <stdint.h>" lingeling/lglib.h
+
+        ${crossFix}/bin/crossFix lingeling
+      '';
+      crossFix = writeShellScriptBin "crossFix" ''
+        # substituteInPlace not available here
+        sed -i $1/makefile.in \
+          -e 's@ar rc@$(AR) rc@' \
+          -e 's@ranlib@$(RANLIB)@'
+      '';
+    in ''
+    sed -i -e 's@mv lingeling\* lingeling@\0 \&\& ${lingelingPatch}/bin/lingeling-patch@' makefile
+    sed -i -e 's@mv boolector\* boolector@\0 \&\& ${crossFix}/bin/crossFix boolector@' makefile
   '';
 
   installPhase = ''