From 967c81fa82179fe151a0d589fa922d896b13b1c8 Mon Sep 17 00:00:00 2001
From: Raul Infante-Sainz <infantesainz@gmail.com>
Date: Tue, 16 Apr 2019 06:33:55 +0100
Subject: Cairo library and its dependency Pixman, are now included

In this commit we add Cairo library. The motivation of including this
library is because it is a dependency of Astrometry-net (which is a
common software used in astronomy projects).  In principle it will not
be build by default by de pipeline, but we will keep the rule just in
case it is needed.

Pixman is another library which is a prerequisite of Cairo, it is also
built with this commit.
---
 reproduce/software/config/installation/versions.mk |  2 ++
 reproduce/software/make/high-level.mk              | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

(limited to 'reproduce')

diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index 149f9ae..81acacf 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -20,6 +20,7 @@
 atlas-version              = 3.10.3
 bash-version               = 5.0
 binutils-version           = 2.31.1
+cairo-version              = 1.16.0
 cfitsio-version            = 3.45
 cmake-version              = 3.14.2
 coreutils-version          = 8.31
@@ -58,6 +59,7 @@ openblas-version           = 0.3.5
 openmpi-version            = 4.0.1
 openssl-version            = 1.1.1a
 patchelf-version           = 0.9
+pixman-version             = 0.38.0
 pkgconfig-version          = 0.29.2
 python-version             = 3.7.3
 readline-version           = 8.0
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index f7b1f4f..04b6cac 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -50,7 +50,7 @@ ipydir  = $(BDIR)/software/installed/version-info/python
 # high level software depend on it. The current rule for ATLAS is tested
 # 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-libraries = cairo pixman # atlas
 top-level-python    = astroquery matplotlib
 top-level-programs  = gnuastro metastore
 all: $(foreach p, $(top-level-libraries), $(ilidir)/$(p)) \
@@ -116,6 +116,7 @@ include reproduce/software/make/python.mk
 # downloaded file has our desired format.
 tarballs = $(foreach t, cfitsio-$(cfitsio-version).tar.gz                  \
                         atlas-$(atlas-version).tar.bz2                     \
+                        cairo-$(cairo-version).tar.bz2                     \
                         cmake-$(cmake-version).tar.gz                      \
                         curl-$(curl-version).tar.gz                        \
                         freetype-$(freetype-version).tar.gz                \
@@ -134,6 +135,7 @@ tarballs = $(foreach t, cfitsio-$(cfitsio-version).tar.gz                  \
                         metastore-$(metastore-version).tar.gz              \
                         openmpi-$(openmpi-version).tar.gz                  \
                         openblas-$(openblas-version).tar.gz                \
+                        pixman-$(pixman-version).tar.gz                    \
                         tiff-$(libtiff-version).tar.gz                     \
                         wcslib-$(wcslib-version).tar.bz2                   \
                       , $(tdir)/$(t) )
@@ -160,6 +162,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
 	  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 = cmake       ]; then
 	    mergenames=0
 	    majv=$$(echo $(cmake-version) \
@@ -193,6 +196,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
 	    mergenames=0
 	    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 = tiff        ]; then w=https://download.osgeo.org/libtiff
 	  elif [ $$n = wcslib      ]; then w=ftp://ftp.atnf.csiro.au/pub/software/wcslib
 	  else
@@ -261,6 +265,13 @@ $(ilidir)/cfitsio: $(tdir)/cfitsio-$(cfitsio-version).tar.gz \
 	&& rm $$customtar                                \
 	&& echo "CFITSIO $(cfitsio-version)" > $@
 
+$(ilidir)/cairo: $(tdir)/cairo-$(cairo-version).tar.xz    \
+                 $(ilidir)/freetype                       \
+                 $(ilidir)/libpng                         \
+                 $(ilidir)/pixman
+       $(call gbuild, $<, cairo-$(cairo-version), static) \
+       && echo "Cairo $(cairo-version)" > $@
+
 $(ilidir)/gsl: $(tdir)/gsl-$(gsl-version).tar.gz
 	$(call gbuild, $<, gsl-$(gsl-version), static) \
 	&& echo "GNU Scientific Library $(gsl-version)" > $@
@@ -298,6 +309,10 @@ $(ilidir)/libpng: $(tdir)/libpng-$(libpng-version).tar.xz
 	$(call gbuild, $<, libpng-$(libpng-version), static) \
 	&& echo "Libpng $(libpng-version)" > $@
 
+$(ilidir)/pixman: $(tdir)/pixman-$(pixman-version).tar.gz
+       $(call gbuild, $<, pixman-$(pixman-version), static) \
+       && echo "Pixman $(pixman-version)" > $@
+
 $(ilidir)/libtiff: $(tdir)/tiff-$(libtiff-version).tar.gz \
                    $(ilidir)/libjpeg
 	$(call gbuild, $<, tiff-$(libtiff-version), static, \
-- 
cgit v1.2.1