From 9409bd0ea644957e943abe3974b82db86bc10e14 Mon Sep 17 00:00:00 2001 From: Corbin Date: Thu, 25 Jun 2020 00:31:54 -0700 Subject: [PATCH 1/3] igraph: 0.7.1 -> 0.8.2 Refs #90840. The check phase is now enabled. All tests pass on my machine. I realized while doing this bump that igraph vendors OpenBLAS, ARPACK, and GLPK. We can use our versions instead, and igraph builds successfully, but 34 tests fail. I'm choosing correctness instead of build times. --- pkgs/development/libraries/igraph/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index fcb5e7918d96..6b6924b7d415 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -4,24 +4,28 @@ stdenv.mkDerivation rec { pname = "igraph"; - version = "0.7.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = "igraph"; repo = pname; rev = version; - sha256 = "1wsy0r511gk069il6iqjs27q8cjvqz20gf0a7inybx1bw84845z8"; + sha256 = "015yh9s19lmxm7l1ld8adlsqh1lrmzicl801saixdwl9w05hfva4"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ flex yacc zlib libxml2 ]; - # This file is normally generated by igraph's bootstrap.sh, but we can do it - # ourselves. ~ C. + # Normally, igraph wants us to call bootstrap.sh, which will call + # tools/getversion.sh. Instead, we're going to put the version directly + # where igraph wants, and then let autoreconfHook do the rest of the + # bootstrap. ~ C. postPatch = '' - echo "${version}" > VERSION + echo "${version}" > IGRAPH_VERSION ''; + doCheck = true; + meta = { description = "The network analysis package"; homepage = "https://igraph.org/"; From dd284b9758abf0251b334549aacb819a0a137492 Mon Sep 17 00:00:00 2001 From: Corbin Date: Thu, 25 Jun 2020 15:44:45 -0700 Subject: [PATCH 2/3] igraph: Only build and test x86_64-linux. aarch64-linux tests fail on the community builder, so don't build there until we have more evidence that failing tests are not a problem. --- pkgs/development/libraries/igraph/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index 6b6924b7d415..7f494e8bddc1 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -30,6 +30,8 @@ stdenv.mkDerivation rec { description = "The network analysis package"; homepage = "https://igraph.org/"; license = lib.licenses.gpl2; + # NB: Known to fail tests on aarch64. + platforms = [ "x86_64-linux" ]; maintainers = [ lib.maintainers.MostAwesomeDude ]; }; } From dfcac3fccd0a6fc45be51d1cfe985ca71ccd2246 Mon Sep 17 00:00:00 2001 From: Corbin Date: Fri, 26 Jun 2020 01:22:00 -0700 Subject: [PATCH 3/3] python-igraph: Don't use vendored library. Fixes #70543. --- .../development/python-modules/python-igraph/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/python-igraph/default.nix b/pkgs/development/python-modules/python-igraph/default.nix index a2bf20188ff1..12a327be2a67 100644 --- a/pkgs/development/python-modules/python-igraph/default.nix +++ b/pkgs/development/python-modules/python-igraph/default.nix @@ -1,5 +1,6 @@ { buildPythonPackage, fetchPypi, lib, isPy3k -, pkgconfig, igraph }: +, pkgconfig, igraph +, texttable }: buildPythonPackage rec { pname = "python-igraph"; @@ -7,12 +8,18 @@ buildPythonPackage rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ igraph ]; + propagatedBuildInputs = [ texttable ]; src = fetchPypi { inherit pname version; sha256 = "4601638d7d22eae7608cdf793efac75e6c039770ec4bd2cecf76378c84ce7d72"; }; + # NB: We want to use our igraph, not vendored igraph, but even with + # pkg-config on the PATH, their custom setup.py still needs to be explicitly + # told to do it. ~ C. + setupPyGlobalFlags = [ "--use-pkg-config" ]; + doCheck = !isPy3k; meta = {