fix(ops/forgejo): update forgejo to 12.0.1, re-vendor gerrit patches, and fix emoji links
- Update Forgejo from 11.0.1 to 12.0.1, match upstream (see #80, cl 30121). - Re-vendor and refresh Gerrit integration patches from lix to restore compatibility (patches broke @ cl 30628). - Update dead emoji asset links to new locations, borrowed from lix infra (old URLs 404'd). - Fixes build failure for ops.nixos.public01System (#169). Context: - Forgejo build broke after nixpkgs channel bump (cl 30628) due to outdated patches (#169). - Emoji assets previously fetched from volpeon.ink are now archived or moved; new URLs and hashes are from lix infra. - Gerrit patches are yoinked from lix again to restore code review tab and Gerrit CL linking (thanks emilylange). Closes: #169 Refs: #80 Change-Id: I6a6a696423a6360b4056892e171df2baf6fa7206 Reviewed-on: https://cl.snix.dev/c/snix/+/30645 Tested-by: besadii Autosubmit: Oleksandr Knyshuk <olk@disr.it> Reviewed-by: Florian Klink <flokli@flokli.de>
This commit is contained in:
parent
4aa1137d8e
commit
2b03762a05
3 changed files with 32 additions and 43 deletions
|
|
@ -9,34 +9,26 @@ let
|
||||||
inherit (lib) types mkEnableOption mkOption mkIf;
|
inherit (lib) types mkEnableOption mkOption mkIf;
|
||||||
emojo =
|
emojo =
|
||||||
let
|
let
|
||||||
handlePostFetch = ''
|
|
||||||
for i in $out/*_256.png; do
|
|
||||||
mv $i $(echo $i | sed -E 's/_256//g')
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
drgn = pkgs.fetchzip {
|
drgn = pkgs.fetchzip {
|
||||||
url = "https://volpeon.ink/emojis/drgn/drgn.zip";
|
url = "https://web.archive.org/web/20250724193550/https://strapi.volpeon.ink/uploads/drgn_d23daa833a.zip";
|
||||||
|
hash = "sha256-X46WhsksMpPDC8q3nuvsk4rydg0iFwe70qvsgaKqHMU=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
sha256 = "sha256-/2MpbxMJC92a4YhwG5rP6TsDC/q1Ng5fFq4xe2cBrrM=";
|
|
||||||
postFetch = handlePostFetch;
|
|
||||||
};
|
};
|
||||||
neocat = pkgs.fetchzip {
|
neocat = pkgs.fetchzip {
|
||||||
url = "https://volpeon.ink/emojis/neocat/neocat.zip";
|
url = "https://web.archive.org/web/20250724194945/https://strapi.volpeon.ink/uploads/neocat_5359f48261.zip";
|
||||||
|
hash = "sha256-+oGg5H1o7MOLrZv0efpiW65OKH9veHM7EHsTmtPMrNQ=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
sha256 = "sha256-Irh6Mv6ICDkaaenIFf8Cm1AFkdZy0gRVbXqgnwpk3Qw=";
|
|
||||||
postFetch = handlePostFetch;
|
|
||||||
};
|
};
|
||||||
neofox = pkgs.fetchzip {
|
neofox = pkgs.fetchzip {
|
||||||
url = "https://volpeon.ink/emojis/neofox/neofox.zip";
|
url = "http://web.archive.org/web/20250724195231/https://strapi.volpeon.ink/uploads/neofox_e17e757433.zip";
|
||||||
|
hash = "sha256-OS8pT/YGKhfNGaIngU+EwnbVZCkZbnRWaTTYI+q0gpg=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
sha256 = "sha256-FSTVYP/Bt25JfLr/Ny1g9oI9aAvAYLYhct31j3XRXYc=";
|
|
||||||
postFetch = handlePostFetch;
|
|
||||||
};
|
};
|
||||||
dragon = pkgs.fetchFromGitHub {
|
dragn = pkgs.fetchFromGitHub {
|
||||||
owner = "chr-1x";
|
owner = "chr-1x";
|
||||||
repo = "dragn-emoji";
|
repo = "dragn-emoji";
|
||||||
rev = "969543d9918ce2f0794ccd1e41b276d1ab22f0d5";
|
rev = "969543d9918ce2f0794ccd1e41b276d1ab22f0d5";
|
||||||
sha256 = "sha256-+40e9nKaIpQYZUiXh3Qe5jp2uvRbAQYDdXMGLEWHJio=";
|
hash = "sha256-+40e9nKaIpQYZUiXh3Qe5jp2uvRbAQYDdXMGLEWHJio=";
|
||||||
postFetch = ''
|
postFetch = ''
|
||||||
for i in $out/*.svg; do
|
for i in $out/*.svg; do
|
||||||
${pkgs.librsvg}/bin/rsvg-convert -h 256 $i > a.png;
|
${pkgs.librsvg}/bin/rsvg-convert -h 256 $i > a.png;
|
||||||
|
|
@ -47,7 +39,7 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
pkgs.symlinkJoin { name = "emojo"; paths = [ drgn neocat neofox dragon ]; };
|
pkgs.symlinkJoin { name = "emojo"; paths = [ drgn neocat neofox dragn ]; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.services.depot.forgejo = {
|
options.services.depot.forgejo = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
From 0edb45d9dc9a2688c8b66a21df2a555f864fb81c Mon Sep 17 00:00:00 2001
|
From 849657beb310dc099945f695b9d236ce0e649b27 Mon Sep 17 00:00:00 2001
|
||||||
From: Jade Lovelace <software@lfcode.ca>
|
From: Jade Lovelace <software@lfcode.ca>
|
||||||
Date: Thu, 16 May 2024 18:15:54 -0700
|
Date: Thu, 16 May 2024 18:15:54 -0700
|
||||||
Subject: [PATCH 1/2] lix: Make a Code Review (Gerrit) tab
|
Subject: [PATCH 1/2] lix: Make a Code Review (Gerrit) tab
|
||||||
|
|
@ -8,21 +8,21 @@ Subject: [PATCH 1/2] lix: Make a Code Review (Gerrit) tab
|
||||||
1 file changed, 11 insertions(+)
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl
|
diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl
|
||||||
index 21017415c1..c5a36b2203 100644
|
index b6cbfc7283510a26f1fa039aca4a5f4ed4b92a47..bbce2bfbcb5aa83b7ae90b87e6dc22d10469adb7 100644
|
||||||
--- a/templates/repo/header.tmpl
|
--- a/templates/repo/header.tmpl
|
||||||
+++ b/templates/repo/header.tmpl
|
+++ b/templates/repo/header.tmpl
|
||||||
@@ -99,6 +99,11 @@
|
@@ -107,6 +107,12 @@
|
||||||
</a>
|
</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
+ {{if and (eq .Repository.Name "snix") (eq .Repository.OwnerName "snix")}}
|
+ {{if and (eq .Repository.Name "snix") (eq .Repository.OwnerName "snix")}}
|
||||||
+ <a class="item" href="https://cl.snix.dev/q/project:snix">
|
+ <a class="item" href="https://cl.snix.dev/q/project:snix">
|
||||||
+ {{svg "octicon-code-review"}} Code Review (Gerrit)
|
+ {{svg "octicon-code-review"}} Code Review (Gerrit)
|
||||||
+ </a>
|
+ </a>
|
||||||
+ {{end}}
|
+ {{end}}
|
||||||
|
+
|
||||||
{{if .Permission.CanRead $.UnitTypeExternalTracker}}
|
{{if .Permission.CanRead $.UnitTypeExternalTracker}}
|
||||||
<a class="{{if .PageIsIssueList}}active {{end}}item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
|
<a class="{{if .PageIsIssueList}}active {{end}}item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer">
|
||||||
{{svg "octicon-link-external"}} {{ctx.Locale.Tr "repo.issues"}}
|
{{svg "octicon-link-external"}} {{ctx.Locale.Tr "repo.issues"}}
|
||||||
--
|
--
|
||||||
2.45.1
|
2.49.0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,20 @@
|
||||||
From c560d6e110377fb6f42e841a0bd35f80c0f2eb29 Mon Sep 17 00:00:00 2001
|
From 33e71419f21f76e8a242b88dcb6eff7af2bc1b4d Mon Sep 17 00:00:00 2001
|
||||||
From: Jade Lovelace <software@lfcode.ca>
|
From: Jade Lovelace <software@lfcode.ca>
|
||||||
Date: Thu, 16 May 2024 19:56:25 -0700
|
Date: Thu, 16 May 2024 19:56:25 -0700
|
||||||
Subject: [PATCH 2/2] lix: link gerrit cl/ and change-ids
|
Subject: [PATCH 2/2] lix: link gerrit cl/ and change-ids
|
||||||
|
|
||||||
This code is a bit dubious but you know, golang
|
This code is a bit dubious but you know, golang
|
||||||
|
|
||||||
Co-authored-by: Ryan Lahfa <raito@lix.systems>
|
|
||||||
---
|
---
|
||||||
modules/markup/html.go | 59 ++++++++++++++++++++++++++++++++++++++++++
|
modules/markup/html.go | 59 ++++++++++++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 59 insertions(+)
|
1 file changed, 59 insertions(+)
|
||||||
|
|
||||||
diff --git a/modules/markup/html.go b/modules/markup/html.go
|
diff --git a/modules/markup/html.go b/modules/markup/html.go
|
||||||
index 2e65827bf7..2d474077a5 100644
|
index 7961c5c9301f03b89e88d289d032abca921adfff..518ad01b16466fe43f1fc44e9bcac63794d76bbe 100644
|
||||||
--- a/modules/markup/html.go
|
--- a/modules/markup/html.go
|
||||||
+++ b/modules/markup/html.go
|
+++ b/modules/markup/html.go
|
||||||
@@ -50,6 +50,20 @@ var (
|
@@ -51,6 +51,20 @@ var (
|
||||||
// so that abbreviated hash links can be used as well. This matches git and GitHub usability.
|
// so that abbreviated hash links can be used as well. This matches git and GitHub usability.
|
||||||
hashCurrentPattern = regexp.MustCompile(`(?:\s|^|\(|\[)([0-9a-f]{7,64})(?:\s|$|\)|\]|[.,:](\s|$))`)
|
hashCurrentPattern = regexp.MustCompile(`(?:^|\s)[^\w\d]{0,2}([0-9a-f]{7,64})[^\w\d]{0,2}(?:\s|$)`)
|
||||||
|
|
||||||
+ // Gerrit change ID pattern
|
+ // Gerrit change ID pattern
|
||||||
+ changeIdPattern = GerritPattern{
|
+ changeIdPattern = GerritPattern{
|
||||||
|
|
@ -35,7 +33,7 @@ index 2e65827bf7..2d474077a5 100644
|
||||||
// shortLinkPattern matches short but difficult to parse [[name|link|arg=test]] syntax
|
// shortLinkPattern matches short but difficult to parse [[name|link|arg=test]] syntax
|
||||||
shortLinkPattern = regexp.MustCompile(`\[\[(.*?)\]\](\w*)`)
|
shortLinkPattern = regexp.MustCompile(`\[\[(.*?)\]\](\w*)`)
|
||||||
|
|
||||||
@@ -77,6 +91,14 @@ var (
|
@@ -82,6 +96,14 @@ var (
|
||||||
InlineCodeBlockRegex = regexp.MustCompile("`[^`]+`")
|
InlineCodeBlockRegex = regexp.MustCompile("`[^`]+`")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -50,7 +48,15 @@ index 2e65827bf7..2d474077a5 100644
|
||||||
// CSS class for action keywords (e.g. "closes: #1")
|
// CSS class for action keywords (e.g. "closes: #1")
|
||||||
const keywordClass = "issue-keyword"
|
const keywordClass = "issue-keyword"
|
||||||
|
|
||||||
@@ -152,6 +174,7 @@ var defaultProcessors = []processor{
|
@@ -158,6 +180,7 @@ var defaultProcessors = []processor{
|
||||||
|
commitCrossReferencePatternProcessor,
|
||||||
|
hashCurrentPatternProcessor,
|
||||||
|
fediAddressProcessor,
|
||||||
|
+ gerritCLPatternProcessor,
|
||||||
|
emailAddressProcessor,
|
||||||
|
emojiProcessor,
|
||||||
|
emojiShortCodeProcessor,
|
||||||
|
@@ -185,6 +208,7 @@ var commitMessageProcessors = []processor{
|
||||||
issueIndexPatternProcessor,
|
issueIndexPatternProcessor,
|
||||||
commitCrossReferencePatternProcessor,
|
commitCrossReferencePatternProcessor,
|
||||||
hashCurrentPatternProcessor,
|
hashCurrentPatternProcessor,
|
||||||
|
|
@ -58,15 +64,7 @@ index 2e65827bf7..2d474077a5 100644
|
||||||
emailAddressProcessor,
|
emailAddressProcessor,
|
||||||
emojiProcessor,
|
emojiProcessor,
|
||||||
emojiShortCodeProcessor,
|
emojiShortCodeProcessor,
|
||||||
@@ -179,6 +202,7 @@ var commitMessageProcessors = []processor{
|
@@ -792,6 +816,41 @@ func shortLinkProcessor(ctx *RenderContext, node *html.Node) {
|
||||||
issueIndexPatternProcessor,
|
|
||||||
commitCrossReferencePatternProcessor,
|
|
||||||
hashCurrentPatternProcessor,
|
|
||||||
+ gerritCLPatternProcessor,
|
|
||||||
emailAddressProcessor,
|
|
||||||
emojiProcessor,
|
|
||||||
emojiShortCodeProcessor,
|
|
||||||
@@ -788,6 +812,41 @@ func shortLinkProcessor(ctx *RenderContext, node *html.Node) {
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -109,5 +107,4 @@ index 2e65827bf7..2d474077a5 100644
|
||||||
if ctx.Metas == nil {
|
if ctx.Metas == nil {
|
||||||
return
|
return
|
||||||
--
|
--
|
||||||
2.47.0
|
2.49.0
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue