From 7540d7d7b3c57b2442002e46a7e879f31e503752 Mon Sep 17 00:00:00 2001
From: Raul Infante-Sainz <infantesainz@gmail.com>
Date: Thu, 11 Apr 2019 10:16:37 +0100
Subject: Unzip set as prerequisite of Numpy and Setuptools

Since we mixed the installation of Python packages with all other
software, it may occur that some Python packages start to be installed
before having installed `unzip'. As a consecuence, they could not be
decompressed and the installation will fail. In particular, tarballs of
Numpy and Setuptools are .zip files.

With this commit, we fix this issue by setting `unzip' as a prerequisit
of Numpy and Setuptools.
---
 reproduce/src/make/dependencies-python.mk | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'reproduce/src')

diff --git a/reproduce/src/make/dependencies-python.mk b/reproduce/src/make/dependencies-python.mk
index 5b12757..a6634ff 100644
--- a/reproduce/src/make/dependencies-python.mk
+++ b/reproduce/src/make/dependencies-python.mk
@@ -410,7 +410,8 @@ $(ipydir)/mpi4py: $(tdir)/mpi4py-$(mpi4py-version).tar.gz    \
 $(ipydir)/numpy: $(tdir)/numpy-$(numpy-version).zip \
                  $(ipydir)/setuptools               \
                  $(ilidir)/openblas                 \
-                 $(ilidir)/fftw
+                 $(ilidir)/fftw                     \
+                 $(ibidir)/unzip
 	if [ x$(on_mac_os) = xyes ]; then                                    \
 	  export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle";     \
 	else                                                                 \
@@ -473,7 +474,8 @@ $(ipydir)/secretstorage: $(tdir)/secretstorage-$(secretstorage-version).tar.gz \
 	                SecretStorage $(secretstorage-version))
 
 $(ipydir)/setuptools: $(tdir)/setuptools-$(setuptools-version).zip \
-                      $(ibidir)/python3
+                      $(ibidir)/python3                            \
+                      $(ibidir)/unzip
 	$(call pybuild, unzip, $<, setuptools-$(setuptools-version), ,\
 	                Setuptools $(setuptools-version))
 
-- 
cgit v1.2.1


From 5a8974d1cabd236a1b47909f452be480d0c970bf Mon Sep 17 00:00:00 2001
From: Raul Infante-Sainz <infantesainz@gmail.com>
Date: Fri, 12 Apr 2019 07:30:37 +0100
Subject: Acknowledged Scipy-related packages: Cython, Matplotlib, Numpy and
 Scipy

Until now, name and version of all Python packages were indicated in the
final paper, but not the main paper of them (if it exists).

With this commit, some Python packages (Cython, Matplotlib, Numpy and
Scipy) are now properly acknoledged by citating the source paper.
`mpi4py' is also cited although this package is not yet included into
the pipeline.
---
 reproduce/src/make/dependencies-python.mk | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

(limited to 'reproduce/src')

diff --git a/reproduce/src/make/dependencies-python.mk b/reproduce/src/make/dependencies-python.mk
index a6634ff..221fad2 100644
--- a/reproduce/src/make/dependencies-python.mk
+++ b/reproduce/src/make/dependencies-python.mk
@@ -254,7 +254,7 @@ $(ibidir)/python3: $(tdir)/python-$(python-version).tar.gz \
 #   3) Unpacked directory name after unpacking the tarball
 #   4) site.cfg file (optional)
 #   5) Official software name.(for paper).
-pybuild = cd $(ddir); rm -rf $(3);                                \
+pybuild = cd $(ddir); rm -rf $(3);                            \
 	 if ! $(1) $(2); then echo; echo "Tar error"; exit 1; fi; \
 	 cd $(3);                                                 \
 	 if [ "x$(strip $(4))" != x ]; then                       \
@@ -335,8 +335,8 @@ $(ipydir)/cycler: $(tdir)/cycler-$(cycler-version).tar.gz \
 
 $(ipydir)/cython: $(tdir)/cython-$(cython-version).tar.gz \
                   $(ipydir)/setuptools
-	$(call pybuild, tar xf, $<, Cython-$(cython-version), ,\
-	                Cython $(cython-version))
+	$(call pybuild, tar xf, $<, Cython-$(cython-version)) \
+	&& echo "Cython $(cython-version) \citep{cython2011}" > $@
 
 $(ipydir)/entrypoints: $(tdir)/entrypoints-$(entrypoints-version).tar.gz \
                        $(ipydir)/setuptools
@@ -389,8 +389,8 @@ $(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz   \
                       $(ipydir)/numpy                                   \
                       $(ipydir)/pyparsing                               \
                       $(ipydir)/python-dateutil
-	$(call pybuild, tar xf, $<, matplotlib-$(matplotlib-version), ,\
-	                Matplotlib $(matplotlib-version))
+	$(call pybuild, tar xf, $<, matplotlib-$(matplotlib-version))       \
+	&& echo "Matplotlib $(matplotlib-version) \citep{matplotlib2007}" > $@
 
 # Currently mpi4py doesn't build because of some conflict with OpenMPI:
 #
@@ -404,8 +404,8 @@ $(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz   \
 $(ipydir)/mpi4py: $(tdir)/mpi4py-$(mpi4py-version).tar.gz    \
                   $(ipydir)/setuptools                       \
                   $(ilidir)/openmpi
-	$(call pybuild, tar xf, $<, mpi4py-$(mpi4py-version), ,\
-	                mpi4py $(mpi4py-version))
+	$(call pybuild, tar xf, $<, mpi4py-$(mpi4py-version))    \
+	&& echo "mpi4py $(mpi4py-version) \citep{mpi4py2011}" > $@
 
 $(ipydir)/numpy: $(tdir)/numpy-$(numpy-version).zip \
                  $(ipydir)/setuptools               \
@@ -418,8 +418,9 @@ $(ipydir)/numpy: $(tdir)/numpy-$(numpy-version).zip \
 	  export LDFLAGS="$(LDFLAGS) -shared";                               \
 	fi;                                                                  \
 	conf="$$(pwd)/reproduce/config/pipeline/dependency-numpy-scipy.cfg"; \
-	$(call pybuild, unzip, $<, numpy-$(numpy-version),$$conf, \
-	                Numpy $(numpy-version))
+	$(call pybuild, unzip, $<, numpy-$(numpy-version),$$conf,            \
+	                Numpy $(numpy-version))                              \
+	&& echo "Numpy $(numpy-version) \citep{numpy2011}" > $@
 
 $(ibidir)/pip3: $(tdir)/pip-$(pip-version).tar.gz \
                 $(ipydir)/setuptools
@@ -464,8 +465,8 @@ $(ipydir)/scipy: $(tdir)/scipy-$(scipy-version).tar.gz \
 	  export LDFLAGS="$(LDFLAGS) -shared";                               \
 	fi;                                                                  \
 	conf="$$(pwd)/reproduce/config/pipeline/dependency-numpy-scipy.cfg"; \
-	$(call pybuild, tar xf, $<, scipy-$(scipy-version),$$conf,\
-	                Scipy $(scipy-version))
+	$(call pybuild, tar xf, $<, scipy-$(scipy-version),$$conf)           \
+	&& echo "Scipy $(scipy-version) \citep{scipy2001}" > $@
 
 $(ipydir)/secretstorage: $(tdir)/secretstorage-$(secretstorage-version).tar.gz \
                          $(ipydir)/cryptography                                \
-- 
cgit v1.2.1


From f4b0b28c3ccfe9dc49b529773eee75627253689d Mon Sep 17 00:00:00 2001
From: Raul Infante-Sainz <infantesainz@gmail.com>
Date: Fri, 12 Apr 2019 13:29:07 +0100
Subject: Fixed some Scipy-related packages citations

Until now, the Scipy citation was only one paper and not the correct one
(it was the online manual).

With this commit, Scipy is properly cited using the two papers. Also
some modifications in the `tex/src/references.tex' have been done
(remove last page number).
---
 reproduce/src/make/dependencies-python.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'reproduce/src')

diff --git a/reproduce/src/make/dependencies-python.mk b/reproduce/src/make/dependencies-python.mk
index 221fad2..11c6b1f 100644
--- a/reproduce/src/make/dependencies-python.mk
+++ b/reproduce/src/make/dependencies-python.mk
@@ -466,7 +466,7 @@ $(ipydir)/scipy: $(tdir)/scipy-$(scipy-version).tar.gz \
 	fi;                                                                  \
 	conf="$$(pwd)/reproduce/config/pipeline/dependency-numpy-scipy.cfg"; \
 	$(call pybuild, tar xf, $<, scipy-$(scipy-version),$$conf)           \
-	&& echo "Scipy $(scipy-version) \citep{scipy2001}" > $@
+	&& echo "Scipy $(scipy-version) \citep{scipy2007,scipy2011}" > $@
 
 $(ipydir)/secretstorage: $(tdir)/secretstorage-$(secretstorage-version).tar.gz \
                          $(ipydir)/cryptography                                \
-- 
cgit v1.2.1


From 1442a5ebe5f9ca66f25c0f0a585c6ac4083101d8 Mon Sep 17 00:00:00 2001
From: Raul Infante-Sainz <infantesainz@gmail.com>
Date: Fri, 12 Apr 2019 14:57:12 +0100
Subject: File is built as a dependency of GCC

Until now, we did not have `file'.  It was in other project, where a
problem with `Astrometry-net' software, ends up with the necessity of
having `file' into the pipeline.

With this commit, we add `file' to the project. Since it is a low level
program, it is set in `dependencies-basic.mk' as a prerequisite of GCC.
---
 reproduce/src/make/dependencies-basic.mk | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

(limited to 'reproduce/src')

diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index bedbc38..9e277f7 100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
@@ -67,7 +67,7 @@ export CPPFLAGS          := -I$(idir)/include $(CPPFLAGS)
 export LD_LIBRARY_PATH   := $(ildir):$(LD_LIBRARY_PATH)
 
 # Define the programs that don't depend on any other.
-top-level-programs = low-level-links wget gcc
+top-level-programs = low-level-links wget gcc file
 all: $(foreach p, $(top-level-programs), $(ibidir)/$(p))
 
 
@@ -104,6 +104,7 @@ tarballs = $(foreach t, bash-$(bash-version).tar.gz                         \
                         cert.pem                                            \
                         coreutils-$(coreutils-version).tar.xz               \
                         diffutils-$(diffutils-version).tar.xz               \
+                        file-$(file-version).tar.gz                         \
                         findutils-$(findutils-version).tar.lz               \
                         gawk-$(gawk-version).tar.lz                         \
                         gcc-$(gcc-version).tar.xz                           \
@@ -144,6 +145,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
 	  elif [ $$n = cert      ]; then w=http://akhlaghi.org/src;         \
 	  elif [ $$n = coreutils ]; then w=http://ftp.gnu.org/gnu/coreutils;\
 	  elif [ $$n = diffutils ]; then w=http://ftp.gnu.org/gnu/diffutils;\
+	  elif [ $$n = file      ]; then w=ftp://ftp.astron.com/pub/file;   \
 	  elif [ $$n = findutils ]; then w=http://akhlaghi.org/src;         \
 	  elif [ $$n = gawk      ]; then w=http://ftp.gnu.org/gnu/gawk;     \
 	  elif [ $$n = gcc       ]; then w=http://ftp.gnu.org/gnu/gcc/gcc-$(gcc-version); \
@@ -769,6 +771,12 @@ $(ibidir)/binutils: $(tdir)/binutils-$(binutils-version).tar.lz
 	$(call gbuild, $<, binutils-$(binutils-version), static) \
 	&& echo "GNU Binutils $(binutils-version)" > $@
 
+# `file' is not a prerequisite of GCC. However, since it is low level, it is
+# set as a prerequisite of GCC to have it installed.
+$(ibidir)/file: $(tdir)/file-$(file-version).tar.gz
+	$(call gbuild, $<, file-$(file-version), static) \
+	&& echo "File $(file-version)" > $@
+
 $(ilidir)/isl: $(tdir)/isl-$(isl-version).tar.bz2 \
                $(ilidir)/gmp
 	$(call gbuild, $<, isl-$(isl-version), static)  \
@@ -801,9 +809,10 @@ gcc-prerequisites = $(tdir)/gcc-$(gcc-version).tar.xz \
 endif
 $(ibidir)/gcc: $(gcc-prerequisites)   \
                $(ibidir)/sed          \
+               $(ibidir)/bash         \
+               $(ibidir)/file         \
                $(ibidir)/gawk         \
                $(ibidir)/grep         \
-               $(ibidir)/bash         \
                $(ibidir)/which        \
                $(ibidir)/glibtool     \
                $(ibidir)/findutils    \
-- 
cgit v1.2.1