From 8463df97c6f26ec4d22cd5828bb0574fd5e450d2 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Mon, 4 Oct 2021 02:51:45 +0200 Subject: IMPORTANT: Updates to almost all software This commit primarily affects the configuration step of Maneage'd projects, and in particular, updated versions of the many of the software (see P.S.). So it shouldn't affect your high-level analysis other than the version bumps of the software you use (and the software's possibly improve/changed behavior). The following software (and thus their dependencies) couldn't be updated as described below: - Cryptography: isn't building because it depends on a new setuptools-rust package that has problems (https://savannah.nongnu.org/bugs/index.php?61731), so it has been commented in 'versions.conf'. - SecretStorage: because it depends on Cryptography. - Keyring: because it depends on SecretStorage. - Astroquery: because it depends on Keyring. This is a "squashed" commit after rebasing a development branch of 60 commits corresponding to a roughly two-month time interval. The following people contributed to this branch. - Boudewijn Roukema added all the R software infrastructure and the R packages, as well as greatly helping in fixing many bugs during the update. - Raul Infante-Sainz helped in testing and debugging the build. - Pedram Ashofteh Ardakani found and fixed a bug. - Zahra Sharbaf helped in testing and found several bugs. Below a description of the most noteworthy points is given. - Software tarballs: all updated software now have a unified format tarball (ustar; if not possible, pax) and unified compression (Lzip) in Maneage's software repository in Zenodo (https://doi.org/10.5281/zenodo.3883409). For more on this See https://savannah.nongnu.org/task/?15699 . This won't affect any extra software you would like to add; you can use any format recognized by GNU Tar, and all common compression algorithms. This new requirement is only for software that get merged to the core Maneage branch. - Metastore (and thus libbsd and libmd) moved to highlevel: Metastore (and the packages it depends on) is a high-level product that is only relevant during the project development (like Emacs!): when the user wants the file meta data (like dates) to be unchanged after checking out branches. So it should be considered a high-level software, not basic. Metastore also usually causes many more headaches and error messages, so personally, I have stopped using it! Instead I simply merge my branches in a separate clone, then pull the merge commit: in this way, the files of my project aren't re-written during the checkout phase and therefore their dates are untouched (which can conflict with Make's dates on configuration files). - The un-official cloned version of Flex (2.6.4-91 until this commit) was causing problems in the building of Netpbm, so with this commit, it has been moved back to version 2.6.4. - Netpbm's official page had version 10.73.38 as the latest stable tarball that was just released in late 2021. But I couldn't find our previously-used version 10.86.99 anywhere (to see when it was released and why we used it! Its at last more than one year old!). So the official stable version is being used now. - Improved instructions in 'README.md' for building software environment in a Docker container (while having project source and output data products on the local system; including the usage of the host's '/dev/shm' to speed up temporary operations). - Until now, the convention in Maneage was to put eight SPACE characters before the comment lines within recipes. This was done because by default GNU Emacs (also many other editors) show a TAB as eight characters. However, in other text editors, online browsers, or even the Git diff, a TAB can correspond to a different number of characters. In such cases, the Maneage recipes wouldn't look too interesting (the comments and the recipe commands would show a different indentation!). With this commit, all the comment lines in the Makefiles within the core Maneage branch have a hash ('#') as their first character and a TAB as the second. This allows the comment lines in recipes to have the same indentation as code; making the code much more easier to read in a general scenario including a 'git diff' (editor agnostic!). P.S. List of updated software with their old and new versions - Software with no version update are not mentioned. - The old version of newly added software are shown with '--'. Name (Basic) Old version New version ------------ ----------- ----------- Bzip2 1.0.6 1.0.8 CURL 7.71.1 7.79.1 Dash 0.5.10.2 0.5.11.5 File 5.39 5.41 Flock 0.2.3 0.4.0 GNU Bash 5.0.18 5.1.8 GNU Binutils 2.35 2.37 GNU Coreutils 8.32 9.0 GNU GCC 10.2.0 11.2.0 GNU M4 1.4.18 1.4.19 GNU Readline 8.0 8.1.1 GNU Tar 1.32 1.34 GNU Texinfo 6.7 6.8 GNU diffutils 3.7 3.8 GNU findutils 4.7.0 4.8.0 GNU gmp 6.2.0 6.2.1 GNU grep 3.4 3.7 GNU gzip 1.10 1.11 GNU libunistring 0.9.10 1.0 GNU mpc 1.1.0 1.2.1 GNU mpfr 4.0.2 4.1.0 GNU nano 5.2 6.0 GNU ncurses 6.2 6.3 GNU wget 1.20.3 1.21.2 Git 2.28.0 2.34.0 Less 563 590 Libxml2 2.9.9 2.9.12 Lzip 1.22-rc2 1.22 OpenSLL 1.1.1a 3.0.0 Patchelf 0.10 0.13 Perl 5.32.0 5.34.0 Podlators -- 4.14 Name (Highlevel) Old version New version ---------------- ----------- ----------- Apachelog4cxx 0.10.0-603 0.12.1 Astrometry.net 0.80 0.85 Boost 1.73.0 1.77.0 CFITSIO 3.48 4.0.0 Cmake 3.18.1 3.21.4 Eigen 3.3.7 3.4.0 Expat 2.2.9 2.4.1 FFTW 3.3.8 3.3.10 Flex 2.6.4-91 2.6.4 Fontconfig 2.13.1 2.13.94 Freetype 2.10.2 2.11.0 GNU Astronomy Utilities 0.12 0.16.1-e0f1 GNU Autoconf 2.69.200-babc 2.71 GNU Automake 1.16.2 1.16.5 GNU Bison 3.7 3.8.2 GNU Emacs 27.1 27.2 GNU GDB 9.2 11.1 GNU GSL 2.6 2.7 GNU Help2man 1.47.11 1.48.5 Ghostscript 9.52 9.55.0 ICU -- 70.1 ImageMagick 7.0.8-67 7.1.0-13 Libbsd 0.10.0 0.11.3 Libffi 3.2.1 3.4.2 Libgit2 1.0.1 1.3.0 Libidn 1.36 1.38 Libjpeg 9b 9d Libmd -- 1.0.4 Libtiff 4.0.10 4.3.0 Libx11 1.6.9 1.7.2 Libxt 1.2.0 1.2.1 Netpbm 10.86.99 10.73.38 OpenBLAS 0.3.10 0.3.18 OpenMPI 4.0.4 4.1.1 Pixman 0.38.0 0.40.0 Python 3.8.5 3.10.0 R 4.0.2 4.1.2 SWIG 3.0.12 4.0.2 Util-linux 2.35 2.37.2 Util-macros 1.19.2 1.19.3 Valgrind 3.15.0 3.18.1 WCSLIB 7.3 7.7 Xcb-proto 1.14 1.14.1 Xorgproto 2020.1 2021.5 Name (Python) Old version New version ------------- ----------- ----------- Astropy 4.0 5.0 Beautifulsoup4 4.7.1 4.10.0 Beniget -- 0.4.1 Cffi 1.12.2 1.15.0 Cryptography 2.6.1 36.0.1 Cycler 0.10.0 0.11.0+} Cython 0.29.21 0.29.24 Esutil 0.6.4 0.6.9 Extension-helpers -- 0.1 Galsim 2.2.1 2.3.3 Gast -- 0.5.3 Jinja2 -- 3.0.3 MPI4py 3.0.3 3.1.3 Markupsafe -- 2.0.1 Numpy 1.19.1 1.21.3 Packaging -- 21.3 Pillow -- 8.4.0 Ply -- 3.11 Pyerfa -- 2.0.0.1 Pyparsing 2.3.1 3.0.4 Pythran -- 0.11.0 Scipy 1.5.2 1.7.3 Setuptools 41.6.0 58.3.0 Six 1.12.0 1.16.0 Uncertainties 3.1.2 3.1.6 Wheel -- 0.37.0 Name (R) Old version New version -------- ----------- ----------- Cli -- 2.5.0 Colorspace -- 2.0-1 Cowplot -- 1.1.1 Crayon -- 1.4.1 Digest -- 0.6.27 Ellipsis -- 0.3.2 Fansi -- 0.5.0 Farver -- 2.1.0 Ggplot2 -- 3.3.4 Glue -- 1.4.2 GridExtra -- 2.3 Gtable -- 0.3.0 Isoband -- 0.2.4 Labeling -- 0.4.2 Lifecycle -- 1.0.0 Magrittr -- 2.0.1 MASS -- 7.3-54 Mgcv -- 1.8-36 Munsell -- 0.5.0 Pillar -- 1.6.1 R-Pkgconfig -- 2.0.3 R6 -- 2.5.0 RColorBrewer -- 1.1-2 Rlang -- 0.4.11 Scales -- 1.1.1 Tibble -- 3.1.2 Utf8 -- 1.2.1 Vctrs -- 0.3.8 ViridisLite -- 0.4.0 Withr -- 2.4.2 --- tex/src/delete-me-image-histogram.tex | 2 +- tex/src/delete-me-squared.tex | 2 +- tex/src/preamble-biblatex.tex | 8 ++++---- tex/src/preamble-maneage-default-style.tex | 4 ++-- tex/src/preamble-maneage.tex | 2 +- tex/src/preamble-pgfplots.tex | 16 ++++++++-------- tex/src/preamble-project.tex | 6 +++--- tex/src/references.tex | 28 +++++++++++++++------------- 8 files changed, 35 insertions(+), 33 deletions(-) (limited to 'tex/src') diff --git a/tex/src/delete-me-image-histogram.tex b/tex/src/delete-me-image-histogram.tex index 8b5e4d9..4648fe6 100644 --- a/tex/src/delete-me-image-histogram.tex +++ b/tex/src/delete-me-image-histogram.tex @@ -1,6 +1,6 @@ %% Plot the demonstration image and its histogram. % -%% Copyright (C) 2019-2021 Mohammad Akhlaghi +%% Copyright (C) 2019-2022 Mohammad Akhlaghi % %% This file is free software: you can redistribute it and/or modify it %% under the terms of the GNU General Public License as published by the diff --git a/tex/src/delete-me-squared.tex b/tex/src/delete-me-squared.tex index 9f80b39..f8e29cc 100644 --- a/tex/src/delete-me-squared.tex +++ b/tex/src/delete-me-squared.tex @@ -1,6 +1,6 @@ %% PGFPlots code to plot a random set of numbers as demo %% -%% Copyright (C) 2019-2021 Mohammad Akhlaghi +%% Copyright (C) 2019-2022 Mohammad Akhlaghi % %% This file is free software: you can redistribute it and/or modify it %% under the terms of the GNU General Public License as published by the diff --git a/tex/src/preamble-biblatex.tex b/tex/src/preamble-biblatex.tex index e65c732..2ac18d9 100644 --- a/tex/src/preamble-biblatex.tex +++ b/tex/src/preamble-biblatex.tex @@ -7,12 +7,12 @@ %% just be copied there and used. %% %% USAGE: -%% - `tex/src/references.tex': the file containing Bibtex source of each -%% reference. The file suffix doesn't have to be `.bib'. This naming +%% - 'tex/src/references.tex': the file containing Bibtex source of each +%% reference. The file suffix doesn't have to be '.bib'. This naming %% helps in clearly identifying the files and avoiding places that -%% complain about `.bib' files. +%% complain about '.bib' files. % -%% Copyright (C) 2018-2021 Mohammad Akhlaghi +%% Copyright (C) 2018-2022 Mohammad Akhlaghi % %% This file is free software: you can redistribute it and/or modify it %% under the terms of the GNU General Public License as published by the diff --git a/tex/src/preamble-maneage-default-style.tex b/tex/src/preamble-maneage-default-style.tex index 0f1c84a..10a61ad 100644 --- a/tex/src/preamble-maneage-default-style.tex +++ b/tex/src/preamble-maneage-default-style.tex @@ -4,9 +4,9 @@ %% another style. This is done because this LaTeX build is meant to be an %% initial/internal phase or part of a larger effort, so it has a basic %% style defined here as a preamble. To ignore it, uncomment or delete the -%% respective line in `paper.tex'. +%% respective line in 'paper.tex'. % -%% Copyright (C) 2019-2021 Mohammad Akhlaghi +%% Copyright (C) 2019-2022 Mohammad Akhlaghi % %% This file is free software: you can redistribute it and/or modify it %% under the terms of the GNU General Public License as published by the diff --git a/tex/src/preamble-maneage.tex b/tex/src/preamble-maneage.tex index 2f2b393..6875e37 100644 --- a/tex/src/preamble-maneage.tex +++ b/tex/src/preamble-maneage.tex @@ -1,6 +1,6 @@ %% Preamble for Maneage-related features. % -%% Copyright (C) 2020-2021 Mohammad Akhlaghi +%% Copyright (C) 2020-2022 Mohammad Akhlaghi % %% This LaTeX file is part of Maneage. Maneage is free software: you can %% redistribute it and/or modify it under the terms of the GNU General diff --git a/tex/src/preamble-pgfplots.tex b/tex/src/preamble-pgfplots.tex index a2bf603..75119d6 100644 --- a/tex/src/preamble-pgfplots.tex +++ b/tex/src/preamble-pgfplots.tex @@ -4,7 +4,7 @@ %% PGFPLOTS is a package in (La)TeX for making plots internally. It fits %% nicely with the purpose of a reproducible project. But it isn't %% mandatory. Therefore if you don't need it, just comment/delete the line -%% that includes this file in the top LaTeX source (`paper.tex'). +%% that includes this file in the top LaTeX source ('paper.tex'). % %% However, TiKZ and PGFPlots are the recommended way to include figures %% and plots in your paper. There are two main reasons: 1) it follows the @@ -29,18 +29,18 @@ %% %% USAGE: % -%% - All plots are made within a `tikz' directory (that must already be +%% - All plots are made within a 'tikz' directory (that must already be %% present in the location LaTeX is run). % -%% - Use `\includetikz{XXXX}' to make/use the figure. If a `makepdf' LaTeX -%% macro is not defined, then \includetikz will assume a `XXXX.pdf' file -%% exists in `tex/tikz' and simply import it. If `makepdf' is defined, +%% - Use '\includetikz{XXXX}' to make/use the figure. If a 'makepdf' LaTeX +%% macro is not defined, then \includetikz will assume a 'XXXX.pdf' file +%% exists in 'tex/tikz' and simply import it. If 'makepdf' is defined, %% then TiKZ/PGFPlot will be called to (possibly) build the plot based -%% on `tex/XXXX.tex'. Note that if the contents of `tex/src/XXXX.tex' +%% on 'tex/XXXX.tex'. Note that if the contents of 'tex/src/XXXX.tex' %% hasn't changed since the last build. TiKZ/PGFPlots won't rebuild the %% plot. % -%% Copyright (C) 2018-2021 Mohammad Akhlaghi +%% Copyright (C) 2018-2022 Mohammad Akhlaghi % %% This file is part of Maneage (https://maneage.org). % @@ -107,7 +107,7 @@ %% Uncomment the following lines for EPS and PS images. Note that you still -%% have to use the `pdflatex' executable and also add a `[dvips]' option to +%% have to use the 'pdflatex' executable and also add a '[dvips]' option to %% graphicx. %% \tikzset{external/system call={rm -f "\image".eps "\image".ps diff --git a/tex/src/preamble-project.tex b/tex/src/preamble-project.tex index 98e797d..a596aec 100644 --- a/tex/src/preamble-project.tex +++ b/tex/src/preamble-project.tex @@ -4,7 +4,7 @@ %% LaTeX usages. However, if any are not needed in your work, please feel %% free to remove them. % -%% Copyright (C) 2018-2021 Mohammad Akhlaghi +%% Copyright (C) 2018-2022 Mohammad Akhlaghi %% Copyright (C) YYYY Your Name % %% This file is free software: you can redistribute it and/or modify it @@ -43,8 +43,8 @@ \color{black} % Color of main text. \definecolor{DarkBlue}{RGB}{0,0,90} -%% Caption management: The `setspace' package defines the `stretch' -%% variable. `abovecaptionskip' is the distance between the figure and the +%% Caption management: The 'setspace' package defines the 'stretch' +%% variable. 'abovecaptionskip' is the distance between the figure and the %% caption. You can use 'captionof{figure}{...}' to use these custom %% 'figure' caption that is defined here. \usepackage{setspace, caption} diff --git a/tex/src/references.tex b/tex/src/references.tex index 3ca9699..b38706b 100644 --- a/tex/src/references.tex +++ b/tex/src/references.tex @@ -1,7 +1,7 @@ %% Non-software BibTeX entries. The software-specific BibTeX entries are -%% stored in a `*.tex' file under the `tex/dependencies' directory. +%% stored in a '*.tex' file under the 'tex/dependencies' directory. % -%% Copyright (C) 2018-2021 Mohammad Akhlaghi +%% Copyright (C) 2018-2022 Mohammad Akhlaghi % %% Copying and distribution of this file, with or without modification, %% are permitted in any medium without royalty provided the copyright @@ -9,26 +9,28 @@ %% without any warranty. @ARTICLE{maneage, - author = {{Akhlaghi}, Mohammad and {Infante-Sainz}, Ra{\'u}l and - {Roukema}, Boudewijn F. and {Valls-Gabaud}, David and - {Baena-Gall{\'e}}, Roberto}, - title = "{Towards Long-term and Archivable Reproducibility}", - journal = {arXiv e-prints}, - year = 2020, - month = jun, - eid = {arXiv:2006.03018}, - pages = {arXiv:2006.03018}, + author = {{Akhlaghi}, Mohammad and {Infante-Sainz}, Raul and + {Roukema}, Boudewijn F. and {Khellat}, Mohammadreza and + {Valls-Gabaud}, David and {Baena-Galle}, Roberto}, + title = "{Toward Long-Term and Archivable Reproducibility}", + journal = {Computing in Science and Engineering}, + keywords = {Computer Science - Digital Libraries}, + year = 2021, + month = may, + volume = {23}, + number = {3}, + pages = {82-91}, + doi = {10.1109/MCSE.2021.3072860}, archivePrefix = {arXiv}, eprint = {2006.03018}, primaryClass = {cs.DL}, - adsurl = {https://ui.adsabs.harvard.edu/abs/2020arXiv200603018A}, + adsurl = {https://ui.adsabs.harvard.edu/abs/2021CSE....23c..82A}, adsnote = {Provided by the SAO/NASA Astrophysics Data System} } - @ARTICLE{alliez19, author = {{Alliez}, Pierre and {Di Cosmo}, Roberto and {Guedj}, Benjamin and {Girault}, Alain and {Hacid}, Mohand-Said and {Legrand}, Arnaud and -- cgit v1.2.1