aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/software')
-rw-r--r--reproduce/software/bibtex/scamp.tex18
-rw-r--r--reproduce/software/config/installation/versions.mk2
-rw-r--r--reproduce/software/make/high-level.mk49
3 files changed, 64 insertions, 5 deletions
diff --git a/reproduce/software/bibtex/scamp.tex b/reproduce/software/bibtex/scamp.tex
new file mode 100644
index 0000000..8d825d7
--- /dev/null
+++ b/reproduce/software/bibtex/scamp.tex
@@ -0,0 +1,18 @@
+%% Copyright (C) 2019 Raul Infante-Sainz <infantesainz@gmail.com>
+%%
+%% Copying and distribution of this file, with or without modification,
+%% are permitted in any medium without royalty provided the copyright
+%% notice and this notice are preserved. This file is offered as-is,
+%% without any warranty.
+
+@ARTICLE{scamp,
+ author = {{Bertin}, E.},
+ title = "{Automatic Astrometric and Photometric Calibration with SCAMP}",
+ year = 2006,
+ journal= {ASPConf},
+ volume = 351,
+ month = jul,
+ pages = {112},
+ adsurl = {http://cdsads.u-strasbg.fr/abs/2006ASPC..351..112B},
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System}
+}
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index b7de983..5761165 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -22,6 +22,7 @@ atlas-version = 3.10.3
bash-version = 5.0
binutils-version = 2.31.1
cairo-version = 1.16.0
+cdsclient-version = 3.84
cfitsio-version = 3.45
cmake-version = 3.14.2
coreutils-version = 8.31
@@ -65,6 +66,7 @@ pixman-version = 0.38.0
pkgconfig-version = 0.29.2
python-version = 3.7.3
readline-version = 8.0
+scamp-version = 2.6.7
sed-version = 4.7
sextractor-version = 2.25.0
swarp-version = 2.38.0
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index 59287c6..55ae090 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -51,7 +51,7 @@ ipydir = $(BDIR)/software/installed/version-info/python
# successfully on Mac (only static) and GNU/Linux (shared and static). But,
# since it takes a few hours to build, it is not currently a target.
top-level-libraries = # atlas
-top-level-programs = astrometrynet gnuastro metastore sextractor swarp
+top-level-programs = astrometrynet gnuastro metastore scamp sextractor swarp
top-level-python = astroquery matplotlib
all: $(foreach p, $(top-level-libraries), $(ilidir)/$(p)) \
$(foreach p, $(top-level-programs), $(ibidir)/$(p)) \
@@ -114,10 +114,11 @@ 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-$(astrometry-version).tar.gz \
- cfitsio-$(cfitsio-version).tar.gz \
+tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \
atlas-$(atlas-version).tar.bz2 \
cairo-$(cairo-version).tar.xz \
+ cdsclient-$(cdsclient-version).tar.gz \
+ cfitsio-$(cfitsio-version).tar.gz \
cmake-$(cmake-version).tar.gz \
curl-$(curl-version).tar.gz \
freetype-$(freetype-version).tar.gz \
@@ -139,6 +140,7 @@ tarballs = $(foreach t, astrometry.net-$(astrometry-version).tar.gz \
openmpi-$(openmpi-version).tar.gz \
openblas-$(openblas-version).tar.gz \
pixman-$(pixman-version).tar.gz \
+ scamp-$(scamp-version).tar.lz \
sextractor-$(sextractor-version).tar.lz \
swarp-$(swarp-version).tar.gz \
swig-$(swig-version).tar.gz \
@@ -170,6 +172,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
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 = cmake ]; then
mergenames=0
majv=$$(echo $(cmake-version) \
@@ -208,6 +211,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
majorver=$$(echo $(openmpi-version) | sed -e 's/\./ /g' | awk '{printf("%d.%d", $$1, $$2)}')
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 = 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)
@@ -529,8 +533,24 @@ $(ibidir)/astrometrynet: $(tdir)/astrometry.net-$(astrometrynet-version).tar.gz
&& cp $(dtexdir)/astrometrynet.tex $(ictdir)/ \
&& echo "Astrometry.net $(astrometrynet-version) \citep{astrometrynet}" > $@
-
-
+# cdsclient is a set of software written in c to interact with astronomical
+# database servers. It is a dependency of `scamp' to be able to download
+# reference catalogues.
+# NOTE: we do not use a convencional `gbuild' installation because the
+# programs are scripts and we need to touch them before installing.
+# Otherwise this software will be re-built each time the configure step is
+# invoked.
+$(ibidir)/cdsclient: $(tdir)/cdsclient-$(cdsclient-version).tar.gz
+ cd $(ddir) \
+ && tar xf $< \
+ && cd cdsclient-$(cdsclient-version) \
+ && touch * \
+ && ./configure --prefix=$(idir) \
+ && make \
+ && make install \
+ && cd .. \
+ && rm -rf cdsclient-$(cdsclient-version) \
+ && echo "cdsclient $(cdsclient-version)" > $@
# CMake can be built with its custom `./bootstrap' script.
$(ibidir)/cmake: $(tdir)/cmake-$(cmake-version).tar.gz \
@@ -714,6 +734,25 @@ $(ibidir)/netpbm: $(tdir)/netpbm-$(netpbm-version).tgz \
&& rm -rf $$unpackdir \
&& echo "Netpbm $(netpbm-version)" > $@
+# SCAMP documentation says ATLAS is a mandatory prerequisite for using
+# SCAMP. We have ATLAS into the project but there are some problems with the
+# libraries that are not yet solved. However, we tried to install it with
+# the option --enable-openblas and it worked (same issue happened with
+# `sextractor'.
+$(ibidir)/scamp: $(tdir)/scamp-$(scamp-version).tar.lz \
+ $(ilidir)/atlas \
+ $(ilidir)/fftw \
+ $(ilidir)/openblas \
+ $(ibidir)/cdsclient
+ $(call gbuild, $<, scamp-$(scamp-version), static, \
+ --enable-threads --enable-openblas \
+ --with-fftw-libdir=$(idir) \
+ --with-fftw-incdir=$(idir)/include \
+ --with-openblas-libdir=$(ildir) \
+ --with-openblas-incdir=$(idir)/include) \
+ && cp $(dtexdir)/scamp.tex $(ictdir)/ \
+ && echo "SCAMP $(scamp-version) \citep{scamp}" > $@
+
# 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