diff options
Diffstat (limited to 'reproduce/software/make')
-rw-r--r-- | reproduce/software/make/high-level.mk | 63 | ||||
-rw-r--r-- | reproduce/software/make/python.mk | 1 |
2 files changed, 62 insertions, 2 deletions
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 9f7b7e1..36e88ef 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -40,6 +40,7 @@ ddir = $(BDIR)/software/build-tmp idir = $(BDIR)/software/installed ibdir = $(BDIR)/software/installed/bin ildir = $(BDIR)/software/installed/lib +iidir = $(BDIR)/software/installed/include dtexdir = $(shell pwd)/reproduce/software/bibtex itidir = $(BDIR)/software/installed/version-info/tex ictdir = $(BDIR)/software/installed/version-info/cite @@ -131,13 +132,17 @@ include reproduce/software/make/python.mk # convention, but include the name/version in their tarball names with # another format, we'll do the modification before the download so the # downloaded file has our desired format. -tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \ +tarballs = $(foreach t, apr-$(apr-version).tar.gz \ + apr-util-$(apr-util-version).tar.gz \ + astrometry.net-$(astrometrynet-version).tar.gz \ atlas-$(atlas-version).tar.bz2 \ bison-$(bison-version).tar.xz \ + boost-$(boost-version).tar.gz \ cairo-$(cairo-version).tar.xz \ cdsclient-$(cdsclient-version).tar.gz \ cfitsio-$(cfitsio-version).tar.gz \ cmake-$(cmake-version).tar.gz \ + eigen-$(eigen-version).tar.gz \ fftw-$(fftw-version).tar.gz \ flex-$(flex-version).tar.gz \ freetype-$(freetype-version).tar.gz \ @@ -181,12 +186,20 @@ $(tarballs): $(tdir)/%: | $(lockdir) # Set the top download link of the requested tarball. mergenames=1 - if [ $$n = astrometry ]; then c=$(astrometrynet-checksum); w=http://astrometry.net/downloads + if [ $* = apr-util-$(apr-util-version).tar.gz ]; + then c=$(apr-util-checksum); w=https://www-us.apache.org/dist/apr + elif [ $$n = apr ]; then c=$(apr-checksum); w=https://www-us.apache.org/dist/apr + elif [ $$n = astrometry ]; then c=$(astrometrynet-checksum); w=http://astrometry.net/downloads elif [ $$n = atlas ]; then mergenames=0 c=$(atlas-checksum) w=https://sourceforge.net/projects/math-atlas/files/Stable/$(atlas-version)/atlas$(atlas-version).tar.bz2/download elif [ $$n = bison ]; then c=$(bison-checksum); w=http://ftp.gnu.org/gnu/bison/ + elif [ $$n = boost ]; then + mergenames=0 + c=$(boost-checksum) + vstr=$$(echo $(boost-version) | sed -e's/\./_/g') + w=https://dl.bintray.com/boostorg/release/$(boost-version)/source/boost_$$vstr.tar.gz elif [ $$n = cairo ]; then c=$(cairo-checksum); w=https://www.cairographics.org/releases elif [ $$n = cdsclient ]; then c=$(cdsclient-checksum); w=http://cdsarc.u-strasbg.fr/ftp/pub/sw elif [ $$n = cfitsio ]; then c=$(cfitsio-checksum); w=https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c @@ -197,6 +210,10 @@ $(tarballs): $(tdir)/%: | $(lockdir) | sed -e's/\./ /' \ | awk '{printf("%d.%d", $$1, $$2)}') w=https://cmake.org/files/v$$majv/cmake-$(cmake-version).tar.gz + elif [ $$n = eigen ]; then + mergenames=0 + c=$(eigen-checksum); + w=http://bitbucket.org/eigen/eigen/get/$(eigen-version).tar.gz elif [ $$n = fftw ]; then c=$(fftw-checksum); w=ftp://ftp.fftw.org/pub/fftw elif [ $$n = flex ]; then c=$(flex-checksum); w=https://github.com/westes/flex/files/981163 elif [ $$n = freetype ]; then c=$(freetype-checksum); w=https://download.savannah.gnu.org/releases/freetype @@ -314,6 +331,19 @@ $(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. +$(ibidir)/apr: $(tdir)/apr-$(apr-version).tar.gz + $(call gbuild, $<, apr-$(apr-version), ,--disable-static) \ + && echo "Apache Portable Runtime $(apr-version)" > $@ + +$(ibidir)/apr-util: $(tdir)/apr-util-$(apr-util-version).tar.gz \ + $(ibidir)/apr + $(call gbuild, $<, apr-util-$(apr-util-version), , \ + --disable-static \ + --with-apr=$(idir) \ + --with-openssl=$(idir) \ + --with-crypto ) \ + && echo "Apache Portable Runtime Utility $(apr-util-version)" > $@ + $(ibidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \ $(tdir)/lapack-$(lapack-version).tar.gz @@ -394,6 +424,23 @@ $(ibidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \ echo "ATLAS $(atlas-version)" > $@; \ fi +# Boost doesn't use the standard GNU Build System. +$(ibidir)/boost: $(tdir)/boost-$(boost-version).tar.gz \ + $(ibidir)/openmpi \ + $(ibidir)/python + vstr=$$(echo $(boost-version) | sed -e's/\./_/g') + rm -rf $(ddir)/boost_$$vstr + topdir=$(pwd); cd $(ddir); tar xf $< + cd boost_$$vstr + ./bootstrap.sh --prefix=$(idir) --with-libraries=all \ + --with-python=python3 \ + && echo "using mpi ;" > project-config.jam \ + && ./b2 stage threading=multi link=shared --prefix=$(idir) -j$(numthreads) \ + && ./b2 install threading=multi link=shared --prefix=$(idir) -j$(numthreads) \ + && cd $$topdir \ + && rm -rf $(ddir)/boost_$$vstr \ + && echo "Boost $(boost-version)" > $@ + $(ibidir)/cfitsio: $(tdir)/cfitsio-$(cfitsio-version).tar.gz \ $(ibidir)/curl @@ -428,6 +475,18 @@ $(ibidir)/cairo: $(tdir)/cairo-$(cairo-version).tar.xz \ --with-x=no, -j$(numthreads) V=1) \ && echo "Cairo $(cairo-version)" > $@ +# Eigen is just headers! So it doesn't need to be compiled. Once unpacked +# it has a checksum after `eigen-eigen', so we'll just use a `*' to choose +# the unpacked directory. +$(ibidir)/eigen: $(tdir)/eigen-$(eigen-version).tar.gz + rm -rf $(ddir)/eigen-eigen-* + topdir=$(pwd); cd $(ddir); tar xf $< + cd eigen-eigen-* + cp -r Eigen $(iidir)/eigen3 \ + && cd $$topdir \ + && rm -rf $(ddir)/eigen-eigen-* \ + && echo "Eigen $(eigen-version)" > $@ + $(ibidir)/fftw: $(tdir)/fftw-$(fftw-version).tar.gz # FFTW's single and double precission libraries must be built # independently: for the the single-precision library, we need to diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk index f624a20..9cf99e5 100644 --- a/reproduce/software/make/python.mk +++ b/reproduce/software/make/python.mk @@ -271,6 +271,7 @@ $(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \ {printf "%d.%d\n", $$1, $$2}') \ && ln -sf $(ildir)/python$$v $(ildir)/python \ && ln -sf $(ibdir)/python$$v $(ibdir)/python \ + && ln -sf $(iidir)/python$$v"m" $(iidir)/python$$v \ && rm -rf $(ipydir) \ && mkdir $(ipydir) \ && echo "Python $(python-version)" > $@ |