Merge pull request #17837 from MostAwesomeDude/fossil
build-support: Add fetchfossil function.
This commit is contained in:
commit
76dca3d0e0
22
pkgs/build-support/fetchfossil/builder.sh
Normal file
22
pkgs/build-support/fetchfossil/builder.sh
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
source $stdenv/setup
|
||||||
|
header "Cloning Fossil $url [$rev] into $out"
|
||||||
|
|
||||||
|
# Fossil, bless its adorable little heart, wants to write global configuration
|
||||||
|
# to $HOME/.fossil. AFAICT, there is no way to disable this functionality.
|
||||||
|
# Instead, we'll let it write to the build directory.
|
||||||
|
export HOME=$(pwd)
|
||||||
|
|
||||||
|
# We must explicitly set the admin user for the clone to something reasonable.
|
||||||
|
fossil clone -A nobody "$url" fossil-clone.fossil
|
||||||
|
|
||||||
|
mkdir fossil-clone
|
||||||
|
WORKDIR=$(pwd)
|
||||||
|
mkdir $out
|
||||||
|
pushd $out
|
||||||
|
fossil open "$WORKDIR/fossil-clone.fossil" "$rev"
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Just nuke the checkout file.
|
||||||
|
rm $out/.fslckout
|
||||||
|
|
||||||
|
stopNest
|
20
pkgs/build-support/fetchfossil/default.nix
Normal file
20
pkgs/build-support/fetchfossil/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{stdenv, fossil}:
|
||||||
|
|
||||||
|
{name ? null, url, rev, sha256}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "fossil-archive" + (if name != null then "-${name}" else "");
|
||||||
|
builder = ./builder.sh;
|
||||||
|
buildInputs = [fossil];
|
||||||
|
|
||||||
|
# Envvar docs are hard to find. A link for the future:
|
||||||
|
# https://www.fossil-scm.org/index.html/doc/trunk/www/env-opts.md
|
||||||
|
impureEnvVars = [ "http_proxy" ];
|
||||||
|
|
||||||
|
outputHashAlgo = "sha256";
|
||||||
|
outputHashMode = "recursive";
|
||||||
|
outputHash = sha256;
|
||||||
|
|
||||||
|
inherit url rev;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
}
|
@ -162,6 +162,8 @@ in
|
|||||||
|
|
||||||
fetchdarcs = callPackage ../build-support/fetchdarcs { };
|
fetchdarcs = callPackage ../build-support/fetchdarcs { };
|
||||||
|
|
||||||
|
fetchfossil = callPackage ../build-support/fetchfossil { };
|
||||||
|
|
||||||
fetchgit = callPackage ../build-support/fetchgit {
|
fetchgit = callPackage ../build-support/fetchgit {
|
||||||
git = gitMinimal;
|
git = gitMinimal;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user