diff options
Diffstat (limited to 'reproduce/software/make/high-level.mk')
-rw-r--r-- | reproduce/software/make/high-level.mk | 70 |
1 files changed, 33 insertions, 37 deletions
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"; \ |