From ac439cf62255ab38da940eb7bba0ccc00fc835f2 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Thu, 4 Apr 2019 21:13:52 +0100 Subject: 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. --- reproduce/config/pipeline/dependency-versions.mk | 18 ++--- reproduce/src/make/initialize.mk | 97 +----------------------- reproduce/src/make/paper.mk | 3 +- 3 files changed, 12 insertions(+), 106 deletions(-) (limited to 'reproduce') 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 # . -# 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 -- cgit v1.2.1