Opened 7 months ago

Closed 6 months ago

#68554 closed enhancement (fixed)

ntpsec: Add python312 variant

Reported by: fhgwright (Fred Wright) Owned by: fhgwright (Fred Wright)
Priority: Low Milestone:
Component: ports Version: 2.8.1
Keywords: Cc:
Port: ntpsec

Description

Creating this ticket mostly for informational purposes.

Adding the python312 variant to ntpsec appears to work fine, except that it fails configure in trace mode. This is due to the unavailability of distutils in Python 3.12, though for some reason it's available when not in trace mode, even though it's officially gone in 3.12. Complicating this further is that the use of distutils is actually in waf, rather than in ntpsec itself.

It seems safest not to add the python312 variant until this is better understood.

Change History (5)

comment:1 Changed 7 months ago by fhgwright (Fred Wright)

Upon further investigation, it appears that distutils.sysconfig is working as expected in python312, in spite of the fact that it had been MIA in the -devel version of python312 a while back. So the only mystery is what trace mode is doing to break it.

Since the issue appears to be confined to trace mode, adding the variant seems reasonable.

comment:2 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Summary: Add python312 variant to ntpsecntpsec: Add python312 variant

comment:3 Changed 7 months ago by jmroot (Joshua Root)

There is no distutils module in the python stdlib as of 3.12. Setuptools does provide distutils still, so anything that uses it needs to depend on the appropriate py*-setuptools port.

comment:4 Changed 7 months ago by fhgwright (Fred Wright)

Ah, that explains the trace-mode failure, and I was able to reproduce it without trace mode by deactivating py312-setuptools. It doesn't explain why the trace mode reports showed no indication of either setuptools or distutils, which is probably yet another trace-mode bug.

Retesting with the added dependency now.

The unreleased upstream code seems to have fixed the problem, so the dependency can go away on the next version update.

comment:5 Changed 6 months ago by fhgwright (Fred Wright)

Resolution: fixed
Status: assignedclosed

In 433391be333fd01c7dc9b9ea3f1dce8319bc0518/macports-ports (master):

ntpsec: add python312 variant

Closes: #68554

As usual, this includes the patches for compatibility with
macOS<10.13, which can also be seen (more readably) at:

https://gitlab.com/fhgwright/ntpsec/tree/macports-1_2_2a

Note that 10.5 x86_64 remains broken and is disabled, as is the
untested 10.4 x86_64.

TESTED:
Built and ran tests with all variants on 10.4-10.5 ppc, 10.4-10.6
i386, 10.6-10.15 x86_64, and 11.x-14.x arm64. Successful except where
pythonXY was unavailable or broken on the OS/CPU combination.

Note: See TracTickets for help on using tickets.