diff options
author | Robert Schütz <dev@schuetz-co.de> | 2021-03-24 19:52:27 +0100 |
---|---|---|
committer | Robert Schütz <dev@schuetz-co.de> | 2021-03-26 11:21:14 +0100 |
commit | 1ab59fc7164179306b508c7669d9899180cfa62d (patch) | |
tree | 7b932850e1bfe76da27a8725102e3d5c73d94e4a /pkgs/development/libraries/igraph | |
parent | f5e8bdd07d1afaabf6b37afc5497b1e498b8046f (diff) | |
download | nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.tar nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.tar.gz nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.tar.bz2 nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.tar.lz nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.tar.xz nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.tar.zst nixpkgs-1ab59fc7164179306b508c7669d9899180cfa62d.zip |
igraph: 0.8.5 -> 0.9.1
Diffstat (limited to 'pkgs/development/libraries/igraph')
-rw-r--r-- | pkgs/development/libraries/igraph/default.nix | 100 |
1 files changed, 88 insertions, 12 deletions
diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index b98588eb410..bcd0fcee92c 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -1,20 +1,43 @@ -{ stdenv, lib, fetchFromGitHub, - pkg-config, autoreconfHook, - flex, yacc, zlib, libxml2 }: +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, arpack +, bison +, blas +, cmake +, flex +, fop +, glpk +, gmp +, lapack +, libxml2 +, libxslt +, pkg-config +, python3 +, sourceHighlight +, suitesparse +, xmlto +}: stdenv.mkDerivation rec { pname = "igraph"; - version = "0.8.5"; + version = "0.9.1"; src = fetchFromGitHub { owner = "igraph"; repo = pname; rev = version; - sha256 = "0cb0kp6mpmgz74kbymqw4xxads8ff7jh0n59dsm76xy6nn8hpqcz"; + sha256 = "sha256-i6Zg6bfHZ9NHwqCouX9m9YqD0VtiWW8DEkxS0hdUyIE="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ flex yacc zlib libxml2 ]; + patches = [ + (fetchpatch { + name = "pkg-config-paths.patch"; + url = "https://github.com/igraph/igraph/commit/980521cc948777df471893f7b6de8f3e3916a3c0.patch"; + sha256 = "0mbq8v5h90c3dhgmyjazjvva3rn57qhnv7pkc9hlbqdln9gpqg0g"; + }) + ]; # Normally, igraph wants us to call bootstrap.sh, which will call # tools/getversion.sh. Instead, we're going to put the version directly @@ -22,16 +45,69 @@ stdenv.mkDerivation rec { # bootstrap. ~ C. postPatch = '' echo "${version}" > IGRAPH_VERSION + '' + lib.optionalString stdenv.isAarch64 '' + # https://github.com/igraph/igraph/issues/1694 + substituteInPlace tests/CMakeLists.txt \ + --replace "igraph_scg_grouping3" "" \ + --replace "igraph_scg_semiprojectors2" "" ''; + outputs = [ "out" "dev" "doc" ]; + + nativeBuildInputs = [ + cmake + fop + libxml2 + libxslt + pkg-config + python3 + sourceHighlight + xmlto + ]; + + buildInputs = [ + arpack + bison + blas + flex + glpk + gmp + lapack + libxml2 + suitesparse + ]; + + cmakeFlags = [ + "-DIGRAPH_USE_INTERNAL_BLAS=OFF" + "-DIGRAPH_USE_INTERNAL_LAPACK=OFF" + "-DIGRAPH_USE_INTERNAL_ARPACK=OFF" + "-DIGRAPH_USE_INTERNAL_GLPK=OFF" + "-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF" + "-DIGRAPH_USE_INTERNAL_GMP=OFF" + "-DIGRAPH_GLPK_SUPPORT=ON" + "-DIGRAPH_GRAPHML_SUPPORT=ON" + "-DIGRAPH_ENABLE_LTO=ON" + "-DIGRAPH_ENABLE_TLS=ON" + "-DBUILD_SHARED_LIBS=ON" + ]; + doCheck = true; - meta = { + preCheck = '' + # needed to find libigraph.so + export LD_LIBRARY_PATH="$PWD/src" + ''; + + postInstall = '' + mkdir -p "$out/share" + cp -r doc "$out/share" + ''; + + meta = with lib; { description = "The network analysis package"; homepage = "https://igraph.org/"; - license = lib.licenses.gpl2; - # NB: Known to fail tests on aarch64. - platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; - maintainers = [ lib.maintainers.MostAwesomeDude ]; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ MostAwesomeDude dotlambda ]; }; } |