forked from lix-project/lix
Merge remote-tracking branch 'origin/master' into flakes
This commit is contained in:
commit
a2f86ac647
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
custom: https://nixos.org/nixos/foundation.html
|
|
@ -42,7 +42,7 @@ rec {
|
||||||
libxml2
|
libxml2
|
||||||
libxslt
|
libxslt
|
||||||
docbook5
|
docbook5
|
||||||
docbook5_xsl
|
docbook_xsl_ns
|
||||||
autoconf-archive
|
autoconf-archive
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
];
|
];
|
||||||
|
|
|
@ -18,7 +18,7 @@ cleanup() {
|
||||||
trap cleanup EXIT INT QUIT TERM
|
trap cleanup EXIT INT QUIT TERM
|
||||||
|
|
||||||
require_util() {
|
require_util() {
|
||||||
type "$1" > /dev/null 2>&1 || command -v "$1" > /dev/null 2>&1 ||
|
command -v "$1" > /dev/null 2>&1 ||
|
||||||
oops "you do not have '$1' installed, which I need to $2"
|
oops "you do not have '$1' installed, which I need to $2"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,11 +41,11 @@ require_util tar "unpack the binary tarball"
|
||||||
echo "downloading Nix @nixVersion@ binary tarball for $system from '$url' to '$tmpDir'..."
|
echo "downloading Nix @nixVersion@ binary tarball for $system from '$url' to '$tmpDir'..."
|
||||||
curl -L "$url" -o "$tarball" || oops "failed to download '$url'"
|
curl -L "$url" -o "$tarball" || oops "failed to download '$url'"
|
||||||
|
|
||||||
if type sha256sum > /dev/null 2>&1; then
|
if command -v sha256sum > /dev/null 2>&1; then
|
||||||
hash2="$(sha256sum -b "$tarball" | cut -c1-64)"
|
hash2="$(sha256sum -b "$tarball" | cut -c1-64)"
|
||||||
elif type shasum > /dev/null 2>&1; then
|
elif command -v shasum > /dev/null 2>&1; then
|
||||||
hash2="$(shasum -a 256 -b "$tarball" | cut -c1-64)"
|
hash2="$(shasum -a 256 -b "$tarball" | cut -c1-64)"
|
||||||
elif type openssl > /dev/null 2>&1; then
|
elif command -v openssl > /dev/null 2>&1; then
|
||||||
hash2="$(openssl dgst -r -sha256 "$tarball" | cut -c1-64)"
|
hash2="$(openssl dgst -r -sha256 "$tarball" | cut -c1-64)"
|
||||||
else
|
else
|
||||||
oops "cannot verify the SHA-256 hash of '$url'; you need one of 'shasum', 'sha256sum', or 'openssl'"
|
oops "cannot verify the SHA-256 hash of '$url'; you need one of 'shasum', 'sha256sum', or 'openssl'"
|
||||||
|
|
|
@ -64,7 +64,8 @@ void builtinFetchurl(const BasicDerivation & drv, const std::string & netrcData)
|
||||||
try {
|
try {
|
||||||
if (!hasSuffix(hashedMirror, "/")) hashedMirror += '/';
|
if (!hasSuffix(hashedMirror, "/")) hashedMirror += '/';
|
||||||
auto ht = parseHashType(getAttr("outputHashAlgo"));
|
auto ht = parseHashType(getAttr("outputHashAlgo"));
|
||||||
fetch(hashedMirror + printHashType(ht) + "/" + Hash(getAttr("outputHash"), ht).to_string(Base16, false));
|
auto h = Hash(getAttr("outputHash"), ht);
|
||||||
|
fetch(hashedMirror + printHashType(h.type) + "/" + h.to_string(Base16, false));
|
||||||
return;
|
return;
|
||||||
} catch (Error & e) {
|
} catch (Error & e) {
|
||||||
debug(e.what());
|
debug(e.what());
|
||||||
|
|
|
@ -42,6 +42,10 @@ ln -s $(pwd)/fetchurl.sh $mirror/sha512/$hash32
|
||||||
|
|
||||||
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr sha512 $hash --no-out-link --hashed-mirrors "file://$mirror")
|
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr sha512 $hash --no-out-link --hashed-mirrors "file://$mirror")
|
||||||
|
|
||||||
|
# Test hashed mirrors with an SRI hash.
|
||||||
|
nix-build '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr hash $(nix to-sri --type sha512 $hash) \
|
||||||
|
--argstr name bla --no-out-link --hashed-mirrors "file://$mirror"
|
||||||
|
|
||||||
# Test unpacking a NAR.
|
# Test unpacking a NAR.
|
||||||
rm -rf $TEST_ROOT/archive
|
rm -rf $TEST_ROOT/archive
|
||||||
mkdir -p $TEST_ROOT/archive
|
mkdir -p $TEST_ROOT/archive
|
||||||
|
|
Loading…
Reference in a new issue