aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2019-04-04 21:13:52 +0100
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2019-04-04 21:13:52 +0100
commitac439cf62255ab38da940eb7bba0ccc00fc835f2 (patch)
tree197539ac6c5e7e6a08e91dc42e76a4ee14bb44ac /reproduce
parent2d75d867e638ef95d7d05c5a05cf1a372be50c82 (diff)
Dependency version LaTeX macros written at the end of configure
Until now, these versions were written in each run. This was mainly inherited from the old days of the pipeline, where we didn't know the software on the host. But now that we have almost everything under control, we can just write these LaTeX macros at the end of the configure script and make `initialize.mk' simpler and also (very slightly!) speed-up/simplify the processing.
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/config/pipeline/dependency-versions.mk18
-rw-r--r--reproduce/src/make/initialize.mk97
-rw-r--r--reproduce/src/make/paper.mk3
3 files changed, 12 insertions, 106 deletions
diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk
index 2e74a45..2af633f 100644
--- a/reproduce/config/pipeline/dependency-versions.mk
+++ b/reproduce/config/pipeline/dependency-versions.mk
@@ -19,11 +19,14 @@
# A copy of the GNU General Public License is available at
# <http://www.gnu.org/licenses/>.
-# Programs
+# C/C++ programs and libraries.
+atlas-version = 3.10.3
bash-version = 5.0
binutils-version = 2.31.1
+cfitsio-version = 3.45
cmake-version = 3.12.4
coreutils-version = 8.30
+curl-version = 7.63.0
diffutils-version = 3.7
fftw-version = 3.3.8
findutils-version = 4.6.0.199-e3fc
@@ -36,12 +39,15 @@ git-version = 2.20.1
gmp-version = 6.1.2
gnuastro-version = 0.8
grep-version = 3.3
+gsl-version = 2.5
gzip-version = 1.10
hdf5-version = 1.10.5
isl-version = 0.18
libbsd-version = 0.9.1
libffi-version = 3.2.1
+libjpeg-version = v9b
libpng-version = 1.6.36
+libtiff-version = 4.0.10
libtool-version = 2.4.6
lzip-version = 1.20
make-version = 4.2.90
@@ -49,6 +55,7 @@ metastore-version = 1.1.2-23-fa9170b
mpfr-version = 4.0.2
mpc-version = 1.1.0
ncurses-version = 6.1
+openblas-version = 0.3.5
openmpi-version = 4.0.1
openssl-version = 1.1.1a
patchelf-version = 0.9
@@ -62,15 +69,6 @@ wget-version = 1.20.1
which-version = 2.21
xz-version = 5.2.4
zip-version = 3.0
-
-# Libraries
-atlas-version = 3.10.3
-cfitsio-version = 3.45
-curl-version = 7.63.0
-gsl-version = 2.5
-libjpeg-version = v9b
-libtiff-version = 4.0.10
-openblas-version = 0.3.5
zlib-version = 1.2.11
# Special libraries
diff --git a/reproduce/src/make/initialize.mk b/reproduce/src/make/initialize.mk
index 66e7c77..3ae580a 100644
--- a/reproduce/src/make/initialize.mk
+++ b/reproduce/src/make/initialize.mk
@@ -160,8 +160,8 @@ export MPI_PYTHON3_SITEARCH :=
# option: they add too many extra checks that make it hard to find what you
# are looking for in this pipeline.
.SUFFIXES:
-$(texdir) $(lockdir): | $(BDIR); mkdir $@
-$(mtexdir) $(texbdir): | $(texdir); mkdir $@
+$(lockdir): | $(BDIR); mkdir $@
+$(texbdir): | $(texdir); mkdir $@
$(tikzdir): | $(texbdir); mkdir $@ && ln -s $(tikzdir) tex/tikz
@@ -348,96 +348,3 @@ $(mtexdir)/initialize.tex: | $(mtexdir)
# Version of the pipeline and build directory (for LaTeX inputs).
@v=$$(git describe --dirty --always);
echo "\newcommand{\pipelineversion}{$$v}" > $@
-
- # Versions of programs (same order as 'dependency-versions.mk'),
- # ordered alphabetically (by their executable name).
- echo "\newcommand{\\bashversion}{$(bash-version)}" >> $@
-# echo "\newcommand{\\bashversion}{$(binutils-version)}" >> $@
- echo "\newcommand{\\bziptwoversion}{$(bzip2-version)}" >> $@
- echo "\newcommand{\\cmakeversion}{$(cmake-version)}" >> $@
- echo "\newcommand{\\coreutilsversion}{$(coreutils-version)}" >> $@
- echo "\newcommand{\\diffutilsversion}{$(diffutils-version)}" >> $@
- echo "\newcommand{\\findutilsversion}{$(findutils-version)}" >> $@
- echo "\newcommand{\\flockversion}{$(flock-version)}" >> $@
- echo "\newcommand{\\freetypeversion}{$(freetype-version)}" >> $@
- echo "\newcommand{\\gawkversion}{$(gawk-version)}" >> $@
- echo "\newcommand{\\gccversion}{$(gcc-version)}" >> $@
- echo "\newcommand{\\ghostscriptversion}{$(ghostscript-version)}" >> $@
- echo "\newcommand{\\gitversion}{$(git-version)}" >> $@
- echo "\newcommand{\\gmpversion}{$(gmp-version)}" >> $@
- echo "\newcommand{\\gnuastroversion}{$(gnuastro-version)}" >> $@
- echo "\newcommand{\\grepversion}{$(grep-version)}" >> $@
- echo "\newcommand{\\gzipversion}{$(gzip-version)}" >> $@
- echo "\newcommand{\\islversion}{$(isl-version)}" >> $@
- echo "\newcommand{\\lzipversion}{$(lzip-version)}" >> $@
- echo "\newcommand{\\makeversion}{$(make-version)}" >> $@
- echo "\newcommand{\\metastoreversion}{$(metastore-version)}" >> $@
- echo "\newcommand{\\mpfrversion}{$(mpfr-version)}" >> $@
- echo "\newcommand{\\mpcversion}{$(mpc-version)}" >> $@
- echo "\newcommand{\\ncursesversion}{$(ncurses-version)}" >> $@
- echo "\newcommand{\\opensslversion}{$(openssl-version)}" >> $@
- echo "\newcommand{\\patchelfversion}{$(patchelf-version)}" >> $@
- echo "\newcommand{\\pkgconfigversion}{$(pkgconfig-version)}" >> $@
- echo "\newcommand{\\pythonversion}{$(python-version)}" >> $@
- echo "\newcommand{\\readlineversion}{$(readline-version)}" >> $@
- echo "\newcommand{\\sedversion}{$(sed-version)}" >> $@
- echo "\newcommand{\\swarpversion}{$(swarp-version)}" >> $@
- echo "\newcommand{\\tarversion}{$(tar-version)}" >> $@
- echo "\newcommand{\\unzipversion}{$(unzip-version)}" >> $@
- echo "\newcommand{\\wgetversion}{$(wget-version)}" >> $@
- echo "\newcommand{\\whichversion}{$(which-version)}" >> $@
- echo "\newcommand{\\xzversion}{$(xz-version)}" >> $@
- echo "\newcommand{\\zipversion}{$(zip-version)}" >> $@
-
- # Libraries.
- echo "\newcommand{\\atlasversion}{$(cfitsio-version)}" >> $@
- echo "\newcommand{\\cfitsioversion}{$(cfitsio-version)}" >> $@
- echo "\newcommand{\\curlversion}{$(curl-version)}" >> $@
- echo "\newcommand{\\gslversion}{$(gsl-version)}" >> $@
- echo "\newcommand{\\lapack}{$(lapack-version)}" >> $@
- echo "\newcommand{\\libbsdversion}{$(libbsd-version)}" >> $@
- echo "\newcommand{\\libffiversion}{$(libffi-version)}" >> $@
- echo "\newcommand{\\libgittwoversion}{$(libgit2-version)}" >> $@
- echo "\newcommand{\\libjpegversion}{$(libjpeg-version)}" >> $@
- echo "\newcommand{\\libpngversion}{$(libpng-version)}" >> $@
- echo "\newcommand{\\libtiffversion}{$(libtiff-version)}" >> $@
- echo "\newcommand{\\libtoolversion}{$(libtool-version)}" >> $@
- echo "\newcommand{\\wcslibversion}{$(wcslib-version)}" >> $@
- echo "\newcommand{\\zlibversion}{$(zlib-version)}" >> $@
-
- # Python modules.
- echo "\newcommand{\\asncryptoversion}{$(asn1crypto-version)}" >> $@
- echo "\newcommand{\\astroqueryversion}{$(astroquery-version)}" >> $@
- echo "\newcommand{\\astropyversion}{$(astropy-version)}" >> $@
- echo "\newcommand{\\beautifulsoupversion}{$(beautifulsoup4-version)}" >> $@
- echo "\newcommand{\\certifiversion}{$(certifi-version)}" >> $@
- echo "\newcommand{\\cffiversion}{$(cffi-version)}" >> $@
- echo "\newcommand{\\chardetversion}{$(chardet-version)}" >> $@
- echo "\newcommand{\\cryptographyversion}{$(cryptography-version)}" >> $@
- echo "\newcommand{\\cyclerversion}{$(cycler-version)}" >> $@
- echo "\newcommand{\\entrypointsversion}{$(entrypoints-version)}" >> $@
- echo "\newcommand{\\hpyversion}{$(h5py-version)}" >> $@
- echo "\newcommand{\\htmlfivelibversion}{$(html5lib-version)}" >> $@
- echo "\newcommand{\\idaversion}{$(idna-version)}" >> $@
- echo "\newcommand{\\jeepneyversion}{$(jeepney-version)}" >> $@
- echo "\newcommand{\\kiwisolverversion}{$(kiwisolver-version)}" >> $@
- echo "\newcommand{\\keyringversion}{$(keyring-version)}" >> $@
- echo "\newcommand{\\matplotlibversion}{$(matplotlib-version)}" >> $@
- echo "\newcommand{\\numpyversion}{$(numpy-version)}" >> $@
-# echo "\newcommand{\\pipversion}{$(pip-version)}" >> $@
- echo "\newcommand{\\pycparserversion}{$(pycparser-version)}" >> $@
- echo "\newcommand{\\pyparsingversion}{$(pyparsing-version)}" >> $@
- echo "\newcommand{\\pythondateutilversion}{$(python-dateutil-version)}" >> $@
- echo "\newcommand{\\requestsversion}{$(requests-version)}" >> $@
- echo "\newcommand{\\scipyversion}{$(scipy-version)}" >> $@
- echo "\newcommand{\\screenstorageversion}{$(secretstorage-version)}" >> $@
- echo "\newcommand{\\setuptoolsversion}{$(setuptools-version)}" >> $@
- echo "\newcommand{\\setuptoolsscmversion}{$(setuptools_scm-version)}" >> $@
- echo "\newcommand{\\sixversion}{$(six-version)}" >> $@
- echo "\newcommand{\\soupsieveversion}{$(soupsieve-version)}" >> $@
- echo "\newcommand{\\urllibthreeversion}{$(urllib3-version)}" >> $@
-# echo "\newcommand{\\virtualenvversion}{$(virtualenv-version)}" >> $@
- echo "\newcommand{\\webencodingsversion}{$(webencodings-version)}" >> $@
-
- # TeX package versions
- cat $(BDIR)/dependencies/texlive-versions.tex >> $@
diff --git a/reproduce/src/make/paper.mk b/reproduce/src/make/paper.mk
index d148c08..af9a70e 100644
--- a/reproduce/src/make/paper.mk
+++ b/reproduce/src/make/paper.mk
@@ -54,7 +54,8 @@ $(mtexdir)/pipeline.tex: $(foreach s, $(subst paper,,$(makesrc)), $(mtexdir)/$(s
if [ ! -e tex/pipeline ]; then ln -s $(texdir) tex/pipeline; fi
# Put a LaTeX input command for all the necessary macro files.
- rm -f $(mtexdir)/pipeline.tex
+ echo "\input{tex/pipeline/macros/dependency-versions.tex}" \
+ > $(mtexdir)/pipeline.tex
for t in $(subst paper,,$(makesrc)); do
echo "\input{tex/pipeline/macros/$$t.tex}" >> $(mtexdir)/pipeline.tex
done