From 5f8353b3c62e8b42079069951997130ac8e4248b Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 29 Sep 2015 12:01:03 +0200 Subject: update-package-def: Add -j option to build in parallel --- example.rc | 12 ++++++++++++ nix-script-update-package-def.sh | 20 +++++++++++++++++--- 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 <] -u ") + $(help_synopsis "${BASH_SOURCE[0]}" "[-y] [-b] [-c] [-g ] [-j ] -u ") -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 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 Pass "-j " 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 # -- cgit v1.2.3