about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2023-07-27 00:02:12 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-08-05 11:09:48 +0000
commit6576a7b6e6d2db21eb83010395881c565fffe8d6 (patch)
treeaa93ad0da4ce60787a8b98f1045ea78403b934a5 /pkgs/tools
parentf4f1591cc0786eb4e3334132ce5e467f343eb0a1 (diff)
downloadnixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.tar
nixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.tar.gz
nixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.tar.bz2
nixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.tar.lz
nixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.tar.xz
nixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.tar.zst
nixlib-6576a7b6e6d2db21eb83010395881c565fffe8d6.zip
scdoc: refactor
- one parameter per line
- use rec-less, overlay-style overridable recursive attributes (in effect since
https://github.com/NixOS/nixpkgs/pull/119942)
- remove references to pname
- SRI hash
- multiple outputs
- remove with nesting (following
https://nix.dev/anti-patterns/language#with-attrset-expression)
- simplify meta
- add AndersonTorres as maintainer
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/typesetting/scdoc/default.nix43
1 files changed, 23 insertions, 20 deletions
diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/tools/typesetting/scdoc/default.nix
index 17a91d18e393..f213b7817f2a 100644
--- a/pkgs/tools/typesetting/scdoc/default.nix
+++ b/pkgs/tools/typesetting/scdoc/default.nix
@@ -1,38 +1,41 @@
-{ lib, stdenv, fetchFromSourcehut, buildPackages }:
+{ lib
+, stdenv
+, fetchFromSourcehut
+, buildPackages
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "scdoc";
   version = "1.11.2";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
-    repo = pname;
-    rev = version;
-    sha256 = "07c2vmdgqifbynm19zjnrk7h102pzrriv73izmx8pmd7b3xl5mfq";
+    repo = "scdoc";
+    rev = finalAttrs.version;
+    hash = "sha256-2NVC+1in1Yt6/XGcHXP+V4AAz8xW/hSq9ctF/Frdgh0=";
   };
 
+  outputs = [ "out" "man" "dev" ];
+
   postPatch = ''
     substituteInPlace Makefile \
-      --replace "-static" "" \
-      --replace "/usr/local" "$out"
+      --replace "-static" ""
   '';
 
-  makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "HOST_SCDOC=${buildPackages.scdoc}/bin/scdoc"
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    "HOST_SCDOC=${lib.getExe buildPackages.scdoc}"
   ];
 
   doCheck = true;
 
-  meta = with lib; {
-    description = "A simple man page generator";
-    longDescription = ''
-      scdoc is a simple man page generator written for POSIX systems written in
-      C99.
-    '';
+  meta = {
+    description = "A simple man page generator written in C99 for POSIX systems";
     homepage = "https://git.sr.ht/~sircmpwn/scdoc";
-    changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${version}";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ primeos ];
+    changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${finalAttrs.version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ primeos AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})