aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software
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 /reproduce/software
parent6ecb670f0a7b56e0aaffffda70925e93e51e6e9e (diff)
parent11b11e93fbdb29be69a936950438ed1cbea34a11 (diff)
Imported recent important fixes in Maneage, no conflicts
There weren't any conflicts in this merge.
Diffstat (limited to 'reproduce/software')
-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
3 files changed, 26 insertions, 7 deletions
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"