Commit Graph

612 Commits

Author SHA1 Message Date
tb
98e25b6c8d Python 3.10: unbreak _hashlib build
The build was broken in the update to 3.10.2 due to the upstream commit
3ce6945f5f
This seems to have escaped notice of the maintainers because the build
system only whines and carries on instead of failing (although this was
also visible in the PLIST). Avoid use of undefined short names and NIDs
and do not use an inexistent flag.

ok sthen
2022-04-29 03:34:57 +00:00
sthen
f7b24540a9 enable LTO for Python, from robert@ with some tweaks
earlier version ok kmos@
2022-04-28 14:47:56 +00:00
sthen
80cafba8dd fix 7.0 -> -current update issue (conflict between py3-setuptools and
python-3.8)

-@conflict py3-setuptools-<=57.4.0v0
+@conflict py3-setuptools-<57.4.0p0v0

<= in this case covers 57.4.0v0 *and* any 57.4.0pXXv0 version,
which is not we want. Use < and the specific p0v0 instead.
2022-04-04 16:38:21 +00:00
kmos
7727234471 Update Python 3.10.2 to 3.10.4
ok sthen
2022-04-03 21:33:23 +00:00
kmos
870a1a22bd Update Python 3.9.10 to 3.9.12
ok sthen
2022-04-03 21:32:06 +00:00
kmos
6990d0d4de Update Python 3.8.12 to 3.8.13
input and ok sthen
2022-04-03 21:30:12 +00:00
sthen
bc45e220d6 @conflict with old setuptools as well as pip, there are lib/python3.8 ensurepip files 2022-04-02 08:11:11 +00:00
sthen
d66dc91f39 python-3.8 needs to confluct wuth old versions of py3-pip.
Since the non-default versions of Python now have pip executables
(in this case named bin/pip3.8) when updating from the OpenBSD version
where that file was in py3-pip, pkg_add needs to merge the updates
of the new py3-pip and python-3.8 packages. Found by sdk@ testing
7.0->-current updates. Add to the "switching default version"
checklist.
2022-04-02 08:04:13 +00:00
sthen
b47a629bac Include pip in the non-default versions of Python, so that for example
if you want to run some software that needs an older or newer version
of Python you can do so in most cases. For the default versions (2.7, 3.9)
pip is available from the separate port (devel/py2-pip, devel/py-pip).
Factor out some common parts to ../Makefile.inc while there. OK kmos@
2022-03-28 15:48:24 +00:00
sthen
af5461cb86 drop stray newline 2022-03-28 12:18:24 +00:00
sthen
808880dcd0 add an end-of-life warning to MESSAGE for python 2, ok kmos@ 2022-03-23 11:20:05 +00:00
naddy
e93f9d0ca9 drop RCS Ids 2022-03-11 19:28:46 +00:00
sthen
4aa30352a1 For ports using MODPY_PYTEST, disable tests for Python 2. ok kmos
It doesn't cover every py2 port that uses py-test, but it lets us
whittle down the number. The remaining py2 ports using py-test can then
either move to using MODPY_PYTEST (preferably) or a flavour-dependent
NO_TEST directly until we remove all use of py2 py-test and can then
update the py-test stack.
2022-02-25 18:31:30 +00:00
daniel
c1a2df2200 eliminate PATCHLEVEL variable; it is no longer needed
ok kmos@ (MAINTAINER)
2022-01-29 17:44:59 +00:00
kmos
6669843f98 Update to Python 3.10.2
https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-2-final

Numerous bugfixes, none of them labelled as security fixes though.

"Make it so" daniel@
2022-01-27 01:37:47 +00:00
sthen
b10dab3f2e In the Python module, handle ports which use setuptools with only
setup.cfg and not setup.py, by writing a small wrapper if needed.
ok kmos@
2022-01-26 00:03:23 +00:00
daniel
6b9e710437 use a FULL_VERSION variable in Python Makefiles
The goal is to shuffle things around allowing us to use this variable in
the packing lists. This should reduce a little bit of churn going
forward given some files get bumped with every point release.

For example in Python 3.9 we make the following update:

-lib/python3.9/lib2to3/Grammar3.9.10.final.0.pickle
+lib/python3.9/lib2to3/Grammar${FULL_VERSION}.final.0.pickle

-lib/python3.9/lib2to3/PatternGrammar3.9.10.final.0.pickle
+lib/python3.9/lib2to3/PatternGrammar${FULL_VERSION}.final.0.pickle

ok kmos@ (MAINTAINER), sthen@
2022-01-23 21:32:07 +00:00
kmos
5bd7276bf3 https://docs.python.org/release/3.9.10/whatsnew/changelog.html
No security fixes that I see

ok daniel@
2022-01-21 04:25:12 +00:00
kmos
761dba97ec Update to Python 3.9.9
Skipped 3.9.8 because there was an argparse regression and 3.9.9 was
rushed out as a hotfix.

input and ok pamela@
ok sthen@
2021-11-24 15:35:20 +00:00
tb
fd954446cd pythons: Tweak LibreSSL patches: drop a hunk that retains backward
compatibility with LibreSSL 2.7 and tweak comments in the patches.
In Python 3.10, fix the security level patch. Add a missing const
and drop @SECLEVEL=2 from the PY_SSL_DEFAULT_CIPHER_STRING, as that
will currently result in a runtime failure.

ok kmos
2021-11-18 15:45:28 +00:00
sthen
432a74da1f fix conflict markers in comments 2021-11-03 19:08:27 +00:00
sthen
867b1fe793 unbreal build, should not conflict with py2 2021-11-03 19:07:18 +00:00
sthen
6f7284e5ee repair @conflict, problem reported by robert@
-@conflict python-main-<3.8.12p3
+@conflict python-<3.8.12p3
2021-11-03 13:48:14 +00:00
sthen
c53c497e1c move "MODPY_TEST_LIBDIR ?=" (empty setting) below the .if block which
sets MODPY_TEST_LIBDIR to a default set of lib directories for
MODPY_PYTEST ports, otherwise the empty setting takes precedence
2021-11-02 01:17:44 +00:00
sthen
4805e96969 switch default MODPY_DEFAULT_VERSION_3 to 3.9, ok kmos@ 2021-11-02 00:00:01 +00:00
sthen
7f0d1524e9 update notes on version switches 2021-11-01 17:16:23 +00:00
sthen
bc96ab094e simplify switching default Python versions, ok kmos@
Add a new SUBST_VARS variable that is set to "@comment " on
most Python versions, but is set to "" on the default one. This makes
it easier to swap between default versions because you don't need
to figure out which @comments should be kept and which should be moved.

While there I remove some existing lines with @comment markers for
files that are not created by any of our current Python ports:

@comment bin/pyvenv
@comment lib/libpython3.8m.so (etc)

The @comment -> ${PY_DEFAULTONLY} change doesn't affect the generated
PLISTs at all, so for that a REVISION bump is unnecessary, but removing
the pyvenv/libpython3.Xm.so does require a bump
2021-11-01 16:56:24 +00:00
kmos
0bd996c76c Hook Python 3.10 into build and add the necessary bit to python.port.mk
to accept Python 3.10
2021-11-01 14:17:16 +00:00
kmos
856d7d22f1 Import Python 3.10.0
Much work done by tb@ who got the needed APIs into LibreSSL and
patched the crypto parts of Python 3.10 to work with it.

ok sthen@ daniel@
2021-11-01 14:16:09 +00:00
landry
89cd0faf06 lang/python: stop leaking python build LDFLAGS/CFLAGS to python extensions build
right now the installed python retains paths to the python build objdir,
and also enforces -L/usr/local/lib when linking python shared extensions
(which might not be desired):

$python3 -m sysconfig|grep LDSH
        BLDSHARED = "cc -pthread -shared -fPIC -L/usr/local/lib/ -L/usr/obj/ports/Python-3.8.12/Python-3.8.12 -L/usr/local/lib/"
        LDSHARED = "cc -pthread -shared -fPIC -L/usr/local/lib/ -L/usr/obj/ports/Python-3.8.12/Python-3.8.12 -L/usr/local/lib/"

python 3.x provides LDFLAGS_NODIST/CFLAGS_NODIST to avoid that (cf
https://docs.python.org/3/using/configure.html#envvar-CONFIGURE_LDFLAGS_NODIST),
but sadly if we only use it (and remove CPPFLAGS/LDFLAGS pointing at
/usr/local from CONFIGURE_ENV), libintl/textdomain detection during
configure fails.

So, taking inspiration from freebsd PR181721, dont add
CONFIGURE_LDFLAGS/CONFIGURE_CPPFLAGS to PY_LDFLAGS/PY_CPPFLAGS.

extend CHANGES.OpenBSD to explain the change (reminded by sthen@).

went in a bulk build (thanks ajacoutot@!) with a single fallout
(devel/gdb) that will get fixed shortly.
2021-11-01 07:43:39 +00:00
kmos
8b0df7e981 If MODPY_TEST_ARGS are set, default MODPY_PYTEST to Yes
Additionally add the elaborate lib.openbsd.... directory and lib to
PYTHONPATH when testing

Diff from sthen with small tweak from me
2021-11-01 03:55:31 +00:00
kmos
4a88a35ac3 Python 3.9 needs the same fix as 3.8 in order to build wiht llvm 13.
Identical diff sent by jsg
2021-10-30 00:24:16 +00:00
kmos
7fe8f4911f Fix build for LLVM 13
LLVM 13 introduces the --print-multiarch option. OpenBSD isn't multi-arch,
but that option caused problems for the build anyway.

I neutralized those checks.
2021-10-26 23:30:08 +00:00
kmos
53f471957a Update Python 3.8 to 3.8.11 and Python 3.9 to 3.9.7
https://docs.python.org/release/3.8.12/whatsnew/changelog.html#changelog

https://docs.python.org/release/3.9.7/whatsnew/changelog.html#changelog

Each has security fixes

Take MAINTAINER from Remi Pointel with his blessing

Bump revisions in 2.7 due to maintainer update

ok remi
2021-09-01 17:41:47 +00:00
naddy
504eeac4fc lang/python: adapt and bump for changes 6.x -> 7.x 2021-08-18 19:08:05 +00:00
sthen
34950220fd fix typo_ 2021-07-30 20:04:55 +00:00
sthen
abb55fc128 avoid some more hardcoding of 'openbsd6' 2021-07-30 20:01:19 +00:00
sthen
d108ea0c09 don't hardcode 'openbsd6', use 'openbsd${OSMAJOR}' 2021-07-30 19:54:18 +00:00
kmos
ff585f09c3 Update 3.9.6
Contains a security fix along with other changes

ok sthen@ daniel@
2021-07-15 13:45:06 +00:00
kmos
b494a7d423 Security upgrade for Python 3.8 to 3.8.11
daniel@ has been testing this version for a while

ok sthen@
2021-07-15 13:44:19 +00:00
kmos
837780b5e5 Update Python 3.8 to 3.8.10, the final maintenance release of 3.8.x
(Only security fixes going forward).

This does include security fixes

ok daniel@
2021-06-12 04:03:23 +00:00
kmos
fbc74d74fd Update python 3.9 to 3.9.5
Includes multiple security fixes

ok daniel@
2021-06-12 04:00:22 +00:00
kmos
2795ba2341 Bump the REVISION on all ports that use the python2 version of
py-setuptools.

Also change the lang/python module to use the new
devel/py2-setuptools for python2 ports

ok sthen@
2021-05-21 19:50:21 +00:00
sthen
1087f2c8be another missed bump, found by naddy 2021-03-23 11:44:00 +00:00
sthen
14eb197440 missed bump, reported by naddy 2021-03-22 21:39:10 +00:00
sthen
e82c1acb6c install the gdb autoload helper for the various Python versions,
allows some additional debugging features for Python-based software
(for example there's a new "py-bt" command to print a Python backtrace
which can give clues if a py process is hanging).

ok rpointel@
2021-03-22 17:35:26 +00:00
sthen
745105c362 automatically handle ports which use the python module and have flavours
other than the usual "python3/<blank>" python version selection and
remove setting MODPY_VERSION=${MODPY_DEFAULT_VERSION_3} again from the
affected ports.
2021-02-23 22:04:35 +00:00
sthen
ba6e5fa88d fix for unflavoured py3 ports 2021-02-23 20:55:02 +00:00
sthen
6d0b6da733 oops, I deleted a line by mistake before committing this. unbreak the tree. 2021-02-23 20:44:38 +00:00
sthen
3cbe1c2f30 Reverse the polarity of MODPY_VERSION; default is now 3.x,
if a port needs 2.x then set MODPY_VERSION=${MODPY_DEFAULT_VERSION_2}.

This commit doesn't change any versions currently used; it may be that
some ports have MODPY_DEFAULT_VERSION_2 but don't require it, those
should be cleaned up in the course of updating ports where possible.

Python module ports providing py3-* packages should still use
FLAVOR=python3 so that we don't have a mixture of dependencies some
using ${MODPY_FLAVOR} and others not.
2021-02-23 19:39:08 +00:00