diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2023-11-19 21:49:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-19 21:49:15 +0100 |
commit | c7fe3b0faa90d0d0a25e475bf932cf90ed3ea560 (patch) | |
tree | 349c7a8780f7818f5bc1f7eb795cf4b57a0f8951 | |
parent | 4a97bea20d62bf2772e288cea1986963f00b1169 (diff) | |
parent | 9f4a3df2e739c43e116a5f37eab86d7b211111da (diff) | |
download | nixlib-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.nix | 38 | ||||
-rw-r--r-- | pkgs/by-name/ch/changelog-d/tests/basic.nix | 25 | ||||
-rw-r--r-- | pkgs/by-name/ch/changelog-d/updateScript.nix | 12 | ||||
-rw-r--r-- | pkgs/development/misc/haskell/changelog-d/changelog-d.nix | 30 | ||||
-rw-r--r-- | pkgs/development/misc/haskell/changelog-d/default.nix | 77 |
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"; +} |