about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2024-03-10 17:32:41 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2024-03-11 11:04:30 -0300
commit8bc529842155f8672e58ef4d7f3bc88c606113f1 (patch)
treeef8198960d80b49c9dccd3af48efbb0fd2ea199b
parent0c68a08dd7e7518febabce43fa4808e515c0fd49 (diff)
downloadnixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.tar
nixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.tar.gz
nixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.tar.bz2
nixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.tar.lz
nixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.tar.xz
nixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.tar.zst
nixlib-8bc529842155f8672e58ef4d7f3bc88c606113f1.zip
primesieve: refactor
- finalAttrs
- split outputs
- strictDeps
- no nested with
- add tests
  - test primecount (a dependent package)
- mainProgram
-rw-r--r--pkgs/by-name/pr/primesieve/package.nix34
1 files changed, 23 insertions, 11 deletions
diff --git a/pkgs/by-name/pr/primesieve/package.nix b/pkgs/by-name/pr/primesieve/package.nix
index 4d3c06bd9287..470b62111b3f 100644
--- a/pkgs/by-name/pr/primesieve/package.nix
+++ b/pkgs/by-name/pr/primesieve/package.nix
@@ -1,25 +1,35 @@
 { lib
-, stdenv
-, fetchFromGitHub
 , cmake
+, fetchFromGitHub
+, stdenv
+, primecount
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "primesieve";
   version = "12.1";
 
   src = fetchFromGitHub {
     owner = "kimwalisch";
     repo = "primesieve";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-AHl2GfZ1oJ8ZyjJzvg10AqN7TA7HFZ+qa6N2v51Qa78=";
   };
 
+  outputs = [ "out" "dev" "lib" "man" ];
+
   nativeBuildInputs = [ cmake ];
 
-  meta = with lib; {
+  strictDeps = true;
+
+  passthru = {
+    tests = {
+      inherit primecount; # dependent
+    };
+  };
+
+  meta = {
     homepage = "https://primesieve.org/";
-    changelog = "https://github.com/kimwalisch/primesieve/blob/v${version}/ChangeLog";
     description = "Fast C/C++ prime number generator";
     longDescription = ''
       primesieve is a command-line program and C/C++ library for quickly
@@ -29,9 +39,11 @@ stdenv.mkDerivation rec {
       CPU cores whenever possible i.e. if sequential ordering is not
       required. primesieve can generate primes and prime k-tuplets up to 264.
     '';
-    license = licenses.bsd2;
-    maintainers = teams.sage.members ++
-      (with maintainers; [ abbradar AndersonTorres ]);
-    platforms = platforms.unix;
+    changelog = "https://github.com/kimwalisch/primesieve/blob/${finalAttrs.src.rev}/ChangeLog";
+    license = lib.licenses.bsd2;
+    mainProgram = "primesieve";
+    maintainers = lib.teams.sage.members ++
+      (with lib.maintainers; [ abbradar AndersonTorres ]);
+    platforms = lib.platforms.unix;
   };
-}
+})