Hi (especially fitz),
since a few months, the IRAF source was put into a github repository:
After that, I (and some others) started to look into the current problems of the IRAF code and proposed a number of patches
- Cleanup of the code. Get rid of temporary files, obviously outdated files etc. Some of them even prevented the make process from compilation.
- Fix the remaining problems to compile the code on an arbitrary location and not just in /iraf/iraf/. There were still a few locations with the absolute path hardcoded, which are now removed
- Allow the use of "modern" compilers, like gcc 4.8 and up, or clang. The original code contained dirty non-standard-C hacks that make assumptions on the C compiler which are not true anymore.
- Finish the transition to /bin/sh from (t)csh
- Setup a test environment on travis-ci (and do tests on even more systems, from eight-year-old systems to the just-released Debian release),
- A couple of bug fixes found by code inspection or testing
- and more
As asked by fitz
, all patches
- address specific issues,
- clearly explain what is being addressed, and
- ideally show they work on all 4 supported systems (macosx/macintel/linux/linux64)
However, aside from the initial commit (and one bugfix merge), nothing happened in the repository for more than three months now, The number of pull requests now comes close to 50, and it becomes increasingly more difficult to continue development: since it is unclear which of the patch gets accepted directly, and which may need changes, one cannot base further changes just on the sum of all patches, but also not on the unchanged code (since the original code does not work anymore).
On the other hands, there are people wanting to get IRAF packaged: on Debian, on Ubuntu, on Fedora Linux, on Astroconda, and so on. Others want to port it, for example to the ARM processor. It would be a nightmare if they would all need to individually patch the code instead of relying on a common and commonly discussed development. Look at the past: Fedora Linux started and had some patches, Mageia Linux as well (they even had a package), Debian had something, Ureka and Astroconda had their own patchesfor 2.16; all quite close (what concerns the fixes), and all were broken when 2.16.1 came out (ignoring all the work that has been done outside), and the patches didn't apply anymore. The main idea of having a central repository is to avoid this duplication of work, but this requires that the PRs are not just ignored.
So, what are the plans here? Is there a chance that the current PRs get discussed and finally merged? You (fitz) even expressed the hope
have no time to address it at the moment (or for at least several months unless the awesome power of open source provides a solution that works for all platforms).
which is exactly what happened now. To say: we presented a solution, and we tested it on all the platforms; and even on some more. We are open for the discussion. It is just there. You just need to grab it. But this is now your turn. At least, unless you give someone else you trust the power to review and merge.
But move forward. Hitting the "merge" button takes seconds, and there are bug fixes that are obvious. And the others are well-documented. If you need more information somewhere, just ask and we will provide it.