about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Hensing <roberth@users.noreply.github.com>2023-11-19 21:49:15 +0100
committerGitHub <noreply@github.com>2023-11-19 21:49:15 +0100
commitc7fe3b0faa90d0d0a25e475bf932cf90ed3ea560 (patch)
tree349c7a8780f7818f5bc1f7eb795cf4b57a0f8951
parent4a97bea20d62bf2772e288cea1986963f00b1169 (diff)
parent9f4a3df2e739c43e116a5f37eab86d7b211111da (diff)
downloadnixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.tar
nixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.tar.gz
nixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.tar.bz2
nixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.tar.lz
nixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.tar.xz
nixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.tar.zst
nixlib-c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560.zip
Merge pull request #268487 from hercules-ci/changelog-d-static
changelog-d: init / `justStaticExecutables`
-rw-r--r--pkgs/by-name/ch/changelog-d/package.nix38
-rw-r--r--pkgs/by-name/ch/changelog-d/tests/basic.nix25
-rw-r--r--pkgs/by-name/ch/changelog-d/updateScript.nix12
-rw-r--r--pkgs/development/misc/haskell/changelog-d/changelog-d.nix30
-rw-r--r--pkgs/development/misc/haskell/changelog-d/default.nix77
5 files changed, 103 insertions, 79 deletions
diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix
new file mode 100644
index 000000000000..10d4ad1ae355
--- /dev/null
+++ b/pkgs/by-name/ch/changelog-d/package.nix
@@ -0,0 +1,38 @@
+{
+  callPackage,
+  lib,
+  haskell,
+  haskellPackages,
+}:
+
+let
+  hsPkg = haskellPackages.changelog-d;
+
+  addCompletions = haskellPackages.generateOptparseApplicativeCompletions ["changelog-d"];
+
+  haskellModifications =
+    lib.flip lib.pipe [
+      addCompletions
+      haskell.lib.justStaticExecutables
+    ];
+
+  mkDerivationOverrides = finalAttrs: oldAttrs: {
+
+    version = oldAttrs.version + "-git-${lib.strings.substring 0 7 oldAttrs.src.rev}";
+
+    # nix-shell ./maintainers/scripts/update.nix --argstr package changelog-d
+    passthru.updateScript = lib.getExe (callPackage ./updateScript.nix { });
+
+    # nix-build -A changelog-d.tests
+    passthru.tests = {
+      basic = callPackage ./tests/basic.nix { changelog-d = finalAttrs.finalPackage; };
+    };
+
+    meta = oldAttrs.meta // {
+      homepage = "https://codeberg.org/fgaz/changelog-d";
+      maintainers = [ lib.maintainers.roberth ];
+    };
+
+  };
+in
+  (haskellModifications hsPkg).overrideAttrs mkDerivationOverrides
diff --git a/pkgs/by-name/ch/changelog-d/tests/basic.nix b/pkgs/by-name/ch/changelog-d/tests/basic.nix
new file mode 100644
index 000000000000..25d434f0729f
--- /dev/null
+++ b/pkgs/by-name/ch/changelog-d/tests/basic.nix
@@ -0,0 +1,25 @@
+{ runCommand, changelog-d }:
+
+runCommand "changelog-d-basic-test" {
+  nativeBuildInputs = [ changelog-d ];
+} ''
+  mkdir changelogs
+  cat > changelogs/config <<EOF
+  organization: NixOS
+  repository: boondoggle
+  EOF
+  cat > changelogs/a <<EOF
+  synopsis: Support numbers with incrementing base-10 digits
+  issues: #1234
+  description: {
+  This didn't work before.
+  }
+  EOF
+  changelog-d changelogs >$out
+  cat -n $out
+  echo Checking the generated output
+  set -x
+  grep -F 'Support numbers with incrementing base-10 digits' $out >/dev/null
+  grep -F 'https://github.com/NixOS/boondoggle/issues/1234' $out >/dev/null
+  set +x
+''
diff --git a/pkgs/by-name/ch/changelog-d/updateScript.nix b/pkgs/by-name/ch/changelog-d/updateScript.nix
new file mode 100644
index 000000000000..fae22a161b6d
--- /dev/null
+++ b/pkgs/by-name/ch/changelog-d/updateScript.nix
@@ -0,0 +1,12 @@
+{ writeShellApplication, cabal2nix }:
+
+writeShellApplication {
+  name = "update-changelog-d";
+  runtimeInputs = [
+    cabal2nix
+  ];
+  text = ''
+    cd pkgs/development/misc/haskell/changelog-d
+    cabal2nix https://codeberg.org/fgaz/changelog-d >default.nix
+  '';
+}
diff --git a/pkgs/development/misc/haskell/changelog-d/changelog-d.nix b/pkgs/development/misc/haskell/changelog-d/changelog-d.nix
deleted file mode 100644
index 7abc707540ce..000000000000
--- a/pkgs/development/misc/haskell/changelog-d/changelog-d.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ mkDerivation, base, bytestring, cabal-install-parsers
-, Cabal-syntax, containers, directory, fetchgit, filepath
-, generic-lens-lite, lib, mtl, optparse-applicative, parsec, pretty
-, regex-applicative
-}:
-mkDerivation {
-  pname = "changelog-d";
-  version = "0.1";
-  src = fetchgit {
-    url = "https://codeberg.org/fgaz/changelog-d";
-    sha256 = "0r0gr3bl88am9jivic3i8lfi9l5v1dj7xx4fvw6hhy3wdx7z50z7";
-    rev = "2816ddb78cec8b7fa4462c25028437ebfe3ad314";
-    fetchSubmodules = true;
-  };
-  isLibrary = false;
-  isExecutable = true;
-  libraryHaskellDepends = [
-    base bytestring cabal-install-parsers Cabal-syntax containers
-    directory filepath generic-lens-lite mtl parsec pretty
-    regex-applicative
-  ];
-  executableHaskellDepends = [
-    base bytestring Cabal-syntax directory filepath
-    optparse-applicative
-  ];
-  doHaddock = false;
-  description = "Concatenate changelog entries into a single one";
-  license = lib.licenses.gpl3Plus;
-  mainProgram = "changelog-d";
-}
diff --git a/pkgs/development/misc/haskell/changelog-d/default.nix b/pkgs/development/misc/haskell/changelog-d/default.nix
index e4ba565808cf..7abc707540ce 100644
--- a/pkgs/development/misc/haskell/changelog-d/default.nix
+++ b/pkgs/development/misc/haskell/changelog-d/default.nix
@@ -1,51 +1,30 @@
-{ callPackage
-, lib
-, pkgs
+{ mkDerivation, base, bytestring, cabal-install-parsers
+, Cabal-syntax, containers, directory, fetchgit, filepath
+, generic-lens-lite, lib, mtl, optparse-applicative, parsec, pretty
+, regex-applicative
 }:
-
-(callPackage ./changelog-d.nix { }).overrideAttrs (finalAttrs: oldAttrs: {
-
-  version = oldAttrs.version + "-git-${lib.strings.substring 0 7 oldAttrs.src.rev}";
-
-  passthru.updateScript = lib.getExe (pkgs.writeShellApplication {
-    name = "update-changelog-d";
-    runtimeInputs = [
-      pkgs.cabal2nix
-    ];
-    text = ''
-      cd pkgs/development/misc/haskell/changelog-d
-      cabal2nix https://codeberg.org/fgaz/changelog-d >changelog-d.nix
-    '';
-  });
-  passthru.tests = {
-    basic = pkgs.runCommand "changelog-d-basic-test" {
-        nativeBuildInputs = [ finalAttrs.finalPackage ];
-      } ''
-        mkdir changelogs
-        cat > changelogs/config <<EOF
-        organization: NixOS
-        repository: boondoggle
-        EOF
-        cat > changelogs/a <<EOF
-        synopsis: Support numbers with incrementing base-10 digits
-        issues: #1234
-        description: {
-        This didn't work before.
-        }
-        EOF
-        changelog-d changelogs >$out
-        cat -n $out
-        echo Checking the generated output
-        set -x
-        grep -F 'Support numbers with incrementing base-10 digits' $out >/dev/null
-        grep -F 'https://github.com/NixOS/boondoggle/issues/1234' $out >/dev/null
-        set +x
-      '';
+mkDerivation {
+  pname = "changelog-d";
+  version = "0.1";
+  src = fetchgit {
+    url = "https://codeberg.org/fgaz/changelog-d";
+    sha256 = "0r0gr3bl88am9jivic3i8lfi9l5v1dj7xx4fvw6hhy3wdx7z50z7";
+    rev = "2816ddb78cec8b7fa4462c25028437ebfe3ad314";
+    fetchSubmodules = true;
   };
-
-  meta = oldAttrs.meta // {
-    homepage = "https://codeberg.org/fgaz/changelog-d";
-    maintainers = [ lib.maintainers.roberth ];
-  };
-
-})
+  isLibrary = false;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    base bytestring cabal-install-parsers Cabal-syntax containers
+    directory filepath generic-lens-lite mtl parsec pretty
+    regex-applicative
+  ];
+  executableHaskellDepends = [
+    base bytestring Cabal-syntax directory filepath
+    optparse-applicative
+  ];
+  doHaddock = false;
+  description = "Concatenate changelog entries into a single one";
+  license = lib.licenses.gpl3Plus;
+  mainProgram = "changelog-d";
+}