diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-02-16 01:14:29 +0000 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-02-16 01:14:29 +0000 |
commit | 241515c3dc6ef7f7ee6b0db22312e316196ecb89 (patch) | |
tree | eebc568303e929878ac354fe40a8307d8ae6b412 /reproduce | |
parent | f69e1f407831dabddc20a0593716dcc4edcb4148 (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.mk | 2 | ||||
-rw-r--r-- | reproduce/software/config/installation/checksums.mk | 3 | ||||
-rw-r--r-- | reproduce/software/config/installation/versions.mk | 3 | ||||
-rw-r--r-- | reproduce/software/make/high-level.mk | 34 |
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)" > $@ |