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 From b9d88aab612126647c0586759a63d619a8eabd3d Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 29 Sep 2015 12:02:59 +0200 Subject: update-package-def: Add -c option to pass --cores to nix-build --- example.rc | 5 +++++ nix-script-update-package-def.sh | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/example.rc b/example.rc index fe1413c..7cf49d6 100644 --- a/example.rc +++ b/example.rc @@ -54,3 +54,8 @@ RC_CONTAINER_CONF_TEMPLATE_DIR=~/.nixos-scripts-container-conf-templates/ # RC_UPD_NIX_BUILD_J=2 +# +# default number to pass to "nix-build --cores" +# +RC_UPD_NIX_BUILD_CORES=2 + diff --git a/nix-script-update-package-def.sh b/nix-script-update-package-def.sh index fef66a3..bf6b448 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 <] [-j ] -u ") + $(help_synopsis "${BASH_SOURCE[0]}" "[-y] [-b] [-c] [-g ] [-j ] [-C ] -u ") -y Don't ask before executing things (optional) (not implemented yet) -b Also test-build the package (optional) @@ -21,6 +21,7 @@ usage() { -c Don't check out another branch for update -d Don't checkout base branch after successfull run. -j Pass "-j " to nix-build + -C Pass "--cores " to nix-build -h Show this help and exit Helper for developers of Nix packages. @@ -49,7 +50,8 @@ usage() { 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'" + "RC_UPD_NIX_BUILD_J - Default number to pass to 'nix-build -j'" + "RC_UPD_NIX_BUILD_CORES - Default number to pass to 'nix-build --cores'" ) $(help_end "${BASH_SOURCE[0]}") @@ -63,8 +65,9 @@ URL= CHECKOUT=1 DONT_CHECKOUT_BASE= J="$RC_UPD_NIX_BUILD_J" +CORES="$RC_UPD_NIX_BUILD_CORES" -while getopts "ybu:g:cdj:h" OPTION +while getopts "ybu:g:cdj:C:h" OPTION do case $OPTION in y) @@ -102,6 +105,11 @@ do stderr "J = $J" ;; + C) + CORES="$OPTARG" + stderr "CORES = $CORES" + ;; + h) usage exit 0 @@ -174,7 +182,10 @@ then __j="" [[ ! -z "$J" ]] && __j="-j $J" - ask_execute "Build '$PKG' in nixpkgs clone at '$NIXPKGS'" nix-build -A $PKG -I $NIXPKGS $__j + __cores="" + [[ ! -z "$CORES" ]] && __cores="-j $CORES" + + ask_execute "Build '$PKG' in nixpkgs clone at '$NIXPKGS'" nix-build -A $PKG -I $NIXPKGS $__j $__cores fi # -- cgit v1.2.3