diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-04-04 21:13:52 +0100 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-04-04 21:13:52 +0100 |
commit | ac439cf62255ab38da940eb7bba0ccc00fc835f2 (patch) | |
tree | 197539ac6c5e7e6a08e91dc42e76a4ee14bb44ac /reproduce | |
parent | 2d75d867e638ef95d7d05c5a05cf1a372be50c82 (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.mk | 18 | ||||
-rw-r--r-- | reproduce/src/make/initialize.mk | 97 | ||||
-rw-r--r-- | reproduce/src/make/paper.mk | 3 |
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 |