about summary refs log tree commit diff
path: root/pkgs/applications/version-management/gitea
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2020-03-20 01:32:16 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2020-03-20 22:58:19 +0100
commitcbceee8e9755395f0ad843cdbf2a259ba1ab10e1 (patch)
tree61cb6d5e0458bb939cc6b6f232a1e20c0bff047c /pkgs/applications/version-management/gitea
parent4027538dfef3847efaddeb08a7894176d478a746 (diff)
downloadnixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.tar
nixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.tar.gz
nixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.tar.bz2
nixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.tar.lz
nixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.tar.xz
nixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.tar.zst
nixlib-cbceee8e9755395f0ad843cdbf2a259ba1ab10e1.zip
gitea: 1.10.3 -> 1.11.3
Updates `gitea` to the latest version available[1]. Also ensured that
upgrading from `gitea-1.9` (used on NixOS 19.09) to `1.11.3` works
seamlessly.

The derivation required a few more changes this time since `gitea` uses
`npm` now to build the frontend[2]. When using the default tarball from
GitHub, we'd have to build the frontend manually. By fetching a custom
tarball published on every release, we get a prebuilt frontend
(as it was the case on previous versions) and build the backend only from
source.

Co-authored-by: kolaente <k@knt.li>
Closes #80175

[1] https://github.com/go-gitea/gitea/releases/tag/v1.11.3
[2] https://github.com/go-gitea/gitea/issues/10253
Diffstat (limited to 'pkgs/applications/version-management/gitea')
-rw-r--r--pkgs/applications/version-management/gitea/default.nix33
-rw-r--r--pkgs/applications/version-management/gitea/static-root-path.patch16
2 files changed, 23 insertions, 26 deletions
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 2bd1f6434b7b..164392ef4cec 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper
+{ stdenv, buildGoPackage, fetchurl, makeWrapper
 , git, bash, gzip, openssh, pam
 , sqliteSupport ? true
 , pamSupport ? true
@@ -8,23 +8,20 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.10.3";
+  version = "1.11.3";
 
-  src = fetchFromGitHub {
-    owner = "go-gitea";
-    repo = "gitea";
-    rev = "v${version}";
-    sha256 = "04jg1b0d1fbhnk434dnffc2c118gs084za3m33lxwf5lxzlbbimc";
-    # Required to generate the same checksum on MacOS due to unicode encoding differences
-    # More information: https://github.com/NixOS/nixpkgs/pull/48128
-    extraPostFetch = ''
-      rm -rf $out/integrations
-      rm -rf $out/vendor/github.com/Unknown/cae/tz/testdata
-      rm -rf $out/vendor/github.com/Unknown/cae/zip/testdata
-      rm -rf $out/vendor/gopkg.in/macaron.v1/fixtures
-    '';
+  src = fetchurl {
+    url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
+    sha256 = "1v0i7cppdqb02d73qq0bxzz8yydn17jh0g83y3cq3k48awlk22sx";
   };
 
+  unpackPhase = ''
+    mkdir source/
+    tar xvf $src -C source/
+  '';
+
+  sourceRoot = "source";
+
   patches = [ ./static-root-path.patch ];
 
   postPatch = ''
@@ -50,9 +47,9 @@ buildGoPackage rec {
 
   postInstall = ''
     mkdir $data
-    cp -R $src/{public,templates,options} $data
+    cp -R ./go/src/${goPackagePath}/{public,templates,options} $data
     mkdir -p $out
-    cp -R $src/options/locale $out/locale
+    cp -R ./go/src/${goPackagePath}/options/locale $out/locale
 
     wrapProgram $bin/bin/gitea \
       --prefix PATH : ${makeBinPath [ bash git gzip openssh ]}
@@ -64,6 +61,6 @@ buildGoPackage rec {
     description = "Git with a cup of tea";
     homepage = "https://gitea.io";
     license = licenses.mit;
-    maintainers = with maintainers; [ disassembler kolaente ];
+    maintainers = with maintainers; [ disassembler kolaente ma27 ];
   };
 }
diff --git a/pkgs/applications/version-management/gitea/static-root-path.patch b/pkgs/applications/version-management/gitea/static-root-path.patch
index 7c36afdff84c..985dbe04082c 100644
--- a/pkgs/applications/version-management/gitea/static-root-path.patch
+++ b/pkgs/applications/version-management/gitea/static-root-path.patch
@@ -1,13 +1,13 @@
-diff --git i/modules/setting/setting.go w/modules/setting/setting.go
-index aafe2d1b..1e4a8064 100644
---- i/modules/setting/setting.go
-+++ w/modules/setting/setting.go
-@@ -730,7 +730,7 @@ func NewContext() {
- 	LocalURL = sec.Key("LOCAL_ROOT_URL").MustString(defaultLocalURL)
+diff --git a/modules/setting/setting.go b/modules/setting/setting.go
+index 714015c47..a2f85337e 100644
+--- a/modules/setting/setting.go
++++ b/modules/setting/setting.go
+@@ -641,7 +641,7 @@ func NewContext() {
+ 	PortToRedirect = sec.Key("PORT_TO_REDIRECT").MustString("80")
  	OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
  	DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
 -	StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(AppWorkPath)
 +	StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString("@data@")
-	AppDataPath = sec.Key("APP_DATA_PATH").MustString(path.Join(AppWorkPath, "data"))
+ 	StaticCacheTime = sec.Key("STATIC_CACHE_TIME").MustDuration(6 * time.Hour)
+ 	AppDataPath = sec.Key("APP_DATA_PATH").MustString(path.Join(AppWorkPath, "data"))
  	EnableGzip = sec.Key("ENABLE_GZIP").MustBool()
- 	EnablePprof = sec.Key("ENABLE_PPROF").MustBool(false)