b426c85ce2
This requires some small changes in the stdenv, then working around the weird choice LLVM made to hardcode @rpath in its install name, and then lets us remove a ton of annoying workaround hacks in many of our Go packages. With any luck this will mean less hackery going forward.
49 lines
1.0 KiB
Nix
49 lines
1.0 KiB
Nix
{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper
|
|
, git, coreutils, bash, gzip, openssh
|
|
, sqliteSupport ? true
|
|
}:
|
|
|
|
with stdenv.lib;
|
|
|
|
buildGoPackage rec {
|
|
name = "gogs-${version}";
|
|
version = "0.11.29";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "gogits";
|
|
repo = "gogs";
|
|
rev = "v${version}";
|
|
sha256 = "1xn1b4dxf7r8kagps3yvp31zskfxn50k1gfic9abl4kjwpwk78c0";
|
|
};
|
|
|
|
patches = [ ./static-root-path.patch ];
|
|
|
|
postPatch = ''
|
|
patchShebangs .
|
|
substituteInPlace pkg/setting/setting.go --subst-var data
|
|
'';
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
buildFlags = optionalString sqliteSupport "-tags sqlite";
|
|
|
|
outputs = [ "bin" "out" "data" ];
|
|
|
|
postInstall = ''
|
|
mkdir $data
|
|
cp -R $src/{public,templates} $data
|
|
|
|
wrapProgram $bin/bin/gogs \
|
|
--prefix PATH : ${makeBinPath [ bash git gzip openssh ]}
|
|
'';
|
|
|
|
goPackagePath = "github.com/gogits/gogs";
|
|
|
|
meta = {
|
|
description = "A painless self-hosted Git service";
|
|
homepage = https://gogs.io;
|
|
license = licenses.mit;
|
|
maintainers = [ maintainers.schneefux ];
|
|
};
|
|
}
|