diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-09-09 12:58:18 +0100 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-09-09 12:58:18 +0100 |
commit | 36003b3a5e9e4e10ef12279f6a46c2d6e4f9ec08 (patch) | |
tree | e4004ecfeda7cf1b39209e0b532367f01606439f | |
parent | 6ecb670f0a7b56e0aaffffda70925e93e51e6e9e (diff) | |
parent | 11b11e93fbdb29be69a936950438ed1cbea34a11 (diff) |
Imported recent important fixes in Maneage, no conflicts
There weren't any conflicts in this merge.
-rwxr-xr-x | project | 16 | ||||
-rw-r--r-- | reproduce/software/make/high-level.mk | 19 | ||||
-rwxr-xr-x | reproduce/software/shell/configure.sh | 4 | ||||
-rwxr-xr-x | reproduce/software/shell/pre-make-build.sh | 10 |
4 files changed, 34 insertions, 15 deletions
@@ -167,22 +167,22 @@ do # Configure options: - -b|--build-dir) IFS='"' build_dir="$2"; check_v "$1" "$build_dir"; shift;shift;; - -b=*|--build-dir=*) IFS='"' build_dir="${1#*=}"; check_v "$1" "$build_dir"; shift;; - -b*) IFS='"' build_dir=$(echo "$1" | sed -e's/-b//'); check_v "$1" "$build_dir"; shift;; + -b|--build-dir) build_dir="$2"; check_v "$1" "$build_dir"; shift;shift;; + -b=*|--build-dir=*) build_dir="${1#*=}"; check_v "$1" "$build_dir"; shift;; + -b*) build_dir=$(echo "$1" | sed -e's/-b//'); check_v "$1" "$build_dir"; shift;; -e|--existing-conf) existing_conf=1; shift;; -e*|--existing-conf=*) on_off_option_error --existing-conf -e;; --host-cc) host_cc=1; shift;; --host-cc=*) on_off_option_error --host-cc;; - -i|--input-dir) IFS='"' input_dir="$2"; check_v "$1" "$input_dir"; shift;shift;; - -i=*|--input-dir=*) IFS='"' input_dir="${1#*=}"; check_v "$1" "$input_dir"; shift;; + -i|--input-dir) input_dir="$2"; check_v "$1" "$input_dir"; shift;shift;; + -i=*|--input-dir=*) input_dir="${1#*=}"; check_v "$1" "$input_dir"; shift;; -i*) input_dir=$(echo "$1" | sed -e's/-i//'); check_v "$1" "$input_dir"; shift;; -m|--minmapsize) minmapsize="$2"; check_v "$1" "$minmapsize"; shift;shift;; -m=*|--minmapsize=*) minmapsize="${1#*=}"; check_v "$1" "$minmapsize"; shift;; -m*) minmapsize=$(echo "$1" | sed -e's/-m//'); check_v "$1" "$minmapsize"; shift;; - -s|--software-dir) IFS='"' software_dir="$2"; check_v "$1" "$software_dir"; shift;shift;; - -s=*|--software-dir=*) IFS='"' software_dir="${1#*=}"; check_v "$1" "$software_dir"; shift;; - -s*) IFS='"' software_dir=$(echo "$1" | sed -e's/-s//'); check_v "$1" "$software_dir"; shift;; + -s|--software-dir) software_dir="$2"; check_v "$1" "$software_dir"; shift;shift;; + -s=*|--software-dir=*) software_dir="${1#*=}"; check_v "$1" "$software_dir"; shift;; + -s*) software_dir=$(echo "$1" | sed -e's/-s//'); check_v "$1" "$software_dir"; shift;; --check-config) check_config=1; shift;; --check-config=*) on_off_option_error --check-config;; --clean-texdir) clean_texdir=1; shift;; diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 3c5e518..c3bda3e 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -1181,6 +1181,24 @@ $(ibidir)/pcre-$(pcre-version): , V=1 -j$(numthreads)) echo "Perl Compatible Regular Expressions $(pcre-version)" > $@ +# Comment on building R without GUI support ('--without-tcltlk') +# +# Tcl/Tk are a set of tools to provide Graphic User Interface (GUI) support +# in some software. But they are not yet natively built within Maneage, +# primarily because we have higher-priority work right now (if anyone is +# interested, they can ofcourse contribute!). GUI tools in general aren't +# high on our priority list right now because they are generally good for +# human interaction (which is contrary to the reproducible philosophy: +# there will always be human-error and frustration, for example in GUI +# tools the best level of reproducibility is statements like this: "move +# your mouse to button XXX, then click on menu YYY and etc"). A robust +# reproducible solution must be done automatically. +# +# If someone wants to use R's GUI functionalities while investigating for +# their analysis, they can do the GUI part on their host OS +# implementation. Later, they can bring the finalized source into Maneage +# to be automatically run in Maneage. This will also be the recommended way +# to deal with GUI tools later when we do install them within Maneage. $(ibidir)/R-$(R-version): \ $(ibidir)/pcre-$(pcre-version) \ $(ibidir)/cairo-$(cairo-version) \ @@ -1204,6 +1222,7 @@ $(ibidir)/R-$(R-version): \ --with-pcre1 \ --disable-java \ --with-readline \ + --without-tcltk \ --disable-openmp make -j$(numthreads) make install diff --git a/reproduce/software/shell/configure.sh b/reproduce/software/shell/configure.sh index 0d22dcc..d9a1b46 100755 --- a/reproduce/software/shell/configure.sh +++ b/reproduce/software/shell/configure.sh @@ -188,7 +188,7 @@ check_permission () free_space_warning() { fs_threshold=$1 - IFS='"' fs_destpath="$2" + fs_destpath="$2" return $(df "$fs_destpath" \ | awk 'FNR==2 {if($4>'$fs_threshold') print 1; \ else print 0; }') @@ -873,7 +873,7 @@ EOF # manipulate file permissions in the directory's filesystem and if # so, see if there is atleast 5GB free space. if ! [ x"$bdir" = x ]; then - if ! $(IFS='"' check_permission "$bdir"); then + if ! $(check_permission "$bdir"); then # Unable to handle permissions well bdir= echo " ** File permissions can't be modified in this directory" diff --git a/reproduce/software/shell/pre-make-build.sh b/reproduce/software/shell/pre-make-build.sh index a18966f..4e7d6ad 100755 --- a/reproduce/software/shell/pre-make-build.sh +++ b/reproduce/software/shell/pre-make-build.sh @@ -30,11 +30,11 @@ set -e -# Input arguments (the 'IFS's are to allow space in the name). -IFS='"' bdir="$1" -IFS='"' ddir="$2" -IFS='"' downloader="$3" -IFS='"' user_backup_urls="$4" +# Input arguments. +bdir="$1" +ddir="$2" +downloader="$3" +user_backup_urls="$4" |