diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-08-08 16:01:35 +0100 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2019-08-08 16:03:27 +0100 |
commit | 63d382c17b5cc52c6b701120c5677e94b782824b (patch) | |
tree | 77b567a39cea5c908da2576316ecab812e0eeabd | |
parent | 8a70ece28ce0438ee9dd94827b0de349d2fce5c8 (diff) |
libnsl, libtirpc and rpcsvc installed as non-used biber dependencies
These three libraries are dependencies of Biber, so we will need them
later, but since we don't build biber from source now, we can't control
what library it links with. With this commit, we have just added their
versions, checksum, download URL and build rule incase they are useful in
other software.
Later, when we build Biber (and Texlive in general) from source, we'll be
able to use these.
-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 | 49 |
3 files changed, 49 insertions, 6 deletions
diff --git a/reproduce/software/config/installation/checksums.mk b/reproduce/software/config/installation/checksums.mk index d061595..5103086 100644 --- a/reproduce/software/config/installation/checksums.mk +++ b/reproduce/software/config/installation/checksums.mk @@ -91,8 +91,10 @@ lapack-checksum = 17786cb7306fccdc9b4a242de7f64fc261ebe6a10b6ec55f519deb4cb673cb libffi-checksum = 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 libgit2-checksum = 0879c162e2e1dc00eadfbda22cd1f9d3a95b4ec2b653c108983f37c2f695140882de4d50d7cbc04ced247125a4e9fe6df16130e1267891aecdb2411d920db5c6 libjpeg-checksum = 74ea5af3545657d4ac03f8f7933913112cc2d982f0e379d0e5647f1acac21931468e53806297c30ebe180c7bcf84919a0ac20a4195afb03db03060d57904ef6c +libnsl-checksum = a3c8f674357674b7ed4b26c05adde607f39be8d6dc9ff715448e1fcc5fc23d11fbb4ce85a6e493b79bdb0bb450dc3ffb1fb480715779f738d7bc016fae91621d libpng-checksum = 59e8c1059013497ae616a14c3abbe239322d3873c6ded0912403fc62fb260561768230b6ab997e2cccc3b868c09f539fd13635616b9fa0dd6279a3f63ec7e074 libtiff-checksum = d213e5db09fd56b8977b187c5a756f60d6e3e998be172550c2892dbdb4b2a8e8c750202bc863fe27d0d1c577ab9de1710d15e9f6ed665aadbfd857525a81eea8 +libtirpc-checksum = 392f391f9fc1bd68d81dc44e4058831a64b32790b5c8c37338b0ab416fad2ae4d16389e632596734dba09780347918cc65c6f134e0c1afd09e81ec250785ed23 libxml2-checksum = cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810 netpbm-checksum = 064720f8a9d0a502488e1af4daecdbf3936910996507ca6f311073a0ad842346692a148eb1ddf7b717f7b108f60500246cb4b83f4d3665f5fc285a84ae1d63d6 openblas-checksum = 91b3074eb922453bf843158b4281cde65db9e8bbdd7590e75e9e6cdcb486157f7973f2936f327bb3eb4f1702ce0ba51ae6729d8d4baf2d986c50771e8f696df0 @@ -100,6 +102,7 @@ openmpi-checksum = 760716974cb6b25ad820184622e1ee7926bc6fda87db6b574f76792bc1ca9 openssh-checksum = e280fa2d56f550efd37c5d2477670326261aa8b94d991f9eb17aad90e0c6c9c939efa90fe87d33260d0f709485cb05c379f0fd1bd44fc0d5190298b6398c9982 pixman-checksum = 1b0205dbe9d9185c68813ce577a889f3c83e83fbd9955c3a72d411c3b476e6be93fc246b5b6ef4ee17e2bb8eb6fb5559e01dff7feb6a6c4c6314f980e960d690 python-checksum = c87be001f3de677f7838cc7767beefe5781d3d5e4ba39abb8dba1d77ce4a334660e27ed2dfd26bc90afcdb94b5b8a3a7aea329852557404d1c85cb2c268651db +rpcsvc-proto-checksum = c3011d7d7ef97a4a751f6921df1a23e1dd8ac50fb0690c759d37010ed7be27968a2130e3b8872cb48d5914216f9d539096a424f1ec38a75f7ed899748151c6f4 scamp-checksum = 35034a367d2cd09dc51e727e0f23ef6234edc0d978fd71cda1e80391d86af160138cb57281f7f7f9047e35b1246a0de6b235414086a62524413ed423f498583f scons-checksum = 0477038b014674049f12899b64584d44a85283d521b2422561e42020a5ae296a5af005684087c3ff410ed3fcbdcc5ff61998bc429eb29513f2a864138ffc4945 sextractor-checksum = 4035710f9b8a20a0bb1a3913dab2dadd8444c179bf6dee425e0e8bb66a772944ea189bfce89fd791d316a790fc4b2cb15a62633b19d1d5331b1803dec2e70af7 diff --git a/reproduce/software/config/installation/versions.mk b/reproduce/software/config/installation/versions.mk index 085646c..7105f59 100644 --- a/reproduce/software/config/installation/versions.mk +++ b/reproduce/software/config/installation/versions.mk @@ -88,14 +88,17 @@ imagemagick-version = 7.0.8-46 imfit-version = 1.6.1 libffi-version = 3.2.1 libjpeg-version = v9b +libnsl-version = 1.2.0-4a062cf libpng-version = 1.6.37 libtiff-version = 4.0.10 +libtirpc-version = 1.1.4 libxml2-version = 2.9.9 openblas-version = 0.3.5 openmpi-version = 4.0.1 openssh-version = 8.0p1 pixman-version = 0.38.0 python-version = 3.7.3 +rpcsvc-proto-version = 1.4 scamp-version = 2.6.7 scons-version = 3.0.5 sextractor-version = 2.25.0 diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index a448422..96cdb23 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -148,8 +148,10 @@ tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \ install-tl-unx.tar.gz \ jpegsrc.$(libjpeg-version).tar.gz \ lapack-$(lapack-version).tar.gz \ - libpng-$(libpng-version).tar.xz \ libgit2-$(libgit2-version).tar.gz \ + libnsl-$(libnsl-version).tar.gz \ + libpng-$(libpng-version).tar.xz \ + libtirpc-$(libtirpc-version).tar.bz2 \ libxml2-$(libxml2-version).tar.gz \ netpbm-$(netpbm-version).tar.gz \ openblas-$(openblas-version).tar.gz \ @@ -161,6 +163,7 @@ tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \ sextractor-$(sextractor-version).tar.lz \ swarp-$(swarp-version).tar.gz \ swig-$(swig-version).tar.gz \ + rpcsvc-proto-$(rpcsvc-proto-version).tar.xz \ tides-$(tides-version).tar.gz \ tiff-$(libtiff-version).tar.gz \ wcslib-$(wcslib-version).tar.bz2 \ @@ -173,7 +176,7 @@ $(tarballs): $(tdir)/%: | $(lockdir) n=$$(echo $* | sed -e's/[0-9\-]/ /g' -e's/\./ /g' \ | awk '{print $$1}' ) - # Set the top download link of the requested tarball. + # Set the top download link of the requested tarball. mergenames=1 if [ $$n = astrometry ]; then c=$(astrometrynet-checksum); w=http://astrometry.net/downloads elif [ $$n = atlas ]; then @@ -211,11 +214,13 @@ $(tarballs): $(tdir)/%: | $(lockdir) elif [ $$n = install ]; then c=NO-CHECK-SUM; w=http://mirror.ctan.org/systems/texlive/tlnet elif [ $$n = jpegsrc ]; then c=$(libjpeg-checksum); w=http://ijg.org/files elif [ $$n = lapack ]; then c=$(lapack-checksum); w=http://www.netlib.org/lapack + elif [ $$n = libnsl ]; then c=$(libnsl-checksum); w=http://akhlaghi.org/reproduce-software elif [ $$n = libpng ]; then c=$(libpng-checksum); w=https://download.sourceforge.net/libpng elif [ $$n = libgit ]; then mergenames=0 c=$(libgit2-checksum) 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=$(libxml-checksum); w=ftp://xmlsoft.org/libxml2 elif [ $$n = netpbm ]; then c=$(netpbm-checksum); w=http://akhlaghi.org/reproduce-software elif [ $$n = openblas ]; then @@ -229,6 +234,7 @@ $(tarballs): $(tdir)/%: | $(lockdir) w=https://download.open-mpi.org/release/open-mpi/v$$majorver/$* elif [ $$n = openssh ]; then c=$(openssh-checksum); w=https://artfiles.org/openbsd/OpenSSH/portable elif [ $$n = pixman ]; then c=$(pixman-checksum); w=https://www.cairographics.org/releases + elif [ $$n = rpcsvc ]; then c=$(rpcsvc-proto-checksum); w=https://github.com/thkukuk/rpcsvc-proto/releases/download/v$(rpcsvc-proto-version) elif [ $$n = scamp ]; then c=$(scamp-checksum); w=http://akhlaghi.org/reproduce-software elif [ $$n = scons ]; then mergenames=0 @@ -273,12 +279,15 @@ $(tarballs): $(tdir)/%: | $(lockdir) # controlled `sha512sum' build (as part of GNU Coreutils). So we # don't need to check its existance like `basic.mk'. But for LaTeX, # we need to ignore a checksum (it downloads the binaries). - if [ $$c == NO-CHECK-SUM ]; then + if [ x"$$c" == x"NO-CHECK-SUM" ]; then mv "$@.unchecked" "$@" else checksum=$$(sha512sum "$@.unchecked" | awk '{print $$1}') - if [ x$$checksum = x$$c ]; then mv "$@.unchecked" "$@" - else echo "ERROR: Non-matching checksum for '$*'."; exit 1 + if [ x"$$checksum" = x"$$c" ]; then mv "$@.unchecked" "$@" + else echo "ERROR: Non-matching checksum for '$*'." + echo "Checksum should be: $$c" + echo "Checksum is: $$checksum" + exit 1 fi fi @@ -447,6 +456,13 @@ $(ibidir)/libjpeg: $(tdir)/jpegsrc.$(libjpeg-version).tar.gz $(call gbuild, $<, jpeg-9b, static) \ && echo "Libjpeg $(libjpeg-version)" > $@ +$(ibidir)/libnsl: $(tdir)/libnsl-$(libnsl-version).tar.gz \ + $(ibidir)/rpcsvc-proto \ + $(ibidir)/libtirpc + $(call gbuild, $<, libnsl-$(libnsl-version), static, \ + --sysconfdir=$(idir)/etc) \ + && echo "Libnsl $(libnsl-version)" > $@ + $(ibidir)/libpng: $(tdir)/libpng-$(libpng-version).tar.xz $(call gbuild, $<, libpng-$(libpng-version), static) \ && echo "Libpng $(libpng-version)" > $@ @@ -457,6 +473,11 @@ $(ibidir)/libtiff: $(tdir)/tiff-$(libtiff-version).tar.gz \ --disable-webp --disable-zstd) \ && echo "Libtiff $(libtiff-version)" > $@ +$(ibidir)/libtirpc: $(tdir)/libtirpc-$(libtirpc-version).tar.bz2 + $(call gbuild, $<, libtirpc-$(libtirpc-version), static, \ + --disable-gssapi, V=1) \ + echo "libtirpc $(libtirpc-version)" > $@ + $(ibidir)/libxml2: $(tdir)/libxml2-$(libxml2-version).tar.gz # The libxml2 tarball also contains Python bindings which are built and # installed to a system directory by default. If you don't need the Python @@ -500,6 +521,10 @@ $(ibidir)/pixman: $(tdir)/pixman-$(pixman-version).tar.gz -j$(numthreads) V=1) \ && echo "Pixman $(pixman-version)" > $@ +$(ibidir)/rpcsvc-proto: $(tdir)/rpcsvc-proto-$(rpcsvc-proto-version).tar.xz + $(call gbuild, $<, rpcsvc-proto-$(rpcsvc-proto-version), static) \ + && echo "rpcsvc $(rpcsvc-proto-version)" > $@ + $(ibidir)/tides: $(tdir)/tides-$(tides-version).tar.gz $(call gbuild, $<, tides-$(tides-version), static,\ --with-gmp=$(idir) --with-mpfr=$(idir)) \ @@ -894,8 +919,20 @@ $(itidir)/texlive-ready-tlmgr: $(tdir)/install-tl-unx.tar.gz \ # To keep things modular and simple, we'll break up the installation of TeX # Live itself (only very basic TeX and LaTeX) and the installation of its # necessary packages into two packages. +# +# Note that Biber needs to link with libraries like libnsl. However, we +# don't currently build biber from source. So we can't choose the library +# version. But we have the source and build instructions for the `nsl' +# library. When we later build biber from source, we can easily use them. +# +#ifeq ($(on_mac_os),yes) +#forbiber = +#else +#forbiber = $(ibidir)/libnsl +#endif $(itidir)/texlive: reproduce/software/config/installation/texlive.mk \ - $(itidir)/texlive-ready-tlmgr + $(itidir)/texlive-ready-tlmgr \ + $(forbiber) # To work with TeX live installation, we'll need the internet. @res=$$(cat $(itidir)/texlive-ready-tlmgr) |