I use Synth to build my own packages. On a test system running stable/13, Synth had issues with textproc/py-sphinxcontrib-applehelp@py39.

The ports framework spat out this complaint:

Unknown flavor 'py39', possible flavors: py38.

The configuration files /etc/make.conf and /usr/local/etc/synth/LiveSystem-make.conf both specify DEFAULT_VERSIONS+=python=3.9 and DEFAULT_VERSIONS+=python3=3.9.

Looking at textproc/py-sphinxcontrib-applehelp/Makefile, I couldn’t help notice the Makefile specifies USES+=python:3.5+.

The oldest Python version in support is 3.7 and the newest version is 3.11, which is currently in alpha. I changed the specification to USES+=python:3.7-3.11 and ran the build. Success!

Next, I pondered the question what if 3.5 is too old. What happens if I change 3.5+ to 3.7+ in the Makefile? I removed the files produced by the previous attempt and ran the build again. Another success!

Now, what if I revert to 3.5+ and remove the produce? Will it work this time? Yes, strangely enough it did.

Why is this software business so indeterministic?

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>