Merge pull request #63827 from acairncross/fix-monosat

monosat: Fix Linux build
This commit is contained in:
worldofpeace 2019-10-15 20:55:28 +00:00 committed by GitHub
commit 4bcef38f24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 10 deletions

View File

@ -137,6 +137,11 @@
githubId = 2321000;
name = "Ruslan Babayev";
};
acairncross = {
email = "acairncross@gmail.com";
github = "acairncross";
name = "Aiken Cairncross";
};
acowley = {
email = "acowley@gmail.com";
github = "acowley";

View File

@ -8,11 +8,11 @@ with stdenv.lib;
let
boolToCmake = x: if x then "ON" else "OFF";
rev = "2deeadeff214e975c9f7508bc8a24fa05a1a0c32";
sha256 = "09yhym2lxmn3xbhw5fcxawnmvms5jd9fw9m7x2wzil7yvy4vwdjn";
rev = "1.8.0";
sha256 = "0q3a8x3iih25xkp2bm842sm2hxlb8hxlls4qmvj7vzwrh4lvsl7b";
pname = "monosat";
version = substring 0 7 sha256;
version = rev;
src = fetchFromGitHub {
owner = "sambayless";
@ -25,7 +25,11 @@ let
inherit src;
buildInputs = [ cmake zlib gmp jdk8 ];
cmakeFlags = [ "-DJAVA=${boolToCmake includeJava}" "-DGPL=${boolToCmake includeGplCode}" ];
cmakeFlags = [
"-DBUILD_STATIC=OFF"
"-DJAVA=${boolToCmake includeJava}"
"-DGPL=${boolToCmake includeGplCode}"
];
postInstall = optionalString includeJava ''
mkdir -p $out/share/java
@ -39,7 +43,7 @@ let
platforms = platforms.unix;
license = if includeGplCode then licenses.gpl2 else licenses.mit;
homepage = https://github.com/sambayless/monosat;
broken = true;
maintainers = [ maintainers.acairncross ];
};
};
@ -51,18 +55,15 @@ let
propagatedBuildInputs = [ core cython ];
# This tells setup.py to use cython
# This tells setup.py to use cython, which should produce faster bindings
MONOSAT_CYTHON = true;
# The relative paths here don't make sense for our Nix build
# Also, let's use cython since it should produce faster bindings
# TODO: do we want to just reference the core monosat library rather than copying the
# shared lib? The current setup.py copies the .dylib/.so...
postPatch = ''
substituteInPlace setup.py \
--replace '../../../../libmonosat.dylib' '${core}/lib/libmonosat.dylib' \
--replace '../../../../libmonosat.so' '${core}/lib/libmonosat.so'
--replace 'library_dir = "../../../../"' 'library_dir = "${core}/lib/"'
'';
};
in core