32 lines
1.1 KiB
Nix
32 lines
1.1 KiB
Nix
{ unzip
|
|
, gqlgenVersion
|
|
}:
|
|
{
|
|
overrideModAttrs = (_: {
|
|
# No need to workaround -trimpath: it's not used in goModules,
|
|
# but do download `go generate`'s dependencies nonetheless.
|
|
preBuild = ''
|
|
if [ -d ./loaders ]; then go generate ./loaders; fi
|
|
if [ -d ./graph ]; then go generate ./graph; fi
|
|
'';
|
|
});
|
|
|
|
# Workaround this error:
|
|
# go: git.sr.ht/~emersion/go-emailthreads@v0.0.0-20220412093310-4fd792e343ba: module lookup disabled by GOPROXY=off
|
|
# tidy failed: go mod tidy failed: exit status 1
|
|
# graph/generate.go:10: running "go": exit status 1
|
|
proxyVendor = true;
|
|
|
|
nativeBuildInputs = [ unzip ];
|
|
|
|
# Workaround -trimpath in the package derivation:
|
|
# https://github.com/99designs/gqlgen/issues/1537
|
|
# This is to give `go generate ./graph` access to gqlgen's *.gotpl files
|
|
# If it fails, the gqlgenVersion may have to be updated.
|
|
preBuild = ''
|
|
unzip ''${GOPROXY#"file://"}/github.com/99designs/gqlgen/@v/v${gqlgenVersion}.zip
|
|
if [ -d ./loaders ]; then go generate ./loaders; fi
|
|
if [ -d ./graph ]; then go generate ./graph; fi
|
|
rm -rf github.com
|
|
'';
|
|
}
|