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

maven4: new submission #27040

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

maven4: new submission #27040

wants to merge 2 commits into from

Conversation

breun
Copy link
Member

@breun breun commented Dec 11, 2024

Description

New port for Apache Maven 4.

Tested on

macOS 15.2 24C101 arm64
Xcode 16.1 16B40

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?
  • checked your Portfile with port lint?
  • 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 macportsbot added type: submission by: member Created by a member with commit rights labels Dec 11, 2024
@mascguy
Copy link
Member

mascguy commented Dec 12, 2024

It looks like you'll want to disable jline native support, if possible. Or if not, delete the directory tree ${deatroot}${prefix}/share/java/maven4/lib/jline-native during phase post-destroot.

@breun
Copy link
Member Author

breun commented Dec 13, 2024

@mascguy I guess I could delete non-aarch64 files on aarch64, non-x86_64 files on x86_64, non-Mac files on Mac, non-Linux files on Linux, etc., but that would just result in a whole bunch of extra logic and platform-specific variants. I don't really see the value of that, and the whole jline-native directory is only 192K. Any user on any platform would also get these files if they downloaded Maven manually from https://maven.apache.org/download.cgi.

@mascguy
Copy link
Member

mascguy commented Dec 13, 2024

@mascguy I guess I could delete non-aarch64 files on aarch64, non-x86_64 files on x86_64, non-Mac files on Mac, non-Linux files on Linux, etc., but that would just result in a whole bunch of extra logic and platform-specific variants. I don't really see the value of that, and the whole jline-native directory is only 192K. Any user on any platform would also get these files if they downloaded Maven manually from https://maven.apache.org/download.cgi.

Right, but we're including binaries, and we shouldn't. Even if upstream includes it by default, that doesn't mean we should.

And the port is marked noarch, so we definitely shouldn't be including any binaries. That's why you're seeing the warnings about them.

PortGroup java 1.0

name maven4
version 4.0.0-rc-1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd recommend using a version of 3.9.9-rc1 instead

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be kind of confusing, because Maven 3.9.9 is the current Maven 3 release. Do you mean that MacPorts' versioning considers 4.0.0-rc-1 newer than 4.0.0? If so, is there no other postfix that would make MacPorts consider it a version before 4.0.0?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using 3.9.9-rc1 isn't a big deal. Plus the ultimate 4.0 release may be out before long.

@breun
Copy link
Member Author

breun commented Dec 13, 2024

I've added a post-destroot section to delete files that are not relevant for the target OS/arch: 7dcdd01

@mascguy
Copy link
Member

mascguy commented Dec 13, 2024

I've added a post-destroot section to delete files that are not relevant for the target OS/arch: 7dcdd01

We shouldn't be including any binaries, ever, when a port is marked noarch.

Beyond that, upstream's macOS binaries probably target a fairly recent release, like Big Sur or later. Which means the readline native library is going to fail to load for users on 10.15 and earlier, resulting in Trac tickets for a broken port.

Please please remove all of the native binaries, across-the-board...

@breun
Copy link
Member Author

breun commented Dec 14, 2024

We shouldn't be including any binaries, ever, when a port is marked noarch.

This port is no longer marked as noarch.

Please please remove all of the native binaries, across-the-board...

Deleting all native binaries seems like a pretty invasive modification to me. How can we be sure that it's safe to delete all of them and that this doesn't break anything?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
by: member Created by a member with commit rights type: submission
Development

Successfully merging this pull request may close these issues.

3 participants