From 64f519d1b54487fcfc39a0f7c8b4437e660ff6f0 Mon Sep 17 00:00:00 2001 From: Raul Infante-Sainz Date: Wed, 13 Feb 2019 15:13:28 +0000 Subject: Astropy installed in the pipeline Astropy was added and one very important thing is that we have to use the pypi tarball (https://pypi.org/) (which is bootstrapped) and not the github tarball. --- .file-metadata | Bin 5003262 -> 5304440 bytes .gitignore | 1 + paper.tex | 4 +- reproduce/config/pipeline/dependency-versions.mk | 99 ++++++++++++----------- reproduce/src/make/dependencies-build-rules.mk | 16 ++++ reproduce/src/make/dependencies.mk | 66 ++++++++------- reproduce/src/make/initialize.mk | 7 +- tex/src/references.tex | 94 +++++++++++++++++++++ 8 files changed, 209 insertions(+), 78 deletions(-) diff --git a/.file-metadata b/.file-metadata index 5df4e17..1939902 100644 Binary files a/.file-metadata and b/.file-metadata differ diff --git a/.gitignore b/.gitignore index f04b14e..5879789 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ *.pdf *.out *.zip +*.swp .nfs* mmap_* *.tar.gz diff --git a/paper.tex b/paper.tex index a36b3eb..16f6eb8 100644 --- a/paper.tex +++ b/paper.tex @@ -216,7 +216,9 @@ Scientific Library (GSL) \gslversion, GNU Tar \tarversion, GNU Wget Libjpeg \libjpegversion, Libtiff \libtiffversion, Metastore (forked) \metastoreversion, OpenSSL \opensslversion, Pkg-config \pkgconfigversion, Unzip \unzipversion, WCSLIB \wcslibversion, XZ Utils \xzversion, Zip -\zipversion, and ZLib \zlibversion. The final paper was produced with +\zipversion, and ZLib \zlibversion. We use Python {\pythonversion} with the +following packages: Numpy {\numpyversion} and Astropy {\astropyversion} +\citep{astropy2013, astropy2018}. The final paper was produced with \TeX{} Live \texliveversion, using the following packages: \TeX{} \textexversion, EC \texecversion, NewTX \texnewtxversion, Fontaxes \texfontaxesversion, Keyval, \texxkeyvalversion, Etoolbox diff --git a/reproduce/config/pipeline/dependency-versions.mk b/reproduce/config/pipeline/dependency-versions.mk index 0bea16a..f0774bc 100644 --- a/reproduce/config/pipeline/dependency-versions.mk +++ b/reproduce/config/pipeline/dependency-versions.mk @@ -1,52 +1,59 @@ # Versions of the various dependnecies # Programs -bash-version = 5.0 -binutils-version = 2.31.1 -bzip2-version = 1.0.6 -cmake-version = 3.12.4 -coreutils-version = 8.30 -diffutils-version = 3.7 -findutils-version = 4.6.0.199-e3fc -flock-version = 0.2.3 -gawk-version = 4.2.1 -gcc-version = 8.2.0 -ghostscript-version = 9.26 -git-version = 2.20.1 -gmp-version = 6.1.2 -gnuastro-version = 0.8 -grep-version = 3.3 -gzip-version = 1.10 -isl-version = 0.18 -libtool-version = 2.4.6 -libbsd-version = 0.9.1 -lzip-version = 1.20 -make-version = 4.2.90 -metastore-version = 1.1.2-23-fa9170b -mpfr-version = 4.0.1 -mpc-version = 1.1.0 -ncurses-version = 6.1 -numpy-version = 1.16.1 -openssl-version = 1.1.1a -patchelf-version = 0.9 -pkgconfig-version = 0.29.2 -python-version = 3.6.8 -readline-version = 8.0 -sed-version = 4.7 -tar-version = 1.31 -unzip-version = 6.0 -wget-version = 1.20.1 -which-version = 2.21 -xz-version = 5.2.4 -zip-version = 3.0 +bash-version = 5.0 +binutils-version = 2.31.1 +bzip2-version = 1.0.6 +cmake-version = 3.12.4 +coreutils-version = 8.30 +diffutils-version = 3.7 +findutils-version = 4.6.0.199-e3fc +flock-version = 0.2.3 +gawk-version = 4.2.1 +gcc-version = 8.2.0 +ghostscript-version = 9.26 +git-version = 2.20.1 +gmp-version = 6.1.2 +gnuastro-version = 0.8 +grep-version = 3.3 +gzip-version = 1.10 +isl-version = 0.18 +libtool-version = 2.4.6 +libbsd-version = 0.9.1 +lzip-version = 1.20 +make-version = 4.2.90 +metastore-version = 1.1.2-23-fa9170b +mpfr-version = 4.0.1 +mpc-version = 1.1.0 +ncurses-version = 6.1 +openssl-version = 1.1.1a +patchelf-version = 0.9 +pkgconfig-version = 0.29.2 +python-version = 3.6.8 +readline-version = 8.0 +sed-version = 4.7 +tar-version = 1.31 +unzip-version = 6.0 +wget-version = 1.20.1 +which-version = 2.21 +xz-version = 5.2.4 +zip-version = 3.0 # Libraries -cfitsio-version = 3.45 -curl-version = 7.63.0 -gsl-version = 2.5 -libjpeg-version = v9b -libtiff-version = 4.0.10 -zlib-version = 1.2.11 +cfitsio-version = 3.45 +curl-version = 7.63.0 +gsl-version = 2.5 +libjpeg-version = v9b +libtiff-version = 4.0.10 +zlib-version = 1.2.11 + +# Python packages +# --------------- +# +# IMPORTANT: Fix url in `reproduce/src/make/dependencies.mk' +# if changing the version +astropy-version = 3.1.1 +numpy-version = 1.16.1 # Special libraries # ----------------- @@ -55,5 +62,5 @@ zlib-version = 1.2.11 # the software build Makefiles (`reproduce/src/make/dependencies*.mk'). If # you change their version, also please change the explicit shared library # names also. -libgit2-version = 0.26.0 -wcslib-version = 6.2 +libgit2-version = 0.26.0 +wcslib-version = 6.2 diff --git a/reproduce/src/make/dependencies-build-rules.mk b/reproduce/src/make/dependencies-build-rules.mk index 0c7262e..2247518 100644 --- a/reproduce/src/make/dependencies-build-rules.mk +++ b/reproduce/src/make/dependencies-build-rules.mk @@ -103,6 +103,22 @@ gbuild = if [ x$(static_build) = xyes ] && [ "x$(3)" = xstatic ]; then \ +# Python +# ------ +# +# To build Python packages with direct access to a `setup.py' (if no direct +# access to `setup.py' is needed, pip can be used) +pybuild = cd $(ddir); rm -rf $(2); \ + if ! tar xf $(1); then echo; echo "Tar error"; exit 1; fi; \ + cd $(2); \ + python3 setup.py build && \ + python3 setup.py install && \ + cd .. && rm -rf $(2) + + + + + # CMake # ----- # diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk index 52b65f4..a28de19 100644 --- a/reproduce/src/make/dependencies.mk +++ b/reproduce/src/make/dependencies.mk @@ -41,13 +41,12 @@ idir = $(BDIR)/dependencies/installed ibdir = $(BDIR)/dependencies/installed/bin ildir = $(BDIR)/dependencies/installed/lib ilidir = $(BDIR)/dependencies/installed/lib/built -pydir = $(BDIR)/dependencies/installed/lib/python # Define the top-level programs to build (installed in `.local/bin'). -top-level-python = numpy -top-level-programs = astnoisechisel metastore flock zip +top-level-python = astropy +top-level-programs = astnoisechisel metastore flock unzip zip all: $(ddir)/texlive-versions.tex \ - $(foreach p, $(top-level-python), $(pydir)/$(p)) \ + $(foreach p, $(top-level-python), $(ilidir)/$(p)) \ $(foreach p, $(top-level-programs), $(ibdir)/$(p)) # Other basic environment settings: We are only including the host @@ -90,26 +89,27 @@ export LDFLAGS := $(rpath_command) -L$(ildir) # 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, cfitsio-$(cfitsio-version).tar.gz \ - cmake-$(cmake-version).tar.gz \ - curl-$(curl-version).tar.gz \ - flock-$(flock-version).tar.xz \ - ghostscript-$(ghostscript-version).tar.gz \ - git-$(git-version).tar.xz \ - gnuastro-$(gnuastro-version).tar.lz \ - gsl-$(gsl-version).tar.gz \ - install-tl-unx.tar.gz \ - jpegsrc.$(libjpeg-version).tar.gz \ - libbsd-$(libbsd-version).tar.xz \ - libtool-$(libtool-version).tar.xz \ - libgit2-$(libgit2-version).tar.gz \ - metastore-$(metastore-version).tar.gz \ - numpy-$(numpy-version).zip \ - python-$(python-version).tar.gz \ - unzip-$(unzip-version).tar.gz \ - tiff-$(libtiff-version).tar.gz \ - zip-$(zip-version).tar.gz \ - wcslib-$(wcslib-version).tar.bz2 \ +tarballs = $(foreach t, astropy-$(astropy-version).tar.gz \ + cfitsio-$(cfitsio-version).tar.gz \ + cmake-$(cmake-version).tar.gz \ + curl-$(curl-version).tar.gz \ + flock-$(flock-version).tar.xz \ + ghostscript-$(ghostscript-version).tar.gz \ + git-$(git-version).tar.xz \ + gnuastro-$(gnuastro-version).tar.lz \ + gsl-$(gsl-version).tar.gz \ + install-tl-unx.tar.gz \ + jpegsrc.$(libjpeg-version).tar.gz \ + libbsd-$(libbsd-version).tar.xz \ + libtool-$(libtool-version).tar.xz \ + libgit2-$(libgit2-version).tar.gz \ + metastore-$(metastore-version).tar.gz \ + numpy-$(numpy-version).zip \ + python-$(python-version).tar.gz \ + unzip-$(unzip-version).tar.gz \ + tiff-$(libtiff-version).tar.gz \ + zip-$(zip-version).tar.gz \ + wcslib-$(wcslib-version).tar.bz2 \ , $(tdir)/$(t) ) $(tarballs): $(tdir)/%: if [ -f $(DEPENDENCIES-DIR)/$* ]; then @@ -122,7 +122,8 @@ $(tarballs): $(tdir)/%: # Set the top download link of the requested tarball. mergenames=1 - if [ $$n = cfitsio ]; then + if [ $$n = astropy ]; then w=https://files.pythonhosted.org/packages/eb/f7/1251bf6881861f24239efe0c24cbcfc4191ccdbb69ac3e9bb740d0c23352 + elif [ $$n = cfitsio ]; then mergenames=0 v=$$(echo $(cfitsio-version) | sed -e's/\.//' \ | awk '{l=length($$1); \ @@ -146,7 +147,7 @@ $(tarballs): $(tdir)/%: mergenames=0 w=https://github.com/libgit2/libgit2/archive/v$(libgit2-version).tar.gz elif [ $$n = metastore ]; then w=http://akhlaghi.org/src - elif [ $$n = numpy ]; then w=https://fossies.org/linux/misc + elif [ $$n = numpy ]; then w=https://files.pythonhosted.org/packages/2b/26/07472b0de91851b6656cbc86e2f0d5d3a3128e7580f23295ef58b6862d6c elif [ $$n = python ]; then mergenames=0 w=https://www.python.org/ftp/python/$(python-version)/Python-$(python-version).tgz @@ -483,10 +484,15 @@ $(ibdir)/zip: $(tdir)/zip-$(zip-version).tar.gz # Python packages # --------------- -$(pydir)/numpy: $(tdir)/numpy-$(numpy-version).zip \ - $(ibdir)/python3 \ - $(ibdir)/unzip - pip3 install $< --verbose +$(ilidir)/numpy: $(tdir)/numpy-$(numpy-version).zip \ + $(ibdir)/python3 + pip3 install $< --verbose && echo "numpy is built" > $@ + +$(ilidir)/astropy: $(tdir)/astropy-$(astropy-version).tar.gz \ + $(ilidir)/numpy + pip3 install $< --verbose && echo "astropy is built" > $@ + + diff --git a/reproduce/src/make/initialize.mk b/reproduce/src/make/initialize.mk index ff06dcb..dfdf161 100644 --- a/reproduce/src/make/initialize.mk +++ b/reproduce/src/make/initialize.mk @@ -316,7 +316,6 @@ lvcheck = idir=$(BDIR)/dependencies/installed/include; \ - # Pipeline initialization results # ------------------------------- # @@ -413,3 +412,9 @@ $(mtexdir)/initialize.tex: | $(mtexdir) # TeX package versions cat $(BDIR)/dependencies/texlive-versions.tex >> $@ + + # Python packages + $(call pvcheck, python3, $(python-version), Python, pythonversion) + echo "\newcommand{\\numpyversion}{$(numpy-version)}" >> $@ + echo "\newcommand{\\astropyversion}{$(astropy-version)}" >> $@ + diff --git a/tex/src/references.tex b/tex/src/references.tex index b3998a2..c8c2dd2 100644 --- a/tex/src/references.tex +++ b/tex/src/references.tex @@ -1,3 +1,64 @@ +@ARTICLE{astropy2018, + author = {{Astropy Collaboration} and {Price-Whelan}, A.~M. and {Sip{\H o}cz}, B.~M. and + {G{\"u}nther}, H.~M. and {Lim}, P.~L. and {Crawford}, S.~M. and + {Conseil}, S. and {Shupe}, D.~L. and {Craig}, M.~W. and {Dencheva}, N. and + {Ginsburg}, A. and {VanderPlas}, J.~T. and {Bradley}, L.~D. and + {P{\'e}rez-Su{\'a}rez}, D. and {de Val-Borro}, M. and {Aldcroft}, T.~L. and + {Cruz}, K.~L. and {Robitaille}, T.~P. and {Tollerud}, E.~J. and + {Ardelean}, C. and {Babej}, T. and {Bach}, Y.~P. and {Bachetti}, M. and + {Bakanov}, A.~V. and {Bamford}, S.~P. and {Barentsen}, G. and + {Barmby}, P. and {Baumbach}, A. and {Berry}, K.~L. and {Biscani}, F. and + {Boquien}, M. and {Bostroem}, K.~A. and {Bouma}, L.~G. and {Brammer}, G.~B. and + {Bray}, E.~M. and {Breytenbach}, H. and {Buddelmeijer}, H. and + {Burke}, D.~J. and {Calderone}, G. and {Cano Rodr{\'{\i}}guez}, J.~L. and + {Cara}, M. and {Cardoso}, J.~V.~M. and {Cheedella}, S. and {Copin}, Y. and + {Corrales}, L. and {Crichton}, D. and {D'Avella}, D. and {Deil}, C. and + {Depagne}, {\'E}. and {Dietrich}, J.~P. and {Donath}, A. and + {Droettboom}, M. and {Earl}, N. and {Erben}, T. and {Fabbro}, S. and + {Ferreira}, L.~A. and {Finethy}, T. and {Fox}, R.~T. and {Garrison}, L.~H. and + {Gibbons}, S.~L.~J. and {Goldstein}, D.~A. and {Gommers}, R. and + {Greco}, J.~P. and {Greenfield}, P. and {Groener}, A.~M. and + {Grollier}, F. and {Hagen}, A. and {Hirst}, P. and {Homeier}, D. and + {Horton}, A.~J. and {Hosseinzadeh}, G. and {Hu}, L. and {Hunkeler}, J.~S. and + {Ivezi{\'c}}, {\v Z}. and {Jain}, A. and {Jenness}, T. and {Kanarek}, G. and + {Kendrew}, S. and {Kern}, N.~S. and {Kerzendorf}, W.~E. and + {Khvalko}, A. and {King}, J. and {Kirkby}, D. and {Kulkarni}, A.~M. and + {Kumar}, A. and {Lee}, A. and {Lenz}, D. and {Littlefair}, S.~P. and + {Ma}, Z. and {Macleod}, D.~M. and {Mastropietro}, M. and {McCully}, C. and + {Montagnac}, S. and {Morris}, B.~M. and {Mueller}, M. and {Mumford}, S.~J. and + {Muna}, D. and {Murphy}, N.~A. and {Nelson}, S. and {Nguyen}, G.~H. and + {Ninan}, J.~P. and {N{\"o}the}, M. and {Ogaz}, S. and {Oh}, S. and + {Parejko}, J.~K. and {Parley}, N. and {Pascual}, S. and {Patil}, R. and + {Patil}, A.~A. and {Plunkett}, A.~L. and {Prochaska}, J.~X. and + {Rastogi}, T. and {Reddy Janga}, V. and {Sabater}, J. and {Sakurikar}, P. and + {Seifert}, M. and {Sherbert}, L.~E. and {Sherwood-Taylor}, H. and + {Shih}, A.~Y. and {Sick}, J. and {Silbiger}, M.~T. and {Singanamalla}, S. and + {Singer}, L.~P. and {Sladen}, P.~H. and {Sooley}, K.~A. and + {Sornarajah}, S. and {Streicher}, O. and {Teuben}, P. and {Thomas}, S.~W. and + {Tremblay}, G.~R. and {Turner}, J.~E.~H. and {Terr{\'o}n}, V. and + {van Kerkwijk}, M.~H. and {de la Vega}, A. and {Watkins}, L.~L. and + {Weaver}, B.~A. and {Whitmore}, J.~B. and {Woillez}, J. and + {Zabalza}, V. and {Astropy Contributors}}, + title = "{The Astropy Project: Building an Open-science Project and Status of the v2.0 Core Package}", + journal = {AJ}, +archivePrefix = "arXiv", + eprint = {1801.02634}, + primaryClass = "astro-ph.IM", + keywords = {methods: data analysis, methods: miscellaneous, methods: statistical, reference systems }, + year = 2018, + month = sep, + volume = 156, + eid = {123}, + pages = {123}, + doi = {10.3847/1538-3881/aabc4f}, + adsurl = {http://adsabs.harvard.edu/abs/2018AJ....156..123A}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} + + + + + @ARTICLE{bacon17, author = {{Bacon}, R. and {Conseil}, S. and {Mary}, D. and {Brinchmann}, J. and {Shepherd}, M. and {Akhlaghi}, M. and {Weilbacher}, P.~M. and @@ -43,3 +104,36 @@ archivePrefix = "arXiv", adsurl = {http://adsabs.harvard.edu/abs/2015ApJS..220....1A}, adsnote = {Provided by the SAO/NASA Astrophysics Data System} } + + + + +@ARTICLE{astropy2013, + author = {{Astropy Collaboration} and {Robitaille}, T.~P. and {Tollerud}, E.~J. and + {Greenfield}, P. and {Droettboom}, M. and {Bray}, E. and {Aldcroft}, T. and + {Davis}, M. and {Ginsburg}, A. and {Price-Whelan}, A.~M. and + {Kerzendorf}, W.~E. and {Conley}, A. and {Crighton}, N. and + {Barbary}, K. and {Muna}, D. and {Ferguson}, H. and {Grollier}, F. and + {Parikh}, M.~M. and {Nair}, P.~H. and {Unther}, H.~M. and {Deil}, C. and + {Woillez}, J. and {Conseil}, S. and {Kramer}, R. and {Turner}, J.~E.~H. and + {Singer}, L. and {Fox}, R. and {Weaver}, B.~A. and {Zabalza}, V. and + {Edwards}, Z.~I. and {Azalee Bostroem}, K. and {Burke}, D.~J. and + {Casey}, A.~R. and {Crawford}, S.~M. and {Dencheva}, N. and + {Ely}, J. and {Jenness}, T. and {Labrie}, K. and {Lim}, P.~L. and + {Pierfederici}, F. and {Pontzen}, A. and {Ptak}, A. and {Refsdal}, B. and + {Servillat}, M. and {Streicher}, O.}, + title = "{Astropy: A community Python package for astronomy}", + journal = {A\&A}, +archivePrefix = "arXiv", + eprint = {1307.6212}, + primaryClass = "astro-ph.IM", + keywords = {methods: data analysis, methods: miscellaneous, virtual observatory tools}, + year = 2013, + month = oct, + volume = 558, + eid = {A33}, + pages = {A33}, + doi = {10.1051/0004-6361/201322068}, + adsurl = {http://adsabs.harvard.edu/abs/2013A\%26A...558A..33A}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} -- cgit v1.2.1