NFFT / nfft

The official NFFT library repository
https://tu-chemnitz.de/~potts/nfft/
GNU General Public License v2.0
174 stars 46 forks source link

[nfft/support/Portfile] Portfile contains old version number #119

Open kevinmatthes opened 3 years ago

kevinmatthes commented 3 years ago

Line 7 of nfft/support/Portfile contains still the old version number 3.3.2. Can this be updated is this outdated version description still relevant?

michaelquellmalz commented 3 years ago

I do not think that this file is still needed anymore because there is a more recent Portfile available, so we could probably delete it.

jenskeiner commented 3 years ago

The Portfile is maintained in the MacPorts project itself. I always had to create a ticket with them to get it updated. It was put into the NFFT repo just to keep the source. Would actually be best to make updating the Portfile part of the regular release process if it still worth keeping at all. Maintaining packages for various distros can be a lot of work, so automation is key.

Am 19.10.2021 um 13:44 schrieb Michael Quellmalz @.***>:

 I do not think that this file is still needed anymore because there is a more recent Portfile available, so we could probably delete it.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

kevinmatthes commented 3 years ago

How about binding the MacPorts project as a sub-module for our repository? Together with a further build instruction to copy the intended Portfile from the sub-module into the desired directory of our repository, this could automate some of the steps.

Would this work regarding the licenses?

michaelquellmalz commented 3 years ago

That sounds a little complicated for a simple problem. Maybe we just copy the current code to the nfft project and add a comment in the file that it is also in the Macports repo. Then we leave it as is here (no-one seemed to care about it since 3.3.2 anyway).

kevinmatthes commented 3 years ago

Actually, the steps only need to be processed once. Thereby, the latest Portfile will be taken automatically from the concerning project such that the file does not need to be kept up-to-date any longer by this repository.

The steps are as follows:

  1. git rm ./nfft/support/Portfile ; echo 'Portfile' >> .gitignore # remove Portfile from repository
  2. cd ./nfft/support ; git submodule add <URL of repository for Portfiles> # clone source of Portfiles
  3. touch makefile ; <your favourite editor> makefile # define build instructions for automatic copying of the latest Portfile

Within this makefile, the copying steps might be defined as follows:

COPY        := cp
DESTINATION := ./
SOURCE      := # enter actual path of intended file from the submodule here

.PHONY: portfile
portfile:
    $(COPY) $(SOURCE) $(DESTINATION)

This makefile should then be included into the current build routine such that anytime a user builds the software, the latest Portfile will be automatically added to the file system and can hence be used if required. We should then add a note to our README that the submodule needs to be initialised properly after cloning our project.

Please note that the makefile from above is a working one but does not meet the conventions of the here used automake. It was just a sketch for clarification.

michaelquellmalz commented 3 years ago

Until now, we avoided using submodules because basically everyone who clones the repo could/should initialize the submodule. This could probably yield to more support questions because it might cause problems with cloning/building the software for a small benefit. I am still not sure if we really need this file.

kevinmatthes commented 3 years ago

The initialisation of the submodule is done automatically by cloning with the option --recursive, i. e.

git clone --recursive <repository>

Hence, we just would need to add a comment in README.md that this option should be passed when cloning. We would just need to pull from the source repository of the submodule about once half a year. The effort of downloading, adjusting and saving the new version of the Portfile would be replaced by this somehow routine of checking for significant updates regularly.