Merge pull request #17837 from MostAwesomeDude/fossil
build-support: Add fetchfossil function.
This commit is contained in:
commit
76dca3d0e0
|
@ -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
|
|
@ -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 { };
|
||||
|
||||
fetchfossil = callPackage ../build-support/fetchfossil { };
|
||||
|
||||
fetchgit = callPackage ../build-support/fetchgit {
|
||||
git = gitMinimal;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue