anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / tools / misc / plfit / default.nix
blob8b1726666bccbd57449d7641703d3d4a1078b3ef
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , python ? null
6 , swig
7 , llvmPackages
8 }:
10 stdenv.mkDerivation (finalAttrs: {
11   pname = "plfit";
12   version = "0.9.6";
14   src = fetchFromGitHub {
15     owner = "ntamas";
16     repo = "plfit";
17     rev = finalAttrs.version;
18     hash = "sha256-XRl6poEdgPNorFideQmEJHCU+phs4rIhMYa8iAOtL1A=";
19   };
21   postPatch = lib.optionalString (python != null) ''
22     substituteInPlace src/CMakeLists.txt \
23       --replace-fail ' ''${Python3_SITEARCH}' ' ${placeholder "out"}/${python.sitePackages}' \
24       --replace-fail ' ''${Python3_SITELIB}' ' ${placeholder "out"}/${python.sitePackages}'
25   '';
27   nativeBuildInputs = [
28     cmake
29   ] ++ lib.optionals (python != null) [
30     python
31     swig
32   ];
34   cmakeFlags = [
35     "-DPLFIT_USE_OPENMP=ON"
36   ] ++ lib.optionals (python != null) [
37     "-DPLFIT_COMPILE_PYTHON_MODULE=ON"
38   ];
40   buildInputs = lib.optionals stdenv.cc.isClang [
41     llvmPackages.openmp
42   ];
44   doCheck = true;
46   meta = with lib; {
47     description = "Fitting power-law distributions to empirical data";
48     homepage = "https://github.com/ntamas/plfit";
49     changelog = "https://github.com/ntamas/plfit/blob/${finalAttrs.src.rev}/CHANGELOG.md";
50     license = licenses.gpl2Plus;
51     maintainers = with maintainers; [ dotlambda ];
52   };