diff --git a/pkgs/applications/science/math/primecount/default.nix b/pkgs/applications/science/math/primecount/default.nix new file mode 100644 index 000000000000..993092c4653f --- /dev/null +++ b/pkgs/applications/science/math/primecount/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, primesieve +}: + +stdenv.mkDerivation rec { + pname = "primecount"; + version = "7.3"; + + src = fetchFromGitHub { + owner = "kimwalisch"; + repo = "primecount"; + rev = "v${version}"; + hash = "sha256-hxnn1uiGSB6XRC7yK+SXTwTsJfjhemWXsMNhhL7Ghek="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ primesieve ]; + + cmakeFlags = [ + "-DBUILD_LIBPRIMESIEVE=ON" + "-DBUILD_PRIMECOUNT=ON" + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_STATIC_LIBS=OFF" + "-DBUILD_TESTS=ON" + ]; + + meta = with lib; { + homepage = "https://github.com/kimwalisch/primecount"; + description = "Fast prime counting function implementations"; + longDescription = '' + primecount is a command-line program and C/C++ library that counts the + primes below an integer x ≤ 10^31 using highly optimized implementations + of the combinatorial prime counting algorithms. + + primecount includes implementations of all important combinatorial prime + counting algorithms known up to this date all of which have been + parallelized using OpenMP. primecount contains the first ever open source + implementations of the Deleglise-Rivat algorithm and Xavier Gourdon's + algorithm (that works). primecount also features a novel load balancer + that is shared amongst all implementations and that scales up to hundreds + of CPU cores. primecount has already been used to compute several prime + counting function world records. + ''; + license = licenses.bsd2; + inherit (primesieve.meta) maintainers platforms; + }; +} diff --git a/pkgs/development/libraries/science/math/primecount/default.nix b/pkgs/development/libraries/science/math/primecount/default.nix deleted file mode 100644 index e1390ce6416e..000000000000 --- a/pkgs/development/libraries/science/math/primecount/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, cmake, primesieve }: - -stdenv.mkDerivation rec { - pname = "primecount"; - version = "7.2"; - - nativeBuildInputs = [ cmake ]; - - buildInputs = [ primesieve ]; - - src = fetchFromGitHub { - owner = "kimwalisch"; - repo = "primecount"; - rev = "v${version}"; - sha256 = "sha256-/Cb/HkD4UQ9gXsRpvRiEuQBoRd0THxNHsBaAAa+CqQo="; - }; - - cmakeFlags = [ - "-DBUILD_STATIC_LIBS=OFF" - "-DBUILD_SHARED_LIBS=ON" - "-DBUILD_TESTS=ON" - "-DBUILD_PRIMECOUNT=ON" - "-DBUILD_LIBPRIMESIEVE=ON" - ]; - - meta = with lib; { - description = "Fast prime counting function implementations"; - homepage = "https://github.com/kimwalisch/primecount"; - license = licenses.bsd2; - platforms = platforms.unix; - maintainers = teams.sage.members; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1351c11fdfc1..0a38ad857214 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20113,7 +20113,7 @@ with pkgs; prime-server = callPackage ../development/libraries/prime-server { }; - primecount = callPackage ../development/libraries/science/math/primecount { }; + primecount = callPackage ../applications/science/math/primecount { }; primesieve = callPackage ../applications/science/math/primesieve { };