mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-19 04:02:10 +00:00
buildGoPackage: check/delete vendor
This commit is contained in:
parent
945fdbe1b9
commit
23c781a810
|
@ -117,7 +117,9 @@ deis = buildGoPackage rec {
|
|||
|
||||
goDeps = ./deps.nix; <co xml:id='ex-buildGoPackage-3' />
|
||||
|
||||
buildFlags = [ "--tags" "release" ]; <co xml:id='ex-buildGoPackage-4' />
|
||||
deleteVendor = true; <co xml:id='ex-buildGoPackage-4' />
|
||||
|
||||
buildFlags = [ "--tags" "release" ]; <co xml:id='ex-buildGoPackage-5' />
|
||||
}
|
||||
</programlisting>
|
||||
</example>
|
||||
|
@ -144,6 +146,11 @@ deis = buildGoPackage rec {
|
|||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-buildGoPackage-4'>
|
||||
<para>
|
||||
<varname>deleteVendor</varname> removes the pre-existing vendor directory. This should only be used if the dependencies included in the vendor folder are broken or incomplete.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-buildGoPackage-5'>
|
||||
<para>
|
||||
<varname>buildFlags</varname> is a list of flags passed to the go build command.
|
||||
</para>
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
# go2nix dependency file
|
||||
, goDeps ? null
|
||||
|
||||
# Whether to delete the vendor folder supplied with the source.
|
||||
, deleteVendor ? false
|
||||
|
||||
, dontRenameImports ? false
|
||||
|
||||
# Do not enable this without good reason
|
||||
|
@ -96,6 +99,18 @@ let
|
|||
mkdir -p "go/src/$(dirname "$goPackagePath")"
|
||||
mv "$sourceRoot" "go/src/$goPackagePath"
|
||||
|
||||
'' + lib.optionalString (deleteVendor == true) ''
|
||||
if [ ! -d "go/src/$goPackagePath/vendor" ]; then
|
||||
echo "vendor folder does not exist, 'deleteVendor' is not needed"
|
||||
exit 10
|
||||
else
|
||||
rm -rf "go/src/$goPackagePath/vendor"
|
||||
fi
|
||||
'' + lib.optionalString (goDeps != null) ''
|
||||
if [ -d "go/src/$goPackagePath/vendor" ]; then
|
||||
echo "vendor folder exists, 'goDeps' is not needed"
|
||||
exit 10
|
||||
fi
|
||||
'' + lib.flip lib.concatMapStrings goPath ({ src, goPackagePath }: ''
|
||||
mkdir goPath
|
||||
(cd goPath; unpackFile "${src}")
|
||||
|
|
Loading…
Reference in a new issue