summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2015-09-29 12:01:03 +0200
committerMatthias Beyer <mail@beyermatthias.de>2015-09-29 12:09:05 +0200
commit5f8353b3c62e8b42079069951997130ac8e4248b (patch)
treed5781bc1e352d2851f0cb0b07e899929e17d7bc1
parente27c36908e61b267330e063ae11f5efdfed70626 (diff)
update-package-def: Add -j option to build in parallel
-rw-r--r--example.rc12
-rwxr-xr-xnix-script-update-package-def.sh20
2 files changed, 29 insertions, 3 deletions
diff --git a/example.rc b/example.rc
index 272312f..fe1413c 100644
--- a/example.rc
+++ b/example.rc
@@ -42,3 +42,15 @@ RC_SWITCH_DEFAULT_TAG_FLAGS_NIXPKGS=""
#
RC_CONTAINER_CONF_TEMPLATE_DIR=~/.nixos-scripts-container-conf-templates/
+
+#
+#
+# Command: update-package-def
+#
+#
+
+#
+# default number to pass to "nix-build -j"
+#
+RC_UPD_NIX_BUILD_J=2
+
diff --git a/nix-script-update-package-def.sh b/nix-script-update-package-def.sh
index 45be7c4..fef66a3 100755
--- a/nix-script-update-package-def.sh
+++ b/nix-script-update-package-def.sh
@@ -12,7 +12,7 @@ source $(dirname ${BASH_SOURCE[0]})/nix-utils.sh
usage() {
cat <<EOS
- $(help_synopsis "${BASH_SOURCE[0]}" "[-y] [-b] [-c] [-g <nixpkgs path>] -u <url>")
+ $(help_synopsis "${BASH_SOURCE[0]}" "[-y] [-b] [-c] [-g <nixpkgs path>] [-j <n>] -u <url>")
-y Don't ask before executing things (optional) (not implemented yet)
-b Also test-build the package (optional)
@@ -20,6 +20,7 @@ usage() {
-g <path> Path of nixpkgs clone (Default: '$RC_NIXPKGS')
-c Don't check out another branch for update
-d Don't checkout base branch after successfull run.
+ -j <n> Pass "-j <n>" to nix-build
-h Show this help and exit
Helper for developers of Nix packages.
@@ -47,6 +48,10 @@ usage() {
# Verbosity is on.
nix-script -v update-package-def -b -u http://monitor.nixos.org/patch?p=ffmpeg-full&v=2.7.1&m=Matthias+Beyer
+$(help_rcvars \
+ "RC_UPD_NIX_BUILD_J - Default number to pass to 'nix-build -j'"
+)
+
$(help_end "${BASH_SOURCE[0]}")
EOS
}
@@ -57,8 +62,9 @@ NIXPKGS=$RC_NIXPKGS
URL=
CHECKOUT=1
DONT_CHECKOUT_BASE=
+J="$RC_UPD_NIX_BUILD_J"
-while getopts "ybu:g:cdh" OPTION
+while getopts "ybu:g:cdj:h" OPTION
do
case $OPTION in
y)
@@ -91,6 +97,11 @@ do
stdout "DONT_CHECKOUT_BASE = $DONT_CHECKOUT_BASE"
;;
+ j)
+ J="$OPTARG"
+ stderr "J = $J"
+ ;;
+
h)
usage
exit 0
@@ -160,7 +171,10 @@ fi
if [[ $TESTBUILD -eq 1 ]]
then
- ask_execute "Build '$PKG' in nixpkgs clone at '$NIXPKGS'" nix-build -A $PKG -I $NIXPKGS
+ __j=""
+ [[ ! -z "$J" ]] && __j="-j $J"
+
+ ask_execute "Build '$PKG' in nixpkgs clone at '$NIXPKGS'" nix-build -A $PKG -I $NIXPKGS $__j
fi
#