tvl-depot/users/sterni/nix/html/tests/default.nix
sterni 0c178a0ef6 chore(3p/sources): Bump channels & overlays
Upstream nixpkgs removed a lot of aliases this time, so we needed to do
the following transformations. It's a real shame that aliases only
really become discoverable easily when they are removed.

* runCommandNoCC -> runCommand
* gmailieer -> lieer
  We also need to work around the fact that home-manager hasn't catched
  on to this rename.
* mysql -> mariadb
* pkgconfig -> pkg-config
  This also affects our Nix fork which needs to be bumped.
* prometheus_client -> prometheus-client
* rxvt_unicode -> rxvt-unicode-unwrapped
* nix-review -> nixpkgs-review
* oauth2_proxy -> oauth2-proxy

Additionally, some Go-related builders decided to drop support for
passing the sha256 hash in directly, so we need to use the generic hash
arguments.

Change-Id: I84aaa225ef18962937f8616a9ff064822f0d5dc3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6792
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-09-28 08:02:31 +00:00

93 lines
2.3 KiB
Nix

{ depot, pkgs, ... }:
let
inherit (depot.users.sterni.nix.html)
__findFile
esc
withDoctype
;
exampleDocument = withDoctype (<html> { lang = "en"; } [
(<head> { } [
(<meta> { charset = "utf-8"; } null)
(<title> { } "html.nix example document")
(<link>
{
rel = "license";
href = "https://code.tvl.fyi/about/LICENSE";
type = "text/html";
}
null)
(<style> { } (esc ''
hgroup h2 {
font-weight: normal;
}
dd {
margin: 0;
}
''))
])
(<body> { } [
(<main> { } [
(<hgroup> { } [
(<h1> { } (esc "html.nix"))
(<h2> { } [
(<em> { } "the")
(esc " most cursed HTML DSL ever!")
])
])
(<dl> { } [
(<dt> { } [
(esc "Q: Wait, it's all ")
(<a>
{
href = "https://cl.tvl.fyi/q/hashtag:cursed";
}
(esc "cursed"))
(esc " nix hacks?")
])
(<dd> { } (esc "A: Always has been. 🔫"))
(<dt> { } (esc "Q: Why does this work?"))
(<dd> { } [
(esc "Because nix ")
(<a>
{
href = "https://github.com/NixOS/nix/blob/293220bed5a75efc963e33c183787e87e55e28d9/src/libexpr/parser.y#L410-L416";
}
(esc "translates "))
(<a>
{
href = "https://github.com/NixOS/nix/blob/293220bed5a75efc963e33c183787e87e55e28d9/src/libexpr/lexer.l#L100";
}
(esc "SPATH tokens"))
(esc " like ")
(<code> { } (esc "<nixpkgs>"))
(esc " into calls to ")
(<code> { } (esc "__findFile"))
(esc " in the ")
(<em> { } (esc "current"))
(esc " scope.")
])
])
])
])
]);
in
pkgs.runCommand "html.nix.html"
{
passAsFile = [ "exampleDocument" ];
inherit exampleDocument;
nativeBuildInputs = [ pkgs.html5validator ];
} ''
set -x
test "${esc "<> && \" \'"}" = "&lt;&gt; &amp;&amp; &quot; &#039;"
# slow as hell unfortunately
html5validator "$exampleDocumentPath"
mv "$exampleDocumentPath" "$out"
set +x
''