diff options
author | Raul Infante-Sainz <infantesainz@gmail.com> | 2019-05-27 10:32:29 +0100 |
---|---|---|
committer | Raul Infante-Sainz <infantesainz@gmail.com> | 2019-05-27 10:32:29 +0100 |
commit | 7d1960b1675f7764ef0b48776f995e191c99b695 (patch) | |
tree | 41542dbdae89b27f30a5ea0adcc6c74d6da32758 /reproduce/software | |
parent | 53b8dae45dc959bbd37783932e3eee7f0dccad5c (diff) |
Adding SCons into the project
With this commit, SCons has been included into the project. As in the
official webpage of this program says:
SCons is an Open Source software construction tool—that is, a
next-generation build tool. Think of SCons as an improved,
cross-platform substitute for the classic Make utility with integrated
functionality similar to autoconf/automake and compiler caches such as
ccache. In short, SCons is an easier, more reliable and faster way to
build software.
The motivation for including this software into the project is because
there are some software that use this system for the installation. In
particular, the necessity of installing it comes from Imfit. This is an
astronomical software that uses this system so that is why it has been
included into the project. In principle it is simple, and I have tested
it on Mac OS sytem without any problem.
Diffstat (limited to 'reproduce/software')
-rw-r--r-- | reproduce/software/config/installation/TARGETS.mk | 2 | ||||
-rw-r--r-- | reproduce/software/config/installation/versions.mk | 1 | ||||
-rw-r--r-- | reproduce/software/make/high-level.mk | 16 |
3 files changed, 18 insertions, 1 deletions
diff --git a/reproduce/software/config/installation/TARGETS.mk b/reproduce/software/config/installation/TARGETS.mk index b9157f1..5bccf97 100644 --- a/reproduce/software/config/installation/TARGETS.mk +++ b/reproduce/software/config/installation/TARGETS.mk @@ -36,7 +36,7 @@ # Programs and libraries. -top-level-programs = gnuastro +top-level-programs = gnuastro scons # Python libraries/modules. top-level-python = astropy diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk index 7019ee4..fa3c5e8 100644 --- a/reproduce/software/config/installation/versions.mk +++ b/reproduce/software/config/installation/versions.mk @@ -93,6 +93,7 @@ openmpi-version = 4.0.1 pixman-version = 0.38.0 python-version = 3.7.3 scamp-version = 2.6.7 +scons-version = 3.0.5 sextractor-version = 2.25.0 swarp-version = 2.38.0 swig-version = 3.0.12 diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index fe6efd0..14c4a2a 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -130,6 +130,7 @@ tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \ openblas-$(openblas-version).tar.gz \ pixman-$(pixman-version).tar.gz \ scamp-$(scamp-version).tar.lz \ + scons-$(scons-version).tar.gz \ sextractor-$(sextractor-version).tar.lz \ swarp-$(swarp-version).tar.gz \ swig-$(swig-version).tar.gz \ @@ -199,6 +200,9 @@ $(tarballs): $(tdir)/%: | $(lockdir) w=https://download.open-mpi.org/release/open-mpi/v$$majorver/$* elif [ $$n = pixman ]; then w=https://www.cairographics.org/releases elif [ $$n = scamp ]; then w=http://akhlaghi.org/src + elif [ $$n = scons ]; then + mergenames=0 + w=https://sourceforge.net/projects/scons/files/scons/$(scons-version)/scons-$(scons-version).tar.gz/download elif [ $$n = sextractor ]; then w=http://akhlaghi.org/src elif [ $$n = swarp ]; then w=https://www.astromatic.net/download/swarp elif [ $$n = swig ]; then w=https://sourceforge.net/projects/swig/files/swig/swig-$(swig-version) @@ -658,6 +662,18 @@ $(ibidir)/scamp: $(tdir)/scamp-$(scamp-version).tar.lz \ && cp $(dtexdir)/scamp.tex $(ictdir)/ \ && echo "SCAMP $(scamp-version) \citep{scamp}" > $@ +# Since `scons' doesn't use the traditional GNU installation with +# `configure' and `make' it is installed manually using `python'. +$(ibidir)/scons: $(tdir)/scons-$(scons-version).tar.gz \ + $(ibidir)/python + cd $(ddir) \ + && unpackdir=scons-$(scons-version) \ + && rm -rf $$unpackdir \ + && if ! tar xf $<; then echo; echo "Tar error"; exit 1; fi \ + && cd $$unpackdir \ + && python setup.py install \ + && echo "SCons $(scons-version)" > $@ + # Sextractor crashes complaining about not linking with some ATLAS # libraries. But we can override this issue since we have Openblas # installed, it is just necessary to explicity tell sextractor to use it in |