<feed xmlns='http://www.w3.org/2005/Atom'>
<title>project.git/tex/src, branch maneage</title>
<subtitle>Core Maneage branch (where all projects derive from)</subtitle>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/'/>
<entry>
<title>All: copyright years updated to 2026</title>
<updated>2026-01-01T18:05:42+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2026-01-01T18:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=d33f7ce35dd3eec4fcb7ee5c30f27b95521e20c7'/>
<id>d33f7ce35dd3eec4fcb7ee5c30f27b95521e20c7</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Configuration: no dependency on /bin/sh and useful run-time options</title>
<updated>2025-02-10T18:34:26+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2024-05-03T11:07:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=3c9bf3aff30f02c7d31bd86f36c4db2520f8ffa4'/>
<id>3c9bf3aff30f02c7d31bd86f36c4db2520f8ffa4</id>
<content type='text'>
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' &amp;
    '--highlight-notes'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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' &amp;
    '--highlight-notes'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright years: updated to 2023, accompanied by some minor fixes</title>
<updated>2023-05-07T09:48:14+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2023-05-07T09:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=644a236b70fd64df6f1526c7e3ca3d148ad08044'/>
<id>644a236b70fd64df6f1526c7e3ca3d148ad08044</id>
<content type='text'>
SUMMARY: just house-cleaning, no need to do anything major in your
branch. Just update the copyright years in files that you have added.

Until now, the latest copyright years of the whole Maneage source code was
2022! As of this commit, we have already moved to 2023 for 5 months!
Furthermore, there were a few other minor issues that needed correction:

 - The URL to download input datasets wasn't quoted in 'initialize.mk' or
   the download script! As a result, when the input URL had characters that
   are meaningful to the shell (like '&amp;'), the download command would not
   work.

 - The only program that had 'make check' in the 'basic.mk' programs was
   MPFR. At that stage, we still haven't built our own compiler at this
   stage, this is not accurate.

 - The 'pyerfa' and 'extension-helpers' packages in Python need
   'setuptools_scm' on some systems. But until now, it was not in the list
   of their prerequisites.

With this commit, all the issues above have been corrected.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: just house-cleaning, no need to do anything major in your
branch. Just update the copyright years in files that you have added.

Until now, the latest copyright years of the whole Maneage source code was
2022! As of this commit, we have already moved to 2023 for 5 months!
Furthermore, there were a few other minor issues that needed correction:

 - The URL to download input datasets wasn't quoted in 'initialize.mk' or
   the download script! As a result, when the input URL had characters that
   are meaningful to the shell (like '&amp;'), the download command would not
   work.

 - The only program that had 'make check' in the 'basic.mk' programs was
   MPFR. At that stage, we still haven't built our own compiler at this
   stage, this is not accurate.

 - The 'pyerfa' and 'extension-helpers' packages in Python need
   'setuptools_scm' on some systems. But until now, it was not in the list
   of their prerequisites.

With this commit, all the issues above have been corrected.
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: Software update</title>
<updated>2022-08-13T20:36:13+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-08-05T18:27:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=79ee52ed1e136fbd2592a5c2a058f73024d8b5b0'/>
<id>79ee52ed1e136fbd2592a5c2a058f73024d8b5b0</id>
<content type='text'>
SUMMARY: This is a software update to make Maneage more portable and up to
date. It does not involve any Maneage infrastructure changes. You should
just re-build your project to make sure the updated software haven't
removed/changed any of their features that you were using. In particular,
for Astrometry.net users, please see the respective note in P.S.2 below.

Until now, there have been many updates in the software that are built
within Maneage. The last software upadte was almost one year ago.

With this commit, the software in the P.S.1 have been updated. A
description of notable changes in the software environment is given in
P.S.2. This software environment has been tested on an Arch GNU/Linux,
Debian, CentOS-7 and macOS.

This commit is the merging of 24 individual commits by Raul Infante-Sainz
(who put a lot of energy on porting the software below for macOS, and
updating citations), Boudewijn Roukema (who helped with memory checking for
GCC, and testing on Debian and CentOS), Sepideh Eskandarlou (who tested the
environment) and myself.

Besides the updates in the core software, the followimg improvements have
also been implemented in this commit:

 - When you run './project shell':

   - A welcome message is printed that will remind the caller that they
     have entered a new environment, it will print the location of 'HOME'
     and the location of the shell startup file.

   - The 'reproduce/software/shell/bashrc.sh' is loaded as a startup
     file. This allows you to customize your interactive Maneage shell. A
     default step has already been placed there that will put the git
     branch name (in green) within the shell prompt (which was
     purple). This greatly helps when dealing with directories under Git
     version control. These settings won't bother with Maneage's default
     operations: through environment variables we make sure that these
     './project shell' features will not slow-down the calls to the shell
     within the non-interactive Make calls.

   - The host's 'COLORTERM' is passed to the Maneage environment. It is
     used by some programs that can have color outputs on the terminal.

 - Updates to citations:
   - Numpy and Scipy (as requested on their pages):
     https://numpy.org/citing-numpy and https://scipy.org/citing-scipy
   - Gnuastro: Added https://arxiv.org/abs/1909.11230 which describes major
     updates to Gnuastro after 10 releases.
   - When a software's paper is indexed in the SAO/NASA Astrophysics Data
     System (ADS), Maneage now use the BibTeX entries provided by ADS. This
     helps to give a unified format to most software, and more information
     (like ADS+arXiv hyperlinks in the BibLaTeX compilation of the default
     bibliography).

 - We were able to build this version of Maneage on a Debian system from
   2010 (+12 years ago!). Only three downgrades were necessary in the
   "basic" software (not affecting the high-level science software!). A
   description of the necessary downgrades for such old systems has been
   added in 'README.md'.

P.S.1 List of updated software:

 Basic software:
   cURL                                7.79.1    --&gt;  7.84.0
   Dash                                0.5.11.5  --&gt;  0.5.11-057cd65
   File                                5.41      --&gt;  5.42
   GNU AWK                             5.1.0     --&gt;  5.1.1
   GNU Bash                            5.1.8     --&gt;  5.2-rc2
   GNU Binutils                        2.37      --&gt;  2.39
   GNU Compiler Collection (GCC)       11.2.1    --&gt;  12.1.0
   GNU Findutils                       4.8.0     --&gt;  4.9.0
   GNU Gzip                            1.11      --&gt;  1.12
   GNU Help2man                        1.48.5    --&gt;  1.49.2
   GNU Integer Set Library (ISL)       0.18      --&gt;  0.24
   GNU Libtool                         2.4.6     --&gt;  2.4.7
   GNU Nano                            6.0       --&gt;  6.4
   GNU Readline                        8.1.1     --&gt;  8.2-rc2
   GNU libiconv                        0.16      --&gt;  0.17
   Git                                 2.36.0    --&gt;  2.37.1
   OpenSSL                             3.0.0     --&gt;  3.0.5
   PatchELF                            0.13      --&gt;  0.15.0
   Perl                                5.34.0    --&gt;  5.36.0

 High-level software:
   Astrometry.net                      0.89      --&gt;  0.91
   CFITSIO                             4.0.0     --&gt;  4.1.0
   CMake                               3.21.4    --&gt;  3.24.0
   GNU Astronomy Utilities (Gnuastro)  0.16.1    --&gt;  0.18
   GPL Ghostscript                     9.55.0    --&gt;  9.56.1
   HDF5                                1.10.5    --&gt;  1.13.1
   Libjpeg                             9d        --&gt;  9e
   Libtiff                             4.3.0     --&gt;  4.4.0
   OpenBLAS                            0.3.18    --&gt;  0.3.21
   PLplot                              n/a       --&gt;  5.15.0
   Python                              3.10.0    --&gt;  3.10.6
   SCAMP                               2.6.7     --&gt;  2.10.0
   SWarp                               2.38.0    --&gt;  2.41.5
   Util-Linux                          2.37.2    --&gt;  2.38.1
   Vim                                 8.2       --&gt;  9.0
   WCSLIB                              7.7       --&gt;  7.11

 X.org packages (used by graphical software like Ghostscript and LaTeX):
   Fontconfig                          2.13.94   --&gt;  2.14.0
   LibX11                              1.7.2     --&gt;  1.8
   LibXCB                              1.14      --&gt;  1.15
   XCB-proto                           1.14.1    --&gt;  1.15
   Xorg-proto                          2021.5    --&gt;  2022.1

 Python modules:
   Astropy                             5.0       --&gt;  5.1
   GalSim                              2.3.3     --&gt;  2.3.5

P.S.2: Notable points regarding the software environment:

 - Two new links from the host's low-level tools are now included in
   Maneage's build environment:
   - On GNU/Linux systems, the host's 'ldd' is linked inside the custom
     environment. This belongs to the GNU C Library (which is not yet
     installed in Maneage). But helps in checking the linking status of the
     binaries on GNU/Linux systems.
   - On macOS: the 'codesign' binary is included, which is used by GNU
     Emacs on macOS to sign the built executable.

 - GNU Bison has been moved in basic software (necessary for GNU Binutils).

 - The Zip and Unzip programs have been moved as high-level software that
   have to be manually requested when necessary. This is because they are
   not used by any of the basic software anymore. They were just installed
   as dependencies of GNU Tar to be close the other compression
   programs. Also, in the past we would use the original tarballs, and some
   (for example Numpy) were distributed in Zip format. However, by default,
   we now use a custom Lzip tarball and don't need Zip or Unzip. This was
   suggested by Zahra Sharbaf and Raul Infante-Sainz.

 - Some minor edits in 'reproduce/software/shell/tarball-prepare.sh'. In
   particular the 'awk' command was effectively just replacing a '_' with
   '-', so it just uses a simple SED expression instead.

 - Fixed bug 62700 (https://savannah.nongnu.org/bugs/index.php?62700) by
   compiling 'xz' with a patched version of the xz source file
   'src/liblzma/liblzma.map'.

 - Astrometry.net doesn't depend on NetPBM any more. NetPBM (and its
   dependencies) were causing many crashes on macOS and it also a very
   strange build system that is hard to maintain. Astrometry.net uses it to
   take images as input. However, it isn't necessary when you provide
   Astrometry.net with a catalog. Therefore, Raul added some instructions
   on how to run astrometry from your own custom X-Y catalog. These
   instruction can be seen on top of the build rule of Astrometry.net in
   'reproduce/software/make/high-level.mk'.

 - h5py has been removed as a dependency of Astropy. It is an optional
   dependency to write tables into HDF5 format. But since we couldn't get
   it to build on macOS it has been removed. None of the current Maneage
   users/developers also use this feature of Astropy!

 - PLplot is added a new software, but not a default pre-requisite of SCAMP
   (which can use it to generate figures), because there were many build
   problems on macOS. Instructions have been added on top of SCAMP on how
   to add PLplot as a dependency.

 - With the aim of being able to install Plplot on macOS, we have wrote
   several lines to fix header problems. However, we didn't succeed. In any
   case we are leaving these lines in case they are useful in the future.

 - The '-Wno-nullability-completeness' compiler flag (which is primarily
   necessary for macOS) is now only added for macOS systems. It was causing
   many warnings of un-recognized option in GNU/Linux systems.

 - The 'mkswap' program of Util-Linux has been disabled because it caused
   crashes on older kernels. Generally, its not necessary for a Maneage
   project because it needs root permissions to run!

 - LibXT (of the x.org software) has been added as a dependency of Cairo.

 - ImageMagick and Lzip were using the host's C++ standard library! But on
   GNU/Linux we build our own C++ Standard Library with GCC, so with this
   commit, they properly link with Maneage's C++ standard library.

 - ImageMagick on macOS couldn't properly link with Maneage's Ghostscript
   library! This has been fixed using macOS's install_name_tool.

 - Necessary RAM to build GCC on GNU/Linux systems changed to ~8GB, see
   https://savannah.nongnu.org/task/?16244#comment12

 - Pythran is no longer as prerequisite of Scipy. Until now, Pythran was a
   prerequisite of Scipy. But we noticed that it is optional and was
   causing problems on macOS.

 - The URLs of some of the software have been updated in
   'reproduce/software/config/urls.conf'. By default, these are all
   commented, but they can be useful when searching for new versions or
   when a project needs custom software that is not (yet) in Maneage.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SUMMARY: This is a software update to make Maneage more portable and up to
date. It does not involve any Maneage infrastructure changes. You should
just re-build your project to make sure the updated software haven't
removed/changed any of their features that you were using. In particular,
for Astrometry.net users, please see the respective note in P.S.2 below.

Until now, there have been many updates in the software that are built
within Maneage. The last software upadte was almost one year ago.

With this commit, the software in the P.S.1 have been updated. A
description of notable changes in the software environment is given in
P.S.2. This software environment has been tested on an Arch GNU/Linux,
Debian, CentOS-7 and macOS.

This commit is the merging of 24 individual commits by Raul Infante-Sainz
(who put a lot of energy on porting the software below for macOS, and
updating citations), Boudewijn Roukema (who helped with memory checking for
GCC, and testing on Debian and CentOS), Sepideh Eskandarlou (who tested the
environment) and myself.

Besides the updates in the core software, the followimg improvements have
also been implemented in this commit:

 - When you run './project shell':

   - A welcome message is printed that will remind the caller that they
     have entered a new environment, it will print the location of 'HOME'
     and the location of the shell startup file.

   - The 'reproduce/software/shell/bashrc.sh' is loaded as a startup
     file. This allows you to customize your interactive Maneage shell. A
     default step has already been placed there that will put the git
     branch name (in green) within the shell prompt (which was
     purple). This greatly helps when dealing with directories under Git
     version control. These settings won't bother with Maneage's default
     operations: through environment variables we make sure that these
     './project shell' features will not slow-down the calls to the shell
     within the non-interactive Make calls.

   - The host's 'COLORTERM' is passed to the Maneage environment. It is
     used by some programs that can have color outputs on the terminal.

 - Updates to citations:
   - Numpy and Scipy (as requested on their pages):
     https://numpy.org/citing-numpy and https://scipy.org/citing-scipy
   - Gnuastro: Added https://arxiv.org/abs/1909.11230 which describes major
     updates to Gnuastro after 10 releases.
   - When a software's paper is indexed in the SAO/NASA Astrophysics Data
     System (ADS), Maneage now use the BibTeX entries provided by ADS. This
     helps to give a unified format to most software, and more information
     (like ADS+arXiv hyperlinks in the BibLaTeX compilation of the default
     bibliography).

 - We were able to build this version of Maneage on a Debian system from
   2010 (+12 years ago!). Only three downgrades were necessary in the
   "basic" software (not affecting the high-level science software!). A
   description of the necessary downgrades for such old systems has been
   added in 'README.md'.

P.S.1 List of updated software:

 Basic software:
   cURL                                7.79.1    --&gt;  7.84.0
   Dash                                0.5.11.5  --&gt;  0.5.11-057cd65
   File                                5.41      --&gt;  5.42
   GNU AWK                             5.1.0     --&gt;  5.1.1
   GNU Bash                            5.1.8     --&gt;  5.2-rc2
   GNU Binutils                        2.37      --&gt;  2.39
   GNU Compiler Collection (GCC)       11.2.1    --&gt;  12.1.0
   GNU Findutils                       4.8.0     --&gt;  4.9.0
   GNU Gzip                            1.11      --&gt;  1.12
   GNU Help2man                        1.48.5    --&gt;  1.49.2
   GNU Integer Set Library (ISL)       0.18      --&gt;  0.24
   GNU Libtool                         2.4.6     --&gt;  2.4.7
   GNU Nano                            6.0       --&gt;  6.4
   GNU Readline                        8.1.1     --&gt;  8.2-rc2
   GNU libiconv                        0.16      --&gt;  0.17
   Git                                 2.36.0    --&gt;  2.37.1
   OpenSSL                             3.0.0     --&gt;  3.0.5
   PatchELF                            0.13      --&gt;  0.15.0
   Perl                                5.34.0    --&gt;  5.36.0

 High-level software:
   Astrometry.net                      0.89      --&gt;  0.91
   CFITSIO                             4.0.0     --&gt;  4.1.0
   CMake                               3.21.4    --&gt;  3.24.0
   GNU Astronomy Utilities (Gnuastro)  0.16.1    --&gt;  0.18
   GPL Ghostscript                     9.55.0    --&gt;  9.56.1
   HDF5                                1.10.5    --&gt;  1.13.1
   Libjpeg                             9d        --&gt;  9e
   Libtiff                             4.3.0     --&gt;  4.4.0
   OpenBLAS                            0.3.18    --&gt;  0.3.21
   PLplot                              n/a       --&gt;  5.15.0
   Python                              3.10.0    --&gt;  3.10.6
   SCAMP                               2.6.7     --&gt;  2.10.0
   SWarp                               2.38.0    --&gt;  2.41.5
   Util-Linux                          2.37.2    --&gt;  2.38.1
   Vim                                 8.2       --&gt;  9.0
   WCSLIB                              7.7       --&gt;  7.11

 X.org packages (used by graphical software like Ghostscript and LaTeX):
   Fontconfig                          2.13.94   --&gt;  2.14.0
   LibX11                              1.7.2     --&gt;  1.8
   LibXCB                              1.14      --&gt;  1.15
   XCB-proto                           1.14.1    --&gt;  1.15
   Xorg-proto                          2021.5    --&gt;  2022.1

 Python modules:
   Astropy                             5.0       --&gt;  5.1
   GalSim                              2.3.3     --&gt;  2.3.5

P.S.2: Notable points regarding the software environment:

 - Two new links from the host's low-level tools are now included in
   Maneage's build environment:
   - On GNU/Linux systems, the host's 'ldd' is linked inside the custom
     environment. This belongs to the GNU C Library (which is not yet
     installed in Maneage). But helps in checking the linking status of the
     binaries on GNU/Linux systems.
   - On macOS: the 'codesign' binary is included, which is used by GNU
     Emacs on macOS to sign the built executable.

 - GNU Bison has been moved in basic software (necessary for GNU Binutils).

 - The Zip and Unzip programs have been moved as high-level software that
   have to be manually requested when necessary. This is because they are
   not used by any of the basic software anymore. They were just installed
   as dependencies of GNU Tar to be close the other compression
   programs. Also, in the past we would use the original tarballs, and some
   (for example Numpy) were distributed in Zip format. However, by default,
   we now use a custom Lzip tarball and don't need Zip or Unzip. This was
   suggested by Zahra Sharbaf and Raul Infante-Sainz.

 - Some minor edits in 'reproduce/software/shell/tarball-prepare.sh'. In
   particular the 'awk' command was effectively just replacing a '_' with
   '-', so it just uses a simple SED expression instead.

 - Fixed bug 62700 (https://savannah.nongnu.org/bugs/index.php?62700) by
   compiling 'xz' with a patched version of the xz source file
   'src/liblzma/liblzma.map'.

 - Astrometry.net doesn't depend on NetPBM any more. NetPBM (and its
   dependencies) were causing many crashes on macOS and it also a very
   strange build system that is hard to maintain. Astrometry.net uses it to
   take images as input. However, it isn't necessary when you provide
   Astrometry.net with a catalog. Therefore, Raul added some instructions
   on how to run astrometry from your own custom X-Y catalog. These
   instruction can be seen on top of the build rule of Astrometry.net in
   'reproduce/software/make/high-level.mk'.

 - h5py has been removed as a dependency of Astropy. It is an optional
   dependency to write tables into HDF5 format. But since we couldn't get
   it to build on macOS it has been removed. None of the current Maneage
   users/developers also use this feature of Astropy!

 - PLplot is added a new software, but not a default pre-requisite of SCAMP
   (which can use it to generate figures), because there were many build
   problems on macOS. Instructions have been added on top of SCAMP on how
   to add PLplot as a dependency.

 - With the aim of being able to install Plplot on macOS, we have wrote
   several lines to fix header problems. However, we didn't succeed. In any
   case we are leaving these lines in case they are useful in the future.

 - The '-Wno-nullability-completeness' compiler flag (which is primarily
   necessary for macOS) is now only added for macOS systems. It was causing
   many warnings of un-recognized option in GNU/Linux systems.

 - The 'mkswap' program of Util-Linux has been disabled because it caused
   crashes on older kernels. Generally, its not necessary for a Maneage
   project because it needs root permissions to run!

 - LibXT (of the x.org software) has been added as a dependency of Cairo.

 - ImageMagick and Lzip were using the host's C++ standard library! But on
   GNU/Linux we build our own C++ Standard Library with GCC, so with this
   commit, they properly link with Maneage's C++ standard library.

 - ImageMagick on macOS couldn't properly link with Maneage's Ghostscript
   library! This has been fixed using macOS's install_name_tool.

 - Necessary RAM to build GCC on GNU/Linux systems changed to ~8GB, see
   https://savannah.nongnu.org/task/?16244#comment12

 - Pythran is no longer as prerequisite of Scipy. Until now, Pythran was a
   prerequisite of Scipy. But we noticed that it is optional and was
   causing problems on macOS.

 - The URLs of some of the software have been updated in
   'reproduce/software/config/urls.conf'. By default, these are all
   commented, but they can be useful when searching for new versions or
   when a project needs custom software that is not (yet) in Maneage.
</pre>
</div>
</content>
</entry>
<entry>
<title>initialize.mk: Git call in variable works with LD_LIBRARY_PATH</title>
<updated>2022-05-09T23:46:37+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2022-05-09T23:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=4f376e9f27209fb5a69addcc56a37abe8fb8ef01'/>
<id>4f376e9f27209fb5a69addcc56a37abe8fb8ef01</id>
<content type='text'>
Until now, the '$(project-commit-hash)' Make variable of 'initialize.mk'
simply called 'git' to find the commit hash. However, due to one of the
recent software updates, we noticed that this command is no longer working
(and the project commit hash wasn't getting printed in the PDF)!  The
problem was that Maneage's Git, couldn't find the 'libiconv' library that
it was built with.

With this commit, the '$(shell' command that calls Git, first exports
'LD_LIBRARY_PATH' to Maneage's software build directory. As a result, the
Git command can work and will report the commit as a LaTeX macro to be used
in the paper. To avoid relying on PATH outside of Make recipes, we now also
directly call the Git executable with Maneage.

Some other minor issues have been found and fixed in this commit:

 - README-hacking.md: some minor edits and typo corrections.

 - initialize.mk: the '$(curdir)' variable is now used in several places
   that we were calling 'pwd'.

 - versions.conf: 'xlsxio-version' now included with other programs. Until
   now it was commented because GCC 11.1.0 had issues with it. However, GCC
   11.2.0 doesn't have a problem any more, so it has been returned to the
   list of all high-level programs.

 - xorg.mk: used same format to comment recipe lines as the other Makefiles
   (a '#' followed by a TAB).

 - preamble-pgfplots.tex: lines to comment for building an EPS figure with
   PGFPlots have been re-formatted to be more human-readable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the '$(project-commit-hash)' Make variable of 'initialize.mk'
simply called 'git' to find the commit hash. However, due to one of the
recent software updates, we noticed that this command is no longer working
(and the project commit hash wasn't getting printed in the PDF)!  The
problem was that Maneage's Git, couldn't find the 'libiconv' library that
it was built with.

With this commit, the '$(shell' command that calls Git, first exports
'LD_LIBRARY_PATH' to Maneage's software build directory. As a result, the
Git command can work and will report the commit as a LaTeX macro to be used
in the paper. To avoid relying on PATH outside of Make recipes, we now also
directly call the Git executable with Maneage.

Some other minor issues have been found and fixed in this commit:

 - README-hacking.md: some minor edits and typo corrections.

 - initialize.mk: the '$(curdir)' variable is now used in several places
   that we were calling 'pwd'.

 - versions.conf: 'xlsxio-version' now included with other programs. Until
   now it was commented because GCC 11.1.0 had issues with it. However, GCC
   11.2.0 doesn't have a problem any more, so it has been returned to the
   list of all high-level programs.

 - xorg.mk: used same format to comment recipe lines as the other Makefiles
   (a '#' followed by a TAB).

 - preamble-pgfplots.tex: lines to comment for building an EPS figure with
   PGFPlots have been re-formatted to be more human-readable.
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: Updates to almost all software</title>
<updated>2022-01-21T00:15:24+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2021-10-04T00:51:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=8463df97c6f26ec4d22cd5828bb0574fd5e450d2'/>
<id>8463df97c6f26ec4d22cd5828bb0574fd5e450d2</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Default LaTeX preamble: some packages moved to preamble-project.tex</title>
<updated>2021-01-12T16:17:18+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2021-01-12T16:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=ecbaadcc88ae38adb34e08755459318372ec13b8'/>
<id>ecbaadcc88ae38adb34e08755459318372ec13b8</id>
<content type='text'>
Until now, important LaTeX packages like 'caption' (for managing figure
captions), 'hyperref' (for managing links) and 'xcolor' (for managing
colors) were being loaded inside the optional
'tex/src/preamble-maneagge-defualt-style.tex' file. We recommend to remove
this file from loading when you use custom journal sytels. However, these
packages will often be necessary after loading special journal styles also.

With this commit, these packages are now loaded into LaTeX as part of the
'tex/src/preamble-project.tex' file. This file is in charge of LaTeX
settings that are custom to the project and independent of its style.

Several other small corrections are made with this commit:

 - I noticed that './project make texclean' crashes if no PDF exists in the
   working directory! So a '-f' was added to the 'rm' command of the
   'texclean' rule.

 - As part of the LaTeX Hyperref, we can set general metadata or properties
   for the PDF (that aren't written into the printable PDF, but into the
   file metadata). They can be viewed in many PDF viewers as PDF
   properties. Until now, we were only using the '\projecttitle' macro here
   to write the paper's title. However, thanks to the recently added
   'reproduce/analysis/config/metadata.conf', we now have a lot of useful
   information that can also go here. So the 'metadata-copyright-owner' is
   now used to define the PDF author, and the project's
   'metadata-git-repository' and commit hash are written into the PDF
   subject. But to import these, it was necessary to define them as LaTeX
   macros, hence the addition of these macros in 'initialize.mk'.

 - Some extra packages that aren't necessary to build the default PDF were
   removed in 'preamble-project.tex'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, important LaTeX packages like 'caption' (for managing figure
captions), 'hyperref' (for managing links) and 'xcolor' (for managing
colors) were being loaded inside the optional
'tex/src/preamble-maneagge-defualt-style.tex' file. We recommend to remove
this file from loading when you use custom journal sytels. However, these
packages will often be necessary after loading special journal styles also.

With this commit, these packages are now loaded into LaTeX as part of the
'tex/src/preamble-project.tex' file. This file is in charge of LaTeX
settings that are custom to the project and independent of its style.

Several other small corrections are made with this commit:

 - I noticed that './project make texclean' crashes if no PDF exists in the
   working directory! So a '-f' was added to the 'rm' command of the
   'texclean' rule.

 - As part of the LaTeX Hyperref, we can set general metadata or properties
   for the PDF (that aren't written into the printable PDF, but into the
   file metadata). They can be viewed in many PDF viewers as PDF
   properties. Until now, we were only using the '\projecttitle' macro here
   to write the paper's title. However, thanks to the recently added
   'reproduce/analysis/config/metadata.conf', we now have a lot of useful
   information that can also go here. So the 'metadata-copyright-owner' is
   now used to define the PDF author, and the project's
   'metadata-git-repository' and commit hash are written into the PDF
   subject. But to import these, it was necessary to define them as LaTeX
   macros, hence the addition of these macros in 'initialize.mk'.

 - Some extra packages that aren't necessary to build the default PDF were
   removed in 'preamble-project.tex'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright year updated in all source files</title>
<updated>2021-01-02T15:52:31+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2021-01-02T15:52:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=ff43476c4d293fda8765cfddbb1378f1b910218c'/>
<id>ff43476c4d293fda8765cfddbb1378f1b910218c</id>
<content type='text'>
Having entered 2021, it was necessary to update the copyright years at the
top of the source files. We recommend that you do this for all your
project-specific source files also.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having entered 2021, it was necessary to update the copyright years at the
top of the source files. We recommend that you do this for all your
project-specific source files also.
</pre>
</div>
</content>
</entry>
<entry>
<title>IMPORTANT: organizational improvements in Maneage TeX sources</title>
<updated>2020-12-01T00:12:11+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-11-30T23:50:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=6ca2fbf925d14fff862889840913e3c89ea8048a'/>
<id>6ca2fbf925d14fff862889840913e3c89ea8048a</id>
<content type='text'>
This only concerns the TeX sources in the default branch. In case you don't
use them, there should only be a clean conflict in 'paper.tex' (that is
obvious and easy to fix). Conflicts may only happen in some of the
'tex/src/preamble-*.tex' files if you have actually changed them for your
project. But generally any conflict that does arise by this commit with
your project branch should be very clear and easy to fix and test.

In short, from now on things will even be easier: any LaTeX configuration
that you want to do for your project can be done in
'tex/src/preamble-project.tex', so you don't have to worry about any other
LaTeX preamble file. They are either templates (like the ones for PGFPlots
and BibLaTeX) or low-level things directly related to Maneage. Until now,
this distinction wasn't too clear.

Here is a summary of the improvements:

 - Two new options to './project make': with '--highlight-new' and
   '--highlight-notes' it is now possible to activate highlighting on the
   command-line. Until now, there was a LaTeX macro for this at the start
   of 'paper.tex' (\highlightchanges). But changing that line would change
   the Git commit hash, making it hard for the readers to trust that this
   is the same PDF. With these two new run-time options, the printed commit
   hash will not changed.

 - paper.tex: the sentences are formatted as one sentence per line (and one
   line per sentence). This helps in version controlling narrative and
   following the changes per sentence. A description of this format (and
   its advantages) is also included in the default text.

 - The internal Maneage preambles have been modified:

    - 'tex/src/preamble-header.tex' and 'tex/src/preamble-style.tex' have
      been merged into one preamble file called
      'tex/src/preamble-maneage-default-style.tex'. This helps a lot in
      simply removing it when you use a journal style file for example.

    - Things like the options to highlight parts of the text are now put in
      a special 'tex/src/preamble-maneage.tex'. This helps highlight that
      these are Maneage-specific features that are independent of the style
      used in the paper.

    - There is a new 'tex/src/preamble-project.tex' that is the place you
      can add your project-specific customizations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This only concerns the TeX sources in the default branch. In case you don't
use them, there should only be a clean conflict in 'paper.tex' (that is
obvious and easy to fix). Conflicts may only happen in some of the
'tex/src/preamble-*.tex' files if you have actually changed them for your
project. But generally any conflict that does arise by this commit with
your project branch should be very clear and easy to fix and test.

In short, from now on things will even be easier: any LaTeX configuration
that you want to do for your project can be done in
'tex/src/preamble-project.tex', so you don't have to worry about any other
LaTeX preamble file. They are either templates (like the ones for PGFPlots
and BibLaTeX) or low-level things directly related to Maneage. Until now,
this distinction wasn't too clear.

Here is a summary of the improvements:

 - Two new options to './project make': with '--highlight-new' and
   '--highlight-notes' it is now possible to activate highlighting on the
   command-line. Until now, there was a LaTeX macro for this at the start
   of 'paper.tex' (\highlightchanges). But changing that line would change
   the Git commit hash, making it hard for the readers to trust that this
   is the same PDF. With these two new run-time options, the printed commit
   hash will not changed.

 - paper.tex: the sentences are formatted as one sentence per line (and one
   line per sentence). This helps in version controlling narrative and
   following the changes per sentence. A description of this format (and
   its advantages) is also included in the default text.

 - The internal Maneage preambles have been modified:

    - 'tex/src/preamble-header.tex' and 'tex/src/preamble-style.tex' have
      been merged into one preamble file called
      'tex/src/preamble-maneage-default-style.tex'. This helps a lot in
      simply removing it when you use a journal style file for example.

    - Things like the options to highlight parts of the text are now put in
      a special 'tex/src/preamble-maneage.tex'. This helps highlight that
      these are Maneage-specific features that are independent of the style
      used in the paper.

    - There is a new 'tex/src/preamble-project.tex' that is the place you
      can add your project-specific customizations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Gnuastro's analysis configuration files removed</title>
<updated>2020-09-24T01:15:40+00:00</updated>
<author>
<name>Mohammad Akhlaghi</name>
<email>mohammad@akhlaghi.org</email>
</author>
<published>2020-09-24T01:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.maneage.org/project.git/commit/?id=ee8c6be24166c16df9cd7fb1912503e25bdfde85'/>
<id>ee8c6be24166c16df9cd7fb1912503e25bdfde85</id>
<content type='text'>
Until now, the core Maneage branch included some configuration files for
Gnuastro's programs. This was actually a remnant of the distant past when
Maneage didn't actually build its own software and we had to rely on the
host's software versions. This file contained the configuration files
specific to Gnuastro for this project and also had a feature to avoid
checking the host's own configuration files.

However, we now build all our software ourselves with fixed configuration
files (for the version that is being installed and its version is
stored). So those extra configuration files were just extra and caused
confusion and problems in some scenarios. With this commit, those extra
files are now removed.

Also, two small issues are also addressed in parallel with this commit:

 - When running './project make clean', the 'hardware-parameters.tex' macro
   file (which is created by './project configure' is not deleted.

 - The project title is now written into the default output's PDF's
   properties (through 'hypersetup' in 'tex/src/preamble-header.tex')
   through the LaTeX macro.

All these issues were found and fixed with the help of Samane Raji.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Until now, the core Maneage branch included some configuration files for
Gnuastro's programs. This was actually a remnant of the distant past when
Maneage didn't actually build its own software and we had to rely on the
host's software versions. This file contained the configuration files
specific to Gnuastro for this project and also had a feature to avoid
checking the host's own configuration files.

However, we now build all our software ourselves with fixed configuration
files (for the version that is being installed and its version is
stored). So those extra configuration files were just extra and caused
confusion and problems in some scenarios. With this commit, those extra
files are now removed.

Also, two small issues are also addressed in parallel with this commit:

 - When running './project make clean', the 'hardware-parameters.tex' macro
   file (which is created by './project configure' is not deleted.

 - The project title is now written into the default output's PDF's
   properties (through 'hypersetup' in 'tex/src/preamble-header.tex')
   through the LaTeX macro.

All these issues were found and fixed with the help of Samane Raji.
</pre>
</div>
</content>
</entry>
</feed>
