diff options
Diffstat (limited to 'pkgs/development/nim-packages/fetch-nimble')
-rw-r--r-- | pkgs/development/nim-packages/fetch-nimble/builder.sh | 12 | ||||
-rw-r--r-- | pkgs/development/nim-packages/fetch-nimble/default.nix | 20 |
2 files changed, 32 insertions, 0 deletions
diff --git a/pkgs/development/nim-packages/fetch-nimble/builder.sh b/pkgs/development/nim-packages/fetch-nimble/builder.sh new file mode 100644 index 000000000000..693ab339408e --- /dev/null +++ b/pkgs/development/nim-packages/fetch-nimble/builder.sh @@ -0,0 +1,12 @@ +source $stdenv/setup +export HOME=$NIX_BUILD_TOP + +nimble --accept --noSSLCheck develop "${pkgname}@${version}" +# TODO: bring in the certificates for Nimble to verify the fetch of +# the package list. + +pkgdir=${NIX_BUILD_TOP}/${pkgname} + +find "$pkgdir" -name .git -print0 | xargs -0 rm -rf + +cp -a "$pkgdir" "$out" diff --git a/pkgs/development/nim-packages/fetch-nimble/default.nix b/pkgs/development/nim-packages/fetch-nimble/default.nix new file mode 100644 index 000000000000..ccdacc8e27b9 --- /dev/null +++ b/pkgs/development/nim-packages/fetch-nimble/default.nix @@ -0,0 +1,20 @@ +{ lib, makeOverridable, stdenv, gitMinimal, nim, cacert }: + +makeOverridable ( + + { pname, version, hash ? lib.fakeHash, + + meta ? { }, passthru ? { }, preferLocalBuild ? true }: + stdenv.mkDerivation { + inherit version meta passthru preferLocalBuild; + pname = pname + "-src"; + pkgname = pname; + builder = ./builder.sh; + nativeBuildInputs = [ gitMinimal nim ]; + outputHash = hash; + outputHashAlgo = null; + outputHashMode = "recursive"; + impureEnvVars = lib.fetchers.proxyImpureEnvVars + ++ [ "GIT_PROXY_COMMAND" "SOCKS_SERVER" ]; + GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + }) |