From 2e1a0993183796f2beb47d413da25742c865a4b7 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 12:18:52 +0100 Subject: [PATCH 1/7] changelog-d: init Move the overrides to top-level (pkgs/by-name). --- pkgs/by-name/ch/changelog-d/package.nix | 62 +++++++++++++++++++ .../haskell-modules/non-hackage-packages.nix | 2 +- .../misc/haskell/changelog-d/default.nix | 51 --------------- 3 files changed, 63 insertions(+), 52 deletions(-) create mode 100644 pkgs/by-name/ch/changelog-d/package.nix delete mode 100644 pkgs/development/misc/haskell/changelog-d/default.nix 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..770673714475 --- /dev/null +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -0,0 +1,62 @@ +{ + cabal2nix, + lib, + haskell, + haskellPackages, + runCommand, + writeShellApplication, +}: + +let + hsPkg = haskellPackages.changelog-d; + + haskellModifications = x: x; + + mkDerivationOverrides = finalAttrs: oldAttrs: { + + version = oldAttrs.version + "-git-${lib.strings.substring 0 7 oldAttrs.src.rev}"; + + passthru.updateScript = lib.getExe (writeShellApplication { + name = "update-changelog-d"; + runtimeInputs = [ + cabal2nix + ]; + text = '' + cd pkgs/development/misc/haskell/changelog-d + cabal2nix https://codeberg.org/fgaz/changelog-d >changelog-d.nix + ''; + }); + passthru.tests = { + basic = runCommand "changelog-d-basic-test" { + nativeBuildInputs = [ finalAttrs.finalPackage ]; + } '' + mkdir changelogs + cat > changelogs/config < changelogs/a <$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 + ''; + }; + + meta = oldAttrs.meta // { + homepage = "https://codeberg.org/fgaz/changelog-d"; + maintainers = [ lib.maintainers.roberth ]; + }; + + }; +in + (haskellModifications hsPkg).overrideAttrs mkDerivationOverrides diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index f78e333ae1d7..81dae23301d6 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -7,7 +7,7 @@ # files. self: super: { - changelog-d = self.callPackage ../misc/haskell/changelog-d {}; + changelog-d = self.callPackage ../misc/haskell/changelog-d/changelog-d.nix {}; dconf2nix = self.callPackage ../tools/haskell/dconf2nix/dconf2nix.nix { }; diff --git a/pkgs/development/misc/haskell/changelog-d/default.nix b/pkgs/development/misc/haskell/changelog-d/default.nix deleted file mode 100644 index e4ba565808cf..000000000000 --- a/pkgs/development/misc/haskell/changelog-d/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ callPackage -, lib -, pkgs -}: - -(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 < changelogs/a <$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 - ''; - }; - - meta = oldAttrs.meta // { - homepage = "https://codeberg.org/fgaz/changelog-d"; - maintainers = [ lib.maintainers.roberth ]; - }; - -}) From 9009c53c9719a509920824e480731431bb3b4622 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 12:19:44 +0100 Subject: [PATCH 2/7] changelog-d: Use justStaticExecutables I couldn't get the separate bin output to work. --- pkgs/by-name/ch/changelog-d/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix index 770673714475..f390596b5947 100644 --- a/pkgs/by-name/ch/changelog-d/package.nix +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -10,7 +10,7 @@ let hsPkg = haskellPackages.changelog-d; - haskellModifications = x: x; + haskellModifications = haskell.lib.justStaticExecutables; mkDerivationOverrides = finalAttrs: oldAttrs: { From 3ce9db808b5bf6cf7e7c9c64d20c17620916c7e7 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 12:24:10 +0100 Subject: [PATCH 3/7] changelog-d: Move out tests.basic --- pkgs/by-name/ch/changelog-d/package.nix | 26 ++------------------- pkgs/by-name/ch/changelog-d/tests/basic.nix | 25 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 pkgs/by-name/ch/changelog-d/tests/basic.nix diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix index f390596b5947..c855beca0fe2 100644 --- a/pkgs/by-name/ch/changelog-d/package.nix +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -1,9 +1,9 @@ { cabal2nix, + callPackage, lib, haskell, haskellPackages, - runCommand, writeShellApplication, }: @@ -27,29 +27,7 @@ let ''; }); passthru.tests = { - basic = runCommand "changelog-d-basic-test" { - nativeBuildInputs = [ finalAttrs.finalPackage ]; - } '' - mkdir changelogs - cat > changelogs/config < changelogs/a <$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 - ''; + basic = callPackage ./tests/basic.nix { changelog-d = finalAttrs.finalPackage; }; }; meta = oldAttrs.meta // { 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 < changelogs/a <$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 +'' From 25df0e640974599c813e9bb3e8a9fba28f79bd12 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 12:28:03 +0100 Subject: [PATCH 4/7] changelog-d: Move out updateScript --- pkgs/by-name/ch/changelog-d/package.nix | 13 +------------ pkgs/by-name/ch/changelog-d/updateScript.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 pkgs/by-name/ch/changelog-d/updateScript.nix diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix index c855beca0fe2..444e6de23357 100644 --- a/pkgs/by-name/ch/changelog-d/package.nix +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -1,10 +1,8 @@ { - cabal2nix, callPackage, lib, haskell, haskellPackages, - writeShellApplication, }: let @@ -16,16 +14,7 @@ let version = oldAttrs.version + "-git-${lib.strings.substring 0 7 oldAttrs.src.rev}"; - passthru.updateScript = lib.getExe (writeShellApplication { - name = "update-changelog-d"; - runtimeInputs = [ - cabal2nix - ]; - text = '' - cd pkgs/development/misc/haskell/changelog-d - cabal2nix https://codeberg.org/fgaz/changelog-d >changelog-d.nix - ''; - }); + passthru.updateScript = lib.getExe (callPackage ./updateScript.nix { }); passthru.tests = { basic = callPackage ./tests/basic.nix { changelog-d = finalAttrs.finalPackage; }; }; 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..7ef55f57f4cf --- /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 >changelog-d.nix + ''; +} From 0ff56d503a3177e21816d9864a215ee3da3d42ac Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 12:31:22 +0100 Subject: [PATCH 5/7] haskellPackages.changelog-d: Rename file --- pkgs/by-name/ch/changelog-d/updateScript.nix | 2 +- pkgs/development/haskell-modules/non-hackage-packages.nix | 2 +- .../misc/haskell/changelog-d/{changelog-d.nix => default.nix} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename pkgs/development/misc/haskell/changelog-d/{changelog-d.nix => default.nix} (100%) diff --git a/pkgs/by-name/ch/changelog-d/updateScript.nix b/pkgs/by-name/ch/changelog-d/updateScript.nix index 7ef55f57f4cf..fae22a161b6d 100644 --- a/pkgs/by-name/ch/changelog-d/updateScript.nix +++ b/pkgs/by-name/ch/changelog-d/updateScript.nix @@ -7,6 +7,6 @@ writeShellApplication { ]; text = '' cd pkgs/development/misc/haskell/changelog-d - cabal2nix https://codeberg.org/fgaz/changelog-d >changelog-d.nix + cabal2nix https://codeberg.org/fgaz/changelog-d >default.nix ''; } diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index 81dae23301d6..f78e333ae1d7 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -7,7 +7,7 @@ # files. self: super: { - changelog-d = self.callPackage ../misc/haskell/changelog-d/changelog-d.nix {}; + changelog-d = self.callPackage ../misc/haskell/changelog-d {}; dconf2nix = self.callPackage ../tools/haskell/dconf2nix/dconf2nix.nix { }; diff --git a/pkgs/development/misc/haskell/changelog-d/changelog-d.nix b/pkgs/development/misc/haskell/changelog-d/default.nix similarity index 100% rename from pkgs/development/misc/haskell/changelog-d/changelog-d.nix rename to pkgs/development/misc/haskell/changelog-d/default.nix From eb8dafd288ccfffc18ff3b6fd41f01ef896e4039 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 12:31:54 +0100 Subject: [PATCH 6/7] changelog-d: Document tests and updateScript --- pkgs/by-name/ch/changelog-d/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix index 444e6de23357..2bccb02a2eb2 100644 --- a/pkgs/by-name/ch/changelog-d/package.nix +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -14,7 +14,10 @@ let 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; }; }; From 9f4a3df2e739c43e116a5f37eab86d7b211111da Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Nov 2023 13:17:23 +0100 Subject: [PATCH 7/7] changelog-d: Add shell completions --- pkgs/by-name/ch/changelog-d/package.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ch/changelog-d/package.nix b/pkgs/by-name/ch/changelog-d/package.nix index 2bccb02a2eb2..10d4ad1ae355 100644 --- a/pkgs/by-name/ch/changelog-d/package.nix +++ b/pkgs/by-name/ch/changelog-d/package.nix @@ -8,7 +8,13 @@ let hsPkg = haskellPackages.changelog-d; - haskellModifications = haskell.lib.justStaticExecutables; + addCompletions = haskellPackages.generateOptparseApplicativeCompletions ["changelog-d"]; + + haskellModifications = + lib.flip lib.pipe [ + addCompletions + haskell.lib.justStaticExecutables + ]; mkDerivationOverrides = finalAttrs: oldAttrs: {