Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proj: rename port to proj5; migrate proj[4-9] ports to subports of proj #23462

Merged
merged 6 commits into from
Sep 20, 2024

Conversation

nilason
Copy link
Contributor

@nilason nilason commented Apr 11, 2024

Description

This is an attempt to address the issue raised on macports-dev, regarding proj ports.

  • Rename the port proj to proj5.
  • Migrate all ports proj[4-9] to be subports of the new stub port proj.
  • The purpose of the new stub proj, is to install the latest proj[N] port (presently proj9).
Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 14.4.1 23E224 arm64
Xcode 15.3 15E204a

Verification

Have you

  • followed our Commit Message Guidelines?
  • squashed and minimized your commits?
  • checked that there aren't other open pull requests for the same change?
  • referenced existing tickets on Trac with full URL in commit message?
  • checked your Portfile with port lint --nitpick?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?
  • checked that the Portfile's most important variants haven't been broken?

@macportsbot
Copy link

Notifying maintainers:
@tenomoto for port ncarg.
@stromnov for port proj6, proj8, proj7, proj9.
@mklein-de for port qlandkartegt.
@MarcusCalhoun-Lopez for port gerris.

@nilason
Copy link
Contributor Author

nilason commented Apr 12, 2024

The macOS 14 runner failed on rev-bumped ncarg and gerris. The reasons are independent of this PR, see ncarg ticket gerris ticket.

@Dave-Allured
Copy link
Contributor

I support this proj refactor. I suggest that you drop changes for messed up ports gerris and ncarg, file separate PR's or track tickets for them later. That should fix CI and get this moving.

@nilason
Copy link
Contributor Author

nilason commented Apr 24, 2024

I support this proj refactor.

Great!

I suggest that you drop changes for messed up ports gerris and ncarg, file separate PR's or track tickets for them later. That should fix CI and get this moving.

The dependencies for gerris and ncarg changes, (actually only by name, as the dependency remain PROJ v.5), so including them is necessary. This could (and should) be merged in spite of the failed runner (as the cause of that is independent of this PR and reported).

@stromnov Being the maintainer for most of the proj ports, it would be good to hear your opinion of this. I'd appreciate this finally moving on.

@Dave-Allured
Copy link
Contributor

Dave-Allured commented Apr 24, 2024

I suggest that you drop changes for messed up ports gerris and ncarg, file separate PR's or track tickets for them later. That should fix CI and get this moving.

The dependencies for gerris and ncarg changes, (actually only by name, as the dependency remain PROJ v.5), so including them is necessary. This could (and should) be merged in spite of the failed runner (as the cause of that is independent of this PR and reported).

I agree that those simple changes for gerris and ncarg are necessary. However, as a Macports newbie, I was recently lectured on the importance of all CI runners passing before merge. Therefore I see dropping those two ports and breaking them temporarily, as the easy way forward.

That rule probably applies only to newbies, not experienced devs. ;-) If you can convince the powers that be, to merge in the face of unrelated CI fails, then yes that would be best.

@nilason
Copy link
Contributor Author

nilason commented Jul 1, 2024

I have now rebased. The failing CI is caused by failure to build gerris on macos-14 reported with https://trac.macports.org/ticket/69726, which is not related to this PR.

Please, could we move forward with this. This has now been lingering here for soon 3 months.

@Dave-Allured
Copy link
Contributor

could we move forward with this

Macports requires that all CI checks pass. You are not obligated to fix unrelated ports, especially ones like gerris which are not popular and not being maintained. Your only expedient recourse is to drop the commit for gerris. That port can be fixed later for the proj update, if another volunteer becomes interested.

I started to look at gerris, and decided it was more work than I could take on at that time. In case anyone else is interested, I thought that autoconf with possible configure.ac updates might be a good way forward.

@nilason
Copy link
Contributor Author

nilason commented Jul 1, 2024

Macports requires that all CI checks pass.

If this is technically necessary to for all CIs to pass, to enable merge of a PR, I'll gladly drop gerris from this PR. gerris seems to have been abandoned upstream too, with more than 10 years since latest update. Would be good to get some feedback on that issue (too) from a maintainer. Too bad if that broken port alone holds this back.

I started to look at gerris, and decided it was more work than I could take on at that time. In case anyone else is interested, I thought that autoconf with possible configure.ac updates might be a good way forward.

Patching configure was the easy part.

@Dave-Allured
Copy link
Contributor

Patching configure was the easy part.

LOL! Someday you can explain to me what that means.

@nilason
Copy link
Contributor Author

nilason commented Jul 1, 2024

Patching configure was the easy part.

LOL! Someday you can explain to me what that means.

--- configure.ac.orig	2013-12-06 16:51:21
+++ configure.ac	2024-07-01 13:38:23
@@ -146,7 +146,7 @@
 # check that pointers can be stored in doubles
 AC_MSG_CHECKING(whether pointers can be stored in doubles)
 AC_TRY_RUN([
-main () {
+int main(void) {
   if (sizeof (void *) > sizeof (double))
     return 1;
   return 0;
--- configure.orig	2013-12-06 16:51:37
+++ configure	2024-07-01 13:38:12
@@ -12399,7 +12399,7 @@
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-main () {
+int main(void) {
   if (sizeof (void *) > sizeof (double))
     return 1;
   return 0;

Compilation is then littered with warnings and eventually errors out pretty early on -Wincompatible-function-pointer-types.

@Dave-Allured
Copy link
Contributor

Dave-Allured commented Jul 1, 2024

Ah, I see. I saw only the first two untyped main's, and thought there would be a lot more. Thus autoconf, maybe. But you nailed that part.

Maybe some day I can look at gerris again, when my workload allows it.

@nilason
Copy link
Contributor Author

nilason commented Jul 1, 2024

I resorted to add cflag -Wno-error=incompatible-function-pointer-types to gerris for Clang builds on macOS 14+. This is obviously not a future proof solution, but a proper fix isn't trivial.

@nilason
Copy link
Contributor Author

nilason commented Jul 1, 2024

@stromnov As maintainer for the PROJ ports, please notify your opinion on this.

@stromnov
Copy link
Member

It looks good to me.

@nilason
Copy link
Contributor Author

nilason commented Sep 16, 2024

It looks good to me.

Great! Please go ahead and merge, this change is long awaited.

@nilason
Copy link
Contributor Author

nilason commented Sep 18, 2024

@stromnov I have now rebased and added update to PROJ 9.5.0, which was just recently released.

@reneeotten
Copy link
Contributor

thanks @nilason since the maintainer has now responded I'm happy to merge. Would you be so kind as to fix the lint warnings about platforms darwin; that line can/should be removed as it has been the default since MacPorts 2.7 and now emits a warning about it since MacPorts 2.10.

@nilason
Copy link
Contributor Author

nilason commented Sep 20, 2024

thanks @nilason since the maintainer has now responded I'm happy to merge. Would you be so kind as to fix the lint warnings about platforms darwin; that line can/should be removed as it has been the default since MacPorts 2.7 and now emits a warning about it since MacPorts 2.10.

I removed platforms from gerris and qlandkartegt, the CI linter is not working correctly with regards to proj, with multiple commits, it doesn't take into account only the end result (which doesn't contain platforms).

@reneeotten reneeotten merged commit 0469444 into macports:master Sep 20, 2024
2 of 3 checks passed
@nilason
Copy link
Contributor Author

nilason commented Sep 20, 2024

@reneeotten Thanks!!

@nilason nilason deleted the proj_reshuffle branch September 23, 2024 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

9 participants