diff options
author | William A. Kennington III <william@wkennington.com> | 2015-05-14 17:30:55 -0700 |
---|---|---|
committer | William A. Kennington III <william@wkennington.com> | 2015-05-14 17:58:30 -0700 |
commit | 3a5e10e37f297e3df0da656d08ea211aa9e1187a (patch) | |
tree | d6ef8d3829b59d13575ec358265283f4efd65a69 | |
parent | 1e517dbd45bbb0968a2917dd97a4cf4a93574ba5 (diff) | |
download | nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.tar nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.tar.gz nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.tar.bz2 nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.tar.lz nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.tar.xz nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.tar.zst nixlib-3a5e10e37f297e3df0da656d08ea211aa9e1187a.zip |
buildGoPackage: Support adding extra sources
-rw-r--r-- | pkgs/development/go-modules/generic/default.nix | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix index 76828784a9d5..fce307e063c5 100644 --- a/pkgs/development/go-modules/generic/default.nix +++ b/pkgs/development/go-modules/generic/default.nix @@ -5,7 +5,14 @@ # Go import path of the package , goPackagePath -, meta ? {}, ... } @ args: +# Extra sources to include in the gopath +, extraSrcs ? [ ] + +, meta ? {}, ... } @ args': + +let + args = lib.filterAttrs (name: _: name != "extraSrcs") args'; +in go.stdenv.mkDerivation ( args // { name = "go${go.meta.branch}-${name}"; @@ -14,10 +21,20 @@ go.stdenv.mkDerivation ( args // { configurePhase = args.configurePhase or '' runHook preConfigure + # Extract the source cd "$NIX_BUILD_TOP" mkdir -p "go/src/$(dirname "$goPackagePath")" mv "$sourceRoot" "go/src/$goPackagePath" + '' + lib.flip lib.concatMapStrings extraSrcs ({ src, goPackagePath }: '' + mkdir extraSrc + (cd extraSrc; unpackFile "${src}") + mkdir -p "go/src/$(dirname "${goPackagePath}")" + chmod -R u+w extraSrc/* + mv extraSrc/* "go/src/${goPackagePath}" + rmdir extraSrc + + '') + '' GOPATH=$NIX_BUILD_TOP/go:$GOPATH runHook postConfigure |