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@
This commit is contained in:
sthen 2022-03-28 15:48:24 +00:00
parent 348586bed0
commit b47a629bac
8 changed files with 2490 additions and 45 deletions

View File

@ -6,8 +6,9 @@
FULL_VERSION = 2.7.18
SHARED_LIBS = python2.7 0.0
VERSION_SPEC = >=2.7,<2.8
PORTROACH = limit:^2\.7
REVISION-main = 6
REVISION-main = 7
REVISION-idle = 1
REVISION-tests = 1
REVISION-bsddb = 0
@ -15,9 +16,7 @@ REVISION-gdbm = 0
REVISION-tkinter = 0
REVISION-tools = 0
CONFIGURE_ARGS += --with-ensurepip=no
CONFIGURE_ENV += ac_cv_opt_olimit_ok=no
PORTROACH = limit:^2\.7
CONFIGURE_ARGS += --with-ensurepip=no
CONFIGURE_ENV += ac_cv_opt_olimit_ok=no
.include <bsd.port.mk>

View File

@ -6,15 +6,8 @@
FULL_VERSION = 3.10.2
SHARED_LIBS = python3.10 0.0
VERSION_SPEC = >=3.10,<3.11
#PSUBDIR = python/3.10.0
PORTROACH = limit:^3\.10
CONFIGURE_ARGS += --with-ensurepip=no
CONFIGURE_ARGS += --enable-loadable-sqlite-extensions
CONFIGURE_STYLE = autoconf
PORTROACH = limit:^3\.10
TEST_IS_INTERACTIVE = Yes
REVISION = 0
.include <bsd.port.mk>

File diff suppressed because it is too large Load Diff

View File

@ -6,18 +6,8 @@
FULL_VERSION = 3.8.12
SHARED_LIBS = python3.8 0.0
VERSION_SPEC = >=3.8,<3.9
PORTROACH = limit:^3\.8
REVISION-main = 4
REVISION-idle = 0
CONFIGURE_ARGS += --with-ensurepip=no
CONFIGURE_ARGS += --enable-loadable-sqlite-extensions
CONFIGURE_STYLE = autoconf
PORTROACH = limit:^3\.8
TEST_IS_INTERACTIVE = Yes
REVISION = 5
.include <bsd.port.mk>

File diff suppressed because it is too large Load Diff

View File

@ -6,18 +6,14 @@
FULL_VERSION = 3.9.10
SHARED_LIBS = python3.9 0.0
VERSION_SPEC = >=3.9,<3.10
PORTROACH = limit:^3\.9
# override "@comment" setting for the MODPY_DEFAULT_VERSION_3 version
REVISION = 0
# This is the MODPY_DEFAULT_VERSION_3 version of Python:
# - override "@comment" setting so that bin/python3 etc are installed
PY_DEFAULTONLY =
# - disable bundled pip in favour of the version from devel/py-pip
CONFIGURE_ARGS += --with-ensurepip=no
CONFIGURE_ARGS += --enable-loadable-sqlite-extensions
CONFIGURE_STYLE = autoconf
PORTROACH = limit:^3\.9
TEST_IS_INTERACTIVE = Yes
.include <bsd.port.mk>

View File

@ -45,15 +45,13 @@ PERMIT_PACKAGE = Yes
.if ${VERSION} == "2.7"
MULTI_PACKAGES = -main -tests -tools -gdbm -idle -tkinter -bsddb
DEBUG_PACKAGES ?= -main -gdbm -tkinter -bsddb
.else
MULTI_PACKAGES = -main -tests -gdbm -idle -tkinter
DEBUG_PACKAGES ?= -main -gdbm -tkinter
.endif
# Python 2.7 lists BSD db 4.6.x as unstable on most architectures (see
# setup.py:allow_db_version). XXX revisit if databases/db/v4 is updated to 4.7
.if ${VERSION} == "2.7"
ONLY_FOR_ARCHS-bsddb= amd64 i386
.else
MULTI_PACKAGES = -main -tests -gdbm -idle -tkinter
DEBUG_PACKAGES ?= -main -gdbm -tkinter
.endif
COMPILER = base-clang ports-gcc base-gcc
@ -108,13 +106,15 @@ AUTOCONF_VERSION = 2.69
CONFIGURE_STYLE = autoconf
CONFIGURE_ARGS += --enable-shared
# --srcdir is needed for systrace to work correctly
CONFIGURE_ARGS += --srcdir=${WRKSRC} \
--with-fpectl \
CONFIGURE_ARGS += --with-fpectl \
--with-threads \
--enable-ipv6 \
--with-system-expat \
--with-system-ffi
.if ${VERSION} != "2.7"
CONFIGURE_ARGS += --enable-loadable-sqlite-extensions
TEST_IS_INTERACTIVE = Yes
.endif
CONFIGURE_ENV += OPT='${CFLAGS} -fPIC' CPPFLAGS='-I${LOCALBASE}/include' \
LDFLAGS='-L${LOCALBASE}/lib/' SVNVERSION=no \
@ -126,6 +126,7 @@ FAKE_FLAGS += RANLIB=:
# Used in PLISTs for files which should not be installed for non-default
# versions of Python (i.e. /usr/local/bin/python3).
# Overridden in subdirectory for the default version.
PY_DEFAULTONLY ?= "@comment "
PY_PLATFORM = openbsd${OSMAJOR}
@ -174,6 +175,8 @@ post-install:
tar -xf -)
${INSTALL_SCRIPT} ${WRKSRC}/Tools/scripts/2to3 \
${PREFIX}/bin/python${VERSION}-2to3
.else
rm -f ${PREFIX}/bin/pip3 # in devel/py-pip for default Python version
.endif
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/python${VERSION}
${INSTALL_DATA} ${FILESDIR}/CHANGES.OpenBSD \

View File

@ -8,7 +8,8 @@ MODPY_DEFAULT_VERSION_2 = 2.7
MODPY_DEFAULT_VERSION_3 = 3.9
# If switching to a new MODPY_DEFAULT_VERSION_3, say 3.x to 3.y:
# - Move PY_DEFAULTONLY from 3.x/Makefile to 3.y/Makefile
# - Move PY_DEFAULTONLY and --with-ensurepip=no from 3.x/Makefile
# to 3.y/Makefile (remove from old, add to new)
# - In 3.x/Makefile and 3.y/Makefile, bump REVISION for -main and -idle
# (i.e. those PLISTs with "PY_DEFAULTONLY" lines)
# - In 3.y/PLIST-main and 3.y/PLIST-idle add a @conflict on the old
@ -18,6 +19,7 @@ MODPY_DEFAULT_VERSION_3 = 3.9
# PLIST-main: @conflict python->=3,<3.8.12p3
# PLIST-idle: @conflict python-idle->=3,<3.8.12p0
# (Bear in mind that the subpackages might have different REVISIONs)
# - Regenerate PLISTs for "ensurepip" files
# - Keep xenocara/share/mk/bsd.xorg.mk PYTHON_VERSION in sync
# If later *removing* an old version: