| Age | Commit message (Collapse) | Author | Lines |
|
Summary: this commit has no effect on your project's analysis steps, just
check the list of changed Python software versions (if you used them).
Until now, the Python packages of Maneage had not been maintained for some
time, there were several portability issues: updates to the GNU C Library
needed an update to some of the basic software, and the latest macOS
features caused some crashes.
With this commit, along with the software version updates of [1], the
removed software of [2] and newly added software of [3], the following
issues in Maneage have been addressed:
- README-hacking:
- Published paper list: Added links to two published papers.
- Publication checklist: added tips on how to squash the full LaTeX
source of a Maneage'd projet (which includes many LaTeX files) into a
single LaTeX file for some journals.
- A new "Maneage Development Workflow" section has been added; see it
for details.
- paper.mk: empty macro files are not included in the built 'project.tex'
since they have no effect and because they can cause problems with
uploading to arXiv (which removes empty files).
- verify.mk: when verification is activated:
- When a macro file does not exist (can happen by mistake), an error is
printed to remind the author.
- Better dealing with empty macro files (no need to add their hash).
- versions.conf: 26 Python packages that cannot currently be built with
the new Python build system of Maneage have been separated and commented
to cause an early crash if they are required; and encourage volunteers
to help update them.
This commit is a git "squash" of contributions from the following people
- Boud Roukema: updated/added Python packages and fixed many portability
issues.
- Faezeh Bidjarchian: fixed some portability issues on macOS.
- Giacomo Lorenzetti: tested and fixed issues in newly added software.
- Khalid Masum: fixed issue with order of LD_LIBRARY_PATH in 'basic.mk'.
- Mohammad Akhlaghi: fixed basic software issues and reviewed edits for
the merge.
- Raul Infante-Sainz: fixed portability issues on macOS.
- Sepideh Eskandarlou: helped in finding the verification fixes.
[1] Updated software
Name Group Version (old -> new)
---- ----- --------------------
GNU Coreutils basic 9.9 -> 9.11
GNU Gettext basic 0.26 -> 1.0
GNU libunistring basic 1.4.1 -> 1.4.2
GNU M4 basic 1.4.20 -> 1.4.21
GNU Nano basic 8.7 -> 9.0
Ninja high-level 1.12.1 -> 1.13.2
OpenMPI high-level 4.1.1 -> 5.0.10
SWIG high-level 4.0.2 -> 4.3.1
Zip high-level 3.0 -> 3.0-15
Astropy python 7.0.1 -> 7.1.0
mpi4py python 3.1.3 -> 4.0.3
setuptools python 75.8.0 -> 80.8.0
[2] Removed software: 'podlators' has been removed from basic software
because the necessary scripts that it provided are included in Perl's
default installation.
[3] New software:
Name Group Version
---- ----- -------
framel high-level 8.47.3
GNU Parallel high-level 20260322
Healpix high-level 3.83-2024Nov13
Metaio high-level 8.5.0-a5da19d
PCRE2 high-level 10.45
SQLite high-level 3.53.0
TCL high-level 9.1a1
TK high-level 9.1a1
tzdb high-level 2026a
lalsuite high-level v7.26-15-g1e4c5e5080
astropy-healpix python 1.1.2
colorama python 0.4.6
cosmodesi-mpytools python 1.0.0-04369fc9
exceptiongroup python 1.3.0
filt-scm python 1.7.0
hatchling python 1.27.0
hatch-vcs python 0.5.0
healpy python 1.18.1
joblib python 1.5.0
igwn-ligolw python 2.1.0
igwn-segments python 2.1.0
iniconfig python 2.1.0
ligo-skymap python 2.4.0
lscsoft-glue python 4.1.0
networkx python 3.5
pandas python 2.2.3
pathspec python 0.12.1
pluggy python 1.6.0
pyfftw python 0.15.1
pygments python 2.19.2
pytest python 8.4.1
python3-fitsio python 1.3.0
pytz python 2025.2
scikit-base python 0.12.2
scikit-learn python 1.6.1
threadpoolctl python 3.6.0
tqdm python 4.67.1
trove-classifiers python 2025.5.9.12
versioneer python 0.29
|
|
Summary: this commit will not affect your project's software or analysis.
Until now, the ending copyright years of all files in Maneage were
2025. But we have already entered 2026 so it is important to update them.
With this commit, the ending copyright year of all files is changed to
2026.
|
|
Summary: this commit involves a major version update of many basic software
and Gnuastro's major dependencies. So it may affect your configuration and
analysis.
Until now, the most recent software updates weren't properly tested on
MacOS, causing the software configuration step to fail. In particular, the
'prep-source.sh' (that corrects any hard-coded '/bin/sh' within the
unpacked tarballs of all software) as well as some issues in the 'tar',
'util-linux' and 'ghostscript' programs. These portability issues were
found and fixed by Raul Infante-Sainz and Giacomo Lorenzetti.
With this commit, those portability issues have been addressed while
updating the following software. Also see notes below the list.
High-level software:
CFITSIO 4.5.0 --> 4.6.3
Ghostscript 10.04.0 --> 10.06.0
Gnuastro 0.23 --> 0.24
Util-linux 2.40.4 --> 2.41.3
WCSLIB 8.4 --> 8.5
Basic software:
cURL 8.11.1 --> 8.17.0
GNU Bash 5.2.37 --> 5.3.9
GNU Binutils 2.43.1 --> 2.45.1
GNU Coreutils 9.6 --> 9.9
GNU Diffutils 3.10 --> 3.12
GNU AWK 5.3.1 --> 5.3.2
GNU GCC 14.2.0 --> 15.2.0
GNU Gettext 0.23.1 --> 0.26
GNU Grep 3.11 --> 3.12
GNU Gzip 1.13 --> 1.14
GNU Libunistring 1.3 --> 1.4.1
GNU M4 1.4.19 --> 1.4.20
GNU MPFR 4.2.1 --> 4.2.2
GNU Nano 8.3 --> 8.7
GNU Readline 8.2.13 --> 8.3.3
Git 2.48.1 --> 2.52.0
Less 668 --> 685
Libxml2 2.13.1 --> 2.15.1
OpenSSL 3.4.0 --> 3.6.0
Perl 5.40.1 --> 5.42.0
The latest versions of Bash and M4 were prepared for the new default C
standard of GCC 15.*, so the '-std=gnu17' was removed for them. Also, while
a new version of Dash was available, it would cause an issue when building
in Apptainer, so it has been described in 'versions.conf' to be aware in
the future updates.
Libgit2 has been removed as a dependency of Gnuastro. The reason is fully
described in the comment on top of Gnuastro's build rule in
'high-level.mk'.
|
|
SUMMARY: no change necessary in your project, this commit only involves
changes in how already-existing software are built. Some handy options have
also been added to the top-level project script and the copyright years
have been updated.
Until now, if the host's '/bin/sh' had conflicts with the Maneage
environment, the configuration of Maneage would crash as soon as we entered
the building of high-level software. The full scenario is described in the
comments of the newly added 'reproduce/software/shell/prep-source.sh'. This
is most relevant when building older Maneage'd project in newer
environments.
With this commit, the following changes were made to avoid the problem
above:
- Maneage edits the source code of all installed software to replace
'/bin/sh' with Maneage's own shell before the programs are
built. Through this, we were able to solve the problem described
above.
- The portable '#!/usr/bin/env sh' shebangs are now used at the start of
the scripts that run during configure time so it uses the first
available shell that it finds in its PATH (the system's before Dash is
built), then Dash, and after Dash is built, Bash.
- For TeXLive, since we don't install it from source, it was necessary to
add the libraries necessary for the local '/bin/sh' in LD_LIBRARY_PATH.
Some high-level options have been added to the './project' script to
simplify certain operations:
--keep-going: do not stop upon the first crash, but keep going on to
build targets until all build-able targets have been built. This is
very useful for debugging large pipelines and allows you to isolate the
problematic part of your project.
--highlight-all: equivalent to calling both '--highlight-new' &
'--highlight-notes'.
|