diff --git a/pkgs/by-name/li/libleidenalg/package.nix b/pkgs/by-name/li/libleidenalg/package.nix new file mode 100644 index 000000000000..75cdd34efa0f --- /dev/null +++ b/pkgs/by-name/li/libleidenalg/package.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, igraph +}: + +stdenv.mkDerivation rec { + pname = "libleidenalg"; + version = "0.11.1"; + + src = fetchFromGitHub { + owner = "vtraag"; + repo = "libleidenalg"; + rev = "refs/tags/${version}"; + hash = "sha256-hEES/OHvgN0yRDp5ZBZTCQfWr1j7s8NqE+Sp9WMHEEY="; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + igraph + ]; + + meta = { + changelog = "https://github.com/vtraag/libleidenalg/blob/${version}/CHANGELOG"; + description = "C++ library of Leiden algorithm"; + homepage = "https://github.com/vtraag/libleidenalg"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ dotlambda ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index 9e3f541442b5..b0017e03ebc7 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -88,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: { cp -r doc "$out/share" ''; - postFixup = lib.optionalString stdenv.isDarwin '' + postFixup = '' + substituteInPlace $dev/lib/cmake/igraph/igraph-targets.cmake \ + --replace-fail "_IMPORT_PREFIX \"$out\"" "_IMPORT_PREFIX \"$dev\"" + '' + lib.optionalString stdenv.isDarwin '' install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libigraph.dylib ''; diff --git a/pkgs/development/python-modules/leidenalg/default.nix b/pkgs/development/python-modules/leidenalg/default.nix index 336fb029c476..661ac2c71597 100644 --- a/pkgs/development/python-modules/leidenalg/default.nix +++ b/pkgs/development/python-modules/leidenalg/default.nix @@ -1,9 +1,10 @@ { lib , buildPythonPackage , ddt -, fetchPypi +, fetchFromGitHub , igraph , igraph-c +, libleidenalg , pythonOlder , setuptools-scm , unittestCheckHook @@ -11,31 +12,29 @@ buildPythonPackage rec { pname = "leidenalg"; - version = "0.10.1"; - format = "setuptools"; + version = "0.10.2"; + pyproject = true; disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-RXrZaYKoC9XGVxifQt/rd+6807dEoRDlosFhjS64C0c="; + src = fetchFromGitHub { + owner = "vtraag"; + repo = "leidenalg"; + rev = "refs/tags/${version}"; + hash = "sha256-oaTV+BIB/YQBWKrVXuiIEMH/1MxPxeHhjUzbmxt6hlw="; }; - postPatch = '' - substituteInPlace ./setup.py \ - --replace "[\"/usr/include/igraph\", \"/usr/local/include/igraph\"]" \ - "[\"${igraph-c.dev}/include/igraph\"]" - - rm -r vendor - ''; - nativeBuildInputs = [ setuptools-scm ]; + buildInputs = [ + igraph-c + libleidenalg + ]; + propagatedBuildInputs = [ igraph - igraph-c ]; checkInputs = [ @@ -46,8 +45,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "leidenalg" ]; meta = with lib; { + changelog = "https://github.com/vtraag/leidenalg/blob/${version}/CHANGELOG"; description = "Implementation of the Leiden algorithm for various quality functions to be used with igraph in Python"; - homepage = "https://leidenalg.readthedocs.io"; + homepage = "https://github.com/vtraag/leidenalg"; license = licenses.gpl3Only; maintainers = with maintainers; [ jboy ]; };