Skip to content

Commit

Permalink
Merge pull request #9573 from hercules-ci/rl-next-md-frontmatter
Browse files Browse the repository at this point in the history
rl-next: Fix and support markdown frontmatter syntax
  • Loading branch information
roberth authored Dec 9, 2023
2 parents c8458bd + a856f60 commit 69b7876
Show file tree
Hide file tree
Showing 10 changed files with 94 additions and 33 deletions.
5 changes: 3 additions & 2 deletions doc/manual/rl-next/hash-format-nix32.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
synopsis: Rename hash format `base32` to `nix32`
prs: #9452
description: {
prs: 9452
---

Hash format `base32` was renamed to `nix32` since it used a special nix-specific character set for
[Base32](https://en.wikipedia.org/wiki/Base32).
Expand Down
9 changes: 4 additions & 5 deletions doc/manual/rl-next/mounted-ssh-store.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
synopsis: Mounted SSH Store
issues: #7890
prs: #7912
description: {
issues: 7890
prs: 7912
---

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.

}
11 changes: 5 additions & 6 deletions doc/manual/rl-next/nix-config-show.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
synopsis: `nix config show`
issues: #7672
prs: #9477
description: {
---
synopsis: Rename to `nix config show`
issues: 7672
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.

}
9 changes: 3 additions & 6 deletions doc/manual/rl-next/nix-env-json-drv-path.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
---
synopsis: Fix `nix-env --query --drv-path --json`
prs: #9257
description: {
prs: 9257
---

Fixed a bug where `nix-env --query` ignored `--drv-path` when `--json` was set.

}


6 changes: 3 additions & 3 deletions doc/manual/rl-next/nix-hash-convert.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
synopsis: Add `nix hash convert`
prs: #9452
description: {
prs: 9452
---

New [`nix hash convert`](https://github.com/NixOS/nix/issues/8876) sub command with a fast track
to stabilization! Examples:
Expand Down Expand Up @@ -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-sri $hash1 $hash2`: : Use `nix hash convert --to sri $hash1 $hash2`
or even just `nix hash convert $hash1 $hash2` instead.
}
9 changes: 4 additions & 5 deletions doc/manual/rl-next/source-positions-in-errors.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
synopsis: Source locations are printed more consistently in errors
issues: #561
prs: #9555
description: {
issues: 561
prs: 9555
---

Source location information is now included in error messages more
consistently. Given this code:
Expand Down Expand Up @@ -39,5 +40,3 @@ error:
error: value is a set while a string was expected
```

}
9 changes: 4 additions & 5 deletions doc/manual/src/contributing/hacking.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

```
---
synopsis: Basically a title
issues: #1234
prs: #1238
description: {
issues: 1234
prs: 1238
---
Here's one or more paragraphs that describe the change.
- It's markdown
- Add references to the manual using @docroot@
}
```

Significant changes should add the following header, which moves them to the top.
Expand Down
7 changes: 6 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@
"--enable-internal-api-docs"
];

changelog-d = pkgs.buildPackages.changelog-d;
changelog-d = pkgs.buildPackages.callPackage ./misc/changelog-d.nix { };

nativeBuildDeps =
[
Expand Down Expand Up @@ -691,6 +691,11 @@
perlBindings = self.hydraJobs.perlBindings.${system};
installTests = self.hydraJobs.installTests.${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)) {
dockerImage = self.hydraJobs.dockerImage.${system};
});
Expand Down
31 changes: 31 additions & 0 deletions misc/changelog-d.cabal.nix
Original file line number Diff line number Diff line change
@@ -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 changes: 31 additions & 0 deletions misc/changelog-d.nix
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 69b7876

Please sign in to comment.