Add Gitea fork to NUR

main
Carsten Kragelund 2023-05-06 18:17:32 +02:00
parent bc23d8023f
commit 843da5466e
Signed by: nyx
GPG Key ID: CADDADEEC9F753C0
4 changed files with 78 additions and 0 deletions

@ -15,4 +15,5 @@
overlays = import ./overlays; # nixpkgs overlays
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./pkgs/firefox-addons { });
gitea-nyx = pkgs.recurseIntoAttrs (pkgs.callPackage ./pkgs/gitea-nyx { });
}

@ -0,0 +1,48 @@
{ pkgs, giteaVersion, ... }:
let
src = pkgs.fetchgit {
url = "https://gitea.pid1.sh/sanctureplicum/gitea.git";
rev = "refs/tags/${giteaVersion}";
hash = "sha256-KQEBq1BFQRLJW9fJq4W1sOsAqOCfNHKY/+cT8rkXxv4=";
};
nodeNix = (import ./node.nix { inherit pkgs giteaVersion src; });
nodeEnv = (pkgs.callPackage (nodeNix + "/default.nix") { });
in
pkgs.buildGoModule rec {
pname = "gitea-build";
version = "${giteaVersion}-nyx";
vendorSha256 = "sha256-gfHyssQrY5r3rQAzonM3Rv/BDIYGEY/PiOZEyoGGeiw=";
inherit src;
nativeBuildInputs = [
pkgs.gnumake
pkgs.go
pkgs.nodejs
pkgs.nodePackages.npm
pkgs.git
];
buildPhase = ''
ln -s ${nodeEnv.nodeDependencies}/lib/node_modules ./node_modules
export PATH="${nodeEnv.nodeDependencies}/bin:$PATH"
TAGS="bindata" VERSION="${version}" make frontend vendor generate release-sources
'';
installPhase = ''
mkdir -p $out
cp dist/release/gitea-src-${version}.tar.gz $out
'';
outputs = [ "out" ];
enableParallelBuilding = false;
meta = with pkgs.lib; {
description = "Build helper for Gitea";
homepage = "https://gitea.com/";
license = licenses.mit;
maintainers = with maintainers; [ nyxkrage ];
platforms = platforms.all;
};
}

@ -0,0 +1,6 @@
{ pkgs, ... }: pkgs.gitea.overrideAttrs (old: rec {
pname = "gitea";
version = "v1.19.3";
src = "${import ./build.nix { inherit pkgs; giteaVersion = version; }}/gitea-src-${version}-nyx.tar.gz";
})

@ -0,0 +1,23 @@
{ pkgs, giteaVersion, src, ... }:
let
escapeSlash = str: builtins.replaceStrings [ "/" ] [ "\\/"] str;
in
pkgs.stdenv.mkDerivation rec {
pname = "gitea-node-env";
version = "${giteaVersion}-nyx";
inherit src;
nativeBuildInputs = [ pkgs.node2nix ];
buildPhase = ''
mkdir nix
node2nix -i ${src}/package.json -l ${src}/package-lock.json
sed -r -i 's/src = .+?nix\/store.+?;/src = fetchgit { url = "${escapeSlash src.url}"; rev = "${escapeSlash src.rev}"; hash = "${escapeSlash src.outputHash}"; };/' node-packages.nix
'';
installPhase = ''
mkdir $out
cp *.nix $out
'';
}