nixpkgs/pkgs/development/tools/just/setup-hook.sh
Alyssa Ross 6d2033e2b9 just.setupHook: init
Adapted from the Ninja setup hook.  This will mean that adding just to
nativeBuildInputs is enough to have a package be automatically built
with it, matching make, bmake, ninja, etc.

Currently, we have two packages in Nixpkgs that use just, dogdns and
kabeljau.  kabeljau follows the expected conventions, while dogdns
does not.  I expect there to be more packages using just in future,
following these conventions, because all of the packages in system76's
in-progress COSMIC desktop environment use just, and follow the
conventions.
2023-08-21 17:09:48 +00:00

59 lines
1.2 KiB
Bash

justBuildPhase() {
runHook preBuild
local flagsArray=($justFlags "${justFlagsArray[@]}")
echoCmd 'build flags' "${flagsArray[@]}"
just "${flagsArray[@]}"
runHook postBuild
}
justCheckPhase() {
runHook preCheck
if [ -z "${checkTarget:-}" ]; then
if just -n test >/dev/null 2>&1; then
checkTarget=test
fi
fi
if [ -z "${checkTarget:-}" ]; then
echo "no test target found in just, doing nothing"
else
local flagsArray=(
$justFlags "${justFlagsArray[@]}"
$checkTarget
)
echoCmd 'check flags' "${flagsArray[@]}"
just "${flagsArray[@]}"
fi
runHook postCheck
}
justInstallPhase() {
runHook preInstall
# shellcheck disable=SC2086
local flagsArray=($justFlags "${justFlagsArray[@]}" ${installTargets:-install})
echoCmd 'install flags' "${flagsArray[@]}"
just "${flagsArray[@]}"
runHook postInstall
}
if [ -z "${dontUseJustBuild-}" -a -z "${buildPhase-}" ]; then
buildPhase=justBuildPhase
fi
if [ -z "${dontUseJustCheck-}" -a -z "${checkPhase-}" ]; then
checkPhase=justCheckPhase
fi
if [ -z "${dontUseJustInstall-}" -a -z "${installPhase-}" ]; then
installPhase=justInstallPhase
fi