From 875bb6bcb98de45bcc54c50cf4428ca9e3b1f7b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Mon, 3 Sep 2018 15:47:04 +0200 Subject: [PATCH] vowpalwabbit: fix build against boost-python. Patch setup.py to look for libboost_python{Major}{Minor}. --- .../python-modules/vowpalwabbit/default.nix | 9 ++++++++- .../vowpalwabbit/vowpal-wabbit-find-boost.diff | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff diff --git a/pkgs/development/python-modules/vowpalwabbit/default.nix b/pkgs/development/python-modules/vowpalwabbit/default.nix index a8661fd3a98..6ee6e42e97d 100644 --- a/pkgs/development/python-modules/vowpalwabbit/default.nix +++ b/pkgs/development/python-modules/vowpalwabbit/default.nix @@ -9,13 +9,20 @@ buildPythonPackage rec { inherit pname version; sha256 = "0b517371fc64f1c728a0af42a31fa93def27306e9b4d25d6e5fd01bcff1b7304"; }; + + # Should be fixed in next Python release after 8.5.0: + # https://github.com/JohnLangford/vowpal_wabbit/pull/1533 + patches = [ + ./vowpal-wabbit-find-boost.diff + ]; + # vw tries to write some explicit things to home # python installed: The directory '/homeless-shelter/.cache/pip/http' preInstall = '' export HOME=$PWD ''; - buildInputs = [ boost.dev zlib.dev clang ncurses pytest docutils pygments ]; + buildInputs = [ python.pkgs.boost zlib.dev clang ncurses pytest docutils pygments ]; propagatedBuildInputs = [ numpy scipy scikitlearn ]; checkPhase = '' diff --git a/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff b/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff new file mode 100644 index 00000000000..0e7b13c0103 --- /dev/null +++ b/pkgs/development/python-modules/vowpalwabbit/vowpal-wabbit-find-boost.diff @@ -0,0 +1,16 @@ +--- 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 @@ + """Find correct boost-python library information """ + if system == 'Linux': + # 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: +- for candidate in ['-py36', '-py35', '-py34', '3']: +- boost_lib = 'boost_python{}'.format(candidate) +- if find_library(boost_lib): +- exit ++ 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':