diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-05-06 00:45:22 +0100 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2020-05-06 01:15:29 +0100 |
commit | 22d915e020643797eab6f3f3017752cb1f6b0178 (patch) | |
tree | 346cb01855cf090ac27102c6ae227e91c0d14e5f /reproduce | |
parent | 82666074e0c921e53c21b9e2c444e9a2d407d092 (diff) |
Software are rebuilt automatically with change of version
Until now, when you changed the version of a software in an already-built
system, its tarball would be downloaded, but it wouldn't actually
build. The only way would be to force the build by deleting the main target
of that file (under `.local/version-info/TYPE/PROGRAM'). This was because
the tarballs were an order-only prerequisite which was implemented some
time ago based on some theoretical argument that if the tarball dates
changes, the software should not be rebuilt (because we check the
checksum).
However, the problems this causes are more than those it solves: Users may
forget to delete the main target of the program and mistakenly think that
they are using the new version. The fact that all the numbers going into
the paper also contain this number further hides this.
With this commit, tarballs are no longer order-only and any time a version
of a software is updated, it will be automatically built and not cause
confusion and manual intervention by the users. As a result of this change,
I also had to correct the way we find the tarball from the list of
prerequisites.
Diffstat (limited to 'reproduce')
-rw-r--r-- | reproduce/software/make/basic.mk | 189 | ||||
-rw-r--r-- | reproduce/software/make/build-rules.mk | 4 | ||||
-rw-r--r-- | reproduce/software/make/high-level.mk | 154 | ||||
-rw-r--r-- | reproduce/software/make/python.mk | 112 |
4 files changed, 232 insertions, 227 deletions
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk index 0bec163..1709082 100644 --- a/reproduce/software/make/basic.mk +++ b/reproduce/software/make/basic.mk @@ -344,7 +344,7 @@ $(ibidir)/low-level-links: | $(ibdir) $(ildir) # The first set of programs to be built are those that we need to unpack # the source code tarballs of each program. First, we'll build the # necessary programs, then we'll build GNU Tar. -$(ibidir)/gzip: | $(tdir)/gzip-$(gzip-version).tar.gz +$(ibidir)/gzip: $(tdir)/gzip-$(gzip-version).tar.gz $(call gbuild, gzip-$(gzip-version), static, , V=1) \ && echo "GNU Gzip $(gzip-version)" > $@ @@ -355,15 +355,15 @@ lzipconf="LDFLAGS=-static" else lzipconf= endif -$(ibidir)/lzip: | $(tdir)/lzip-$(lzip-version).tar.gz +$(ibidir)/lzip: $(tdir)/lzip-$(lzip-version).tar.gz $(call gbuild, lzip-$(lzip-version), , $(lzipconf)) \ && echo "Lzip $(lzip-version)" > $@ -$(ibidir)/xz: | $(tdir)/xz-$(xz-version).tar.gz +$(ibidir)/xz: $(tdir)/xz-$(xz-version).tar.gz $(call gbuild, xz-$(xz-version), static) \ && echo "XZ Utils $(xz-version)" > $@ -$(ibidir)/bzip2: | $(tdir)/bzip2-$(bzip2-version).tar.gz +$(ibidir)/bzip2: $(tdir)/bzip2-$(bzip2-version).tar.gz # Bzip2 doesn't have a `./configure' script, and its Makefile # doesn't build a shared library. So we can't use the `gbuild' # function here and we need to take some extra steps (inspired @@ -386,7 +386,7 @@ $(ibidir)/bzip2: | $(tdir)/bzip2-$(bzip2-version).tar.gz fi; \ fi; \ cd $(ddir) && rm -rf $$tdir \ - && tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd $$tdir \ && sed -e 's@\(ln -s -f \)$$(PREFIX)/bin/@\1@' Makefile \ > Makefile.sed \ @@ -402,7 +402,7 @@ $(ibidir)/bzip2: | $(tdir)/bzip2-$(bzip2-version).tar.gz && ln -fs libbz2.so.1.0 libbz2.so \ && echo "Bzip2 $(bzip2-version)" > $@ -$(ibidir)/unzip: | $(tdir)/unzip-$(unzip-version).tar.gz +$(ibidir)/unzip: $(tdir)/unzip-$(unzip-version).tar.gz v=$$(echo $(unzip-version) | sed -e's/\.//'); \ $(call gbuild, unzip$$v, static,, \ -f unix/Makefile generic_gcc \ @@ -411,7 +411,7 @@ $(ibidir)/unzip: | $(tdir)/unzip-$(unzip-version).tar.gz BINDIR=$(ibdir) MANDIR=$(idir)/man/man1 ) \ && echo "Unzip $(unzip-version)" > $@ -$(ibidir)/zip: | $(tdir)/zip-$(zip-version).tar.gz +$(ibidir)/zip: $(tdir)/zip-$(zip-version).tar.gz v=$$(echo $(zip-version) | sed -e's/\.//'); \ $(call gbuild, zip$$v, static,, \ -f unix/Makefile generic_gcc \ @@ -425,7 +425,7 @@ $(ibidir)/zip: | $(tdir)/zip-$(zip-version).tar.gz # # Note for a static-only build: Zlib's `./configure' doesn't use Autoconf's # configure script, it just accepts a direct `--static' option. -$(ibidir)/zlib: | $(tdir)/zlib-$(zlib-version).tar.gz +$(ibidir)/zlib: $(tdir)/zlib-$(zlib-version).tar.gz $(call gbuild, zlib-$(zlib-version)) \ && echo "Zlib $(zlib-version)" > $@ @@ -435,13 +435,13 @@ $(ibidir)/zlib: | $(tdir)/zlib-$(zlib-version).tar.gz # Tar to be the last compression-related software (the first-set of # software to be built). $(ibidir)/tar: $(ibidir)/xz \ - $(ibidir)/zip \ + $(ibidir)/zip \ $(ibidir)/gzip \ $(ibidir)/lzip \ $(ibidir)/zlib \ $(ibidir)/bzip2 \ - $(ibidir)/unzip \ - | $(tdir)/tar-$(tar-version).tar.gz + $(ibidir)/unzip \ + $(tdir)/tar-$(tar-version).tar.gz # Since all later programs depend on Tar, the configuration will be # stuck here, only making Tar. So its more efficient to built it on # multiple threads (when the user's Make doesn't pass down the @@ -469,14 +469,14 @@ $(ibidir)/tar: $(ibidir)/xz \ # function (for tilde expansion). The first can be disabled with # `--disable-load', but unfortunately I don't know any way to fix the # second. So, we'll have to build it dynamically for now. -$(ibidir)/make: | $(ibidir)/tar \ - $(tdir)/make-$(make-version).tar.gz +$(ibidir)/make: $(ibidir)/tar \ + $(tdir)/make-$(make-version).tar.gz # See Tar's comments for the `-j' option. $(call gbuild, make-$(make-version), , , -j$(numthreads)) \ && echo "GNU Make $(make-version)" > $@ -$(ibidir)/ncurses: | $(ibidir)/make \ - $(tdir)/ncurses-$(ncurses-version).tar.gz +$(ibidir)/ncurses: $(ibidir)/make \ + $(tdir)/ncurses-$(ncurses-version).tar.gz # Delete the library that will be installed (so we can make sure # the build process completed afterwards and reset the links). @@ -562,14 +562,14 @@ $(ibidir)/ncurses: | $(ibidir)/make \ fi $(ibidir)/readline: $(ibidir)/ncurses \ - | $(tdir)/readline-$(readline-version).tar.gz + $(tdir)/readline-$(readline-version).tar.gz $(call gbuild, readline-$(readline-version), static, \ --with-curses --disable-install-examples, \ SHLIB_LIBS="-lncursesw" -j$(numthreads)) \ && echo "GNU Readline $(readline-version)" > $@ -$(ibidir)/patchelf: | $(ibidir)/make \ - $(tdir)/patchelf-$(patchelf-version).tar.gz +$(ibidir)/patchelf: $(ibidir)/make \ + $(tdir)/patchelf-$(patchelf-version).tar.gz $(call gbuild, patchelf-$(patchelf-version)) \ && echo "PatchELF $(patchelf-version)" > $@ @@ -609,9 +609,9 @@ needpatchelf = else needpatchelf = $(ibidir)/patchelf endif -$(ibidir)/bash: $(ibidir)/readline \ - | $(needpatchelf) \ - $(tdir)/bash-$(bash-version).tar.lz +$(ibidir)/bash: $(needpatchelf) \ + $(ibidir)/readline \ + $(tdir)/bash-$(bash-version).tar.lz # Delete the (possibly) existing Bash executable. rm -f $(ibdir)/bash @@ -676,8 +676,8 @@ perl-conflddlflags = else perl-conflddlflags = -Dlddlflags="-shared $$LDFLAGS" endif -$(ibidir)/perl: | $(ibidir)/bash \ - $(tdir)/perl-$(perl-version).tar.gz +$(ibidir)/perl: $(ibidir)/bash \ + $(tdir)/perl-$(perl-version).tar.gz major_version=$$(echo $(perl-version) \ | sed -e's/\./ /g' \ | awk '{printf("%d", $$1)}'); \ @@ -686,7 +686,7 @@ $(ibidir)/perl: | $(ibidir)/bash \ | awk '{printf("%d.%d", $$1, $$2)}'); \ cd $(ddir) \ && rm -rf perl-$(perl-version) \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd perl-$(perl-version) \ @@ -747,12 +747,12 @@ $(ibidir)/perl: | $(ibidir)/bash \ # an error). # # Coreutils uses Perl to create man pages! -$(ibidir)/coreutils: $(ibidir)/openssl \ - | $(ibidir)/perl \ - $(tdir)/coreutils-$(coreutils-version).tar.xz +$(ibidir)/coreutils: $(ibidir)/perl \ + $(ibidir)/openssl \ + $(tdir)/coreutils-$(coreutils-version).tar.xz cd $(ddir) \ && rm -rf coreutils-$(coreutils-version) \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd coreutils-$(coreutils-version) \ @@ -794,10 +794,13 @@ $(ibidir)/coreutils: $(ibidir)/openssl \ #openssl-static = no-dso no-dynamic-engine no-shared #endif $(idir)/etc:; mkdir $@ -$(ibidir)/openssl: $(tdir)/cert.pem \ - | $(idir)/etc \ - $(ibidir)/make \ - $(tdir)/openssl-$(openssl-version).tar.gz +# Note: cert.pm has to be AFTER the tarball, otherwise the build script +# will try to unpack cert.pm and crash (it unpacks the first dependency +# under `tdir'). +$(ibidir)/openssl: $(ibidir)/make \ + $(tdir)/openssl-$(openssl-version).tar.gz \ + $(tdir)/cert.pem \ + | $(idir)/etc # According to OpenSSL's Wiki (link bellow), it can't automatically # detect Mac OS's structure. It will need some help. So we'll use # the `on_mac_os' Make variable that we defined in the configure @@ -853,8 +856,8 @@ $(ibidir)/openssl: $(tdir)/cert.pem \ # them. Note that if it does link with them, the configuration will crash # when the library is updated/changed by the host, and the whole purpose of # this project is avoid dependency on the host as much as possible. -$(ibidir)/curl: | $(ibidir)/coreutils \ - $(tdir)/curl-$(curl-version).tar.gz +$(ibidir)/curl: $(ibidir)/coreutils \ + $(tdir)/curl-$(curl-version).tar.gz $(call gbuild, curl-$(curl-version), , \ LIBS="-pthread" \ --with-zlib=$(ildir) \ @@ -892,8 +895,8 @@ $(ibidir)/curl: | $(ibidir)/coreutils \ # host system (especially a crash when these libraries are updated on the # host), they are disabled here. $(ibidir)/wget: $(ibidir)/libiconv \ - | $(ibidir)/coreutils \ - $(tdir)/wget-$(wget-version).tar.lz + $(ibidir)/coreutils \ + $(tdir)/wget-$(wget-version).tar.lz # We need to explicitly disable `libiconv', because of the # `pkg-config' and `libiconv' problem. libs="-pthread"; \ @@ -926,25 +929,25 @@ $(ibidir)/wget: $(ibidir)/libiconv \ # process of the higher-level programs and libraries. Note that during the # building of those higher-level programs (after this Makefile finishes), # there is no access to the system's PATH. -$(ibidir)/diffutils: | $(ibidir)/coreutils \ - $(tdir)/diffutils-$(diffutils-version).tar.xz +$(ibidir)/diffutils: $(ibidir)/coreutils \ + $(tdir)/diffutils-$(diffutils-version).tar.xz $(call gbuild, diffutils-$(diffutils-version), static,,V=1) \ && echo "GNU Diffutils $(diffutils-version)" > $@ -$(ibidir)/file: | $(ibidir)/coreutils \ - $(tdir)/file-$(file-version).tar.gz +$(ibidir)/file: $(ibidir)/coreutils \ + $(tdir)/file-$(file-version).tar.gz $(call gbuild, file-$(file-version), static,,V=1) \ && echo "File $(file-version)" > $@ -$(ibidir)/findutils: | $(ibidir)/coreutils \ - $(tdir)/findutils-$(findutils-version).tar.xz +$(ibidir)/findutils: $(ibidir)/coreutils \ + $(tdir)/findutils-$(findutils-version).tar.xz $(call gbuild, findutils-$(findutils-version), static,,V=1) \ && echo "GNU Findutils $(findutils-version)" > $@ $(ibidir)/gawk: $(ibidir)/gmp \ $(ibidir)/mpfr \ - | $(ibidir)/coreutils \ - $(tdir)/gawk-$(gawk-version).tar.lz + $(ibidir)/coreutils \ + $(tdir)/gawk-$(gawk-version).tar.lz # AWK doesn't include RPATH by default, so we'll have to manually # include it using the `patchelf' program (which was a dependency # of Bash). Just note that AWK produces two executables (for @@ -963,14 +966,14 @@ $(ibidir)/gawk: $(ibidir)/gmp \ fi \ && echo "GNU AWK $(gawk-version)" > $@ -$(ibidir)/libiconv: | $(ibidir)/pkg-config \ - $(tdir)/libiconv-$(libiconv-version).tar.gz +$(ibidir)/libiconv: $(ibidir)/pkg-config \ + $(tdir)/libiconv-$(libiconv-version).tar.gz $(call gbuild, libiconv-$(libiconv-version), static) \ && echo "GNU libiconv $(libiconv-version)" > $@ $(ibidir)/git: $(ibidir)/curl \ $(ibidir)/libiconv \ - | $(tdir)/git-$(git-version).tar.xz + $(tdir)/git-$(git-version).tar.xz if [ x$(on_mac_os) = xyes ]; then \ export LDFLAGS="$$LDFLAGS -lcharset"; \ fi; \ @@ -979,29 +982,29 @@ $(ibidir)/git: $(ibidir)/curl \ --with-iconv=$(idir), V=1) \ && echo "Git $(git-version)" > $@ -$(ibidir)/gmp: | $(ibidir)/m4 \ - $(ibidir)/coreutils \ - $(tdir)/gmp-$(gmp-version).tar.lz +$(ibidir)/gmp: $(ibidir)/m4 \ + $(ibidir)/coreutils \ + $(tdir)/gmp-$(gmp-version).tar.lz $(call gbuild, gmp-$(gmp-version), static, \ --enable-cxx --enable-fat, ,make check) \ && echo "GNU Multiple Precision Arithmetic Library $(gmp-version)" > $@ # On Mac OS, libtool does different things, so to avoid confusion, we'll # prefix GNU's libtool executables with `glibtool'. -$(ibidir)/glibtool: | $(ibidir)/m4 \ - $(tdir)/libtool-$(libtool-version).tar.xz +$(ibidir)/glibtool: $(ibidir)/m4 \ + $(tdir)/libtool-$(libtool-version).tar.xz $(call gbuild, libtool-$(libtool-version), static, \ --program-prefix=g, V=1) \ && ln -s $(ibdir)/glibtoolize $(ibdir)/libtoolize \ && echo "GNU Libtool $(libtool-version)" > $@ -$(ibidir)/grep: | $(ibidir)/coreutils \ - $(tdir)/grep-$(grep-version).tar.xz +$(ibidir)/grep: $(ibidir)/coreutils \ + $(tdir)/grep-$(grep-version).tar.xz $(call gbuild, grep-$(grep-version), static,,V=1) \ && echo "GNU Grep $(grep-version)" > $@ -$(ibidir)/libbsd: | $(ibidir)/coreutils \ - $(tdir)/libbsd-$(libbsd-version).tar.xz +$(ibidir)/libbsd: $(ibidir)/coreutils \ + $(tdir)/libbsd-$(libbsd-version).tar.xz $(call gbuild, libbsd-$(libbsd-version), static,,V=1) \ && echo "Libbsd $(libbsd-version)" > $@ @@ -1010,14 +1013,14 @@ $(ibidir)/libbsd: | $(ibidir)/coreutils \ # # [1] https://raw.githubusercontent.com/macports/macports-ports/edf0ee1e2cf/devel/m4/files/secure_snprintf.patch # [2] https://github.com/Homebrew/homebrew-core/blob/master/Formula/m4.rb -$(ibidir)/m4: | $(ibidir)/sed \ - $(ibidir)/texinfo \ - $(ibidir)/coreutils \ - $(tdir)/m4-$(m4-version).tar.gz +$(ibidir)/m4: $(ibidir)/sed \ + $(ibidir)/texinfo \ + $(ibidir)/coreutils \ + $(tdir)/m4-$(m4-version).tar.gz cd $(ddir); \ unpackdir=m4-$(m4-version); \ rm -rf $$unpackdir \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd $$unpackdir \ @@ -1058,11 +1061,11 @@ else needlibbsd = $(ibidir)/libbsd endif $(ibidir)/metastore: $(needlibbsd) \ - | $(ibidir)/sed \ - $(ibidir)/git \ - $(ibidir)/gawk \ - $(ibidir)/coreutils \ - $(tdir)/metastore-$(metastore-version).tar.gz + $(ibidir)/sed \ + $(ibidir)/git \ + $(ibidir)/gawk \ + $(ibidir)/coreutils \ + $(tdir)/metastore-$(metastore-version).tar.gz # Metastore doesn't have any `./configure' script. So we'll just # call `pwd' as a place-holder for the `./configure' command. @@ -1121,12 +1124,12 @@ $(ibidir)/metastore: $(needlibbsd) \ $(ibidir)/mpfr: $(ibidir)/gmp \ - | $(tdir)/mpfr-$(mpfr-version).tar.xz + $(tdir)/mpfr-$(mpfr-version).tar.xz $(call gbuild, mpfr-$(mpfr-version), static, , , make check) \ && echo "GNU Multiple Precision Floating-Point Reliably $(mpfr-version)" > $@ -$(ibidir)/pkg-config: | $(ibidir)/coreutils \ - $(tdir)/pkg-config-$(pkgconfig-version).tar.gz +$(ibidir)/pkg-config: $(ibidir)/coreutils \ + $(tdir)/pkg-config-$(pkgconfig-version).tar.gz # An existing `libiconv' can cause a conflict with `pkg-config', # this is why `libiconv' depends on `pkg-config'. On a clean build, # `pkg-config' is built first. But when we don't have a clean build @@ -1147,13 +1150,13 @@ $(ibidir)/pkg-config: | $(ibidir)/coreutils \ --with-pc-path=$(ildir)/pkgconfig, V=1) \ && echo "pkg-config $(pkgconfig-version)" > $@ -$(ibidir)/sed: | $(ibidir)/coreutils \ - $(tdir)/sed-$(sed-version).tar.xz +$(ibidir)/sed: $(ibidir)/coreutils \ + $(tdir)/sed-$(sed-version).tar.xz $(call gbuild, sed-$(sed-version), static,,V=1) \ && echo "GNU Sed $(sed-version)" > $@ -$(ibidir)/texinfo: | $(ibidir)/perl \ - $(tdir)/texinfo-$(texinfo-version).tar.xz +$(ibidir)/texinfo: $(ibidir)/perl \ + $(tdir)/texinfo-$(texinfo-version).tar.xz $(call gbuild, texinfo-$(texinfo-version), static) \ && if [ "x$(needpatchelf)" != x ]; then \ $(ibdir)/patchelf --set-rpath $(ildir) $(ibdir)/info; \ @@ -1161,8 +1164,8 @@ $(ibidir)/texinfo: | $(ibidir)/perl \ fi \ && echo "GNU Texinfo $(texinfo-version)" > $@ -$(ibidir)/which: | $(ibidir)/coreutils \ - $(tdir)/which-$(which-version).tar.gz +$(ibidir)/which: $(ibidir)/coreutils \ + $(tdir)/which-$(which-version).tar.gz $(call gbuild, which-$(which-version), static) \ && echo "GNU Which $(which-version)" > $@ @@ -1179,12 +1182,12 @@ $(ibidir)/which: | $(ibidir)/coreutils \ # ------------------------- $(ibidir)/isl: $(ibidir)/gmp \ - | $(tdir)/isl-$(isl-version).tar.bz2 + $(tdir)/isl-$(isl-version).tar.bz2 $(call gbuild, isl-$(isl-version), static, , V=1) \ && echo "GNU Integer Set Library $(isl-version)" > $@ $(ibidir)/mpc: $(ibidir)/mpfr \ - | $(tdir)/mpc-$(mpc-version).tar.gz + $(tdir)/mpc-$(mpc-version).tar.gz $(call gbuild, mpc-$(mpc-version), static, , , make check) \ && echo "GNU Multiple Precision Complex library" > $@ @@ -1218,19 +1221,19 @@ endif # these necessary files in our local build directory. IMPORTANT NOTE: # later, when we build the GNU C Library in the project, we should remove # this step. -$(ibidir)/binutils: | $(ibidir)/sed \ - $(ibidir)/wget \ - $(ibidir)/grep \ - $(ibidir)/file \ - $(ibidir)/gawk \ - $(ibidir)/which \ - $(ibidir)/glibtool \ - $(binutils-tarball) \ - $(ibidir)/metastore \ - $(ibidir)/findutils \ - $(ibidir)/diffutils \ - $(ibidir)/coreutils \ - $(gcc-prerequisites) +$(ibidir)/binutils: $(ibidir)/sed \ + $(ibidir)/wget \ + $(ibidir)/grep \ + $(ibidir)/file \ + $(ibidir)/gawk \ + $(ibidir)/which \ + $(ibidir)/glibtool \ + $(binutils-tarball) \ + $(ibidir)/metastore \ + $(ibidir)/findutils \ + $(ibidir)/diffutils \ + $(ibidir)/coreutils \ + $(gcc-prerequisites) if [ x$(on_mac_os) = xyes ]; then \ $(call makelink,as); \ @@ -1271,8 +1274,8 @@ gcc-tarball = else gcc-tarball = $(tdir)/gcc-$(gcc-version).tar.xz endif -$(ibidir)/gcc: | $(ibidir)/binutils \ - $(gcc-tarball) +$(ibidir)/gcc: $(gcc-tarball) \ + $(ibidir)/binutils # GCC builds is own libraries in '$(idir)/lib64'. But all other # libraries are in '$(idir)/lib'. Since this project is only for a @@ -1305,7 +1308,7 @@ $(ibidir)/gcc: | $(ibidir)/binutils \ fi; \ cd $$odir; \ rm -rf gcc-$(gcc-version); \ - tar xf $(word 1,$(filter $(tdir)/%,$|)); \ + tar xf $(word 1,$(filter $(tdir)/%,$^)); \ if [ $$odir != $(ddir) ]; then \ ln -s $$odir/gcc-$(gcc-version) $(ddir)/gcc-$(gcc-version); \ fi; \ diff --git a/reproduce/software/make/build-rules.mk b/reproduce/software/make/build-rules.mk index 8d78ce3..506e952 100644 --- a/reproduce/software/make/build-rules.mk +++ b/reproduce/software/make/build-rules.mk @@ -57,7 +57,7 @@ gbuild = if [ x$(static_build) = xyes ] && [ "x$(2)" = xstatic ]; then \ if [ x"$$check" = x ]; then check="echo Skipping-check"; fi; \ cd $(ddir); rm -rf $(1); \ if [ x"$$gbuild_tar" = x ]; then \ - tarball=$(word 1,$(filter $(tdir)/%,$|)); \ + tarball=$(word 1,$(filter $(tdir)/%,$^)); \ else tarball=$$gbuild_tar; \ fi; \ if ! tar xf $$tarball; then \ @@ -113,7 +113,7 @@ cbuild = if [ x$(static_build) = xyes ] && [ $(2)x = staticx ]; then \ fi; \ cd $(ddir) \ && rm -rf $(1) \ - && tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd $(1) \ && rm -rf project-build \ && mkdir project-build \ diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index eccc073..21cc4ea 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -401,14 +401,14 @@ $(tarballs): $(tdir)/%: | $(lockdir) # build it because it will complain about the version of libtool, so until # the version 0.11.0 of log4cxx, we'll have to run `autogen.sh' on the # unpacked source also. -$(ibidir)/apachelog4cxx: | $(ibidir)/automake \ - $(tdir)/apachelog4cxx-$(apachelog4cxx-version).tar.lz +$(ibidir)/apachelog4cxx: $(ibidir)/automake \ + $(tdir)/apachelog4cxx-$(apachelog4cxx-version).tar.lz pdir=apachelog4cxx-$(apachelog4cxx-version) rm -rf $(ddir)/$$pdir topdir=$(pwd) cd $(ddir) - tar xf $(word 1,$(filter $(tdir)/%,$|)) + tar xf $(word 1,$(filter $(tdir)/%,$^)) cd $$pdir ./autogen.sh \ && ./configure SHELL=$(ibdir)/bash --prefix=$(idir) \ @@ -419,12 +419,12 @@ $(ibidir)/apachelog4cxx: | $(ibidir)/automake \ && cd $$topdir \ && echo "Apache log4cxx $(apachelog4cxx-version)" > $@ -$(ibidir)/apr: | $(tdir)/apr-$(apr-version).tar.gz +$(ibidir)/apr: $(tdir)/apr-$(apr-version).tar.gz $(call gbuild, apr-$(apr-version), ,--disable-static) \ && echo "Apache Portable Runtime $(apr-version)" > $@ $(ibidir)/apr-util: $(ibidir)/apr \ - | $(tdir)/apr-util-$(apr-util-version).tar.gz + $(tdir)/apr-util-$(apr-util-version).tar.gz $(call gbuild, apr-util-$(apr-util-version), , \ --disable-static \ --with-apr=$(idir) \ @@ -432,8 +432,8 @@ $(ibidir)/apr-util: $(ibidir)/apr \ --with-crypto ) \ && echo "Apache Portable Runtime Utility $(apr-util-version)" > $@ -$(ibidir)/atlas: | $(tdir)/atlas-$(atlas-version).tar.bz2 \ - $(tdir)/lapack-$(lapack-version).tar.gz +$(ibidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \ + $(tdir)/lapack-$(lapack-version).tar.gz # Get the operating system specific features (how to get # CPU frequency and the library suffixes). To make the steps @@ -514,12 +514,12 @@ $(ibidir)/atlas: | $(tdir)/atlas-$(atlas-version).tar.bz2 \ # Boost doesn't use the standard GNU Build System. $(ibidir)/boost: $(ibidir)/openmpi \ - | $(ibidir)/python \ - $(tdir)/boost-$(boost-version).tar.gz + $(ibidir)/python \ + $(tdir)/boost-$(boost-version).tar.gz vstr=$$(echo $(boost-version) | sed -e's/\./_/g') rm -rf $(ddir)/boost_$$vstr topdir=$(pwd); cd $(ddir); - tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd boost_$$vstr \ && ./bootstrap.sh --prefix=$(idir) --with-libraries=all \ --with-python=python3 \ @@ -531,13 +531,13 @@ $(ibidir)/boost: $(ibidir)/openmpi \ && echo "Boost $(boost-version)" > $@ $(ibidir)/cfitsio: $(ibidir)/curl \ - | $(tdir)/cfitsio-$(cfitsio-version).tar.gz + $(tdir)/cfitsio-$(cfitsio-version).tar.gz # CFITSIO hard-codes '@rpath' inside the shared library on # Mac systems. So we need to change it to our library # installation path. It doesn't affect GNU/Linux, so we'll # just do it in any case to keep things clean. - topdir=$(pwd); cd $(ddir); tar xf $(word 1,$(filter $(tdir)/%,$|)) + topdir=$(pwd); cd $(ddir); tar xf $(word 1,$(filter $(tdir)/%,$^)) customtar=cfitsio-$(cfitsio-version)-custom.tar.gz cd cfitsio-$(cfitsio-version) sed configure -e's|@rpath|$(ildir)|g' > configure_tmp @@ -560,7 +560,7 @@ $(ibidir)/cfitsio: $(ibidir)/curl \ $(ibidir)/cairo: $(ibidir)/freetype \ $(ibidir)/libpng \ $(ibidir)/pixman \ - | $(tdir)/cairo-$(cairo-version).tar.xz + $(tdir)/cairo-$(cairo-version).tar.xz $(call gbuild, cairo-$(cairo-version), static, \ --with-x=no, -j$(numthreads) V=1) \ && echo "Cairo $(cairo-version)" > $@ @@ -568,20 +568,20 @@ $(ibidir)/cairo: $(ibidir)/freetype \ # Eigen is just headers! So it doesn't need to be compiled. Once unpacked # it has a checksum after `eigen-eigen', so we'll just use a `*' to choose # the unpacked directory. -$(ibidir)/eigen: | $(tdir)/eigen-$(eigen-version).tar.gz +$(ibidir)/eigen: $(tdir)/eigen-$(eigen-version).tar.gz rm -rf $(ddir)/eigen-eigen-* - topdir=$(pwd); cd $(ddir); tar xf $(word 1,$(filter $(tdir)/%,$|)) + topdir=$(pwd); cd $(ddir); tar xf $(word 1,$(filter $(tdir)/%,$^)) cd eigen-eigen-* cp -r Eigen $(iidir)/eigen3 \ && cd $$topdir \ && rm -rf $(ddir)/eigen-eigen-* \ && echo "Eigen $(eigen-version)" > $@ -$(ibidir)/expat: | $(tdir)/expat-$(expat-version).tar.lz +$(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 +$(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 # add the `--enable-float' option. We will build this first, then @@ -596,16 +596,16 @@ $(ibidir)/fftw: | $(tdir)/fftw-$(fftw-version).tar.gz # Freetype is necessary to install matplotlib $(ibidir)/freetype: $(ibidir)/libpng \ - | $(tdir)/freetype-$(freetype-version).tar.gz + $(tdir)/freetype-$(freetype-version).tar.gz $(call gbuild, freetype-$(freetype-version), static) \ && echo "FreeType $(freetype-version)" > $@ -$(ibidir)/gsl: | $(tdir)/gsl-$(gsl-version).tar.gz +$(ibidir)/gsl: $(tdir)/gsl-$(gsl-version).tar.gz $(call gbuild, gsl-$(gsl-version), static) \ && echo "GNU Scientific Library $(gsl-version)" > $@ $(ibidir)/hdf5: $(ibidir)/openmpi \ - | $(tdir)/hdf5-$(hdf5-version).tar.gz + $(tdir)/hdf5-$(hdf5-version).tar.gz export CC=mpicc; \ export FC=mpif90; \ $(call gbuild, hdf5-$(hdf5-version), static, \ @@ -629,10 +629,10 @@ else healpix-python-dep = $(ipydir)/matplotlib $(ipydir)/astropy endif $(ibidir)/healpix: $(ibidir)/cfitsio \ + $(ibidir)/autoconf \ + $(ibidir)/automake \ $(healpix-python-dep) \ - | $(ibidir)/autoconf \ - $(ibidir)/automake \ - $(tdir)/healpix-$(healpix-version).tar.gz + $(tdir)/healpix-$(healpix-version).tar.gz if [ x"$(healpix-python-dep)" = x ]; then pycommand1="echo no-healpy-because-no-other-python" pycommand2="echo no-healpy-because-no-other-python" @@ -642,7 +642,7 @@ $(ibidir)/healpix: $(ibidir)/cfitsio \ fi rm -rf $(ddir)/Healpix_$(healpix-version) topdir=$(pwd); cd $(ddir); - tar xf $(word 1,$(filter $(tdir)/%,$|)) + tar xf $(word 1,$(filter $(tdir)/%,$^)) && cd Healpix_$(healpix-version)/src/C/autotools/ \ && autoreconf --install \ && ./configure --prefix=$(idir) \ @@ -661,30 +661,30 @@ $(ibidir)/healpix: $(ibidir)/cfitsio \ && cp $(dtexdir)/healpix.tex $(ictdir)/ \ && echo "HEALPix $(healpix-version) \citep{healpix}" > $@ -$(ibidir)/libjpeg: | $(tdir)/jpegsrc.$(libjpeg-version).tar.gz +$(ibidir)/libjpeg: $(tdir)/jpegsrc.$(libjpeg-version).tar.gz $(call gbuild, jpeg-9b, static,,V=1) \ && echo "Libjpeg $(libjpeg-version)" > $@ $(ibidir)/libnsl: $(ibidir)/libtirpc \ $(ibidir)/rpcsvc-proto \ - | $(tdir)/libnsl-$(libnsl-version).tar.gz + $(tdir)/libnsl-$(libnsl-version).tar.gz $(call gbuild, libnsl-$(libnsl-version), static, \ --sysconfdir=$(idir)/etc) \ && echo "Libnsl $(libnsl-version)" > $@ -$(ibidir)/libpng: | $(tdir)/libpng-$(libpng-version).tar.xz +$(ibidir)/libpng: $(tdir)/libpng-$(libpng-version).tar.xz $(call gbuild, libpng-$(libpng-version), static) \ && echo "Libpng $(libpng-version)" > $@ $(ibidir)/libtiff: $(ibidir)/libjpeg \ - | $(tdir)/tiff-$(libtiff-version).tar.gz + $(tdir)/tiff-$(libtiff-version).tar.gz $(call gbuild, tiff-$(libtiff-version), static, \ --disable-jbig \ --disable-webp \ --disable-zstd) \ && echo "Libtiff $(libtiff-version)" > $@ -$(ibidir)/libtirpc: | $(tdir)/libtirpc-$(libtirpc-version).tar.bz2 +$(ibidir)/libtirpc: $(tdir)/libtirpc-$(libtirpc-version).tar.bz2 $(call gbuild, libtirpc-$(libtirpc-version), static, \ --disable-gssapi, V=1) \ echo "libtirpc $(libtirpc-version)" > $@ @@ -700,12 +700,12 @@ $(ibidir)/libxml2: | $(tdir)/libxml2-$(libxml2-version).tar.gz --without-python) \ && echo "Libxml2 $(libxml2-version)" > $@ -$(ibidir)/openblas: | $(tdir)/openblas-$(openblas-version).tar.gz +$(ibidir)/openblas: $(tdir)/openblas-$(openblas-version).tar.gz if [ x$(on_mac_os) = xyes ]; then \ export CC=clang; \ fi; \ cd $(ddir) \ - && tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd OpenBLAS-$(openblas-version) \ && make \ && make PREFIX=$(idir) install \ @@ -713,7 +713,7 @@ $(ibidir)/openblas: | $(tdir)/openblas-$(openblas-version).tar.gz && rm -rf OpenBLAS-$(openblas-version) \ && echo "OpenBLAS $(openblas-version)" > $@ -$(ibidir)/openmpi: | $(tdir)/openmpi-$(openmpi-version).tar.gz +$(ibidir)/openmpi: $(tdir)/openmpi-$(openmpi-version).tar.gz $(call gbuild, openmpi-$(openmpi-version), static, , \ -j$(numthreads) V=1) \ && echo "Open MPI $(openmpi-version)" > $@ @@ -723,7 +723,7 @@ $(ibidir)/openmpi: | $(tdir)/openmpi-$(openmpi-version).tar.gz # within the project because of all the security issues it may cause. Only # enable/build it in a project with caution, and if there is no other # solution (for example to disable SSH in a program that may ask for it. -$(ibidir)/openssh: | $(tdir)/openssh-$(openssh-version).tar.gz +$(ibidir)/openssh: $(tdir)/openssh-$(openssh-version).tar.gz $(call gbuild, openssh-$(openssh-version), static, \ --with-privsep-path=$(ibdir)/.ssh_privsep \ --with-privsep-user=nobody \ @@ -732,22 +732,22 @@ $(ibidir)/openssh: | $(tdir)/openssh-$(openssh-version).tar.gz , -j$(numthreads) V=1) \ && echo "OpenSSH $(openssh-version)" > $@ -$(ibidir)/pixman: | $(tdir)/pixman-$(pixman-version).tar.gz +$(ibidir)/pixman: $(tdir)/pixman-$(pixman-version).tar.gz $(call gbuild, pixman-$(pixman-version), static, , \ -j$(numthreads) V=1) \ && echo "Pixman $(pixman-version)" > $@ -$(ibidir)/rpcsvc-proto: | $(tdir)/rpcsvc-proto-$(rpcsvc-proto-version).tar.xz +$(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 +$(ibidir)/tides: $(tdir)/tides-$(tides-version).tar.gz $(call gbuild, tides-$(tides-version), static,\ --with-gmp=$(idir) --with-mpfr=$(idir)) \ && cp $(dtexdir)/tides.tex $(ictdir)/ \ && echo "TIDES $(tides-version) \citep{tides}" > $@ -$(ibidir)/yaml: | $(tdir)/yaml-$(yaml-version).tar.gz +$(ibidir)/yaml: $(tdir)/yaml-$(yaml-version).tar.gz $(call gbuild, yaml-$(yaml-version), static) \ && echo "LibYAML $(yaml-version)" > $@ @@ -777,8 +777,8 @@ $(ibidir)/yaml: | $(tdir)/yaml-$(yaml-version).tar.gz # that it uses if it can't find libiconv on macOS. So, to fix this problem # it is necessary to use the option `-DUSE_ICONV=OFF` in the configure step. $(ibidir)/libgit2: $(ibidir)/curl \ - | $(ibidir)/cmake \ - $(tdir)/libgit2-$(libgit2-version).tar.gz + $(ibidir)/cmake \ + $(tdir)/libgit2-$(libgit2-version).tar.gz $(call cbuild, libgit2-$(libgit2-version), static, \ -DUSE_SSH=OFF -DBUILD_CLAR=OFF \ -DTHREADSAFE=ON -DUSE_ICONV=OFF ) \ @@ -789,7 +789,7 @@ $(ibidir)/libgit2: $(ibidir)/curl \ && echo "Libgit2 $(libgit2-version)" > $@ $(ibidir)/wcslib: $(ibidir)/cfitsio \ - | $(tdir)/wcslib-$(wcslib-version).tar.bz2 + $(tdir)/wcslib-$(wcslib-version).tar.bz2 $(call gbuild, wcslib-$(wcslib-version), , \ LIBS="-pthread -lcurl -lm" \ --with-cfitsiolib=$(ildir) \ @@ -825,14 +825,14 @@ $(ibidir)/astrometrynet: $(ibidir)/gsl \ $(ibidir)/wcslib \ $(ibidir)/cfitsio \ $(ibidir)/libjpeg \ - | $(tdir)/astrometry.net-$(astrometrynet-version).tar.gz + $(tdir)/astrometry.net-$(astrometrynet-version).tar.gz # We are modifying the Makefile in two steps because on Mac OS # system we do not have `/proc/cpuinfo' nor `free'. Since this is # only for the `report.txt', this changes do not causes problems in # running `astrometrynet' cd $(ddir) \ && rm -rf astrometry.net-$(astrometrynet-version) \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd astrometry.net-$(astrometrynet-version) \ @@ -848,17 +848,17 @@ $(ibidir)/astrometrynet: $(ibidir)/gsl \ && cp $(dtexdir)/astrometrynet.tex $(ictdir)/ \ && echo "Astrometry.net $(astrometrynet-version) \citep{astrometrynet}" > $@ -$(ibidir)/autoconf: | $(tdir)/autoconf-$(autoconf-version).tar.lz +$(ibidir)/autoconf: $(tdir)/autoconf-$(autoconf-version).tar.lz $(call gbuild, autoconf-$(autoconf-version), static, ,V=1) \ && echo "GNU Autoconf $(autoconf-version)" > $@ -$(ibidir)/automake: | $(ibidir)/autoconf \ - $(tdir)/automake-$(automake-version).tar.gz +$(ibidir)/automake: $(ibidir)/autoconf \ + $(tdir)/automake-$(automake-version).tar.gz $(call gbuild, automake-$(automake-version), static, ,V=1) \ && echo "GNU Automake $(automake-version)" > $@ -$(ibidir)/bison: | $(ibidir)/help2man \ - $(tdir)/bison-$(bison-version).tar.xz +$(ibidir)/bison: $(ibidir)/help2man \ + $(tdir)/bison-$(bison-version).tar.xz $(call gbuild, bison-$(bison-version), static, ,V=1) \ && echo "GNU Bison $(bison-version)" > $@ @@ -869,9 +869,9 @@ $(ibidir)/bison: | $(ibidir)/help2man \ # 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 +$(ibidir)/cdsclient: $(tdir)/cdsclient-$(cdsclient-version).tar.gz cd $(ddir) \ - && tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd cdsclient-$(cdsclient-version) \ && touch * \ && ./configure --prefix=$(idir) \ @@ -883,7 +883,7 @@ $(ibidir)/cdsclient: | $(tdir)/cdsclient-$(cdsclient-version).tar.gz # CMake can be built with its custom `./bootstrap' script. $(ibidir)/cmake: $(ibidir)/curl \ - | $(tdir)/cmake-$(cmake-version).tar.gz + $(tdir)/cmake-$(cmake-version).tar.gz # After searching in `bootstrap', I couldn't find `LIBS', only # `LDFLAGS'. So the extra libraries are being added to `LDFLAGS', # not `LIBS'. @@ -896,7 +896,7 @@ $(ibidir)/cmake: $(ibidir)/curl \ fi; \ cd $(ddir) \ && rm -rf cmake-$(cmake-version) \ - && tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && tar xf $(word 1,$(filter $(tdir)/%,$^)) \ && cd cmake-$(cmake-version) \ && ./bootstrap --prefix=$(idir) --system-curl --system-zlib \ --system-bzip2 --system-liblzma --no-qt-gui \ @@ -908,18 +908,18 @@ $(ibidir)/cmake: $(ibidir)/curl \ && echo "CMake $(cmake-version)" > $@ $(ibidir)/flex: $(ibidir)/bison \ - | $(tdir)/flex-$(flex-version).tar.gz + $(tdir)/flex-$(flex-version).tar.gz $(call gbuild, flex-$(flex-version), static, ,V=1) \ && echo "Flex $(flex-version)" > $@ -$(ibidir)/gdb: | $(ibidir)/python \ - $(tdir)/gdb-$(gdb-version).tar.gz +$(ibidir)/gdb: $(ibidir)/python \ + $(tdir)/gdb-$(gdb-version).tar.gz $(call gbuild, gdb-$(gdb-version),,,V=1) \ && echo "GNU Project Debugger (GDB) $(gdb-version)" > $@ $(ibidir)/ghostscript: $(ibidir)/libpng \ $(ibidir)/libtiff \ - | $(tdir)/ghostscript-$(ghostscript-version).tar.gz + $(tdir)/ghostscript-$(ghostscript-version).tar.gz # First we need to make sure some necessary X11 libraries that we # don't yet install in this template are present on the host # system, see https://savannah.nongnu.org/task/?15481 . @@ -965,7 +965,7 @@ $(ibidir)/gnuastro: $(ibidir)/gsl \ $(ibidir)/libtiff \ $(ibidir)/libgit2 \ $(ibidir)/ghostscript \ - | $(tdir)/gnuastro-$(gnuastro-version).tar.lz + $(tdir)/gnuastro-$(gnuastro-version).tar.lz ifeq ($(static_build),yes) staticopts="--enable-static=yes --enable-shared=no"; endif @@ -974,14 +974,14 @@ endif && cp $(dtexdir)/gnuastro.tex $(ictdir)/ \ && echo "GNU Astronomy Utilities $(gnuastro-version) \citep{gnuastro}" > $@ -$(ibidir)/help2man: | $(tdir)/help2man-$(help2man-version).tar.xz +$(ibidir)/help2man: $(tdir)/help2man-$(help2man-version).tar.xz $(call gbuild, help2man-$(help2man-version), static, ,V=1) \ && echo "Help2man $(Help2man-version)" > $@ $(ibidir)/imagemagick: $(ibidir)/zlib \ $(ibidir)/libjpeg \ $(ibidir)/libtiff \ - | $(tdir)/imagemagick-$(imagemagick-version).tar.xz + $(tdir)/imagemagick-$(imagemagick-version).tar.xz $(call gbuild, ImageMagick-$(imagemagick-version), static, \ --without-x --disable-openmp, V=1 -j$(numthreads)) \ && echo "ImageMagick $(imagemagick-version)" > $@ @@ -999,11 +999,11 @@ $(ibidir)/imfit: $(ibidir)/gsl \ $(ibidir)/fftw \ $(ibidir)/scons \ $(ibidir)/cfitsio \ - | $(tdir)/imfit-$(imfit-version).tar.gz + $(tdir)/imfit-$(imfit-version).tar.gz cd $(ddir) \ && unpackdir=imfit-$(imfit-version) \ && rm -rf $$unpackdir \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd $$unpackdir \ @@ -1042,12 +1042,12 @@ $(ibidir)/imfit: $(ibidir)/gsl \ # About deleting the final crypt.h file after installation, see # https://bugzilla.redhat.com/show_bug.cgi?id=1424609 $(ibidir)/minizip: $(ibidir)/automake \ - | $(tdir)/zlib-$(zlib-version).tar.gz + $(tdir)/zlib-$(zlib-version).tar.gz cd $(ddir) \ && unpackdir=minizip-$(minizip-version) \ && rm -rf $$unpackdir \ && mkdir $$unpackdir \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)) \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)) \ -C$$unpackdir --strip-components=1; then \ echo; echo "Tar error"; exit 1; \ fi \ @@ -1070,7 +1070,7 @@ $(ibidir)/minizip: $(ibidir)/automake \ && rm -rf $$unpackdir \ && echo "Minizip $(minizip-version)" > $@ -$(ibidir)/missfits: | $(tdir)/missfits-$(missfits-version).tar.gz +$(ibidir)/missfits: $(tdir)/missfits-$(missfits-version).tar.gz $(call gbuild, missfits-$(missfits-version), static) \ && cp $(dtexdir)/missfits.tex $(ictdir)/ \ && echo "MissFITS $(missfits-version) \citep{missfits}" > $@ @@ -1086,7 +1086,7 @@ $(ibidir)/netpbm: $(ibidir)/unzip \ $(ibidir)/libjpeg \ $(ibidir)/libtiff \ $(ibidir)/libxml2 \ - | $(tdir)/netpbm-$(netpbm-version).tar.gz + $(tdir)/netpbm-$(netpbm-version).tar.gz if [ x$(on_mac_os) = xyes ]; then \ answers='\n\n$(ildir)\n\n\n\n\n\n$(ildir)/include\n\n$(ildir)/include\n\n$(ildir)/include\nnone\n\n'; \ else \ @@ -1095,7 +1095,7 @@ $(ibidir)/netpbm: $(ibidir)/unzip \ cd $(ddir) \ && unpackdir=netpbm-$(netpbm-version) \ && rm -rf $$unpackdir \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd $$unpackdir \ @@ -1113,7 +1113,7 @@ $(ibidir)/netpbm: $(ibidir)/unzip \ $(ibidir)/R: $(ibidir)/libpng \ $(ibidir)/libjpeg \ $(ibidir)/libtiff \ - | $(tdir)/R-$(R-version).tar.gz + $(tdir)/R-$(R-version).tar.gz export R_SHELL=$(SHELL); \ $(call gbuild, R-$(R-version), static, \ --without-x --with-readline \ @@ -1128,7 +1128,7 @@ $(ibidir)/R: $(ibidir)/libpng \ $(ibidir)/scamp: $(ibidir)/fftw \ $(ibidir)/openblas \ $(ibidir)/cdsclient \ - | $(tdir)/scamp-$(scamp-version).tar.lz + $(tdir)/scamp-$(scamp-version).tar.lz $(call gbuild, scamp-$(scamp-version), static, \ --enable-threads --enable-openblas \ --with-fftw-libdir=$(idir) \ @@ -1140,12 +1140,12 @@ $(ibidir)/scamp: $(ibidir)/fftw \ # Since `scons' doesn't use the traditional GNU installation with # `configure' and `make' it is installed manually using `python'. -$(ibidir)/scons: | $(ibidir)/python \ - $(tdir)/scons-$(scons-version).tar.gz +$(ibidir)/scons: $(ibidir)/python \ + $(tdir)/scons-$(scons-version).tar.gz cd $(ddir) \ && unpackdir=scons-$(scons-version) \ && rm -rf $$unpackdir \ - && if ! tar xf $(word 1,$(filter $(tdir)/%,$|)); then \ + && if ! tar xf $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi \ && cd $$unpackdir \ @@ -1158,7 +1158,7 @@ $(ibidir)/scons: | $(ibidir)/python \ # the configuration step. $(ibidir)/sextractor: $(ibidir)/fftw \ $(ibidir)/openblas \ - | $(tdir)/sextractor-$(sextractor-version).tar.lz + $(tdir)/sextractor-$(sextractor-version).tar.lz $(call gbuild, sextractor-$(sextractor-version), static, \ --enable-threads --enable-openblas \ --with-openblas-libdir=$(ildir) \ @@ -1168,13 +1168,13 @@ $(ibidir)/sextractor: $(ibidir)/fftw \ && echo "SExtractor $(sextractor-version) \citep{sextractor}" > $@ $(ibidir)/swarp: $(ibidir)/fftw \ - | $(tdir)/swarp-$(swarp-version).tar.gz + $(tdir)/swarp-$(swarp-version).tar.gz $(call gbuild, swarp-$(swarp-version), static, \ --enable-threads) \ && cp $(dtexdir)/swarp.tex $(ictdir)/ \ && echo "SWarp $(swarp-version) \citep{swarp}" > $@ -$(ibidir)/swig: | $(tdir)/swig-$(swig-version).tar.gz +$(ibidir)/swig: $(tdir)/swig-$(swig-version).tar.gz # Option --without-pcre was a suggestion once the configure step # was tried and it failed. It was not recommended but it works! # pcr is a dependency of swig @@ -1184,7 +1184,7 @@ $(ibidir)/swig: | $(tdir)/swig-$(swig-version).tar.gz $(ibidir)/xlsxio: $(ibidir)/cmake \ $(ibidir)/expat \ $(ibidir)/minizip \ - | $(tdir)/xlsxio-$(xlsxio-version).tar.gz + $(tdir)/xlsxio-$(xlsxio-version).tar.gz if [ x$(on_mac_os) = xyes ]; then \ export CC=clang; \ export CXX=clang++; \ @@ -1240,7 +1240,7 @@ tlmirror=http://mirrors.rit.edu/CTAN/systems/texlive/tlnet # The core TeX Live system. $(itidir)/texlive-ready-tlmgr: reproduce/software/config/texlive.conf \ - | $(tdir)/install-tl-unx.tar.gz + $(tdir)/install-tl-unx.tar.gz # Unpack, enter the directory, and install based on the given # configuration (prerequisite of this rule). @@ -1324,7 +1324,9 @@ $(itidir)/texlive: reproduce/software/config/texlive-packages.conf \ ln -fs $(idir)/texlive/maneage/bin/*/* $(ibdir)/ # Get all the necessary versions. - texlive=$$(pdflatex --version | awk 'NR==1' | sed 's/.*(\(.*\))/\1/' \ + texlive=$$(pdflatex --version \ + | awk 'NR==1' \ + | sed 's/.*(\(.*\))/\1/' \ | awk '{print $$NF}'); # Package names and versions. Note that all TeXLive packages diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk index f378650..7537275 100644 --- a/reproduce/software/make/python.mk +++ b/reproduce/software/make/python.mk @@ -283,7 +283,7 @@ $(pytarballs): $(tdir)/%: # # While this Makefile is for Python programs, in some cases, we need # certain programs (like Python itself), or libraries for the modules. -$(ibidir)/libffi: | $(tdir)/libffi-$(libffi-version).tar.gz +$(ibidir)/libffi: $(tdir)/libffi-$(libffi-version).tar.gz # On some Fedora systems, libffi installs in `lib64', not # `lib'. This will cause problems when building setuptools @@ -299,7 +299,7 @@ $(ibidir)/libffi: | $(tdir)/libffi-$(libffi-version).tar.gz && echo "Libffi $(libffi-version)" > $@ $(ibidir)/python: $(ibidir)/libffi \ - | $(tdir)/python-$(python-version).tar.gz + $(tdir)/python-$(python-version).tar.gz # On Mac systems, the build complains about `clang' specific # features, so we can't use our own GCC build here. if [ x$(on_mac_os) = xyes ]; then \ @@ -339,7 +339,7 @@ $(ibidir)/python: $(ibidir)/libffi \ # pyhook_before: optional steps before running `python setup.py build' # pyhook_after: optional steps after running `python setup.py install' pybuild = cd $(ddir); rm -rf $(2); \ - if ! $(1) $(word 1,$(filter $(tdir)/%,$|)); then \ + if ! $(1) $(word 1,$(filter $(tdir)/%,$^)); then \ echo; echo "Tar error"; exit 1; \ fi; \ cd $(2); \ @@ -365,19 +365,19 @@ pybuild = cd $(ddir); rm -rf $(2); \ # # All the necessary Python modules go here. $(ipydir)/asn1crypto: $(ipydir)/setuptools \ - | $(tdir)/asn1crypto-$(asn1crypto-version).tar.gz + $(tdir)/asn1crypto-$(asn1crypto-version).tar.gz $(call pybuild, tar xf, asn1crypto-$(asn1crypto-version), , \ Asn1crypto $(asn1crypto-version)) $(ipydir)/asteval: $(ipydir)/numpy \ - | $(tdir)/asteval-$(asteval-version).tar.gz + $(tdir)/asteval-$(asteval-version).tar.gz $(call pybuild, tar xf, asteval-$(asteval-version), , \ ASTEVAL $(asteval-version)) $(ipydir)/astroquery: $(ipydir)/astropy \ $(ipydir)/keyring \ $(ipydir)/requests \ - | $(tdir)/astroquery-$(astroquery-version).tar.gz + $(tdir)/astroquery-$(astroquery-version).tar.gz $(call pybuild, tar xf, astroquery-$(astroquery-version), ,\ Astroquery $(astroquery-version)) @@ -388,7 +388,7 @@ $(ipydir)/astropy: $(ipydir)/h5py \ $(ipydir)/pyyaml \ $(ipydir)/html5lib \ $(ipydir)/beautifulsoup4 \ - | $(tdir)/astropy-$(astropy-version).tar.gz + $(tdir)/astropy-$(astropy-version).tar.gz # Currently, when the Expat library is already built in a project # (for example as a dependency of another program), Astropy's # internal building of Expat will conflict with the project's. So @@ -405,28 +405,28 @@ $(ipydir)/astropy: $(ipydir)/h5py \ && echo "Astropy $(astropy-version) \citep{astropy2013,astropy2018}" > $@ $(ipydir)/beautifulsoup4: $(ipydir)/soupsieve \ - | $(tdir)/beautifulsoup4-$(beautifulsoup4-version).tar.gz + $(tdir)/beautifulsoup4-$(beautifulsoup4-version).tar.gz $(call pybuild, tar xf, beautifulsoup4-$(beautifulsoup4-version), ,\ BeautifulSoup $(beautifulsoup4-version)) $(ipydir)/certifi: $(ipydir)/setuptools \ - | $(tdir)/certifi-$(certifi-version).tar.gz + $(tdir)/certifi-$(certifi-version).tar.gz $(call pybuild, tar xf, certifi-$(certifi-version), ,\ Certifi $(certifi-version)) $(ipydir)/cffi: $(ibidir)/libffi \ $(ipydir)/pycparser \ - | $(tdir)/cffi-$(cffi-version).tar.gz + $(tdir)/cffi-$(cffi-version).tar.gz $(call pybuild, tar xf, cffi-$(cffi-version), ,\ cffi $(cffi-version)) $(ipydir)/chardet: $(ipydir)/setuptools \ - | $(tdir)/chardet-$(chardet-version).tar.gz + $(tdir)/chardet-$(chardet-version).tar.gz $(call pybuild, tar xf, chardet-$(chardet-version), ,\ Chardet $(chardet-version)) $(ipydir)/corner: $(ipydir)/matplotlib \ - | $(tdir)/corner-$(corner-version).tar.gz + $(tdir)/corner-$(corner-version).tar.gz $(call pybuild, tar xf, corner-$(corner-version), ,\ Corner $(corner-version)) \ && cp $(dtexdir)/corner.tex $(ictdir)/ \ @@ -434,50 +434,50 @@ $(ipydir)/corner: $(ipydir)/matplotlib \ $(ipydir)/cryptography: $(ipydir)/cffi \ $(ipydir)/asn1crypto \ - | $(tdir)/cryptography-$(cryptography-version).tar.gz + $(tdir)/cryptography-$(cryptography-version).tar.gz $(call pybuild, tar xf, cryptography-$(cryptography-version), ,\ Cryptography $(cryptography-version)) $(ipydir)/cycler: $(ipydir)/six \ - | $(tdir)/cycler-$(cycler-version).tar.gz + $(tdir)/cycler-$(cycler-version).tar.gz $(call pybuild, tar xf, cycler-$(cycler-version), ,\ Cycler $(cycler-version)) $(ipydir)/cython: $(ipydir)/setuptools \ - | $(tdir)/cython-$(cython-version).tar.gz + $(tdir)/cython-$(cython-version).tar.gz $(call pybuild, tar xf, Cython-$(cython-version)) \ && cp $(dtexdir)/cython.tex $(ictdir)/ \ && echo "Cython $(cython-version) \citep{cython2011}" > $@ $(ipydir)/esutil: $(ipydir)/numpy \ - | $(tdir)/esutil-$(esutil-version).tar.gz + $(tdir)/esutil-$(esutil-version).tar.gz $(call pybuild, tar xf, esutil-$(esutil-version), ,\ esutil $(esutil-version)) $(ipydir)/eigency: $(ibidir)/eigen \ - | $(tdir)/eigency-$(eigency-version).tar.gz + $(tdir)/eigency-$(eigency-version).tar.gz $(call pybuild, tar xf, eigency-$(eigency-version), ,\ eigency $(eigency-version)) $(ipydir)/emcee: $(ipydir)/numpy \ $(ipydir)/setuptools_scm \ - | $(tdir)/emcee-$(emcee-version).tar.gz + $(tdir)/emcee-$(emcee-version).tar.gz $(call pybuild, tar xf, emcee-$(emcee-version), ,\ emcee $(emcee-version)) $(ipydir)/entrypoints: $(ipydir)/setuptools \ - | $(tdir)/entrypoints-$(entrypoints-version).tar.gz + $(tdir)/entrypoints-$(entrypoints-version).tar.gz $(call pybuild, tar xf, entrypoints-$(entrypoints-version), ,\ EntryPoints $(entrypoints-version)) $(ipydir)/flake8: $(ipydir)/pyflakes \ $(ipydir)/pycodestyle \ - | $(tdir)/flake8-$(flake8-version).tar.gz + $(tdir)/flake8-$(flake8-version).tar.gz $(call pybuild, tar xf, flake8-$(flake8-version), ,\ Flake8 $(flake8-version)) $(ipydir)/future: $(ipydir)/setuptools \ - | $(tdir)/future-$(future-version).tar.gz + $(tdir)/future-$(future-version).tar.gz $(call pybuild, tar xf, future-$(future-version), ,\ Future $(future-version)) @@ -486,7 +486,7 @@ $(ipydir)/galsim: $(ipydir)/future \ $(ipydir)/eigency \ $(ipydir)/pybind11 \ $(ipydir)/lsstdesccoord \ - | $(tdir)/galsim-$(galsim-version).tar.gz + $(tdir)/galsim-$(galsim-version).tar.gz $(call pybuild, tar xf, GalSim-$(galsim-version)) \ && cp $(dtexdir)/galsim.tex $(ictdir)/ \ && echo "Galsim $(galsim-version) \citep{galsim}" > $@ @@ -497,7 +497,7 @@ $(ipydir)/h5py: $(ipydir)/six \ $(ipydir)/cython \ $(ipydir)/mpi4py \ $(ipydir)/pypkgconfig \ - | $(tdir)/h5py-$(h5py-version).tar.gz + $(tdir)/h5py-$(h5py-version).tar.gz export HDF5_MPI=ON; \ export HDF5_DIR=$(ildir); \ $(call pybuild, tar xf, h5py-$(h5py-version), ,\ @@ -515,29 +515,29 @@ $(ipydir)/healpy: $(ibidir)/healpix $(ipydir)/html5lib: $(ipydir)/six \ $(ipydir)/webencodings \ - | $(tdir)/html5lib-$(html5lib-version).tar.gz + $(tdir)/html5lib-$(html5lib-version).tar.gz $(call pybuild, tar xf, html5lib-$(html5lib-version), ,\ HTML5lib $(html5lib-version)) $(ipydir)/idna: $(ipydir)/setuptools \ - | $(tdir)/idna-$(idna-version).tar.gz + $(tdir)/idna-$(idna-version).tar.gz $(call pybuild, tar xf, idna-$(idna-version), ,\ idna $(idna-version)) $(ipydir)/jeepney: $(ipydir)/setuptools \ - | $(tdir)/jeepney-$(jeepney-version).tar.gz + $(tdir)/jeepney-$(jeepney-version).tar.gz $(call pybuild, tar xf, jeepney-$(jeepney-version), ,\ Jeepney $(jeepney-version)) $(ipydir)/keyring: $(ipydir)/entrypoints \ $(ipydir)/secretstorage \ $(ipydir)/setuptools_scm \ - | $(tdir)/keyring-$(keyring-version).tar.gz + $(tdir)/keyring-$(keyring-version).tar.gz $(call pybuild, tar xf, keyring-$(keyring-version), ,\ Keyring $(keyring-version)) $(ipydir)/kiwisolver: $(ipydir)/setuptools \ - | $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz + $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz $(call pybuild, tar xf, kiwisolver-$(kiwisolver-version), ,\ Kiwisolver $(kiwisolver-version)) @@ -548,12 +548,12 @@ $(ipydir)/lmfit: $(ipydir)/six \ $(ipydir)/asteval \ $(ipydir)/matplotlib \ $(ipydir)/uncertainties \ - | $(tdir)/lmfit-$(lmfit-version).tar.gz + $(tdir)/lmfit-$(lmfit-version).tar.gz $(call pybuild, tar xf, lmfit-$(lmfit-version), ,\ LMFIT $(lmfit-version)) $(ipydir)/lsstdesccoord: $(ipydir)/setuptools \ - | $(tdir)/lsstdesccoord-$(lsstdesccoord-version).tar.gz + $(tdir)/lsstdesccoord-$(lsstdesccoord-version).tar.gz $(call pybuild, tar xf, LSSTDESC.Coord-$(lsstdesccoord-version), ,\ LSSTDESC.Coord $(lsstdesccoord-version)) @@ -566,7 +566,7 @@ $(ipydir)/matplotlib: $(ipydir)/numpy \ $(ibidir)/ghostscript \ $(ibidir)/imagemagick \ $(ipydir)/python-dateutil \ - | $(tdir)/matplotlib-$(matplotlib-version).tar.gz + $(tdir)/matplotlib-$(matplotlib-version).tar.gz # On Mac systems, the build complains about `clang' specific # features, so we can't use our own GCC build here. if [ x$(on_mac_os) = xyes ]; then \ @@ -579,20 +579,20 @@ $(ipydir)/matplotlib: $(ipydir)/numpy \ $(ipydir)/mpi4py: $(ibidir)/openmpi \ $(ipydir)/setuptools \ - | $(tdir)/mpi4py-$(mpi4py-version).tar.gz + $(tdir)/mpi4py-$(mpi4py-version).tar.gz $(call pybuild, tar xf, mpi4py-$(mpi4py-version)) \ && cp $(dtexdir)/mpi4py.tex $(ictdir)/ \ && echo "mpi4py $(mpi4py-version) \citep{mpi4py2011}" > $@ $(ipydir)/mpmath: $(ipydir)/setuptools \ - | $(tdir)/mpmath-$(mpmath-version).tar.gz + $(tdir)/mpmath-$(mpmath-version).tar.gz $(call pybuild, tar xf, mpmath-$(mpmath-version), ,\ mpmath $(mpmath-version)) $(ipydir)/numpy: $(ibidir)/unzip \ $(ibidir)/openblas \ $(ipydir)/setuptools \ - | $(tdir)/numpy-$(numpy-version).zip + $(tdir)/numpy-$(numpy-version).zip if [ x$(on_mac_os) = xyes ]; then \ export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \ else \ @@ -606,24 +606,24 @@ $(ipydir)/numpy: $(ibidir)/unzip \ && echo "Numpy $(numpy-version) \citep{numpy2011}" > $@ $(ipydir)/pexpect: $(ipydir)/setuptools \ - | $(tdir)/pexpect-$(pexpect-version).tar.gz + $(tdir)/pexpect-$(pexpect-version).tar.gz $(call pybuild, tar xf, pexpect-$(pexpect-version), ,\ Pexpect $(pexpect-version)) $(ibidir)/pip3: $(ipydir)/setuptools \ - | $(tdir)/pip-$(pip-version).tar.gz + $(tdir)/pip-$(pip-version).tar.gz $(call pybuild, tar xf, pip-$(pip-version), ,\ PiP $(pip-version)) $(ipydir)/pycodestyle: $(ipydir)/setuptools \ - | $(tdir)/pycodestyle-$(pycodestyle-version).tar.gz + $(tdir)/pycodestyle-$(pycodestyle-version).tar.gz $(call pybuild, tar xf, pycodestyle-$(pycodestyle-version), ,\ pycodestyle $(pycodestyle-version)) $(ipydir)/pybind11: $(ibidir)/eigen \ $(ibidir)/boost \ $(ipydir)/setuptools \ - | $(tdir)/pybind11-$(pybind11-version).tar.gz + $(tdir)/pybind11-$(pybind11-version).tar.gz pyhook_after() { cp -r include/pybind11 $(iidir)/python$(python-major-version)m/ } @@ -631,34 +631,34 @@ $(ipydir)/pybind11: $(ibidir)/eigen \ pybind11 $(pybind11-version)) $(ipydir)/pycparser: $(ipydir)/setuptools \ - | $(tdir)/pycparser-$(pycparser-version).tar.gz + $(tdir)/pycparser-$(pycparser-version).tar.gz $(call pybuild, tar xf, pycparser-$(pycparser-version), ,\ pycparser $(pycparser-version)) $(ipydir)/pyflakes: $(ipydir)/setuptools \ - | $(tdir)/pyflakes-$(pyflakes-version).tar.gz + $(tdir)/pyflakes-$(pyflakes-version).tar.gz $(call pybuild, tar xf, pyflakes-$(pyflakes-version), ,\ pyflakes $(pyflakes-version)) $(ipydir)/pyparsing: $(ipydir)/setuptools \ - | $(tdir)/pyparsing-$(pyparsing-version).tar.gz + $(tdir)/pyparsing-$(pyparsing-version).tar.gz $(call pybuild, tar xf, pyparsing-$(pyparsing-version), ,\ PyParsing $(pyparsing-version)) $(ipydir)/pypkgconfig: $(ipydir)/setuptools \ - | $(tdir)/pkgconfig-$(pypkgconfig-version).tar.gz + $(tdir)/pkgconfig-$(pypkgconfig-version).tar.gz $(call pybuild, tar xf, pkgconfig-$(pypkgconfig-version), , pkgconfig $(pypkgconfig-version)) $(ipydir)/python-dateutil: $(ipydir)/six \ $(ipydir)/setuptools_scm \ - | $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz + $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz $(call pybuild, tar xf, python-dateutil-$(python-dateutil-version), ,\ python-dateutil $(python-dateutil-version)) $(ipydir)/pyyaml: $(ibidir)/yaml \ $(ipydir)/cython \ - | $(tdir)/pyyaml-$(pyyaml-version).tar.gz + $(tdir)/pyyaml-$(pyyaml-version).tar.gz $(call pybuild, tar xf, PyYAML-$(pyyaml-version), ,\ PyYAML $(pyyaml-version)) @@ -667,12 +667,12 @@ $(ipydir)/requests: $(ipydir)/idna \ $(ipydir)/certifi \ $(ipydir)/chardet \ $(ipydir)/urllib3 \ - | $(tdir)/requests-$(requests-version).tar.gz + $(tdir)/requests-$(requests-version).tar.gz $(call pybuild, tar xf, requests-$(requests-version), ,\ Requests $(requests-version)) $(ipydir)/scipy: $(ipydir)/numpy \ - | $(tdir)/scipy-$(scipy-version).tar.gz + $(tdir)/scipy-$(scipy-version).tar.gz if [ x$(on_mac_os) = xyes ]; then \ export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \ else \ @@ -685,56 +685,56 @@ $(ipydir)/scipy: $(ipydir)/numpy \ $(ipydir)/secretstorage: $(ipydir)/jeepney \ $(ipydir)/cryptography \ - | $(tdir)/secretstorage-$(secretstorage-version).tar.gz + $(tdir)/secretstorage-$(secretstorage-version).tar.gz $(call pybuild, tar xf, SecretStorage-$(secretstorage-version), ,\ SecretStorage $(secretstorage-version)) $(ipydir)/setuptools: $(ibidir)/unzip \ $(ibidir)/python \ - | $(tdir)/setuptools-$(setuptools-version).zip + $(tdir)/setuptools-$(setuptools-version).zip $(call pybuild, unzip, setuptools-$(setuptools-version), ,\ Setuptools $(setuptools-version)) $(ipydir)/setuptools_scm: $(ipydir)/setuptools \ - | $(tdir)/setuptools_scm-$(setuptools_scm-version).tar.gz + $(tdir)/setuptools_scm-$(setuptools_scm-version).tar.gz $(call pybuild, tar xf, setuptools_scm-$(setuptools_scm-version), ,\ Setuptools-scm $(setuptools_scm-version)) $(ipydir)/sip_tpv: $(ipydir)/sympy \ $(ipydir)/astropy \ - | $(tdir)/sip_tpv-$(sip_tpv-version).tar.gz + $(tdir)/sip_tpv-$(sip_tpv-version).tar.gz $(call pybuild, tar xf, sip_tpv-$(sip_tpv-version), ,) \ && cp $(dtexdir)/sip_tpv.tex $(ictdir)/ \ && echo "sip\_tpv $(sip_tpv-version) \citep{sip-tpv}" > $@ $(ipydir)/six: $(ipydir)/setuptools \ - | $(tdir)/six-$(six-version).tar.gz + $(tdir)/six-$(six-version).tar.gz $(call pybuild, tar xf, six-$(six-version), ,\ Six $(six-version)) $(ipydir)/soupsieve: $(ipydir)/setuptools \ - | $(tdir)/soupsieve-$(soupsieve-version).tar.gz + $(tdir)/soupsieve-$(soupsieve-version).tar.gz $(call pybuild, tar xf, soupsieve-$(soupsieve-version), ,\ SoupSieve $(soupsieve-version)) $(ipydir)/sympy: $(ipydir)/mpmath \ - | $(tdir)/sympy-$(sympy-version).tar.gz + $(tdir)/sympy-$(sympy-version).tar.gz $(call pybuild, tar xf, sympy-$(sympy-version), ,) \ && cp $(dtexdir)/sympy.tex $(ictdir)/ \ && echo "SymPy $(sympy-version) \citep{sympy}" > $@ $(ipydir)/uncertainties: $(ipydir)/numpy \ - | $(tdir)/uncertainties-$(uncertainties-version).tar.gz + $(tdir)/uncertainties-$(uncertainties-version).tar.gz $(call pybuild, tar xf, uncertainties-$(uncertainties-version), ,\ uncertainties $(uncertainties-version)) $(ipydir)/urllib3: $(ipydir)/setuptools \ - | $(tdir)/urllib3-$(urllib3-version).tar.gz + $(tdir)/urllib3-$(urllib3-version).tar.gz $(call pybuild, tar xf, urllib3-$(urllib3-version), ,\ Urllib3 $(urllib3-version)) $(ipydir)/webencodings: $(ipydir)/setuptools \ - | $(tdir)/webencodings-$(webencodings-version).tar.gz + $(tdir)/webencodings-$(webencodings-version).tar.gz $(call pybuild, tar xf, webencodings-$(webencodings-version), ,\ Webencodings $(webencodings-version)) |