boost: add numpy support

Not built by default.

Also add enablePython flag (enabled by default) and cleanup a bit.
This commit is contained in:
Nikolay Amiantov 2017-09-23 09:54:46 +03:00
parent e2a7f508fc
commit b1e499788c
2 changed files with 15 additions and 6 deletions

View File

@ -9,6 +9,8 @@
, enableStatic ? !enableShared
, enablePIC ? false
, enableExceptions ? false
, enablePython ? hostPlatform == buildPlatform
, enableNumpy ? false, numpy ? null
, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
, patches ? null
, mpi ? null
@ -21,6 +23,9 @@
# We must build at least one type of libraries
assert !enableShared -> enableStatic;
assert enablePython -> hostPlatform == buildPlatform;
assert enableNumpy -> enablePython;
with stdenv.lib;
let
@ -62,7 +67,8 @@ let
] ++ optional (link != "static") "runtime-link=${runtime-link}" ++ [
"link=${link}"
"${cflags}"
] ++ optional (variant == "release") "debug-symbols=off";
] ++ optional (variant == "release") "debug-symbols=off"
++ optional (!enablePython) "--without-python";
nativeB2Flags = [
"-sEXPAT_INCLUDE=${expat.dev}/include"
@ -76,7 +82,6 @@ let
"-sEXPAT_LIBPATH=${expat.crossDrv}/lib"
"--user-config=user-config.jam"
"toolset=gcc-cross"
"--without-python"
] ++ optionals (hostPlatform.libc == "msvcrt") [
"target-os=windows"
"threadapi=win32"
@ -148,8 +153,10 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
buildInputs = [ expat zlib bzip2 libiconv ]
++ stdenv.lib.optionals (hostPlatform == buildPlatform) [ python icu ]
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
++ optional (hostPlatform == buildPlatform) icu
++ optional stdenv.isDarwin fixDarwinDylibNames
++ optional enablePython python
++ optional enableNumpy numpy;
configureScript = "./bootstrap.sh";
configureFlags = commonConfigureFlags

View File

@ -1476,7 +1476,10 @@ in {
# Build boost for this specific Python version
# TODO: use separate output for libboost_python.so
boost = pkgs.boost.override {inherit python;};
boost = pkgs.boost.override {
inherit (self) python numpy;
enablePython = true;
};
buttersink = buildPythonPackage rec {
name = "buttersink-0.6.8";
@ -1531,7 +1534,6 @@ in {
python = self.python;
boost = self.boost;
numpy = self.numpy;
pythonSupport = true;
};
capstone = buildPythonPackage rec {