summary refs log tree commit diff
path: root/pkgs/development/python-modules/vowpalwabbit
diff options
context:
space:
mode:
authorDaniël de Kok <me@danieldk.eu>2018-09-03 21:48:13 +0200
committerDaniël de Kok <me@danieldk.eu>2018-09-03 21:48:13 +0200
commitfe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700 (patch)
treee7ac56818155225ae01710d894d206fa5b6b0fce /pkgs/development/python-modules/vowpalwabbit
parent875bb6bcb98de45bcc54c50cf4428ca9e3b1f7b5 (diff)
downloadnixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.tar
nixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.tar.gz
nixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.tar.bz2
nixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.tar.lz
nixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.tar.xz
nixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.tar.zst
nixpkgs-fe7e89ba3b57b6d3a75fd0b7d08f13ba98f79700.zip
vowpal-wabbit: fix Darwin build.
- Follow the same logic for finding boost-python as for Linux.
- Set DYLD_LIBRARY_PATH so that ctypes find_library can find
  boost-python.
- Do not use '-mt' suffix when linking against boost-serialization
  and boost-program_options on Darwin.
Diffstat (limited to 'pkgs/development/python-modules/vowpalwabbit')
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/default.nix9
-rw-r--r--pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff28
2 files changed, 30 insertions, 7 deletions
diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix
index 6ee6e42e97d..6530ce28a9e 100644
--- a/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -1,5 +1,5 @@
-{ lib, buildPythonPackage, fetchPypi, python, boost, zlib, clang, ncurses
-, pytest, docutils, pygments, numpy, scipy, scikitlearn }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, python, boost, zlib, clang
+, ncurses, pytest, docutils, pygments, numpy, scipy, scikitlearn }:
 
 buildPythonPackage rec {
   pname = "vowpalwabbit";
@@ -25,6 +25,11 @@ buildPythonPackage rec {
   buildInputs = [ python.pkgs.boost zlib.dev clang ncurses pytest docutils pygments ];
   propagatedBuildInputs = [ numpy scipy scikitlearn ];
 
+  # Python ctypes.find_library uses DYLD_LIBRARY_PATH.
+  preConfigure = lib.optionalString stdenv.isDarwin ''
+    export DYLD_LIBRARY_PATH="${python.pkgs.boost}/lib"
+  '';
+
   checkPhase = ''
     # check-manifest requires a git clone, not a tarball
     # check-manifest --ignore "Makefile,PACKAGE.rst,*.cc,tox.ini,tests*,examples*,src*"
diff --git a/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff b/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff
index 0e7b13c0103..645956594bf 100644
--- a/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff
+++ b/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff
@@ -1,8 +1,11 @@
---- vowpalwabbit-8.5.0.orig/setup.py	2018-09-03 14:27:22.833621339 +0200
-+++ vowpalwabbit-8.5.0/setup.py	2018-09-03 14:37:18.076127914 +0200
-@@ -25,12 +25,7 @@
+--- vowpalwabbit-8.5.0.orig/setup.py	2018-09-03 20:32:39.000000000 +0200
++++ vowpalwabbit-8.5.0/setup.py	2018-09-03 20:34:09.000000000 +0200
+@@ -23,18 +23,11 @@
+ 
+ def find_boost():
      """Find correct boost-python library information """
-     if system == 'Linux':
+-    if system == 'Linux':
++    if system == 'Linux' or system == 'Darwin':
          # use version suffix if present
 -        boost_lib = 'boost_python-py{v[0]}{v[1]}'.format(v=sys.version_info)
 -        if sys.version_info.major == 3:
@@ -13,4 +16,19 @@
 +        boost_lib = 'boost_python{v[0]}{v[1]}'.format(v=sys.version_info)
          if not find_library(boost_lib):
              boost_lib = "boost_python"
-     elif system == 'Darwin':
+-    elif system == 'Darwin':
+-        boost_lib = 'boost_python-mt' if sys.version_info[0] == 2 else 'boost_python3-mt'
+     elif system == 'Cygwin':
+         boost_lib = 'boost_python-mt' if sys.version_info[0] == 2 else 'boost_python3-mt'
+     else:
+--- vowpalwabbit-8.5.0.orig/src/Makefile	2018-09-03 20:32:40.000000000 +0200
++++ vowpalwabbit-8.5.0/src/Makefile	2018-09-03 21:42:30.000000000 +0200
+@@ -37,7 +37,7 @@
+   NPROCS:=$(shell grep -c ^processor /proc/cpuinfo)
+ endif
+ ifeq ($(UNAME), Darwin)
+-  LIBS = -lboost_program_options-mt -lboost_serialization-mt -l pthread -l z
++  LIBS = -lboost_program_options -lboost_serialization -l pthread -l z
+   # On Macs, the location isn't always clear
+   #	brew uses /usr/local
+   #	but /opt/local seems to be preferred by some users