diff options
Diffstat (limited to 'reproduce')
-rw-r--r-- | reproduce/software/config/installation/versions.mk | 4 | ||||
-rw-r--r-- | reproduce/software/make/basic.mk | 4 | ||||
-rw-r--r-- | reproduce/software/make/high-level.mk | 70 |
3 files changed, 37 insertions, 41 deletions
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk index 18a4a2e..d0174c8 100644 --- a/reproduce/software/config/installation/versions.mk +++ b/reproduce/software/config/installation/versions.mk @@ -25,13 +25,13 @@ bash-version = 5.0.7 binutils-version = 2.32 coreutils-version = 8.31 -curl-version = 7.63.0 +curl-version = 7.65.1 diffutils-version = 3.7 file-version = 5.36 findutils-version = 4.6.0.199-e3fc gawk-version = 5.0.0 gcc-version = 9.1.0 -git-version = 2.21.0 +git-version = 2.22.0 gmp-version = 6.1.2 grep-version = 3.3 gzip-version = 1.10 diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk index f8963bc..468563b 100644 --- a/reproduce/software/make/basic.mk +++ b/reproduce/software/make/basic.mk @@ -623,7 +623,7 @@ $(ibidir)/bash: $(tdir)/bash-$(bash-version).tar.lz \ # complete. # # One problem is that Coreutils installs many very basic executables which -# might be in use by other programs. So we must make sure that when +# might be in used by other programs. So we must make sure that when # Coreutils is being built, no other program is being built in # parallel. The solution to the many executables it installs is to make a # fake installation (with `DESTDIR'), and get a list of the contents of the @@ -747,7 +747,7 @@ $(ibidir)/curl: $(tdir)/curl-$(curl-version).tar.gz \ --without-nss, V=1) \ && if [ "x$(needpatchelf)" != x ]; then \ $(ibdir)/patchelf --set-rpath $(ildir) $(ildir)/libcurl.so; \ - fi + fi \ && echo "cURL $(curl-version)" > $@ diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 2924077..d609535 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -150,21 +150,13 @@ $(tarballs): $(tdir)/%: | $(lockdir) # Set the top download link of the requested tarball. mergenames=1 - if [ $$n = cfitsio ]; then - mergenames=0 - v=$$(echo $(cfitsio-version) | sed -e's/\.//' \ - | awk '{l=length($$1); \ - printf (l==4 ? "%d\n" \ - : (l==3 ? "%d0\n" \ - : (l==2 ? "%d00\n" \ - : "%d000\n") ), $$1)}') - w=https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-$(cfitsio-version).tar.gz - elif [ $$n = astrometry ]; then w=http://astrometry.net/downloads + if [ $$n = astrometry ]; then w=http://astrometry.net/downloads elif [ $$n = atlas ]; then mergenames=0 w=https://sourceforge.net/projects/math-atlas/files/Stable/$(atlas-version)/atlas$(atlas-version).tar.bz2/download elif [ $$n = cairo ]; then w=https://www.cairographics.org/releases elif [ $$n = cdsclient ]; then w=http://cdsarc.u-strasbg.fr/ftp/pub/sw + elif [ $$n = cfitsio ]; then w=https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c elif [ $$n = cmake ]; then mergenames=0 majv=$$(echo $(cmake-version) \ @@ -250,19 +242,13 @@ $(tarballs): $(tdir)/%: | $(lockdir) # libraries. Therefore, we can't use the easy `.a' suffix for static # libraries as targets and there are different conventions for shared # library names. -# -# For the actual build, the same compiler that built the library will build -# the programs, so exact knowledge of the suffix is ultimately irrelevant -# for us here. So, we'll make an `$(ildir)/built' directory and make a -# simple plain text file in it with the basic library name (an no prefix) -# and create/write into it when the library is successfully built. $(ibidir)/cfitsio: $(tdir)/cfitsio-$(cfitsio-version).tar.gz \ $(ibidir)/curl - # CFITSIO hard-codes '@rpath' inside the shared library on - # Mac systems. So we need to change it to our library - # installation path. It doesn't affect GNU/Linux, so we'll - # just do it in any case to keep things clean. + # CFITSIO hard-codes '@rpath' inside the shared library on + # Mac systems. So we need to change it to our library + # installation path. It doesn't affect GNU/Linux, so we'll + # just do it in any case to keep things clean. topdir=$(pwd); cd $(ddir); tar xf $< customtar=cfitsio-$(cfitsio-version)-custom.tar.gz cd cfitsio-$(cfitsio-version) @@ -273,10 +259,10 @@ $(ibidir)/cfitsio: $(tdir)/cfitsio-$(cfitsio-version).tar.gz \ tar cf $$customtar cfitsio-$(cfitsio-version) cd $$topdir - # Continue the standard build on the customized tarball. + # Continue the standard build on the customized tarball. $(call gbuild, $$customtar, cfitsio-$(cfitsio-version), , \ - --enable-sse2 --enable-reentrant, , \ - make shared) \ + --enable-sse2 --enable-reentrant \ + --with-bzip2=$(idir), , make shared) \ && rm $$customtar \ && echo "CFITSIO $(cfitsio-version)" > $@ @@ -293,10 +279,10 @@ $(ibidir)/gsl: $(tdir)/gsl-$(gsl-version).tar.gz && echo "GNU Scientific Library $(gsl-version)" > $@ $(ibidir)/fftw: $(tdir)/fftw-$(fftw-version).tar.gz - # In order to build single and double precission libraries of - # `fftw', installation of `fftw' is done twice. First time is to - # build single precission float libraries and second time is for - # building the default double precission float libraries + # In order to build single and double precission libraries of + # `fftw', installation of `fftw' is done twice. First time is to + # build single precission float libraries and second time is for + # building the default double precission float libraries $(call gbuild, $<, fftw-$(fftw-version), static, \ --enable-shared enable-threads \ --enable-single --enable-type-prefix) \ @@ -624,19 +610,20 @@ $(ibidir)/imagemagick: $(tdir)/imagemagick-$(imagemagick-version).tar.xz \ --without-x --disable-openmp, V=1) \ && echo "ImageMagick $(imagemagick-version)" > $@ -# `imfit doesn't use the traditional `configure' and `make' to install it. -# Instead of that, it uses `scons'. As a consecuence, the installation is -# manually done by decompressing the tarball, and running `scons' with the -# necessary flags. Despite of that, it is necessary to replace the default -# searching paths in this script by our installation paths. This is done -# with `sed', replacing each ocurrence of `/usr/local' by `$(idir)'. After -# that, each compiled program (`imfit', `imfit-mcmc' and `makeimage') is -# copied into the installation directory. +# `imfit' doesn't use the traditional `configure' and `make' to install +# itself. Instead of that, it uses `scons'. As a consequence, the +# installation is manually done by decompressing the tarball, and running +# `scons' with the necessary flags. Despite of that, it is necessary to +# replace the default searching paths in this script by our installation +# paths. This is done with `sed', replacing each ocurrence of `/usr/local' +# by `$(idir)'. After that, each compiled program (`imfit', `imfit-mcmc' +# and `makeimage') is copied into the installation directory and an `rpath' +# is added. $(ibidir)/imfit: $(tdir)/imfit-$(imfit-version).tar.gz \ $(ibidir)/cfitsio \ + $(ibidir)/scons \ $(ibidir)/fftw \ - $(ibidir)/gsl \ - $(ibidir)/scons + $(ibidir)/gsl cd $(ddir) \ && unpackdir=imfit-$(imfit-version) \ && rm -rf $$unpackdir \ @@ -824,6 +811,14 @@ $(itidir)/texlive: reproduce/software/config/installation/texlive.mk \ if [ x"$$res" = x"NOT!" ]; then echo "" > $@ else + # To update itself, tlmgr needs a backup directory. + backupdir=$(idir)/texlive/backups + mkdir -p $$backupdir + + # Before checking LaTeX packages, update tlmgr itself. + tlmgr option backupdir $$backupdir + tlmgr update --self + # Install all the extra necessary packages. If LaTeX complains # about not finding a command/file/what-ever/XXXXXX, simply run # the following command to find which package its in, then add it @@ -844,6 +839,7 @@ $(itidir)/texlive: reproduce/software/config/installation/texlive.mk \ | awk '{print $$NF}'); # Package names and versions. + rm -f $@ tlmgr info $(texlive-packages) --only-installed | awk \ '$$1=="package:" {version=0; \ if($$NF=="tex-gyre") name="texgyre"; \ |