Merge pull request #9573 from hercules-ci/rl-next-md-frontmatter

rl-next: Fix and support markdown frontmatter syntax
This commit is contained in:
Robert Hensing 2023-12-09 21:18:04 +01:00 committed by GitHub
commit 69b7876a08
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 94 additions and 33 deletions

View file

@ -1,6 +1,7 @@
---
synopsis: Rename hash format `base32` to `nix32` synopsis: Rename hash format `base32` to `nix32`
prs: #9452 prs: 9452
description: { ---
Hash format `base32` was renamed to `nix32` since it used a special nix-specific character set for Hash format `base32` was renamed to `nix32` since it used a special nix-specific character set for
[Base32](https://en.wikipedia.org/wiki/Base32). [Base32](https://en.wikipedia.org/wiki/Base32).

View file

@ -1,9 +1,8 @@
---
synopsis: Mounted SSH Store synopsis: Mounted SSH Store
issues: #7890 issues: 7890
prs: #7912 prs: 7912
description: { ---
Introduced the store [`mounted-ssh-ng://`](@docroot@/command-ref/new-cli/nix3-help-stores.md). Introduced the store [`mounted-ssh-ng://`](@docroot@/command-ref/new-cli/nix3-help-stores.md).
This store allows full access to a Nix store on a remote machine and additionally requires that the store be mounted in the local filesystem. This store allows full access to a Nix store on a remote machine and additionally requires that the store be mounted in the local filesystem.
}

View file

@ -1,8 +1,7 @@
synopsis: `nix config show` ---
issues: #7672 synopsis: Rename to `nix config show`
prs: #9477 issues: 7672
description: { prs: 9477
---
`nix show-config` was renamed to `nix config show`, and `nix doctor` was renamed to `nix config check`, to be more consistent with the rest of the command-line interface. `nix show-config` was renamed to `nix config show`, and `nix doctor` was renamed to `nix config check`, to be more consistent with the rest of the command-line interface.
}

View file

@ -1,9 +1,6 @@
---
synopsis: Fix `nix-env --query --drv-path --json` synopsis: Fix `nix-env --query --drv-path --json`
prs: #9257 prs: 9257
description: { ---
Fixed a bug where `nix-env --query` ignored `--drv-path` when `--json` was set. Fixed a bug where `nix-env --query` ignored `--drv-path` when `--json` was set.
}

View file

@ -1,6 +1,7 @@
---
synopsis: Add `nix hash convert` synopsis: Add `nix hash convert`
prs: #9452 prs: 9452
description: { ---
New [`nix hash convert`](https://github.com/NixOS/nix/issues/8876) sub command with a fast track New [`nix hash convert`](https://github.com/NixOS/nix/issues/8876) sub command with a fast track
to stabilization! Examples: to stabilization! Examples:
@ -44,4 +45,3 @@ The following commands are still available but will emit a deprecation warning.
- `nix hash to-base64 $hash1 $hash2`: Use `nix hash convert --to base64 $hash1 $hash2` instead. - `nix hash to-base64 $hash1 $hash2`: Use `nix hash convert --to base64 $hash1 $hash2` instead.
- `nix hash to-sri $hash1 $hash2`: : Use `nix hash convert --to sri $hash1 $hash2` - `nix hash to-sri $hash1 $hash2`: : Use `nix hash convert --to sri $hash1 $hash2`
or even just `nix hash convert $hash1 $hash2` instead. or even just `nix hash convert $hash1 $hash2` instead.
}

View file

@ -1,7 +1,8 @@
---
synopsis: Source locations are printed more consistently in errors synopsis: Source locations are printed more consistently in errors
issues: #561 issues: 561
prs: #9555 prs: 9555
description: { ---
Source location information is now included in error messages more Source location information is now included in error messages more
consistently. Given this code: consistently. Given this code:
@ -39,5 +40,3 @@ error:
error: value is a set while a string was expected error: value is a set while a string was expected
``` ```
}

View file

@ -257,17 +257,16 @@ User-visible changes should come with a release note.
Here's what a complete entry looks like. The file name is not incorporated in the document. Here's what a complete entry looks like. The file name is not incorporated in the document.
``` ```
---
synopsis: Basically a title synopsis: Basically a title
issues: #1234 issues: 1234
prs: #1238 prs: 1238
description: { ---
Here's one or more paragraphs that describe the change. Here's one or more paragraphs that describe the change.
- It's markdown - It's markdown
- Add references to the manual using @docroot@ - Add references to the manual using @docroot@
}
``` ```
Significant changes should add the following header, which moves them to the top. Significant changes should add the following header, which moves them to the top.

View file

@ -182,7 +182,7 @@
"--enable-internal-api-docs" "--enable-internal-api-docs"
]; ];
changelog-d = pkgs.buildPackages.changelog-d; changelog-d = pkgs.buildPackages.callPackage ./misc/changelog-d.nix { };
nativeBuildDeps = nativeBuildDeps =
[ [
@ -691,6 +691,11 @@
perlBindings = self.hydraJobs.perlBindings.${system}; perlBindings = self.hydraJobs.perlBindings.${system};
installTests = self.hydraJobs.installTests.${system}; installTests = self.hydraJobs.installTests.${system};
nixpkgsLibTests = self.hydraJobs.tests.nixpkgsLibTests.${system}; nixpkgsLibTests = self.hydraJobs.tests.nixpkgsLibTests.${system};
rl-next =
let pkgs = nixpkgsFor.${system}.native;
in pkgs.buildPackages.runCommand "test-rl-next-release-notes" { } ''
LANG=C.UTF-8 ${(commonDeps { inherit pkgs; }).changelog-d}/bin/changelog-d ${./doc/manual/rl-next} >$out
'';
} // (lib.optionalAttrs (builtins.elem system linux64BitSystems)) { } // (lib.optionalAttrs (builtins.elem system linux64BitSystems)) {
dockerImage = self.hydraJobs.dockerImage.${system}; dockerImage = self.hydraJobs.dockerImage.${system};
}); });

View file

@ -0,0 +1,31 @@
{ mkDerivation, aeson, base, bytestring, cabal-install-parsers
, Cabal-syntax, containers, directory, filepath, frontmatter
, generic-lens-lite, lib, mtl, optparse-applicative, parsec, pretty
, regex-applicative, text, pkgs
}:
let rev = "f30f6969e9cd8b56242309639d58acea21c99d06";
in
mkDerivation {
pname = "changelog-d";
version = "0.1";
src = pkgs.fetchurl {
name = "changelog-d-${rev}.tar.gz";
url = "https://codeberg.org/roberth/changelog-d/archive/${rev}.tar.gz";
hash = "sha256-8a2+i5u7YoszAgd5OIEW0eYUcP8yfhtoOIhLJkylYJ4=";
} // { inherit rev; };
isLibrary = false;
isExecutable = true;
libraryHaskellDepends = [
aeson base bytestring cabal-install-parsers Cabal-syntax containers
directory filepath frontmatter generic-lens-lite mtl parsec pretty
regex-applicative text
];
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";
}

31
misc/changelog-d.nix Normal file
View file

@ -0,0 +1,31 @@
# Taken temporarily from <nixpkgs/pkgs/by-name/ch/changelog-d/package.nix>
{
callPackage,
lib,
haskell,
haskellPackages,
}:
let
hsPkg = haskellPackages.callPackage ./changelog-d.cabal.nix { };
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}";
meta = oldAttrs.meta // {
homepage = "https://codeberg.org/roberth/changelog-d";
maintainers = [ lib.maintainers.roberth ];
};
};
in
(haskellModifications hsPkg).overrideAttrs mkDerivationOverrides