(since any python branch switch touches thousands of ports):
- stop using FLAVOR=python3 / MODPY_FLAVOR / etc in py3 ports.
- rename MODPY_EGG_VERSION (which refers to an obsolete packaging
format) with MODPY_DISTV (easier to type and line up in Makefiles)
bumps and adjustments to follow. lots of help from tb@, thanks!
with cp, presumably it was used as part of build rather than fake-install
and had problems with non-root builds. install has been mocked in ports
builds for some time now (as part of the PORTS_PRIVSEP) so that's not needed.
ok kmos@
OpenBSD 5.4 to prevent picking up ports libreadline if installed during
build, but this was fixed differently in the libreadline port after 5.5
instead (by moving the headers to a directory which is not usually
picked up by default).
Found while investigating why readline is broken in the Python 3.10
port (but doesn't fix that issue). Also changes to the build in py3.10
mean that this patching no longer worked for the original issue.
ok kmos@
except for Python-2.7, which stays with 8.5.
Make COMMENTs and DESCRs consistent with Tk.
Fix typo in 3.10/files/CHANGES.OpenBSD.
OKs and thanks to kmos@, sthen@.
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@
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@
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
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.
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@
Python" messages, Python 2 development has finished so this is not a
sensible option to use as default.
(It is still kept in the ports tree for now, as some important software
has not been updated to use Python 3).
ok tracey aja mariani rpointel
From https://www.python.org/doc/sunset-python-2/, "We are volunteers who
make and take care of the Python programming language. We have decided
that January 1, 2020, was the day that we sunset Python 2. That means
that we will not improve it anymore after that day, even if someone
finds a security problem in it. You should upgrade to Python 3 as soon
as you can."
python cflags are now being honored which means gcc now pukes on the
bogus -OPT:Olimit=0 present in python2-config --cflags. Force-disable
the bogus use of -OPT:Olimit=0. ok kmos@ sthen@
Follow the upstream recommendations for packagers and switch to
multi-packages:
devel/gettext -> devel/gettext,-runtime
devel/gettext-tools -> devel/gettext,-tools
(new) devel/gettext,-textstyle
- sync WANTLIB
- use do-gen instead of post-patch for the "subst and regen
autoconf files" target
- ALL_TARGET needs setting differently between 2.7 and 3.x;
rather than checking against 3.6 for "all", check against 2.7
for "all ./Lib/plat-openbsd6". needed for newer 3.x.
some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.
This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -
- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.
- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.
devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
BIO_up_ref, X509_STORE_get0_objects but not X509_NAME_ENTRY_set,
SSL_CTX_get_default_passwd_cb, X509_OBJECT_get_type,
SSL_CTX_get_default_passwd_cb_userdata, X509_STORE_get0_param,
SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint
while there: don't override TLS_*method with macros
This will allow us to drop patches and substitutions in our ports tree. Nowadays
most upstreams don't hardcode the path to python but instead use env(1) to find
the path.
bulk tested
ok sthen@
ok and input from rpointel@ (on an older patch)
- we don't have xlocale
- so we use __bsd_locale_fallbacks_h, yes even for #include <iostream>
- that depends on mbsnrtowcs and wcsnrtombs from wchar.h
- those require __POSIX_VISIBLE to be >= 200809...
bump accordingly. tested by naddy@, no breakage on gcc platforms.
with native c++ code worked fine. We no longer need to do that, and
llvm errors out with the non-sensical combination of "c++ -std=c99".
this fixes the python build on arm64
tested by sthen@ in an i386 bulk, thanks!
OK sthen@, rpointel@ (maintainer)
are various ports that aren't (e.g. py-cryptography and py-qt5 (QtWebKit)).
obviously not a long-term "fix" but helps to keep moving forward
ok jca@ sthen@ rpointel@ (MAINTAINER)