aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-09-09 12:58:18 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-09-09 12:58:18 +0100
commit36003b3a5e9e4e10ef12279f6a46c2d6e4f9ec08 (patch)
treee4004ecfeda7cf1b39209e0b532367f01606439f
parent6ecb670f0a7b56e0aaffffda70925e93e51e6e9e (diff)
parent11b11e93fbdb29be69a936950438ed1cbea34a11 (diff)
Imported recent important fixes in Maneage, no conflicts
There weren't any conflicts in this merge.
-rwxr-xr-xproject16
-rw-r--r--reproduce/software/make/high-level.mk19
-rwxr-xr-xreproduce/software/shell/configure.sh4
-rwxr-xr-xreproduce/software/shell/pre-make-build.sh10
4 files changed, 34 insertions, 15 deletions
diff --git a/project b/project
index 4dc4bd1..3af3d40 100755
--- a/project
+++ b/project
@@ -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"