From b0993336112b244ea7e919d96ffdbaf167831b9d Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Tue, 30 Apr 2019 18:51:47 +0100 Subject: End-of-line Backslashs no longer right under each other When we need to quote the new-line character we end the line with a backslash (`\'). Until now, our convention has been to put all such backslashes under each other to help in visual inspection. But this causes a lot of confusion in version control: if only one line's length is larger, the whole block will be marked as changed and thus makes it hard to visually see the actual change. It also makes debuging the code (adding some temporary lines) hard. With this commit, I went through all the files and tried to fix all such cases so only a single white space character is between the last command character and the backslash. Where there was an empty line (ending with a backslash, to help in visually separating the code into blocks), I put the backslash right under the previous line's. This completes task #15259. --- configure | 50 +- reproduce/analysis/make/paper.mk | 2 +- reproduce/analysis/make/top.mk | 16 +- reproduce/software/config/installation/texlive.mk | 4 +- reproduce/software/make/basic.mk | 758 +++++++++++----------- reproduce/software/make/build-rules.mk | 105 +-- reproduce/software/make/high-level.mk | 386 +++++------ reproduce/software/make/python.mk | 266 ++++---- 8 files changed, 795 insertions(+), 792 deletions(-) diff --git a/configure b/configure index a71c815..e99776b 100755 --- a/configure +++ b/configure @@ -519,10 +519,10 @@ if [ $rewritepconfig = yes ]; then create_file_with_notice $pconf # Write the values. - sed -e's|@bdir[@]|'"$bdir"'|' \ - -e's|@indir[@]|'"$indir"'|' \ - -e's|@ddir[@]|'"$ddir"'|' \ - -e's|@downloader[@]|'"$downloader"'|' \ + sed -e's|@bdir[@]|'"$bdir"'|' \ + -e's|@indir[@]|'"$indir"'|' \ + -e's|@ddir[@]|'"$ddir"'|' \ + -e's|@downloader[@]|'"$downloader"'|' \ -e's|@groupname[@]|'"$reproducible_paper_group_name"'|' \ $pconf.in >> $pconf else @@ -959,12 +959,12 @@ fi # Bash, Make, or AWK. In this step, we'll install such low-level basic # tools, but we have to be very portable (and use minimal features in all). make -f reproduce/software/make/basic.mk \ - rpath_command=$rpath_command \ - static_build=$static_build \ - needs_ldl=$needs_ldl \ - on_mac_os=$on_mac_os \ - numthreads=$numthreads \ - host_cc=$host_cc \ + rpath_command=$rpath_command \ + static_build=$static_build \ + needs_ldl=$needs_ldl \ + on_mac_os=$on_mac_os \ + numthreads=$numthreads \ + host_cc=$host_cc \ -j$numthreads @@ -984,10 +984,10 @@ else numthreads=$jobs fi ./.local/bin/make -f reproduce/software/make/high-level.mk \ - rpath_command=$rpath_command \ - static_build=$static_build \ - on_mac_os=$on_mac_os \ - numthreads=$numthreads \ + rpath_command=$rpath_command \ + static_build=$static_build \ + on_mac_os=$on_mac_os \ + numthreads=$numthreads \ -j$numthreads @@ -1057,22 +1057,22 @@ function prepare_name_version() { # Count how many names there are. This is necessary to identify the # last element. - num=$(.local/bin/cat $@ \ + num=$(.local/bin/cat $@ \ | .local/bin/sed '/^\s*$/d' \ | .local/bin/wc -l) # Put them all in one paragraph. - .local/bin/cat $@ \ - | .local/bin/sort \ - | .local/bin/awk 'NF>0 { \ - c++; \ - if(c==1) \ - { \ - if('$num'==1) printf("%s", $0); \ - else printf("%s", $0); \ - } \ + .local/bin/cat $@ \ + | .local/bin/sort \ + | .local/bin/awk 'NF>0 { \ + c++; \ + if(c==1) \ + { \ + if('$num'==1) printf("%s", $0); \ + else printf("%s", $0); \ + } \ else if(c=='$num') printf(" and %s\n", $0); \ - else printf(", %s", $0) \ + else printf(", %s", $0) \ }' fi } diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk index 549b7c0..c1d5b33 100644 --- a/reproduce/analysis/make/paper.mk +++ b/reproduce/analysis/make/paper.mk @@ -118,7 +118,7 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \ # to run everything cleanly from there, it is necessary to add the current # directory (top project directory) to the `TEXINPUTS' environment # variable. -paper.pdf: $(mtexdir)/project.tex paper.tex $(texbdir)/paper.bbl \ +paper.pdf: $(mtexdir)/project.tex paper.tex $(texbdir)/paper.bbl \ | $(tikzdir) $(texbdir) # If `$(mtexdir)/project.tex' is empty, don't build the PDF. diff --git a/reproduce/analysis/make/top.mk b/reproduce/analysis/make/top.mk index a85c530..b753979 100644 --- a/reproduce/analysis/make/top.mk +++ b/reproduce/analysis/make/top.mk @@ -68,12 +68,12 @@ ifeq (x$(reproducible_paper_group_name),x$(GROUP-NAME)) all: paper.pdf else all: - @if [ "x$(GROUP-NAME)" = x ]; then \ + @if [ "x$(GROUP-NAME)" = x ]; then \ echo "Project is NOT configured for groups, please run"; \ - echo " $$ .local/bin/make"; \ - else \ - echo "Project is configured for groups, please run"; \ - echo " $$ ./for-group $(GROUP-NAME) make -j8"; \ + echo " $$ .local/bin/make"; \ + else \ + echo "Project is configured for groups, please run"; \ + echo " $$ ./for-group $(GROUP-NAME) make -j8"; \ fi endif @@ -110,9 +110,9 @@ endif # a `foreach' loop in the next step to explicitly request loading them in # the same order that they are defined here (we aren't just using a # wild-card like the configuration Makefiles). -makesrc = initialize \ - download \ - delete-me \ +makesrc = initialize \ + download \ + delete-me \ paper diff --git a/reproduce/software/config/installation/texlive.mk b/reproduce/software/config/installation/texlive.mk index 0acf5ab..b3e1235 100644 --- a/reproduce/software/config/installation/texlive.mk +++ b/reproduce/software/config/installation/texlive.mk @@ -17,6 +17,6 @@ # ignored in the `tlmgr install' command, but will be used later when we # want their versions. texlive-packages = tex fancyhdr ec newtx fontaxes xkeyval etoolbox xcolor \ - setspace caption footmisc datetime fmtcount titlesec \ - preprint ulem biblatex biber logreq pgf pgfplots fp \ + setspace caption footmisc datetime fmtcount titlesec \ + preprint ulem biblatex biber logreq pgf pgfplots fp \ courier tex-gyre txfonts times diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk index f210d79..f2442ff 100644 --- a/reproduce/software/make/basic.mk +++ b/reproduce/software/make/basic.mk @@ -90,117 +90,117 @@ all: $(foreach p, $(top-level-programs), $(ibidir)/$(p)) # its easier to just keep a with the others. $(lockdir): | $(BDIR); mkdir $@ downloadwrapper = ./reproduce/analysis/bash/download-multi-try -tarballs = $(foreach t, bash-$(bash-version).tar.lz \ - binutils-$(binutils-version).tar.lz \ - bzip2-$(bzip2-version).tar.gz \ - cert.pem \ - coreutils-$(coreutils-version).tar.xz \ - curl-$(curl-version).tar.gz \ - diffutils-$(diffutils-version).tar.xz \ - file-$(file-version).tar.gz \ - findutils-$(findutils-version).tar.lz \ - gawk-$(gawk-version).tar.lz \ - gcc-$(gcc-version).tar.xz \ - git-$(git-version).tar.xz \ - gmp-$(gmp-version).tar.lz \ - grep-$(grep-version).tar.xz \ - gzip-$(gzip-version).tar.gz \ - isl-$(isl-version).tar.bz2 \ - libbsd-$(libbsd-version).tar.xz \ - libtool-$(libtool-version).tar.xz \ - lzip-$(lzip-version).tar.gz \ - m4-$(m4-version).tar.gz \ - make-$(make-version).tar.lz \ - metastore-$(metastore-version).tar.gz \ - mpfr-$(mpfr-version).tar.xz \ - mpc-$(mpc-version).tar.gz \ - ncurses-$(ncurses-version).tar.gz \ - openssl-$(openssl-version).tar.gz \ - patchelf-$(patchelf-version).tar.gz \ - pkg-config-$(pkgconfig-version).tar.gz \ - readline-$(readline-version).tar.gz \ - sed-$(sed-version).tar.xz \ - tar-$(tar-version).tar.gz \ - unzip-$(unzip-version).tar.gz \ - wget-$(wget-version).tar.lz \ - which-$(which-version).tar.gz \ - xz-$(xz-version).tar.gz \ - zip-$(zip-version).tar.gz \ - zlib-$(zlib-version).tar.gz \ +tarballs = $(foreach t, bash-$(bash-version).tar.lz \ + binutils-$(binutils-version).tar.lz \ + bzip2-$(bzip2-version).tar.gz \ + cert.pem \ + coreutils-$(coreutils-version).tar.xz \ + curl-$(curl-version).tar.gz \ + diffutils-$(diffutils-version).tar.xz \ + file-$(file-version).tar.gz \ + findutils-$(findutils-version).tar.lz \ + gawk-$(gawk-version).tar.lz \ + gcc-$(gcc-version).tar.xz \ + git-$(git-version).tar.xz \ + gmp-$(gmp-version).tar.lz \ + grep-$(grep-version).tar.xz \ + gzip-$(gzip-version).tar.gz \ + isl-$(isl-version).tar.bz2 \ + libbsd-$(libbsd-version).tar.xz \ + libtool-$(libtool-version).tar.xz \ + lzip-$(lzip-version).tar.gz \ + m4-$(m4-version).tar.gz \ + make-$(make-version).tar.lz \ + metastore-$(metastore-version).tar.gz \ + mpfr-$(mpfr-version).tar.xz \ + mpc-$(mpc-version).tar.gz \ + ncurses-$(ncurses-version).tar.gz \ + openssl-$(openssl-version).tar.gz \ + patchelf-$(patchelf-version).tar.gz \ + pkg-config-$(pkgconfig-version).tar.gz \ + readline-$(readline-version).tar.gz \ + sed-$(sed-version).tar.xz \ + tar-$(tar-version).tar.gz \ + unzip-$(unzip-version).tar.gz \ + wget-$(wget-version).tar.lz \ + which-$(which-version).tar.gz \ + xz-$(xz-version).tar.gz \ + zip-$(zip-version).tar.gz \ + zlib-$(zlib-version).tar.gz \ , $(tdir)/$(t) ) $(tarballs): $(tdir)/%: | $(lockdir) - if [ -f $(DEPENDENCIES-DIR)/$* ]; then \ - cp $(DEPENDENCIES-DIR)/$* $@; \ - else \ - n=$$(echo $* | sed -e's/[0-9\-]/ /g' \ - -e's/\./ /g' \ - | awk '{print $$1}' ); \ - \ - mergenames=1; \ - if [ $$n = bash ]; then w=http://akhlaghi.org/src; \ + if [ -f $(DEPENDENCIES-DIR)/$* ]; then \ + cp $(DEPENDENCIES-DIR)/$* $@; \ + else \ + n=$$(echo $* | sed -e's/[0-9\-]/ /g' \ + -e's/\./ /g' \ + | awk '{print $$1}' ); \ + \ + mergenames=1; \ + if [ $$n = bash ]; then w=http://akhlaghi.org/src; \ elif [ $$n = binutils ]; then w=http://ftp.gnu.org/gnu/binutils; \ - elif [ $$n = bzip ]; then w=http://akhlaghi.org/src; \ - elif [ $$n = cert ]; then w=http://akhlaghi.org/src; \ + elif [ $$n = bzip ]; then w=http://akhlaghi.org/src; \ + elif [ $$n = cert ]; then w=http://akhlaghi.org/src; \ elif [ $$n = coreutils ]; then w=http://ftp.gnu.org/gnu/coreutils;\ - elif [ $$n = curl ]; then w=https://curl.haxx.se/download; \ + elif [ $$n = curl ]; then w=https://curl.haxx.se/download; \ elif [ $$n = diffutils ]; then w=http://ftp.gnu.org/gnu/diffutils;\ - elif [ $$n = file ]; then w=ftp://ftp.astron.com/pub/file; \ - elif [ $$n = findutils ]; then w=http://akhlaghi.org/src; \ - elif [ $$n = gawk ]; then w=http://ftp.gnu.org/gnu/gawk; \ + elif [ $$n = file ]; then w=ftp://ftp.astron.com/pub/file; \ + elif [ $$n = findutils ]; then w=http://akhlaghi.org/src; \ + elif [ $$n = gawk ]; then w=http://ftp.gnu.org/gnu/gawk; \ elif [ $$n = gcc ]; then w=http://ftp.gnu.org/gnu/gcc/gcc-$(gcc-version); \ elif [ $$n = git ]; then w=http://mirrors.edge.kernel.org/pub/software/scm/git; \ elif [ $$n = gmp ]; then w=https://gmplib.org/download/gmp; \ - elif [ $$n = grep ]; then w=http://ftp.gnu.org/gnu/grep; \ - elif [ $$n = gzip ]; then w=http://ftp.gnu.org/gnu/gzip; \ + elif [ $$n = grep ]; then w=http://ftp.gnu.org/gnu/grep; \ + elif [ $$n = gzip ]; then w=http://ftp.gnu.org/gnu/gzip; \ elif [ $$n = isl ]; then w=ftp://gcc.gnu.org/pub/gcc/infrastructure; \ elif [ $$n = libbsd ]; then w=http://libbsd.freedesktop.org/releases; \ - elif [ $$n = libtool ]; then w=http://ftp.gnu.org/gnu/libtool; \ + elif [ $$n = libtool ]; then w=http://ftp.gnu.org/gnu/libtool; \ elif [ $$n = lzip ]; then w=http://download.savannah.gnu.org/releases/lzip; \ - elif [ $$n = m ]; then \ - mergenames=0; \ - w=http://akhlaghi.org/src/m4-1.4.18-patched.tar.gz; \ - elif [ $$n = make ]; then w=http://akhlaghi.org/src; \ - elif [ $$n = metastore ]; then w=http://akhlaghi.org/src; \ + elif [ $$n = m ]; then \ + mergenames=0; \ + w=http://akhlaghi.org/src/m4-1.4.18-patched.tar.gz; \ + elif [ $$n = make ]; then w=http://akhlaghi.org/src; \ + elif [ $$n = metastore ]; then w=http://akhlaghi.org/src; \ elif [ $$n = mpfr ]; then w=http://www.mpfr.org/mpfr-current;\ - elif [ $$n = mpc ]; then w=http://ftp.gnu.org/gnu/mpc; \ - elif [ $$n = ncurses ]; then w=http://ftp.gnu.org/gnu/ncurses; \ - elif [ $$n = openssl ]; then w=http://www.openssl.org/source; \ + elif [ $$n = mpc ]; then w=http://ftp.gnu.org/gnu/mpc; \ + elif [ $$n = ncurses ]; then w=http://ftp.gnu.org/gnu/ncurses; \ + elif [ $$n = openssl ]; then w=http://www.openssl.org/source; \ elif [ $$n = patchelf ]; then w=http://nixos.org/releases/patchelf/patchelf-$(patchelf-version); \ elif [ $$n = pkg ]; then w=http://pkg-config.freedesktop.org/releases; \ elif [ $$n = readline ]; then w=http://ftp.gnu.org/gnu/readline; \ - elif [ $$n = sed ]; then w=http://ftp.gnu.org/gnu/sed; \ - elif [ $$n = tar ]; then w=http://ftp.gnu.org/gnu/tar; \ - elif [ $$n = unzip ]; then \ - mergenames=0; v=$$(echo $(unzip-version) | sed -e's/\.//'); \ - w=ftp://ftp.info-zip.org/pub/infozip/src/unzip$$v.tgz; \ - elif [ $$n = wget ]; then w=http://ftp.gnu.org/gnu/wget; \ - elif [ $$n = which ]; then w=http://ftp.gnu.org/gnu/which; \ - elif [ $$n = xz ]; then w=http://tukaani.org/xz; \ - elif [ $$n = zip ]; then \ - mergenames=0; v=$$(echo $(zip-version) | sed -e's/\.//'); \ - w=ftp://ftp.info-zip.org/pub/infozip/src/zip$$v.tgz; \ - elif [ $$n = zlib ]; then w=http://www.zlib.net; \ - else \ - echo; echo; echo; \ - echo "'$$n' not a basic dependency name (for downloading)." \ - echo; echo; echo; \ - exit 1; \ - fi; \ - \ - if [ $$mergenames = 1 ]; then tarballurl=$$w/"$*"; \ - else tarballurl=$$w; \ - fi; \ - \ - echo "Downloading $$tarballurl"; \ - if [ -f $(ibdir)/wget ]; then \ - downloader="wget --no-use-server-timestamps -O"; \ - else \ - downloader="$(DOWNLOADER)"; \ - fi; \ - \ - touch $(lockdir)/download; \ - $(downloadwrapper) "$$downloader" $(lockdir)/download \ - $$tarballurl $@; \ + elif [ $$n = sed ]; then w=http://ftp.gnu.org/gnu/sed; \ + elif [ $$n = tar ]; then w=http://ftp.gnu.org/gnu/tar; \ + elif [ $$n = unzip ]; then \ + mergenames=0; v=$$(echo $(unzip-version) | sed -e's/\.//'); \ + w=ftp://ftp.info-zip.org/pub/infozip/src/unzip$$v.tgz; \ + elif [ $$n = wget ]; then w=http://ftp.gnu.org/gnu/wget; \ + elif [ $$n = which ]; then w=http://ftp.gnu.org/gnu/which; \ + elif [ $$n = xz ]; then w=http://tukaani.org/xz; \ + elif [ $$n = zip ]; then \ + mergenames=0; v=$$(echo $(zip-version) | sed -e's/\.//'); \ + w=ftp://ftp.info-zip.org/pub/infozip/src/zip$$v.tgz; \ + elif [ $$n = zlib ]; then w=http://www.zlib.net; \ + else \ + echo; echo; echo; \ + echo "'$$n' not a basic dependency name (for downloading)." \ + echo; echo; echo; \ + exit 1; \ + fi; \ + \ + if [ $$mergenames = 1 ]; then tarballurl=$$w/"$*"; \ + else tarballurl=$$w; \ + fi; \ + \ + echo "Downloading $$tarballurl"; \ + if [ -f $(ibdir)/wget ]; then \ + downloader="wget --no-use-server-timestamps -O"; \ + else \ + downloader="$(DOWNLOADER)"; \ + fi; \ + \ + touch $(lockdir)/download; \ + $(downloadwrapper) "$$downloader" $(lockdir)/download \ + $$tarballurl $@; \ fi @@ -221,20 +221,22 @@ $(tarballs): $(tdir)/%: | $(lockdir) # is very annoying and can cause many complications. We thus remove any # part of PATH of that has `ccache' in it before making symbolic links to # the programs we are not building ourselves. -makelink = origpath="$$PATH"; \ - export PATH=$$(echo $(syspath) | tr : '\n' | grep -v ccache \ - | tr '\n' :); \ - a=$$(which $(1) 2> /dev/null); \ - if [ -e $(ibdir)/$(1) ]; then rm $(ibdir)/$(1); fi; \ - if [ x$$a = x ]; then \ - if [ "x$(strip $(2))" = xmandatory ]; then \ - echo "'$(1)' is necessary for higher-level tools."; \ +makelink = origpath="$$PATH"; \ + export PATH=$$(echo $(syspath) \ + | tr : '\n' \ + | grep -v ccache \ + | tr '\n' :); \ + a=$$(which $(1) 2> /dev/null); \ + if [ -e $(ibdir)/$(1) ]; then rm $(ibdir)/$(1); fi; \ + if [ x$$a = x ]; then \ + if [ "x$(strip $(2))" = xmandatory ]; then \ + echo "'$(1)' is necessary for higher-level tools."; \ echo "Please install it for the configuration to continue."; \ - exit 1; \ - fi; \ - else \ - ln -s $$a $(ibdir)/$(1); \ - fi; \ + exit 1; \ + fi; \ + else \ + ln -s $$a $(ibdir)/$(1); \ + fi; \ export PATH="$$origpath" $(ibdir) $(ildir):; mkdir $@ $(ibidir)/low-level-links: | $(ibdir) $(ildir) @@ -264,11 +266,11 @@ $(ibidir)/low-level-links: | $(ibdir) $(ildir) # Necessary libraries: # Libdl (for dynamic loading libraries at runtime) # POSIX Threads library for multi-threaded programs. - for l in dl pthread; do \ - rm -f $(ildir)/lib$$l*; \ - if [ -f /usr/lib/lib$$l.a ]; then \ - ln -s /usr/lib/lib$$l.* $(ildir)/; \ - fi; \ + for l in dl pthread; do \ + rm -f $(ildir)/lib$$l*; \ + if [ -f /usr/lib/lib$$l.a ]; then \ + ln -s /usr/lib/lib$$l.* $(ildir)/; \ + fi; \ done # We want this to be empty (so it doesn't interefere with the other @@ -319,48 +321,48 @@ $(ibidir)/bzip2: $(tdir)/bzip2-$(bzip2-version).tar.gz # # NOTE: the major version number appears in the final symbolic # link. - tdir=bzip2-$(bzip2-version); \ - if [ $(static_build) = yes ]; then \ - makecommand="make LDFLAGS=-static"; \ - makeshared="echo no-shared"; \ - else \ - makecommand="make"; \ - if [ x$(on_mac_os) = xyes ]; then \ - makeshared="echo no-shared"; \ - else \ - makeshared="make -f Makefile-libbz2_so"; \ - fi; \ - fi; \ - cd $(ddir) && rm -rf $$tdir && tar xf $< && cd $$tdir \ - && sed -e 's@\(ln -s -f \)$$(PREFIX)/bin/@\1@' Makefile \ - > Makefile.sed \ - && mv Makefile.sed Makefile \ - && $$makeshared \ - && cp -a libbz2* $(ildir)/ \ - && make clean \ - && $$makecommand \ - && make install PREFIX=$(idir) \ - && cd .. \ - && rm -rf $$tdir \ - && cd $(ildir) \ - && ln -fs libbz2.so.1.0 libbz2.so \ + tdir=bzip2-$(bzip2-version); \ + if [ $(static_build) = yes ]; then \ + makecommand="make LDFLAGS=-static"; \ + makeshared="echo no-shared"; \ + else \ + makecommand="make"; \ + if [ x$(on_mac_os) = xyes ]; then \ + makeshared="echo no-shared"; \ + else \ + makeshared="make -f Makefile-libbz2_so"; \ + fi; \ + fi; \ + cd $(ddir) && rm -rf $$tdir && tar xf $< && cd $$tdir \ + && sed -e 's@\(ln -s -f \)$$(PREFIX)/bin/@\1@' Makefile \ + > Makefile.sed \ + && mv Makefile.sed Makefile \ + && $$makeshared \ + && cp -a libbz2* $(ildir)/ \ + && make clean \ + && $$makecommand \ + && make install PREFIX=$(idir) \ + && cd .. \ + && rm -rf $$tdir \ + && cd $(ildir) \ + && ln -fs libbz2.so.1.0 libbz2.so \ && echo "Bzip2 $(bzip2-version)" > $@ $(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 \ - CFLAGS="-DBIG_MEM -DMMAP",,pwd, \ - -f unix/Makefile \ + v=$$(echo $(unzip-version) | sed -e's/\.//'); \ + $(call gbuild, $<, unzip$$v, static,, \ + -f unix/Makefile generic_gcc \ + CFLAGS="-DBIG_MEM -DMMAP",,pwd, \ + -f unix/Makefile \ BINDIR=$(ibdir) MANDIR=$(idir)/man/man1 ) \ && echo "Unzip $(unzip-version)" > $@ $(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 \ - CFLAGS="-DBIG_MEM -DMMAP",,pwd, \ - -f unix/Makefile \ + v=$$(echo $(zip-version) | sed -e's/\.//'); \ + $(call gbuild, $<, zip$$v, static,, \ + -f unix/Makefile generic_gcc \ + CFLAGS="-DBIG_MEM -DMMAP",,pwd, \ + -f unix/Makefile \ BINDIR=$(ibdir) MANDIR=$(idir)/man/man1 ) \ && echo "Zip $(zip-version)" > $@ @@ -379,12 +381,12 @@ $(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: $(tdir)/tar-$(tar-version).tar.gz \ - $(ibidir)/bzip2 \ - $(ibidir)/unzip \ - $(ibidir)/gzip \ - $(ibidir)/lzip \ - $(ibidir)/zlib \ - $(ibidir)/zip \ + $(ibidir)/bzip2 \ + $(ibidir)/unzip \ + $(ibidir)/gzip \ + $(ibidir)/lzip \ + $(ibidir)/zlib \ + $(ibidir)/zip \ $(ibidir)/xz # Since all later programs depend on Tar, the configuration will be # stuck here, only making Tar. So its more efficient to built it on @@ -434,9 +436,9 @@ $(ibidir)/ncurses: $(tdir)/ncurses-$(ncurses-version).tar.gz \ rm -f $(ibdir)/bash* $(ibdir)/awk* $(ibdir)/gawk* # Standard build process. - $(call gbuild, $<, ncurses-$(ncurses-version), static, \ - --with-shared --enable-rpath --without-normal \ - --without-debug --with-cxx-binding \ + $(call gbuild, $<, ncurses-$(ncurses-version), static, \ + --with-shared --enable-rpath --without-normal \ + --without-debug --with-cxx-binding \ --with-cxx-shared --enable-widec --enable-pc-files \ --with-pkg-config=$(ildir)/pkgconfig, -j$(numthreads)) @@ -477,39 +479,39 @@ $(ibidir)/ncurses: $(tdir)/ncurses-$(ncurses-version).tar.gz \ # # 5. A link is made to also be able to include files from the # `ncurses' headers. - if [ x$(on_mac_os) = xyes ]; then so="dylib"; else so="so"; fi; \ - if [ -f $(ildir)/libncursesw.$$so ]; then \ - \ - sov=$$(ls -l $(ildir)/libncursesw* \ - | awk '/^-/{print $$NF}' \ - | sed -e's|'$(ildir)/libncursesw.'||'); \ - \ - cd "$(ildir)"; \ - for lib in ncurses ncurses++ form panel menu; do \ - ln -fs lib$$lib"w".$$sov lib$$lib.$$so; \ - ln -fs $(ildir)/pkgconfig/"$$lib"w.pc pkgconfig/$$lib.pc; \ - done; \ - for lib in tic tinfo; do \ - ln -fs libncursesw.$$sov lib$$lib.$$so; \ - ln -fs libncursesw.$$sov lib$$lib.$$sov; \ - ln -fs $(ildir)/pkgconfig/ncursesw.pc pkgconfig/$$lib.pc; \ - done; \ - ln -fs libncursesw.$$sov libcurses.$$so; \ - ln -fs libncursesw.$$sov libcursesw.$$sov; \ - ln -fs $(ildir)/pkgconfig/ncursesw.pc pkgconfig/curses.pc; \ - ln -fs $(ildir)/pkgconfig/ncursesw.pc pkgconfig/cursesw.pc; \ - \ - ln -fs $(idir)/include/ncursesw $(idir)/include/ncurses; \ - echo "GNU NCURSES $(ncurses-version)" > $@; \ - else \ - exit 1; \ + if [ x$(on_mac_os) = xyes ]; then so="dylib"; else so="so"; fi; \ + if [ -f $(ildir)/libncursesw.$$so ]; then \ + \ + sov=$$(ls -l $(ildir)/libncursesw* \ + | awk '/^-/{print $$NF}' \ + | sed -e's|'$(ildir)/libncursesw.'||'); \ + \ + cd "$(ildir)"; \ + for lib in ncurses ncurses++ form panel menu; do \ + ln -fs lib$$lib"w".$$sov lib$$lib.$$so; \ + ln -fs $(ildir)/pkgconfig/"$$lib"w.pc pkgconfig/$$lib.pc; \ + done; \ + for lib in tic tinfo; do \ + ln -fs libncursesw.$$sov lib$$lib.$$so; \ + ln -fs libncursesw.$$sov lib$$lib.$$sov; \ + ln -fs $(ildir)/pkgconfig/ncursesw.pc pkgconfig/$$lib.pc; \ + done; \ + ln -fs libncursesw.$$sov libcurses.$$so; \ + ln -fs libncursesw.$$sov libcursesw.$$sov; \ + ln -fs $(ildir)/pkgconfig/ncursesw.pc pkgconfig/curses.pc; \ + ln -fs $(ildir)/pkgconfig/ncursesw.pc pkgconfig/cursesw.pc; \ + \ + ln -fs $(idir)/include/ncursesw $(idir)/include/ncurses; \ + echo "GNU NCURSES $(ncurses-version)" > $@; \ + else \ + exit 1; \ fi -$(ibidir)/readline: $(tdir)/readline-$(readline-version).tar.gz \ +$(ibidir)/readline: $(tdir)/readline-$(readline-version).tar.gz \ $(ibidir)/ncurses - $(call gbuild, $<, readline-$(readline-version), static, \ - --with-curses --disable-install-examples, \ - SHLIB_LIBS="-lncursesw" -j$(numthreads)) \ + $(call gbuild, $<, readline-$(readline-version), static, \ + --with-curses --disable-install-examples, \ + SHLIB_LIBS="-lncursesw" -j$(numthreads)) \ && echo "GNU Readline $(readline-version)" > $@ $(ibidir)/patchelf: $(tdir)/patchelf-$(patchelf-version).tar.gz \ @@ -577,9 +579,9 @@ $(ibidir)/bash: $(tdir)/bash-$(bash-version).tar.lz \ # you disable them all with `--enable-minimal-config' and enable a # subset using the `--enable' options. if [ "x$(static_build)" = xyes ]; then stopt="--enable-static-link";\ - else stopt=""; \ - fi; \ - $(call gbuild, $<, bash-$(bash-version),, \ + else stopt=""; \ + fi; \ + $(call gbuild, $<, bash-$(bash-version),, \ --with-installed-readline=$(ildir) $$stopt, \ -j$(numthreads)) @@ -587,8 +589,8 @@ $(ibidir)/bash: $(tdir)/bash-$(bash-version).tar.lz \ # default. So, we have to manually include it, currently we are # only doing this on GNU/Linux systems (using the `patchelf' # program). - if [ "x$(needpatchelf)" != x ]; then \ - if [ -f $(ibdir)/bash ]; then \ + if [ "x$(needpatchelf)" != x ]; then \ + if [ -f $(ibdir)/bash ]; then \ $(ibdir)/patchelf --set-rpath $(ildir) $(ibdir)/bash; fi \ fi @@ -600,10 +602,10 @@ $(ibidir)/bash: $(tdir)/bash-$(bash-version).tar.lz \ # Just to be sure that the installation step above went well, # before making the link, we'll see if the file actually exists # there. - if [ -f $(ibdir)/bash ]; then \ - ln -fs $(ibdir)/bash $(ibdir)/sh; \ - echo "GNU Bash $(bash-version)" > $@; \ - else \ + if [ -f $(ibdir)/bash ]; then \ + ln -fs $(ibdir)/bash $(ibdir)/sh; \ + echo "GNU Bash $(bash-version)" > $@; \ + else \ echo "GNU Bash not built!"; exit 1; fi @@ -624,23 +626,23 @@ $(ibidir)/bash: $(tdir)/bash-$(bash-version).tar.lz \ # this project is avoid dependency on the host as much as possible. $(ibidir)/curl: $(tdir)/curl-$(curl-version).tar.gz \ $(ibidir)/openssl - $(call gbuild, $<, curl-$(curl-version), , \ - LIBS="-pthread" \ - --with-zlib=$(ildir) \ - --with-ssl=$(idir) \ - --without-mesalink \ - --with-ca-fallback \ - --without-librtmp \ - --without-libidn2 \ - --without-wolfssl \ - --without-brotli \ - --without-gnutls \ - --without-cyassl \ - --without-libpsl \ - --without-axtls \ - --disable-ldaps \ - --disable-ldap \ - --without-nss, V=1) \ + $(call gbuild, $<, curl-$(curl-version), , \ + LIBS="-pthread" \ + --with-zlib=$(ildir) \ + --with-ssl=$(idir) \ + --without-mesalink \ + --with-ca-fallback \ + --without-librtmp \ + --without-libidn2 \ + --without-wolfssl \ + --without-brotli \ + --without-gnutls \ + --without-cyassl \ + --without-libpsl \ + --without-axtls \ + --disable-ldaps \ + --disable-ldap \ + --without-nss, V=1) \ && echo "cURL $(curl-version)" > $@ # OpenSSL @@ -659,8 +661,8 @@ $(ibidir)/curl: $(tdir)/curl-$(curl-version).tar.gz \ #openssl-static = no-dso no-dynamic-engine no-shared #endif $(idir)/etc:; mkdir $@ -$(ibidir)/openssl: $(tdir)/openssl-$(openssl-version).tar.gz \ - $(tdir)/cert.pem \ +$(ibidir)/openssl: $(tdir)/openssl-$(openssl-version).tar.gz \ + $(tdir)/cert.pem \ $(ibidir)/bash | $(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 @@ -669,27 +671,27 @@ $(ibidir)/openssl: $(tdir)/openssl-$(openssl-version).tar.gz \ # environment variable. # # https://wiki.openssl.org/index.php/Compilation_and_Installation - if [ x$(on_mac_os) = xyes ]; then \ - export KERNEL_BITS=64; \ + if [ x$(on_mac_os) = xyes ]; then \ + export KERNEL_BITS=64; \ copt="shared no-ssl2 no-ssl3 enable-ec_nistp_64_gcc_128"; \ - fi; \ - $(call gbuild, $<, openssl-$(openssl-version), , \ - zlib \ - $$copt \ - $(rpath_command) \ - --openssldir=$(idir)/etc/ssl \ - --with-zlib-lib=$(ildir) \ - --with-zlib-include=$(idir)/include, , , \ - ./config ) && \ - cp $(tdir)/cert.pem $(idir)/etc/ssl/cert.pem; \ - if [ $$? = 0 ]; then \ - if [ x$(on_mac_os) = xyes ]; then \ - echo "No need to fix rpath in libssl"; \ - else \ - patchelf --set-rpath $(ildir) $(ildir)/libssl.so; \ - fi; \ - echo "OpenSSL $(openssl-version)" > $@; \ - fi + fi; \ + $(call gbuild, $<, openssl-$(openssl-version), , \ + zlib \ + $$copt \ + $(rpath_command) \ + --openssldir=$(idir)/etc/ssl \ + --with-zlib-lib=$(ildir) \ + --with-zlib-include=$(idir)/include, , , \ + ./config ) \ + && cp $(tdir)/cert.pem $(idir)/etc/ssl/cert.pem \ + && if [ $$? = 0 ]; then \ + if [ x$(on_mac_os) = xyes ]; then \ + echo "No need to fix rpath in libssl"; \ + else \ + patchelf --set-rpath $(ildir) $(ildir)/libssl.so; \ + fi; \ + echo "OpenSSL $(openssl-version)" > $@; \ + fi # GNU Wget # @@ -705,22 +707,22 @@ $(ibidir)/openssl: $(tdir)/openssl-$(openssl-version).tar.gz \ # host system (especially a crash when these libraries are updated on the # host), they are disabled here. $(ibidir)/wget: $(tdir)/wget-$(wget-version).tar.lz \ - $(ibidir)/pkg-config \ + $(ibidir)/pkg-config \ $(ibidir)/openssl - libs="-pthread"; \ + libs="-pthread"; \ if [ x$(needs_ldl) = xyes ]; then libs="$$libs -ldl"; fi; \ - $(call gbuild, $<, wget-$(wget-version), , \ - LIBS="$$LIBS $$libs" \ - --with-libssl-prefix=$(idir) \ - --with-ssl=openssl \ - --with-openssl=yes \ - --without-metalink \ - --without-libuuid \ - --without-libpsl \ - --without-libidn \ - --disable-pcre2 \ - --disable-pcre \ - --disable-iri ) \ + $(call gbuild, $<, wget-$(wget-version), , \ + LIBS="$$LIBS $$libs" \ + --with-libssl-prefix=$(idir) \ + --with-ssl=openssl \ + --with-openssl=yes \ + --without-metalink \ + --without-libuuid \ + --without-libpsl \ + --without-libidn \ + --disable-pcre2 \ + --disable-pcre \ + --disable-iri ) \ && echo "GNU Wget $(wget-version)" > $@ @@ -752,16 +754,16 @@ $(ibidir)/coreutils: $(tdir)/coreutils-$(coreutils-version).tar.xz \ # The echo after the PatchELF loop is to avoid a crash if the last # file that PatchELF encounters is not usable (and it returns with # an error). - $(call gbuild, $<, coreutils-$(coreutils-version), static, \ - LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ - --disable-silent-rules --with-openssl=yes, \ - -j$(numthreads)) \ - && if [ x$(on_mac_os) != xyes ]; then \ - for f in $(ibdir)/*; do \ - $(ibdir)/patchelf --set-rpath $(ildir) $$f; \ - done; \ - echo "PatchELF applied to all programs."; \ - fi \ + $(call gbuild, $<, coreutils-$(coreutils-version), static, \ + LDFLAGS="$(LDFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ + --disable-silent-rules --with-openssl=yes, \ + -j$(numthreads)) \ + && if [ x$(on_mac_os) != xyes ]; then \ + for f in $(ibdir)/*; do \ + $(ibdir)/patchelf --set-rpath $(ildir) $$f; \ + done; \ + echo "PatchELF applied to all programs."; \ + fi \ && echo "GNU Coreutils $(coreutils-version)" > $@ $(ibidir)/diffutils: $(tdir)/diffutils-$(diffutils-version).tar.xz \ @@ -775,32 +777,32 @@ $(ibidir)/findutils: $(tdir)/findutils-$(findutils-version).tar.lz \ && echo "GNU Findutils $(findutils-version)" > $@ $(ibidir)/gawk: $(tdir)/gawk-$(gawk-version).tar.lz \ - $(ibidir)/bash \ - $(ibidir)/mpfr \ + $(ibidir)/bash \ + $(ibidir)/mpfr \ $(ibidir)/gmp # 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 # example `gawk-4.2.1' and `gawk') and a symbolic link `awk' to one # of those executables. - $(call gbuild, $<, gawk-$(gawk-version), static, \ - --with-readline=$(idir)) \ - && if [ "x$(needpatchelf)" != x ]; then \ - if [ -f $(ibdir)/gawk ]; then \ - $(ibdir)/patchelf --set-rpath $(ildir) $(ibdir)/gawk; \ - fi; \ - if [ -f $(ibdir)/gawk-$(gawk-version) ]; then \ - $(ibdir)/patchelf --set-rpath $(ildir) \ - $(ibdir)/gawk-$(gawk-version); \ - fi; \ - fi \ + $(call gbuild, $<, gawk-$(gawk-version), static, \ + --with-readline=$(idir)) \ + && if [ "x$(needpatchelf)" != x ]; then \ + if [ -f $(ibdir)/gawk ]; then \ + $(ibdir)/patchelf --set-rpath $(ildir) $(ibdir)/gawk; \ + fi; \ + if [ -f $(ibdir)/gawk-$(gawk-version) ]; then \ + $(ibdir)/patchelf --set-rpath $(ildir) \ + $(ibdir)/gawk-$(gawk-version); \ + fi; \ + fi \ && echo "GNU AWK $(gawk-version)" > $@ $(ibidir)/git: $(tdir)/git-$(git-version).tar.xz \ $(ibidir)/curl - $(call gbuild, $<, git-$(git-version), static, \ + $(call gbuild, $<, git-$(git-version), static, \ --without-tcltk --with-shell=$(ibdir)/bash, \ - V=1) \ + V=1) \ && echo "Git $(git-version)" > $@ $(ibidir)/gmp: $(tdir)/gmp-$(gmp-version).tar.lz \ @@ -813,7 +815,7 @@ $(ibidir)/gmp: $(tdir)/gmp-$(gmp-version).tar.lz \ $(ibidir)/glibtool: $(tdir)/libtool-$(libtool-version).tar.xz \ $(ibidir)/m4 $(call gbuild, $<, libtool-$(libtool-version), static, \ - --program-prefix=g) \ + --program-prefix=g) \ && echo "GNU Libtool $(libtool-version)" > $@ $(ibidir)/grep: $(tdir)/grep-$(grep-version).tar.xz \ @@ -854,10 +856,10 @@ else needlibbsd = $(ibidir)/libbsd endif $(ibidir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \ - $(ibidir)/coreutils \ - $(ibidir)/gawk \ - $(ibidir)/git \ - $(ibidir)/sed \ + $(ibidir)/coreutils \ + $(ibidir)/gawk \ + $(ibidir)/git \ + $(ibidir)/sed \ $(needlibbsd) # The build command below will change the current directory of this @@ -879,29 +881,29 @@ $(ibidir)/metastore: $(tdir)/metastore-$(metastore-version).tar.gz \ # Note that the -O and -G options used here are currently only in a # fork of `metastore' currently hosted at: # https://github.com/mohammad-akhlaghi/metastore - user=$$(whoami); \ - group=$$(groups | awk '{print $$1}'); \ - cd $$current_dir; \ - if [ -f $(ibdir)/metastore ]; then \ - for f in pre-commit post-checkout; do \ - sed -e's|@USER[@]|'$$user'|g' \ - -e's|@GROUP[@]|'$$group'|g' \ - -e's|@BINDIR[@]|$(ibdir)|g' \ - -e's|@TOP_PROJECT_DIR[@]|'$$current_dir'|g' \ + user=$$(whoami); \ + group=$$(groups | awk '{print $$1}'); \ + cd $$current_dir; \ + if [ -f $(ibdir)/metastore ]; then \ + for f in pre-commit post-checkout; do \ + sed -e's|@USER[@]|'$$user'|g' \ + -e's|@GROUP[@]|'$$group'|g' \ + -e's|@BINDIR[@]|$(ibdir)|g' \ + -e's|@TOP_PROJECT_DIR[@]|'$$current_dir'|g' \ reproduce/software/bash/git-$$f > .git/hooks/$$f; \ - chmod +x .git/hooks/$$f; \ - echo "Metastore (forked) $(metastore-version)" > $@; \ - done; \ - else \ - echo; echo; echo; \ - echo "*****************"; \ - echo "metastore couldn't be installed!"; \ - echo; \ + chmod +x .git/hooks/$$f; \ + echo "Metastore (forked) $(metastore-version)" > $@; \ + done; \ + else \ + echo; echo; echo; \ + echo "*****************"; \ + echo "metastore couldn't be installed!"; \ + echo; \ echo "Its used for preserving timestamps on Git commits."; \ echo "Its useful for development, not simple running of "; \ echo "the project. So we won't stop the configuration "; \ - echo "because it wasn't built."; \ - echo "*****************"; \ + echo "because it wasn't built."; \ + echo "*****************"; \ fi $(ibidir)/mpfr: $(tdir)/mpfr-$(mpfr-version).tar.xz \ @@ -916,11 +918,11 @@ $(ibidir)/pkg-config: $(tdir)/pkg-config-$(pkgconfig-version).tar.gz \ # building Glib (as part of pkg-config). So to be safe, for Mac # systems, we'll make sure it will use LLVM's Clang. if [ x$(on_mac_os) = xyes ]; then export compiler="CC=clang"; \ - else export compiler=""; \ - fi; \ - $(call gbuild, $<, pkg-config-$(pkgconfig-version), static, \ - $$compiler --with-internal-glib \ - --with-pc-path=$(ildir)/pkgconfig) \ + else export compiler=""; \ + fi; \ + $(call gbuild, $<, pkg-config-$(pkgconfig-version), static, \ + $$compiler --with-internal-glib \ + --with-pc-path=$(ildir)/pkgconfig) \ && echo "pkg-config $(pkgconfig-version)" > $@ $(ibidir)/sed: $(tdir)/sed-$(sed-version).tar.xz \ @@ -955,17 +957,17 @@ binutils-prerequisites = $(tdir)/binutils-$(binutils-version).tar.lz \ $(ibidir)/bash endif $(ibidir)/binutils: $(binutils-prerequisites) - if [ x$(on_mac_os) = xyes ]; then \ - $(call makelink,as) \ - $(call makelink,ar) \ - $(call makelink,ld) \ - $(call makelink,nm) \ - $(call makelink,ps) \ - $(call makelink,ranlib) \ - echo "" > $@; \ - else \ + if [ x$(on_mac_os) = xyes ]; then \ + $(call makelink,as); \ + $(call makelink,ar); \ + $(call makelink,ld); \ + $(call makelink,nm); \ + $(call makelink,ps); \ + $(call makelink,ranlib); \ + echo "" > $@; \ + else \ $(call gbuild, $<, binutils-$(binutils-version), static) \ - && echo "GNU Binutils $(binutils-version)" > $@; \ + && echo "GNU Binutils $(binutils-version)" > $@; \ fi # `file' is not a prerequisite of GCC. However, since it is low level, it is @@ -1002,21 +1004,21 @@ ifeq ($(host_cc),1) gcc-prerequisites = else gcc-prerequisites = $(tdir)/gcc-$(gcc-version).tar.xz \ - $(ibidir)/binutils \ - $(ibidir)/isl \ + $(ibidir)/binutils \ + $(ibidir)/isl \ $(ibidir)/mpc endif -$(ibidir)/gcc: $(gcc-prerequisites) \ - $(ibidir)/sed \ - $(ibidir)/bash \ - $(ibidir)/file \ - $(ibidir)/gawk \ - $(ibidir)/grep \ - $(ibidir)/which \ - $(ibidir)/glibtool \ - $(ibidir)/binutils \ - $(ibidir)/coreutils \ - $(ibidir)/diffutils \ +$(ibidir)/gcc: $(gcc-prerequisites) \ + $(ibidir)/sed \ + $(ibidir)/bash \ + $(ibidir)/file \ + $(ibidir)/gawk \ + $(ibidir)/grep \ + $(ibidir)/which \ + $(ibidir)/glibtool \ + $(ibidir)/binutils \ + $(ibidir)/coreutils \ + $(ibidir)/diffutils \ $(ibidir)/findutils # GCC builds is own libraries in '$(idir)/lib64'. But all other @@ -1024,57 +1026,57 @@ $(ibidir)/gcc: $(gcc-prerequisites) \ # single architecture, we can trick GCC into building its libraries # in '$(idir)/lib' by defining the '$(idir)/lib64' as a symbolic # link to '$(idir)/lib'. - if [ $(host_cc) = 1 ]; then \ - $(call makelink,gcc); \ - $(call makelink,g++,mandatory); \ - $(call makelink,gfortran,mandatory); \ - $(call makelink,strip,mandatory); \ - ln -sf $$(which gcc) $(ibdir)/cc; \ - ccinfo=$$(gcc --version | awk 'NR==1'); \ - echo "C compiler (""$$ccinfo"")" > $@; \ - else \ + if [ $(host_cc) = 1 ]; then \ + $(call makelink,gcc); \ + $(call makelink,g++,mandatory); \ + $(call makelink,gfortran,mandatory); \ + $(call makelink,strip,mandatory); \ + ln -sf $$(which gcc) $(ibdir)/cc; \ + ccinfo=$$(gcc --version | awk 'NR==1'); \ + echo "C compiler (""$$ccinfo"")" > $@; \ + else \ rm -f $(ibdir)/gcc* $(ibdir)/g++ $(ibdir)/gfortran $(ibdir)/gcov*;\ - rm -rf $(ildir)/gcc $(ildir)/libcc* $(ildir)/libgcc*; \ + rm -rf $(ildir)/gcc $(ildir)/libcc* $(ildir)/libgcc*; \ rm -rf $(ildir)/libgfortran* $(ildir)/libstdc* rm $(idir)/x86_64*;\ - \ - ln -fs $(ildir) $(idir)/lib64; \ - \ - cd $(ddir); \ - rm -rf gcc-build gcc-$(gcc-version); \ - tar xf $< \ - && mkdir $(ddir)/gcc-build \ - && cd $(ddir)/gcc-build \ - && ../gcc-$(gcc-version)/configure SHELL=$(ibdir)/bash \ - --prefix=$(idir) \ - --with-mpc=$(idir) \ - --with-mpfr=$(idir) \ - --with-gmp=$(idir) \ - --with-isl=$(idir) \ - --with-build-time-tools=$(idir) \ - --enable-shared \ - --disable-multilib \ - --disable-multiarch \ - --enable-threads=posix \ - --with-local-prefix=$(idir) \ - --enable-languages=c,c++,fortran,objc,obj-c++ \ - --disable-libada \ - --disable-nls \ - --enable-default-pie \ - --enable-default-ssp \ - --enable-cet=auto \ - --enable-decimal-float \ - && make SHELL=$(ibdir)/bash -j$$(nproc) \ - && make SHELL=$(ibdir)/bash install \ - && cd .. \ - && rm -rf gcc-build gcc-$(gcc-version) \ - \ - && if [ "x$(on_mac_os)" != xyes ]; then \ - for f in $$(find $(idir)/libexec/gcc); do \ - if ldd $$f &> /dev/null; then \ - patchelf --set-rpath $(ildir) $$f; \ - fi; \ - done; \ - fi; \ - ln -sf $(ibdir)/gcc $(ibdir)/cc \ - && echo "GNU Compiler Collection (GCC) $(gcc-version)" > $@; \ + \ + ln -fs $(ildir) $(idir)/lib64; \ + \ + cd $(ddir); \ + rm -rf gcc-build gcc-$(gcc-version); \ + tar xf $< \ + && mkdir $(ddir)/gcc-build \ + && cd $(ddir)/gcc-build \ + && ../gcc-$(gcc-version)/configure SHELL=$(ibdir)/bash \ + --prefix=$(idir) \ + --with-mpc=$(idir) \ + --with-mpfr=$(idir) \ + --with-gmp=$(idir) \ + --with-isl=$(idir) \ + --with-build-time-tools=$(idir) \ + --enable-shared \ + --disable-multilib \ + --disable-multiarch \ + --enable-threads=posix \ + --with-local-prefix=$(idir) \ + --enable-languages=c,c++,fortran,objc,obj-c++ \ + --disable-libada \ + --disable-nls \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-cet=auto \ + --enable-decimal-float \ + && make SHELL=$(ibdir)/bash -j$$(nproc) \ + && make SHELL=$(ibdir)/bash install \ + && cd .. \ + && rm -rf gcc-build gcc-$(gcc-version) \ + \ + && if [ "x$(on_mac_os)" != xyes ]; then \ + for f in $$(find $(idir)/libexec/gcc); do \ + if ldd $$f &> /dev/null; then \ + patchelf --set-rpath $(ildir) $$f; \ + fi; \ + done; \ + fi; \ + ln -sf $(ibdir)/gcc $(ibdir)/cc \ + && echo "GNU Compiler Collection (GCC) $(gcc-version)" > $@; \ fi diff --git a/reproduce/software/make/build-rules.mk b/reproduce/software/make/build-rules.mk index 07eb088..f888df7 100644 --- a/reproduce/software/make/build-rules.mk +++ b/reproduce/software/make/build-rules.mk @@ -54,46 +54,46 @@ # NOTE: A program might not contain any configure script. In this case, # we'll just pass a non-relevant function like `pwd'. So SED should be used # to modify `confscript' or to set `configop'. -gbuild = if [ x$(static_build) = xyes ] && [ "x$(3)" = xstatic ]; then \ - export LDFLAGS="$$LDFLAGS -static"; \ - fi; \ - check="$(6)"; \ - if [ x"$$check" = x ]; then check="echo Skipping-check"; fi; \ - cd $(ddir); rm -rf $(2); \ - if ! tar xf $(1); then echo; echo "Tar error"; exit 1; fi; \ - cd $(2); \ - \ - if [ x"$(strip $(7))" = x ]; then confscript=./configure; \ - else confscript="$(strip $(7))"; \ - fi; \ - \ - if [ -f $(ibdir)/bash ]; then \ - if [ -f $$confscript ]; then \ - sed -e's|\#\! /bin/sh|\#\! $(ibdir)/bash|' \ - -e's|\#\!/bin/sh|\#\! $(ibdir)/bash|' \ - $$confscript > $$confscript-tmp; \ - mv $$confscript-tmp $$confscript; \ - chmod +x $$confscript; \ - fi; \ - shellop="SHELL=$(ibdir)/bash"; \ - elif [ -f /bin/bash ]; then shellop="SHELL=/bin/bash"; \ - else shellop="SHELL=/bin/sh"; \ - fi; \ - \ - if [ -f $$confscript ]; then \ - if [ x"$(strip $(2))" = x"zlib-$(zlib-version)" ]; then \ - configop="--prefix=$(idir)"; \ - else configop="$$shellop --prefix=$(idir)"; \ - fi; \ - fi; \ - \ - echo; echo "Using '$$confscript' to configure:"; echo; \ - echo "$$confscript $(4) $$configop"; echo; \ - $$confscript $(4) $$configop \ - && make "$$shellop" $(5) \ - && $$check \ - && make "$$shellop" install $(8) \ - && cd .. \ +gbuild = if [ x$(static_build) = xyes ] && [ "x$(3)" = xstatic ]; then \ + export LDFLAGS="$$LDFLAGS -static"; \ + fi; \ + check="$(6)"; \ + if [ x"$$check" = x ]; then check="echo Skipping-check"; fi; \ + cd $(ddir); rm -rf $(2); \ + if ! tar xf $(1); then echo; echo "Tar error"; exit 1; fi; \ + cd $(2); \ + \ + if [ x"$(strip $(7))" = x ]; then confscript=./configure; \ + else confscript="$(strip $(7))"; \ + fi; \ + \ + if [ -f $(ibdir)/bash ]; then \ + if [ -f $$confscript ]; then \ + sed -e's|\#\! /bin/sh|\#\! $(ibdir)/bash|' \ + -e's|\#\!/bin/sh|\#\! $(ibdir)/bash|' \ + $$confscript > $$confscript-tmp; \ + mv $$confscript-tmp $$confscript; \ + chmod +x $$confscript; \ + fi; \ + shellop="SHELL=$(ibdir)/bash"; \ + elif [ -f /bin/bash ]; then shellop="SHELL=/bin/bash"; \ + else shellop="SHELL=/bin/sh"; \ + fi; \ + \ + if [ -f $$confscript ]; then \ + if [ x"$(strip $(2))" = x"zlib-$(zlib-version)" ]; then \ + configop="--prefix=$(idir)"; \ + else configop="$$shellop --prefix=$(idir)"; \ + fi; \ + fi; \ + \ + echo; echo "Using '$$confscript' to configure:"; echo; \ + echo "$$confscript $(4) $$configop"; echo; \ + $$confscript $(4) $$configop \ + && make "$$shellop" $(5) \ + && $$check \ + && make "$$shellop" install $(8) \ + && cd .. \ && rm -rf $(2) @@ -106,16 +106,17 @@ gbuild = if [ x$(static_build) = xyes ] && [ "x$(3)" = xstatic ]; then \ # no way to change it. # # https://stackoverflow.com/questions/21167014/how-to-set-shell-variable-in-makefiles-generated-by-cmake -cbuild = if [ x$(static_build) = xyes ] && [ $(3)x = staticx ]; then \ - export LDFLAGS="$$LDFLAGS -static"; \ - opts="-DBUILD_SHARED_LIBS=OFF"; \ - fi; \ - cd $(ddir) && rm -rf $(2) && tar xf $(1) && cd $(2) && \ - rm -rf project-build && mkdir project-build && \ - cd project-build && \ - cmake .. -DCMAKE_LIBRARY_PATH=$(ildir) \ - -DCMAKE_INSTALL_PREFIX=$(idir) \ - -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON $$opts $(4) && \ - make && make install && \ - cd ../.. && \ +cbuild = if [ x$(static_build) = xyes ] && [ $(3)x = staticx ]; then \ + export LDFLAGS="$$LDFLAGS -static"; \ + opts="-DBUILD_SHARED_LIBS=OFF"; \ + fi; \ + cd $(ddir) && rm -rf $(2) && tar xf $(1) && cd $(2) \ + && rm -rf project-build \ + && mkdir project-build \ + && cd project-build \ + && cmake .. -DCMAKE_LIBRARY_PATH=$(ildir) \ + -DCMAKE_INSTALL_PREFIX=$(idir) \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON $$opts $(4) \ + && make && make install \ + && cd ../.. \ rm -rf $(2) diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk index 969cf8a..c930814 100644 --- a/reproduce/software/make/high-level.mk +++ b/reproduce/software/make/high-level.mk @@ -105,34 +105,34 @@ include reproduce/software/make/python.mk # convention, but include the name/version in their tarball names with # another format, we'll do the modification before the download so the # downloaded file has our desired format. -tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \ - atlas-$(atlas-version).tar.bz2 \ - cairo-$(cairo-version).tar.xz \ - cdsclient-$(cdsclient-version).tar.gz \ - cfitsio-$(cfitsio-version).tar.gz \ - cmake-$(cmake-version).tar.gz \ - freetype-$(freetype-version).tar.gz \ - fftw-$(fftw-version).tar.gz \ - ghostscript-$(ghostscript-version).tar.gz \ - gnuastro-$(gnuastro-version).tar.lz \ - gsl-$(gsl-version).tar.gz \ - hdf5-$(hdf5-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 \ - libxml2-$(libxml2-version).tar.gz \ - netpbm-$(netpbm-version).tgz \ - openmpi-$(openmpi-version).tar.gz \ - openblas-$(openblas-version).tar.gz \ - pixman-$(pixman-version).tar.gz \ - scamp-$(scamp-version).tar.lz \ - sextractor-$(sextractor-version).tar.lz \ - swarp-$(swarp-version).tar.gz \ - swig-$(swig-version).tar.gz \ - tiff-$(libtiff-version).tar.gz \ - wcslib-$(wcslib-version).tar.bz2 \ +tarballs = $(foreach t, astrometry.net-$(astrometrynet-version).tar.gz \ + atlas-$(atlas-version).tar.bz2 \ + cairo-$(cairo-version).tar.xz \ + cdsclient-$(cdsclient-version).tar.gz \ + cfitsio-$(cfitsio-version).tar.gz \ + cmake-$(cmake-version).tar.gz \ + freetype-$(freetype-version).tar.gz \ + fftw-$(fftw-version).tar.gz \ + ghostscript-$(ghostscript-version).tar.gz \ + gnuastro-$(gnuastro-version).tar.lz \ + gsl-$(gsl-version).tar.gz \ + hdf5-$(hdf5-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 \ + libxml2-$(libxml2-version).tar.gz \ + netpbm-$(netpbm-version).tgz \ + openmpi-$(openmpi-version).tar.gz \ + openblas-$(openblas-version).tar.gz \ + pixman-$(pixman-version).tar.gz \ + scamp-$(scamp-version).tar.lz \ + sextractor-$(sextractor-version).tar.lz \ + swarp-$(swarp-version).tar.gz \ + swig-$(swig-version).tar.gz \ + tiff-$(libtiff-version).tar.gz \ + wcslib-$(wcslib-version).tar.bz2 \ , $(tdir)/$(t) ) $(tarballs): $(tdir)/%: | $(lockdir) if [ -f $(DEPENDENCIES-DIR)/$* ]; then @@ -140,18 +140,18 @@ $(tarballs): $(tdir)/%: | $(lockdir) else # Remove all numbers, `-' and `.' from the tarball name so we can # search more easily only with the program name. - n=$$(echo $* | sed -e's/[0-9\-]/ /g' -e's/\./ /g' \ + n=$$(echo $* | sed -e's/[0-9\-]/ /g' -e's/\./ /g' \ | awk '{print $$1}' ) # Set the top download link of the requested tarball. mergenames=1 if [ $$n = cfitsio ]; then mergenames=0 - v=$$(echo $(cfitsio-version) | sed -e's/\.//' \ - | awk '{l=length($$1); \ - printf (l==4 ? "%d\n" \ - : (l==3 ? "%d0\n" \ - : (l==2 ? "%d00\n" \ + v=$$(echo $(cfitsio-version) | sed -e's/\.//' \ + | awk '{l=length($$1); \ + printf (l==4 ? "%d\n" \ + : (l==3 ? "%d0\n" \ + : (l==2 ? "%d00\n" \ : "%d000\n") ), $$1)}') w=https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio$$v.tar.gz elif [ $$n = astrometry ]; then w=http://astrometry.net/downloads @@ -252,7 +252,7 @@ $(ibidir)/cfitsio: $(tdir)/cfitsio-$(cfitsio-version).tar.gz \ # it manually before doing the standard build. topdir=$(pwd); cd $(ddir); tar xf $< customtar=cfitsio-$(cfitsio-version)-custom.tar.gz - sed cfitsio/configure \ + sed cfitsio/configure \ -e's|/usr/bin/curl-config|$(ibdir)/curl-config|g' \ > cfitsio/configure_tmp mv cfitsio/configure_tmp cfitsio/configure @@ -261,16 +261,16 @@ $(ibidir)/cfitsio: $(tdir)/cfitsio-$(cfitsio-version).tar.gz \ cd $$topdir # Continue the standard build on the customized tarball. - $(call gbuild, $$customtar, cfitsio, static, \ + $(call gbuild, $$customtar, cfitsio, static, \ --enable-sse2 --enable-reentrant) \ - && rm $$customtar \ + && rm $$customtar \ && echo "CFITSIO $(cfitsio-version)" > $@ -$(ibidir)/cairo: $(tdir)/cairo-$(cairo-version).tar.xz \ - $(ibidir)/freetype \ - $(ibidir)/libpng \ +$(ibidir)/cairo: $(tdir)/cairo-$(cairo-version).tar.xz \ + $(ibidir)/freetype \ + $(ibidir)/libpng \ $(ibidir)/pixman - $(call gbuild, $<, cairo-$(cairo-version), static) \ + $(call gbuild, $<, cairo-$(cairo-version), static) \ && echo "Cairo $(cairo-version)" > $@ $(ibidir)/gsl: $(tdir)/gsl-$(gsl-version).tar.gz @@ -278,9 +278,9 @@ $(ibidir)/gsl: $(tdir)/gsl-$(gsl-version).tar.gz && echo "GNU Scientific Library $(gsl-version)" > $@ $(ibidir)/fftw: $(tdir)/fftw-$(fftw-version).tar.gz - $(call gbuild, $<, fftw-$(fftw-version), static, \ - --enable-shared) \ - && cp $(dtexdir)/fftw.tex $(ictdir)/ \ + $(call gbuild, $<, fftw-$(fftw-version), static, \ + --enable-shared) \ + && cp $(dtexdir)/fftw.tex $(ictdir)/ \ && echo "FFTW $(fftw-version) \citep{fftw}" > $@ # Freetype is necessary to install matplotlib @@ -291,11 +291,11 @@ $(ibidir)/freetype: $(tdir)/freetype-$(freetype-version).tar.gz \ $(ibidir)/hdf5: $(tdir)/hdf5-$(hdf5-version).tar.gz \ $(ibidir)/openmpi - export CC=mpicc; \ - export FC=mpif90; \ + export CC=mpicc; \ + export FC=mpif90; \ $(call gbuild, $<, hdf5-$(hdf5-version), static, \ - --enable-parallel \ - --enable-fortran, V=1) \ + --enable-parallel \ + --enable-fortran, V=1) \ && echo "HDF5 library $(hdf5-version)" > $@ $(ibidir)/libjpeg: $(tdir)/jpegsrc.$(libjpeg-version).tar.gz @@ -371,57 +371,57 @@ $(ibidir)/atlas: $(tdir)/atlas-$(atlas-version).tar.bz2 \ # The linking step here doesn't recognize the `-Wl' in the # `rpath_command'. export LDFLAGS=-L$(ildir) - cd $(ddir) \ - && tar xf $< \ - && cd ATLAS \ - && rm -rf build \ - && mkdir build \ - && cd build \ - && ../configure -b 64 -D c -DPentiumCPS=$$core \ - --with-netlib-lapack-tarfile=$(word 2, $^) \ - --cripple-atlas-performance \ - -Fa alg -fPIC --shared $$clangflag \ - --prefix=$(idir) \ - && make \ - && if [ "x$(on_mac_os)" != xyes ]; then \ - cd lib && make -f $$sharedmk && cd .. \ - && for l in lib/*.$$s*; do \ - patchelf --set-rpath $(ildir) $$l; done \ - && cp -d lib/*.$$s* $(ildir) \ + cd $(ddir) \ + && tar xf $< \ + && cd ATLAS \ + && rm -rf build \ + && mkdir build \ + && cd build \ + && ../configure -b 64 -D c -DPentiumCPS=$$core \ + --with-netlib-lapack-tarfile=$(word 2, $^) \ + --cripple-atlas-performance \ + -Fa alg -fPIC --shared $$clangflag \ + --prefix=$(idir) \ + && make \ + && if [ "x$(on_mac_os)" != xyes ]; then \ + cd lib && make -f $$sharedmk && cd .. \ + && for l in lib/*.$$s*; do \ + patchelf --set-rpath $(ildir) $$l; done \ + && cp -d lib/*.$$s* $(ildir) \ && ln -fs $(ildir)/libblas.$$s $(ildir)/libblas.$$m \ && ln -fs $(ildir)/libf77blas.$$s $(ildir)/libf77blas.$$m \ && ln -fs $(ildir)/liblapack.$$f $(ildir)/liblapack.$$s \ && ln -fs $(ildir)/liblapack.$$f $(ildir)/liblapack.$$m; \ - fi \ + fi \ && make install # We need to check the existance of `libptlapack.a', but we can't # do this in the `&&' steps above (it will conflict). So we'll do # the check after seeing if `libtatlas.so' is installed, then we'll # finalize the build (delete the untarred directory). - if [ "x$(on_mac_os)" != xyes ]; then \ + if [ "x$(on_mac_os)" != xyes ]; then \ [ -e lib/libptlapack.a ] && cp lib/libptlapack.a $(ildir); \ - cd $(ddir); \ - rm -rf ATLAS; \ + cd $(ddir); \ + rm -rf ATLAS; \ fi # We'll check the full installation with the static library (not # currently building shared library on Mac. - if [ -f $(ildir)/libatlas.a ]; then \ + if [ -f $(ildir)/libatlas.a ]; then \ echo "ATLAS $(atlas-version)" > $@; \ fi $(ibidir)/openblas: $(tdir)/openblas-$(openblas-version).tar.gz - if [ x$(on_mac_os) = xyes ]; then \ - export CC=clang; \ - fi; \ - cd $(ddir) \ - && tar xf $< \ - && cd OpenBLAS-$(openblas-version) \ - && make \ - && make PREFIX=$(idir) install \ - && cd .. \ - && rm -rf OpenBLAS-$(openblas-version) \ + if [ x$(on_mac_os) = xyes ]; then \ + export CC=clang; \ + fi; \ + cd $(ddir) \ + && tar xf $< \ + && cd OpenBLAS-$(openblas-version) \ + && make \ + && make PREFIX=$(idir) install \ + && cd .. \ + && rm -rf OpenBLAS-$(openblas-version) \ && echo "OpenBLAS $(openblas-version)" > $@ @@ -445,11 +445,11 @@ $(ibidir)/openblas: $(tdir)/openblas-$(openblas-version).tar.gz # problem we have been having so far with Mac systems: # https://libgit2.org/docs/guides/build-and-link $(ibidir)/libgit2: $(tdir)/libgit2-$(libgit2-version).tar.gz \ - $(ibidir)/cmake \ + $(ibidir)/cmake \ $(ibidir)/curl # Build and install the library. - $(call cbuild, $<, libgit2-$(libgit2-version), static, \ - -DUSE_SSH=OFF -DBUILD_CLAR=OFF \ + $(call cbuild, $<, libgit2-$(libgit2-version), static, \ + -DUSE_SSH=OFF -DBUILD_CLAR=OFF \ -DTHREADSAFE=ON ) # Correct the shared library absolute address if necessary. @@ -464,10 +464,10 @@ $(ibidir)/libgit2: $(tdir)/libgit2-$(libgit2-version).tar.gz \ $(ibidir)/wcslib: $(tdir)/wcslib-$(wcslib-version).tar.bz2 \ $(ibidir)/cfitsio # Build and install the library. - $(call gbuild, $<, wcslib-$(wcslib-version), , \ - LIBS="-pthread -lcurl -lm" \ - --with-cfitsiolib=$(ildir) \ - --with-cfitsioinc=$(idir)/include \ + $(call gbuild, $<, wcslib-$(wcslib-version), , \ + LIBS="-pthread -lcurl -lm" \ + --with-cfitsiolib=$(ildir) \ + --with-cfitsioinc=$(idir)/include \ --without-pgplot --disable-fortran) # Correct the shared library absolute address if necessary. @@ -490,27 +490,27 @@ $(ibidir)/wcslib: $(tdir)/wcslib-$(wcslib-version).tar.bz2 \ # installation directory and the Python executable (by default it will look # for /usr/bin/python) $(ibidir)/astrometrynet: $(tdir)/astrometry.net-$(astrometrynet-version).tar.gz \ - $(ibidir)/cairo \ - $(ibidir)/cfitsio \ - $(ibidir)/gsl \ - $(ibidir)/libjpeg \ - $(ibidir)/libpng \ - $(ibidir)/netpbm \ - $(ipydir)/numpy \ - $(ibidir)/python \ - $(ibidir)/swig \ - $(ibidir)/wcslib - cd $(ddir) \ - && if ! tar xf $<; then echo; echo "Tar error"; exit 1; fi \ - && cd astrometry.net-$(astrometrynet-version) \ - && make \ - && make py \ - && make extra \ - && make install INSTALL_DIR=$(idir) PYTHON_SCRIPT="$(ibdir)/python" \ - && cd .. \ - && rm -rf astrometry.net-$(astrometrynet-version) \ - && cp $(dtexdir)/astrometrynet.tex $(ictdir)/ \ - && echo "Astrometry.net $(astrometrynet-version) \citep{astrometrynet}" > $@ + $(ibidir)/cfitsio \ + $(ibidir)/libjpeg \ + $(ibidir)/libpng \ + $(ibidir)/netpbm \ + $(ibidir)/python \ + $(ibidir)/wcslib \ + $(ibidir)/cairo \ + $(ipydir)/numpy \ + $(ibidir)/swig \ + $(ibidir)/gsl + cd $(ddir) \ + && if ! tar xf $<; then echo; echo "Tar error"; exit 1; fi \ + && cd astrometry.net-$(astrometrynet-version) \ + && make \ + && make py \ + && make extra \ + && make install INSTALL_DIR=$(idir) PYTHON_SCRIPT="$(ibdir)/python" \ + && cd .. \ + && rm -rf astrometry.net-$(astrometrynet-version) \ + && cp $(dtexdir)/astrometrynet.tex $(ictdir)/ \ + && echo "Astrometry.net $(astrometrynet-version) \citep{astrometrynet}" > $@ # cdsclient is a set of software written in c to interact with astronomical # database servers. It is a dependency of `scamp' to be able to download @@ -520,15 +520,15 @@ $(ibidir)/astrometrynet: $(tdir)/astrometry.net-$(astrometrynet-version).tar.gz # Otherwise this software will be re-built each time the configure step is # invoked. $(ibidir)/cdsclient: $(tdir)/cdsclient-$(cdsclient-version).tar.gz - cd $(ddir) \ - && tar xf $< \ - && cd cdsclient-$(cdsclient-version) \ - && touch * \ - && ./configure --prefix=$(idir) \ - && make \ - && make install \ - && cd .. \ - && rm -rf cdsclient-$(cdsclient-version) \ + cd $(ddir) \ + && tar xf $< \ + && cd cdsclient-$(cdsclient-version) \ + && touch * \ + && ./configure --prefix=$(idir) \ + && make \ + && make install \ + && cd .. \ + && rm -rf cdsclient-$(cdsclient-version) \ && echo "cdsclient $(cdsclient-version)" > $@ # CMake can be built with its custom `./bootstrap' script. @@ -540,20 +540,20 @@ $(ibidir)/cmake: $(tdir)/cmake-$(cmake-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 \ - export CC=clang; \ - export CXX=clang++; \ - fi; \ - cd $(ddir) \ - && rm -rf cmake-$(cmake-version) \ - && tar xf $< \ - && cd cmake-$(cmake-version) \ - && ./bootstrap --prefix=$(idir) --system-curl --system-zlib \ - --system-bzip2 --system-liblzma --no-qt-gui \ - && make LIBS="$$LIBS -lssl -lcrypto -lz" VERBOSE=1 \ - && make install \ - && cd .. \ - && rm -rf cmake-$(cmake-version) \ + if [ x$(on_mac_os) = xyes ]; then \ + export CC=clang; \ + export CXX=clang++; \ + fi; \ + cd $(ddir) \ + && rm -rf cmake-$(cmake-version) \ + && tar xf $< \ + && cd cmake-$(cmake-version) \ + && ./bootstrap --prefix=$(idir) --system-curl --system-zlib \ + --system-bzip2 --system-liblzma --no-qt-gui \ + && make LIBS="$$LIBS -lssl -lcrypto -lz" VERBOSE=1 \ + && make install \ + && cd .. \ + && rm -rf cmake-$(cmake-version) \ && echo "CMake $(cmake-version)" > $@ $(ibidir)/ghostscript: $(tdir)/ghostscript-$(ghostscript-version).tar.gz @@ -566,19 +566,19 @@ $(ibidir)/ghostscript: $(tdir)/ghostscript-$(ghostscript-version).tar.gz # building in parallel, its better to have these packages start building # early. $(ibidir)/gnuastro: $(tdir)/gnuastro-$(gnuastro-version).tar.lz \ - $(ibidir)/gsl \ - $(ibidir)/wcslib \ - $(ibidir)/libjpeg \ - $(ibidir)/libtiff \ - $(ibidir)/libgit2 \ - $(ibidir)/ghostscript + $(ibidir)/ghostscript \ + $(ibidir)/libjpeg \ + $(ibidir)/libtiff \ + $(ibidir)/libgit2 \ + $(ibidir)/wcslib \ + $(ibidir)/gsl ifeq ($(static_build),yes) staticopts="--enable-static=yes --enable-shared=no"; endif $(call gbuild, $<, gnuastro-$(gnuastro-version), static, \ - $$staticopts, -j$(numthreads), \ - make check -j$(numthreads)) \ - && cp $(dtexdir)/gnuastro.tex $(ictdir)/ \ + $$staticopts, -j$(numthreads), \ + make check -j$(numthreads)) \ + && cp $(dtexdir)/gnuastro.tex $(ictdir)/ \ && echo "GNU Astronomy Utilities $(gnuastro-version) \citep{gnuastro}" > $@ # Netpbm is a prerequisite of Astrometry-net, it contains a lot of programs. @@ -587,48 +587,48 @@ endif # ask to the user. We give all answers with a pipe to the scripts (configure # and install). The questions are different depending on the system (tested # on GNU/Linux and Mac OS). -$(ibidir)/netpbm: $(tdir)/netpbm-$(netpbm-version).tgz \ - $(ibidir)/libjpeg \ - $(ibidir)/libpng \ - $(ibidir)/libtiff \ - $(ibidir)/libxml2 \ +$(ibidir)/netpbm: $(tdir)/netpbm-$(netpbm-version).tgz \ + $(ibidir)/libjpeg \ + $(ibidir)/libtiff \ + $(ibidir)/libxml2 \ + $(ibidir)/libpng \ $(ibidir)/unzip - if [ x$(on_mac_os) = xyes ]; then \ - answers='\n\n\n\n\n\n\n\n\n\n\n\nnone\n\n\n'; \ - else \ - answers='\n\n\n\ny\n\n\n\n\n\n\n\n\n\n\n\n\n'; \ - fi; \ - cd $(ddir) \ - && unpackdir=netpbm-$(netpbm-version) \ - && rm -rf $$unpackdir \ - && if ! tar xf $<; then echo; echo "Tar error"; exit 1; fi \ - && cd $$unpackdir \ - && printf "$$answers" | ./configure \ - && make \ - && rm -rf $(ddir)/$$unpackdir/install \ - && make package pkgdir=$(ddir)/$$unpackdir/install \ - && printf "$(ddir)/$$unpackdir/install\n$(idir)\n\n\nN\n\n\n\n\nN\n\n" \ - | ./installnetpbm \ - && cd .. \ - && rm -rf $$unpackdir \ - && echo "Netpbm $(netpbm-version)" > $@ + if [ x$(on_mac_os) = xyes ]; then \ + answers='\n\n\n\n\n\n\n\n\n\n\n\nnone\n\n\n'; \ + else \ + answers='\n\n\n\ny\n\n\n\n\n\n\n\n\n\n\n\n\n'; \ + fi; \ + cd $(ddir) \ + && unpackdir=netpbm-$(netpbm-version) \ + && rm -rf $$unpackdir \ + && if ! tar xf $<; then echo; echo "Tar error"; exit 1; fi \ + && cd $$unpackdir \ + && printf "$$answers" | ./configure \ + && make \ + && rm -rf $(ddir)/$$unpackdir/install \ + && make package pkgdir=$(ddir)/$$unpackdir/install \ + && printf "$(ddir)/$$unpackdir/install\n$(idir)\n\n\nN\n\n\n\n\nN\n\n" \ + | ./installnetpbm \ + && cd .. \ + && rm -rf $$unpackdir \ + && echo "Netpbm $(netpbm-version)" > $@ # SCAMP documentation says ATLAS is a mandatory prerequisite for using # SCAMP. We have ATLAS into the project but there are some problems with the # libraries that are not yet solved. However, we tried to install it with # the option --enable-openblas and it worked (same issue happened with # `sextractor'. -$(ibidir)/scamp: $(tdir)/scamp-$(scamp-version).tar.lz \ - $(ibidir)/fftw \ - $(ibidir)/openblas \ - $(ibidir)/cdsclient - $(call gbuild, $<, scamp-$(scamp-version), static, \ - --enable-threads --enable-openblas \ - --with-fftw-libdir=$(idir) \ - --with-fftw-incdir=$(idir)/include \ - --with-openblas-libdir=$(ildir) \ - --with-openblas-incdir=$(idir)/include) \ - && cp $(dtexdir)/scamp.tex $(ictdir)/ \ +$(ibidir)/scamp: $(tdir)/scamp-$(scamp-version).tar.lz \ + $(ibidir)/cdsclient \ + $(ibidir)/openblas \ + $(ibidir)/fftw + $(call gbuild, $<, scamp-$(scamp-version), static, \ + --enable-threads --enable-openblas \ + --with-fftw-libdir=$(idir) \ + --with-fftw-incdir=$(idir)/include \ + --with-openblas-libdir=$(ildir) \ + --with-openblas-incdir=$(idir)/include) \ + && cp $(dtexdir)/scamp.tex $(ictdir)/ \ && echo "SCAMP $(scamp-version) \citep{scamp}" > $@ # Sextractor crashes complaining about not linking with some ATLAS @@ -636,27 +636,27 @@ $(ibidir)/scamp: $(tdir)/scamp-$(scamp-version).tar.lz \ # installed, it is just necessary to explicity tell sextractor to use it in # the configuration step. $(ibidir)/sextractor: $(tdir)/sextractor-$(sextractor-version).tar.lz \ - $(ibidir)/openblas \ + $(ibidir)/openblas \ $(ibidir)/fftw - $(call gbuild, $<, sextractor-$(sextractor-version), static, \ - --enable-threads --enable-openblas \ - --with-openblas-libdir=$(ildir) \ - --with-openblas-incdir=$(idir)/include) \ - && ln -fs $(ibdir)/sex $(ibdir)/sextractor \ - && cp $(dtexdir)/sextractor.tex $(ictdir)/ \ + $(call gbuild, $<, sextractor-$(sextractor-version), static, \ + --enable-threads --enable-openblas \ + --with-openblas-libdir=$(ildir) \ + --with-openblas-incdir=$(idir)/include) \ + && ln -fs $(ibdir)/sex $(ibdir)/sextractor \ + && cp $(dtexdir)/sextractor.tex $(ictdir)/ \ && echo "Sextractor $(sextractor-version) \citep{sextractor}" > $@ $(ibidir)/swarp: $(tdir)/swarp-$(swarp-version).tar.gz \ $(ibidir)/fftw $(call gbuild, $<, swarp-$(swarp-version), static, \ - --enable-threads) \ - && cp $(dtexdir)/swarp.tex $(ictdir)/ \ + --enable-threads) \ + && cp $(dtexdir)/swarp.tex $(ictdir)/ \ && echo "SWarp $(swarp-version) \citep{swarp}" > $@ $(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 + # 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 $(call gbuild, $<, swig-$(swig-version), static, --without-pcre) \ && echo "Swig $(swig-version)" > $@ @@ -746,11 +746,11 @@ $(itidir)/texlive: reproduce/software/config/installation/texlive.mk \ | awk '{print $$NF}'); # Package names and versions. - tlmgr info $(texlive-packages) --only-installed | awk \ - '$$1=="package:" {version=0; \ - if($$NF=="tex-gyre") name="texgyre"; \ - else name=$$NF} \ - $$1=="cat-version:" {version=$$NF} \ - $$1=="cat-date:" {if(version==0) version=$$2; \ + tlmgr info $(texlive-packages) --only-installed | awk \ + '$$1=="package:" {version=0; \ + if($$NF=="tex-gyre") name="texgyre"; \ + else name=$$NF} \ + $$1=="cat-version:" {version=$$NF} \ + $$1=="cat-date:" {if(version==0) version=$$2; \ printf("%s %s\n", name, version)}' >> $@ fi diff --git a/reproduce/software/make/python.mk b/reproduce/software/make/python.mk index ba811ba..4c407f6 100644 --- a/reproduce/software/make/python.mk +++ b/reproduce/software/make/python.mk @@ -58,46 +58,46 @@ export MPI_PYTHON3_SITEARCH := # convention, but include the name/version in their tarball names with # another format, we'll do the modification before the download so the # downloaded file has our desired format. -pytarballs = $(foreach t, asn1crypto-$(asn1crypto-version).tar.gz \ - astroquery-$(astroquery-version).tar.gz \ - astropy-$(astropy-version).tar.gz \ - beautifulsoup4-$(beautifulsoup4-version).tar.gz \ - certifi-$(certifi-version).tar.gz \ - cffi-$(cffi-version).tar.gz \ - chardet-$(chardet-version).tar.gz \ - cryptography-$(cryptography-version).tar.gz \ - cycler-$(cycler-version).tar.gz \ - cython-$(cython-version).tar.gz \ - entrypoints-$(entrypoints-version).tar.gz \ - h5py-$(h5py-version).tar.gz \ - html5lib-$(html5lib-version).tar.gz \ - idna-$(idna-version).tar.gz \ - jeepney-$(jeepney-version).tar.gz \ - kiwisolver-$(kiwisolver-version).tar.gz \ - keyring-$(keyring-version).tar.gz \ - libffi-$(libffi-version).tar.gz \ - matplotlib-$(matplotlib-version).tar.gz \ - mpi4py-$(mpi4py-version).tar.gz \ - mpmath-$(mpmath-version).tar.gz \ - numpy-$(numpy-version).zip \ - pkgconfig-$(pypkgconfig-version).tar.gz \ - pip-$(pip-version).tar.gz \ - pycparser-$(pycparser-version).tar.gz \ - python-$(python-version).tar.gz \ +pytarballs = $(foreach t, asn1crypto-$(asn1crypto-version).tar.gz \ + astroquery-$(astroquery-version).tar.gz \ + astropy-$(astropy-version).tar.gz \ + beautifulsoup4-$(beautifulsoup4-version).tar.gz \ + certifi-$(certifi-version).tar.gz \ + cffi-$(cffi-version).tar.gz \ + chardet-$(chardet-version).tar.gz \ + cryptography-$(cryptography-version).tar.gz \ + cycler-$(cycler-version).tar.gz \ + cython-$(cython-version).tar.gz \ + entrypoints-$(entrypoints-version).tar.gz \ + h5py-$(h5py-version).tar.gz \ + html5lib-$(html5lib-version).tar.gz \ + idna-$(idna-version).tar.gz \ + jeepney-$(jeepney-version).tar.gz \ + kiwisolver-$(kiwisolver-version).tar.gz \ + keyring-$(keyring-version).tar.gz \ + libffi-$(libffi-version).tar.gz \ + matplotlib-$(matplotlib-version).tar.gz \ + mpi4py-$(mpi4py-version).tar.gz \ + mpmath-$(mpmath-version).tar.gz \ + numpy-$(numpy-version).zip \ + pkgconfig-$(pypkgconfig-version).tar.gz \ + pip-$(pip-version).tar.gz \ + pycparser-$(pycparser-version).tar.gz \ + python-$(python-version).tar.gz \ python-dateutil-$(python-dateutil-version).tar.gz \ - pyparsing-$(pyparsing-version).tar.gz \ - requests-$(requests-version).tar.gz \ - scipy-$(scipy-version).tar.gz \ - secretstorage-$(secretstorage-version).tar.gz \ - setuptools-$(setuptools-version).zip \ - setuptools_scm-$(setuptools_scm-version).tar.gz \ - sip_tpv-$(sip_tpv-version).tar.gz \ - six-$(six-version).tar.gz \ - soupsieve-$(soupsieve-version).tar.gz \ - sympy-$(sympy-version).tar.gz \ - urllib3-$(urllib3-version).tar.gz \ - webencodings-$(webencodings-version).tar.gz \ - virtualenv-$(virtualenv-version).tar.gz \ + pyparsing-$(pyparsing-version).tar.gz \ + requests-$(requests-version).tar.gz \ + scipy-$(scipy-version).tar.gz \ + secretstorage-$(secretstorage-version).tar.gz \ + setuptools-$(setuptools-version).zip \ + setuptools_scm-$(setuptools_scm-version).tar.gz \ + sip_tpv-$(sip_tpv-version).tar.gz \ + six-$(six-version).tar.gz \ + soupsieve-$(soupsieve-version).tar.gz \ + sympy-$(sympy-version).tar.gz \ + urllib3-$(urllib3-version).tar.gz \ + webencodings-$(webencodings-version).tar.gz \ + virtualenv-$(virtualenv-version).tar.gz \ , $(tdir)/$(t) ) pytopurl=https://files.pythonhosted.org/packages $(pytarballs): $(tdir)/%: @@ -225,22 +225,22 @@ $(ibidir)/libffi: $(tdir)/libffi-$(libffi-version).tar.gz $(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \ $(ibidir)/libffi - # 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 \ - export CC=clang; \ - export CXX=clang++; \ - fi; \ - $(call gbuild, $<, Python-$(python-version),, \ - --without-ensurepip \ - --with-system-ffi \ - --enable-shared) \ + # 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 \ + export CC=clang; \ + export CXX=clang++; \ + fi; \ + $(call gbuild, $<, Python-$(python-version),, \ + --without-ensurepip \ + --with-system-ffi \ + --enable-shared) \ && v=$$(echo $(python-version) | awk 'BEGIN{FS="."} \ - {printf "%d.%d\n", $$1, $$2}') \ - && ln -sf $(ildir)/python$$v $(ildir)/python \ - && ln -sf $(ibdir)/python$$v $(ibdir)/python \ - && rm -rf $(ipydir) \ - && mkdir $(ipydir) \ + {printf "%d.%d\n", $$1, $$2}') \ + && ln -sf $(ildir)/python$$v $(ildir)/python \ + && ln -sf $(ibdir)/python$$v $(ibdir)/python \ + && rm -rf $(ipydir) \ + && mkdir $(ipydir) \ && echo "Python $(python-version)" > $@ @@ -258,18 +258,18 @@ $(ibidir)/python: $(tdir)/python-$(python-version).tar.gz \ # 3) Unpacked directory name after unpacking the tarball # 4) site.cfg file (optional) # 5) Official software name.(for paper). -pybuild = cd $(ddir); rm -rf $(3); \ +pybuild = cd $(ddir); rm -rf $(3); \ if ! $(1) $(2); then echo; echo "Tar error"; exit 1; fi; \ - cd $(3); \ - if [ "x$(strip $(4))" != x ]; then \ - sed -e 's|@LIBDIR[@]|'"$(ildir)"'|' \ - -e 's|@INCDIR[@]|'"$(idir)/include"'|' \ - $(4) > site.cfg; \ - fi; \ - python setup.py build \ - && python setup.py install \ - && cd .. \ - && rm -rf $(3) \ + cd $(3); \ + if [ "x$(strip $(4))" != x ]; then \ + sed -e 's|@LIBDIR[@]|'"$(ildir)"'|' \ + -e 's|@INCDIR[@]|'"$(idir)/include"'|' \ + $(4) > site.cfg; \ + fi; \ + python setup.py build \ + && python setup.py install \ + && cd .. \ + && rm -rf $(3) \ && echo "$(5)" > $@ @@ -285,22 +285,22 @@ $(ipydir)/asn1crypto: $(tdir)/asn1crypto-$(asn1crypto-version).tar.gz \ $(call pybuild, tar xf, $<, asn1crypto-$(asn1crypto-version), , \ Asn1crypto $(asn1crypto-version)) -$(ipydir)/astroquery: $(tdir)/astroquery-$(astroquery-version).tar.gz \ - $(ipydir)/beautifulsoup4 \ - $(ipydir)/html5lib \ - $(ipydir)/requests \ - $(ipydir)/astropy \ - $(ipydir)/keyring \ +$(ipydir)/astroquery: $(tdir)/astroquery-$(astroquery-version).tar.gz \ + $(ipydir)/beautifulsoup4 \ + $(ipydir)/html5lib \ + $(ipydir)/requests \ + $(ipydir)/astropy \ + $(ipydir)/keyring \ $(ipydir)/numpy $(call pybuild, tar xf, $<, astroquery-$(astroquery-version), ,\ Astroquery $(astroquery-version)) $(ipydir)/astropy: $(tdir)/astropy-$(astropy-version).tar.gz \ - $(ipydir)/h5py \ - $(ipydir)/numpy \ + $(ipydir)/h5py \ + $(ipydir)/numpy \ $(ipydir)/scipy $(call pybuild, tar xf, $<, astropy-$(astropy-version)) \ - && cp $(dtexdir)/astropy.tex $(ictdir)/ \ + && cp $(dtexdir)/astropy.tex $(ictdir)/ \ && echo "Astropy $(astropy-version) \citep{astropy2013,astropy2018}" > $@ $(ipydir)/beautifulsoup4: $(tdir)/beautifulsoup4-$(beautifulsoup4-version).tar.gz \ @@ -314,8 +314,8 @@ $(ipydir)/certifi: $(tdir)/certifi-$(certifi-version).tar.gz \ Certifi $(certifi-version)) $(ipydir)/cffi: $(tdir)/cffi-$(cffi-version).tar.gz \ - $(ibidir)/libffi \ - $(ipydir)/pycparser + $(ipydir)/pycparser \ + $(ibidir)/libffi $(call pybuild, tar xf, $<, cffi-$(cffi-version), ,\ cffi $(cffi-version)) @@ -325,7 +325,7 @@ $(ipydir)/chardet: $(tdir)/chardet-$(chardet-version).tar.gz \ Chardet $(chardet-version)) $(ipydir)/cryptography: $(tdir)/cryptography-$(cryptography-version).tar.gz \ - $(ipydir)/asn1crypto \ + $(ipydir)/asn1crypto \ $(ipydir)/cffi $(call pybuild, tar xf, $<, cryptography-$(cryptography-version), ,\ Cryptography $(cryptography-version)) @@ -338,7 +338,7 @@ $(ipydir)/cycler: $(tdir)/cycler-$(cycler-version).tar.gz \ $(ipydir)/cython: $(tdir)/cython-$(cython-version).tar.gz \ $(ipydir)/setuptools $(call pybuild, tar xf, $<, Cython-$(cython-version)) \ - && cp $(dtexdir)/cython.tex $(ictdir)/ \ + && cp $(dtexdir)/cython.tex $(ictdir)/ \ && echo "Cython $(cython-version) \citep{cython2011}" > $@ $(ipydir)/entrypoints: $(tdir)/entrypoints-$(entrypoints-version).tar.gz \ @@ -347,19 +347,19 @@ $(ipydir)/entrypoints: $(tdir)/entrypoints-$(entrypoints-version).tar.gz \ EntryPoints $(entrypoints-version)) $(ipydir)/h5py: $(tdir)/h5py-$(h5py-version).tar.gz \ - $(ibidir)/hdf5 \ - $(ipydir)/cython \ - $(ipydir)/pypkgconfig \ - $(ipydir)/setuptools + $(ipydir)/pypkgconfig \ + $(ipydir)/setuptools \ + $(ipydir)/cython \ + $(ibidir)/hdf5 #$(ipydir)/mpi4py # AFTER its problem is fixed. - #export HDF5_MPI=ON; # AFTER its problem is fixed. - export HDF5_DIR=$(ildir); \ + #export HDF5_MPI=ON; # AFTER its problem is fixed. + export HDF5_DIR=$(ildir); \ $(call pybuild, tar xf, $<, h5py-$(h5py-version), ,\ h5py $(h5py-version)) $(ipydir)/html5lib: $(tdir)/html5lib-$(html5lib-version).tar.gz \ - $(ipydir)/six \ - $(ipydir)/webencodings + $(ipydir)/webencodings \ + $(ipydir)/six $(call pybuild, tar xf, $<, html5lib-$(html5lib-version), ,\ HTML5lib $(html5lib-version)) @@ -373,27 +373,27 @@ $(ipydir)/jeepney: $(tdir)/jeepney-$(jeepney-version).tar.gz \ $(call pybuild, tar xf, $<, jeepney-$(jeepney-version), ,\ Jeepney $(jeepney-version)) -$(ipydir)/keyring: $(tdir)/keyring-$(keyring-version).tar.gz \ - $(ipydir)/entrypoints \ - $(ipydir)/secretstorage \ - $(ipydir)/setuptools_scm +$(ipydir)/keyring: $(tdir)/keyring-$(keyring-version).tar.gz \ + $(ipydir)/setuptools_scm \ + $(ipydir)/secretstorage \ + $(ipydir)/entrypoints $(call pybuild, tar xf, $<, keyring-$(keyring-version), ,\ Keyring $(keyring-version)) -$(ipydir)/kiwisolver: $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz \ +$(ipydir)/kiwisolver: $(tdir)/kiwisolver-$(kiwisolver-version).tar.gz \ $(ipydir)/setuptools $(call pybuild, tar xf, $<, kiwisolver-$(kiwisolver-version), ,\ Kiwisolver $(kiwisolver-version)) -$(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz \ - $(ipydir)/cycler \ - $(ibidir)/freetype \ - $(ipydir)/kiwisolver \ - $(ipydir)/numpy \ - $(ipydir)/pyparsing \ - $(ipydir)/python-dateutil +$(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz \ + $(ipydir)/python-dateutil \ + $(ipydir)/kiwisolver \ + $(ipydir)/pyparsing \ + $(ibidir)/freetype \ + $(ipydir)/cycler \ + $(ipydir)/numpy $(call pybuild, tar xf, $<, matplotlib-$(matplotlib-version)) \ - && cp $(dtexdir)/matplotlib.tex $(ictdir)/ \ + && cp $(dtexdir)/matplotlib.tex $(ictdir)/ \ && echo "Matplotlib $(matplotlib-version) \citep{matplotlib2007}" > $@ # Currently mpi4py doesn't build because of some conflict with OpenMPI: @@ -406,10 +406,10 @@ $(ipydir)/matplotlib: $(tdir)/matplotlib-$(matplotlib-version).tar.gz \ # # But atleast on my system it fails. $(ipydir)/mpi4py: $(tdir)/mpi4py-$(mpi4py-version).tar.gz \ - $(ipydir)/setuptools \ + $(ipydir)/setuptools \ $(ibidir)/openmpi $(call pybuild, tar xf, $<, mpi4py-$(mpi4py-version)) \ - && cp $(dtexdir)/mpi4py.tex $(ictdir)/ \ + && cp $(dtexdir)/mpi4py.tex $(ictdir)/ \ && echo "mpi4py $(mpi4py-version) \citep{mpi4py2011}" > $@ $(ipydir)/mpmath: $(tdir)/mpmath-$(mpmath-version).tar.gz \ @@ -418,18 +418,18 @@ $(ipydir)/mpmath: $(tdir)/mpmath-$(mpmath-version).tar.gz \ mpmath $(mpmath-version)) $(ipydir)/numpy: $(tdir)/numpy-$(numpy-version).zip \ - $(ipydir)/setuptools \ - $(ibidir)/openblas \ + $(ipydir)/setuptools \ + $(ibidir)/openblas \ $(ibidir)/unzip - if [ x$(on_mac_os) = xyes ]; then \ - export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \ - else \ - export LDFLAGS="$(LDFLAGS) -shared"; \ - fi; \ + if [ x$(on_mac_os) = xyes ]; then \ + export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \ + else \ + export LDFLAGS="$(LDFLAGS) -shared"; \ + fi; \ conf="$$(pwd)/reproduce/software/config/installation/numpy-scipy.cfg"; \ - $(call pybuild, unzip, $<, numpy-$(numpy-version),$$conf, \ - Numpy $(numpy-version)) \ - && cp $(dtexdir)/numpy.tex $(ictdir)/ \ + $(call pybuild, unzip, $<, numpy-$(numpy-version),$$conf, \ + Numpy $(numpy-version)) \ + && cp $(dtexdir)/numpy.tex $(ictdir)/ \ && echo "Numpy $(numpy-version) \citep{numpy2011}" > $@ $(ibidir)/pip3: $(tdir)/pip-$(pip-version).tar.gz \ @@ -453,40 +453,40 @@ $(ipydir)/pyparsing: $(tdir)/pyparsing-$(pyparsing-version).tar.gz \ PyParsing $(pyparsing-version)) $(ipydir)/python-dateutil: $(tdir)/python-dateutil-$(python-dateutil-version).tar.gz \ - $(ipydir)/setuptools_scm \ + $(ipydir)/setuptools_scm \ $(ipydir)/six $(call pybuild, tar xf, $<, python-dateutil-$(python-dateutil-version), ,\ python-dateutil $(python-dateutil-version)) -$(ipydir)/requests: $(tdir)/requests-$(requests-version).tar.gz \ - $(ipydir)/certifi \ - $(ipydir)/chardet \ - $(ipydir)/idna \ - $(ipydir)/numpy \ - $(ipydir)/urllib3 +$(ipydir)/requests: $(tdir)/requests-$(requests-version).tar.gz \ + $(ipydir)/certifi \ + $(ipydir)/chardet \ + $(ipydir)/urllib3 \ + $(ipydir)/numpy \ + $(ipydir)/idna $(call pybuild, tar xf, $<, requests-$(requests-version), ,\ Requests $(requests-version)) $(ipydir)/scipy: $(tdir)/scipy-$(scipy-version).tar.gz \ $(ipydir)/numpy - if [ x$(on_mac_os) = xyes ]; then \ - export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \ - else \ - export LDFLAGS="$(LDFLAGS) -shared"; \ - fi; \ + if [ x$(on_mac_os) = xyes ]; then \ + export LDFLAGS="$(LDFLAGS) -undefined dynamic_lookup -bundle"; \ + else \ + export LDFLAGS="$(LDFLAGS) -shared"; \ + fi; \ conf="$$(pwd)/reproduce/software/config/installation/numpy-scipy.cfg"; \ - $(call pybuild, tar xf, $<, scipy-$(scipy-version),$$conf) \ - && cp $(dtexdir)/scipy.tex $(ictdir)/ \ + $(call pybuild, tar xf, $<, scipy-$(scipy-version),$$conf) \ + && cp $(dtexdir)/scipy.tex $(ictdir)/ \ && echo "Scipy $(scipy-version) \citep{scipy2007,scipy2011}" > $@ $(ipydir)/secretstorage: $(tdir)/secretstorage-$(secretstorage-version).tar.gz \ - $(ipydir)/cryptography \ + $(ipydir)/cryptography \ $(ipydir)/jeepney $(call pybuild, tar xf, $<, SecretStorage-$(secretstorage-version), ,\ SecretStorage $(secretstorage-version)) $(ipydir)/setuptools: $(tdir)/setuptools-$(setuptools-version).zip \ - $(ibidir)/python \ + $(ibidir)/python \ $(ibidir)/unzip $(call pybuild, unzip, $<, setuptools-$(setuptools-version), ,\ Setuptools $(setuptools-version)) @@ -497,10 +497,10 @@ $(ipydir)/setuptools_scm: $(tdir)/setuptools_scm-$(setuptools_scm-version).tar.g Setuptools-scm $(setuptools_scm-version)) $(ipydir)/sip_tpv: $(tdir)/sip_tpv-$(sip_tpv-version).tar.gz \ - $(ipydir)/mpmath \ + $(ipydir)/mpmath \ $(ipydir)/sympy $(call pybuild, tar xf, $<, sip_tpv-$(sip_tpv-version), ,) \ - && cp $(dtexdir)/sip_tpv.tex $(ictdir)/ \ + && cp $(dtexdir)/sip_tpv.tex $(ictdir)/ \ && echo "sip\_tpv $(sip_tpv-version) \citep{sip-tpv}" > $@ @@ -514,11 +514,11 @@ $(ipydir)/soupsieve: $(tdir)/soupsieve-$(soupsieve-version).tar.gz \ $(call pybuild, tar xf, $<, soupsieve-$(soupsieve-version), ,\ SoupSieve $(soupsieve-version)) -$(ipydir)/sympy: $(tdir)/sympy-$(sympy-version).tar.gz \ - $(ipydir)/mpmath \ - $(ipydir)/setuptools +$(ipydir)/sympy: $(tdir)/sympy-$(sympy-version).tar.gz \ + $(ipydir)/setuptools \ + $(ipydir)/mpmath $(call pybuild, tar xf, $<, sympy-$(sympy-version), ,) \ - && cp $(dtexdir)/sympy.tex $(ictdir)/ \ + && cp $(dtexdir)/sympy.tex $(ictdir)/ \ && echo "SymPy $(sympy-version) \citep{sympy}" > $@ $(ipydir)/urllib3: $(tdir)/urllib3-$(urllib3-version).tar.gz \ -- cgit v1.2.1