about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/ch/changelog-d
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/ch/changelog-d')
-rw-r--r--nixpkgs/pkgs/by-name/ch/changelog-d/package.nix38
-rw-r--r--nixpkgs/pkgs/by-name/ch/changelog-d/tests/basic.nix25
-rw-r--r--nixpkgs/pkgs/by-name/ch/changelog-d/updateScript.nix12
3 files changed, 75 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ch/changelog-d/package.nix b/nixpkgs/pkgs/by-name/ch/changelog-d/package.nix
new file mode 100644
index 000000000000..10d4ad1ae355
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/by-name/ch/changelog-d/tests/basic.nix b/nixpkgs/pkgs/by-name/ch/changelog-d/tests/basic.nix
new file mode 100644
index 000000000000..25d434f0729f
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/by-name/ch/changelog-d/updateScript.nix b/nixpkgs/pkgs/by-name/ch/changelog-d/updateScript.nix
new file mode 100644
index 000000000000..fae22a161b6d
--- /dev/null
+++ b/nixpkgs/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
+  '';
+}