aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2020-02-16 01:14:29 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2020-02-16 01:14:29 +0000
commit241515c3dc6ef7f7ee6b0db22312e316196ecb89 (patch)
treeeebc568303e929878ac354fe40a8307d8ae6b412 /reproduce
parentf69e1f407831dabddc20a0593716dcc4edcb4148 (diff)
Building XLSX I/O and its dependencies: expat and minizip
Until now, there was no easy way to read/write `.xlsx' files (Microsoft Excel spreadsheets) within the template. But XLSX I/O provides to simple programs and some libraries to easily convert `.xlsx' files to CSV that can easily be read by any tool. This has also been implemented in the core template branch.
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/software/config/installation/TARGETS.mk2
-rw-r--r--reproduce/software/config/installation/checksums.mk3
-rw-r--r--reproduce/software/config/installation/versions.mk3
-rw-r--r--reproduce/software/make/high-level.mk34
4 files changed, 40 insertions, 2 deletions
diff --git a/reproduce/software/config/installation/TARGETS.mk b/reproduce/software/config/installation/TARGETS.mk
index 2ffdbfe..0352d53 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 =
+top-level-programs = xlsxio
# Python libraries/modules.
top-level-python =
diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.mk
index 79f5626..a1a3767 100644
--- a/reproduce/software/config/installation/checksums.mk
+++ b/reproduce/software/config/installation/checksums.mk
@@ -88,6 +88,7 @@ cdsclient-checksum = 2d7abf0079189b9dd19cb8919061445fd19ea9f7dfd54e8ceee26b74321
cfitsio-checksum = c0502699e266928dd25abe57730dc4b357ccc9023789fe745324ae01aa688516aceaf37321ee578f0430111d9718f0fec0dc5b54c07f935529560f00b32ce1e3
cmake-checksum = 7d0abf2f7c661c6b555a7e93a2fce5ab5610c653b0aa4949bed6e97bfbe6523fd0665f67115d3944d3729cbe07ae3aaf780ee673b06dd80f90018cec8a999658
eigen-checksum = 34cf600914cce719d61511577ef9cd26fbdcb7a6fad1d0ab8396f98b887fac6a5577d3967e84a8f56225cc50de38f3b91f34f447d14312028383e32b34ea1972
+expat-checksum = 514ff2ef3c93af0b1715b7a08732db33c13a113c4c72422716a22ee26c09235deed71ec55510cee24c33bcd6b2347602bd71ce70a432d5583fb63765ff9e0e09
fftw-checksum = ab918b742a7c7dcb56390a0a0014f517a6dff9a2e4b4591060deeb2c652bf3c6868aa74559a422a276b853289b4b701bdcbd3d4d8c08943acf29167a7be81a38
flex-checksum = e9785f3d620a204b7d20222888917dc065c2036cae28667065bf7862dfa1b25235095a12fd04efdbd09bfd17d3452e6b9ef953a8c1137862ff671c97132a082e
freetype-checksum = 02f0f4211f9cee5b5e46ebe61190482fca5b41bc26be06fcf0d2d717e9fb119229308398c420eeea476fa2511ca2d52948f1a3242efad30ca82ed0b07cd50e3a
@@ -109,6 +110,7 @@ libpng-checksum = 59e8c1059013497ae616a14c3abbe239322d3873c6ded0912403fc62fb2605
libtiff-checksum = d213e5db09fd56b8977b187c5a756f60d6e3e998be172550c2892dbdb4b2a8e8c750202bc863fe27d0d1c577ab9de1710d15e9f6ed665aadbfd857525a81eea8
libtirpc-checksum = 392f391f9fc1bd68d81dc44e4058831a64b32790b5c8c37338b0ab416fad2ae4d16389e632596734dba09780347918cc65c6f134e0c1afd09e81ec250785ed23
libxml2-checksum = cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810
+minizip-checksum = 56b5443f79d1a0a5f563a563f7b1c27b0b0fc5ba5b37248367b204a89a9373df7d12ea802c678f3f39c987d5f1766003eac3dd31b643773afa4463a3f6406628
netpbm-checksum = 064720f8a9d0a502488e1af4daecdbf3936910996507ca6f311073a0ad842346692a148eb1ddf7b717f7b108f60500246cb4b83f4d3665f5fc285a84ae1d63d6
openblas-checksum = 91b3074eb922453bf843158b4281cde65db9e8bbdd7590e75e9e6cdcb486157f7973f2936f327bb3eb4f1702ce0ba51ae6729d8d4baf2d986c50771e8f696df0
openmpi-checksum = 760716974cb6b25ad820184622e1ee7926bc6fda87db6b574f76792bc1ca99522e52195866c14b7cb2df5a4981efdaf9f71d2c5533cc0e8e45c2c4b3b74cbacc
@@ -124,6 +126,7 @@ swarp-checksum = 80f4ade59738df3d4c9b47bda04148b53c6ba995d523fa8d1e02fb5d952b607
swig-checksum = 5eaa2e06d8e4197fd02194051db1e518325dbb074a4c55a91099ad9c55193874f577764afc9029409a41bd520a95154095f26e33ef5add5c102bb2c1d98d33eb
tides-checksum = c3360ff0d023b43749ba09a33302ca059f017a157b3ce7cdcf4f1a1578e90d3e7fa420077043adbee6b1ebf94bd698c8d6b279012f36d2a05b4de5351e30e108
wcslib-checksum = fed47771defb2a93fb50aa2e701c46f8ce35773dd3de91eeaed311b5a0474c096c7f9be6996fe95f82faa30b1d5c0aba892bca5da80bc32b15919dfaf551aeb7
+xlsxio-checksum = 22870fda7bd4eefd5fea2a9ad7530c9049135129d9b69805091777e6b54b2fc6c3f0e69c6954f36bce54eebbfeccaf637cce9e271a593221a4296d6632470a6c
yaml-checksum = 13d2197135946204323dbfccafa0ac7b3d05437e920545a56f46811fd7319c01419a58083090ce85fccd4d6901a620ceb9f1190078cc0830bc0ce769bb024f51
diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk
index 19ecf02..988f668 100644
--- a/reproduce/software/config/installation/versions.mk
+++ b/reproduce/software/config/installation/versions.mk
@@ -86,6 +86,7 @@ cdsclient-version = 3.84
cfitsio-version = 3.47
cmake-version = 3.15.3
eigen-version = 3.3.7
+expat-version = 2.2.9
fftw-version = 3.3.8
flex-version = 2.6.4
flock-version = 0.2.3
@@ -106,6 +107,7 @@ libpng-version = 1.6.37
libtiff-version = 4.0.10
libtirpc-version = 1.1.4
libxml2-version = 2.9.9
+minizip-version = 2.9.2
openblas-version = 0.3.5
openmpi-version = 4.0.1
openssh-version = 8.0p1
@@ -119,6 +121,7 @@ sextractor-version = 2.25.0
swarp-version = 2.38.0
swig-version = 3.0.12
tides-version = 2.0
+xlsxio-version = 0.2.21
yaml-version = 0.2.2
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index 735a24a..ac46f3a 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -146,6 +146,7 @@ tarballs = $(foreach t, apachelog4cxx-$(apachelog4cxx-version).tar.lz \
cfitsio-$(cfitsio-version).tar.gz \
cmake-$(cmake-version).tar.gz \
eigen-$(eigen-version).tar.gz \
+ expat-$(expat-version).tar.lz \
fftw-$(fftw-version).tar.gz \
flex-$(flex-version).tar.gz \
freetype-$(freetype-version).tar.gz \
@@ -166,6 +167,7 @@ tarballs = $(foreach t, apachelog4cxx-$(apachelog4cxx-version).tar.lz \
libpng-$(libpng-version).tar.xz \
libtirpc-$(libtirpc-version).tar.bz2 \
libxml2-$(libxml2-version).tar.gz \
+ minizip-$(minizip-version).tar.gz \
netpbm-$(netpbm-version).tar.gz \
openblas-$(openblas-version).tar.gz \
openmpi-$(openmpi-version).tar.gz \
@@ -181,6 +183,7 @@ tarballs = $(foreach t, apachelog4cxx-$(apachelog4cxx-version).tar.lz \
tides-$(tides-version).tar.gz \
tiff-$(libtiff-version).tar.gz \
wcslib-$(wcslib-version).tar.bz2 \
+ xlsxio-$(xlsxio-version).tar.gz \
yaml-$(yaml-version).tar.gz \
, $(tdir)/$(t) )
$(tarballs): $(tdir)/%: | $(lockdir)
@@ -223,6 +226,11 @@ $(tarballs): $(tdir)/%: | $(lockdir)
mergenames=0
c=$(eigen-checksum);
w=http://bitbucket.org/eigen/eigen/get/$(eigen-version).tar.gz
+ elif [ $$n = expat ]; then
+ mergenames=0
+ c=$(expat-checksum)
+ vstr=$$(echo $(expat-version) | sed -e's/\./_/g')
+ w=https://github.com/libexpat/libexpat/releases/download/R_$$vstr/expat-$(expat-version).tar.lz
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
@@ -256,6 +264,10 @@ $(tarballs): $(tdir)/%: | $(lockdir)
w=https://github.com/libgit2/libgit2/archive/v$(libgit2-version).tar.gz
elif [ $$n = libtirpc ]; then c=$(libtirpc-checksum); w=https://downloads.sourceforge.net/libtirpc
elif [ $$n = libxml ]; then c=$(libxml2-checksum); w=ftp://xmlsoft.org/libxml2
+ elif [ $$n = minizip ]; then
+ mergenames=0
+ c=$(minizip-checksum);
+ w=https://github.com/nmoinvaz/minizip/archive/$(minizip-version).tar.gz
elif [ $$n = netpbm ]; then c=$(netpbm-checksum); w=http://akhlaghi.org/reproduce-software
elif [ $$n = openblas ]; then
mergenames=0
@@ -283,6 +295,10 @@ $(tarballs): $(tdir)/%: | $(lockdir)
elif [ $$n = tides ]; then c=$(tides-checksum); w=http://akhlaghi.org/reproduce-software
elif [ $$n = tiff ]; then c=$(libtiff-checksum); w=https://download.osgeo.org/libtiff
elif [ $$n = wcslib ]; then c=$(wcslib-checksum); w=ftp://ftp.atnf.csiro.au/pub/software/wcslib
+ elif [ $$n = xlsxio ]; then
+ mergenames=0
+ c=$(xlsxio-checksum);
+ w=https://github.com/brechtsanders/xlsxio/archive/$(xlsxio-version).tar.gz
elif [ $$n = yaml ]; then c=$(yaml-checksum); w=pyyaml.org/download/libyaml
else
echo; echo; echo;
@@ -546,6 +562,10 @@ $(ibidir)/eigen: | $(tdir)/eigen-$(eigen-version).tar.gz
&& rm -rf $(ddir)/eigen-eigen-* \
&& echo "Eigen $(eigen-version)" > $@
+$(ibidir)/expat: | $(tdir)/expat-$(expat-version).tar.lz
+ $(call gbuild, expat-$(expat-version), static) \
+ && echo "Expat $(expat-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
@@ -997,6 +1017,13 @@ $(ibidir)/imfit: $(ibidir)/gsl \
fi \
&& echo "Imfit $(imfit-version) \citep{imfit2015}" > $@
+
+$(ibidir)/minizip: $(ibidir)/cmake \
+ | $(tdir)/minizip-$(minizip-version).tar.gz
+ $(call cbuild, minizip-$(minizip-version), static) \
+ && echo "minizip $(minizip-version)" > $@
+
+
# Netpbm is a prerequisite of Astrometry-net, it contains a lot of programs.
# This program has a crazy dialogue installation which is override using the
# printf statment. Each `\n' is a new question that the installation process
@@ -1103,7 +1130,12 @@ $(ibidir)/swig: | $(tdir)/swig-$(swig-version).tar.gz
$(call gbuild, swig-$(swig-version), static, --without-pcre) \
&& echo "Swig $(swig-version)" > $@
-
+$(ibidir)/xlsxio: $(ibidir)/expat \
+ $(ibidir)/minizip \
+ | $(tdir)/xlsxio-$(xlsxio-version).tar.gz
+ export LDFLAGS="-lbz2 -lbsd"; \
+ $(call cbuild, xlsxio-$(xlsxio-version), static) \
+ && echo "XLSX I/O $(xlsxio-version)" > $@