graph-tool: 2.16 -> 2.26

- add ncurses: configure links against ncurses and fails otherwise
    configure: error: Could not link test program to Python.
    https://travis-ci.org/NixOS/nixpkgs/builds/48759067
    The given hint (Maybe the main Python library has been installed
    in some non-standard library path) is misleading.
    The config.log reveals that the failure is due to missing ncurses link option
- with-boost-libdir is need to find Boost::IOStreams/regex/etc.
- expat/cgal are detected in /usr/lib when not specified explicitly
- boost > boost159 is needed to have -lboost_python3 (and -lboost_python)

- set pythonModule = Python;
  => inorder to be used in python.buildEnv { extraLibs = [..]; }

tested on MacOSX and in a linux Docker container with:
> nix-shell -I nixpkgs=. -p python2.pkgs.graph-tool
> nix-shell -I nixpkgs=. -p python3.pkgs.graph-tool
This commit is contained in:
Alain Lehmann 2018-02-11 14:15:28 +01:00
parent b0047a527c
commit a842f0e905
2 changed files with 10 additions and 7 deletions

View file

@ -1,11 +1,13 @@
{ stdenv, fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook, { stdenv, fetchurl, python, cairomm, sparsehash, pycairo, autoreconfHook,
pkgconfig, boost, expat, scipy, numpy, cgal, gmp, mpfr, lndir, pkgconfig, boost, expat, scipy, numpy, cgal, gmp, mpfr, lndir,
gobjectIntrospection, pygobject3, gtk3, matplotlib }: gobjectIntrospection, pygobject3, gtk3, matplotlib, ncurses }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.16"; version = "2.26";
name = "${python.libPrefix}-graph-tool-${version}"; name = "${python.libPrefix}-graph-tool-${version}";
pythonModule = python;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Python module for manipulation and statistical analysis of graphs"; description = "Python module for manipulation and statistical analysis of graphs";
homepage = http://graph-tool.skewed.de/; homepage = http://graph-tool.skewed.de/;
@ -16,16 +18,19 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2"; url = "https://downloads.skewed.de/graph-tool/graph-tool-${version}.tar.bz2";
sha256 = "03b1pmh2gvsgyq491gvskx8fwgqy9k942faymdnhwpbbbfhx911p"; sha256 = "0w7pd2h8ayr88kjl82c8fdshnk6f3xslc77gy7ma09zkbvf76qnz";
}; };
configureFlags = [ configureFlags = [
"--with-python-module-path=$(out)/${python.sitePackages}" "--with-python-module-path=$(out)/${python.sitePackages}"
"--with-boost-libdir=${boost}/lib"
"--with-expat=${expat}"
"--with-cgal=${cgal}"
"--enable-openmp" "--enable-openmp"
]; ];
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ ]; buildInputs = [ ncurses ];
propagatedBuildInputs = [ propagatedBuildInputs = [
boost boost

View file

@ -7970,9 +7970,7 @@ in {
}; };
}; };
# py3k disabled, see https://travis-ci.org/NixOS/nixpkgs/builds/48759067 graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix { };
graph-tool = if isPy3k then throw "graph-tool in Nix doesn't support py3k yet"
else callPackage ../development/python-modules/graph-tool/2.x.x.nix { boost = pkgs.boost159; };
grappelli_safe = buildPythonPackage rec { grappelli_safe = buildPythonPackage rec {
version = "0.3.13"; version = "0.3.13";