forgejo: fix applying of our `STATIC_ROOT_PATH` patch

This fixes an issue where running the forgejo package standalone,
without the use of our nixos/forgejo module, would try to use a
directory named `@data@` for its `STATIC_ROOT_PATH` assets.

This went unnoticed until now, because most users use the nixos/forgejo
module in which we explicitly set this option/setting/path to
`cfg.package.data` by default (`pkgs.forgejo.data`).

Also, this commit hard-copies the patch in question from gitea to our
nixpkgs derivation directory.

We decided a long time ago to part ways, and forgejo inheriting the
patch from gitea's drv directory puts strain on gitea.

So we don't do that anymore and instead maintain that patch ourselves
from now on.

Unfortunately, `substituteInPlace --subst-var` does not error, when the
substitution fails.

This would have prevented this issue from going unnoticed.
This commit is contained in:
emilylange 2024-03-28 20:10:53 +01:00
parent b40caf8c8a
commit 9fb68677e4
No known key found for this signature in database
GPG Key ID: 0AD773CE46FD0F87
2 changed files with 15 additions and 2 deletions

View File

@ -59,11 +59,11 @@ buildGoModule rec {
buildInputs = lib.optional pamSupport pam;
patches = [
./../gitea/static-root-path.patch
./static-root-path.patch
];
postPatch = ''
substituteInPlace modules/setting/setting.go --subst-var data
substituteInPlace modules/setting/server.go --subst-var data
'';
tags = lib.optional pamSupport "pam"

View File

@ -0,0 +1,13 @@
diff --git a/modules/setting/server.go b/modules/setting/server.go
index 183906268..fa02e8915 100644
--- a/modules/setting/server.go
+++ b/modules/setting/server.go
@@ -319,7 +319,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
Log.DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
if len(StaticRootPath) == 0 {
- StaticRootPath = AppWorkPath
+ StaticRootPath = "@data@"
}
StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(StaticRootPath)
StaticCacheTime = sec.Key("STATIC_CACHE_TIME").MustDuration(6 * time.Hour)