I think this has all the pieces needed, ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/subversion/Makefile,v
retrieving revision 1.180
diff -u -p -r1.180 Makefile
--- Makefile    28 May 2020 12:25:27 -0000      1.180
+++ Makefile    30 May 2020 17:15:12 -0000
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.180 2020/05/28 12:25:27 stsp Exp $
+# $OpenBSD: Makefile,v 1.179 2020/05/15 14:47:40 ajacoutot Exp $
 
 COMMENT-main=          subversion revision control system
 COMMENT-perl=          perl interface to subversion
@@ -8,12 +8,13 @@ COMMENT-ap2=          apache2 subversion modules
 COMMENT-gnome-keyring= GNOME keyring support for subversion
 
 VERSION=               1.14.0
+REVISION=              0
 DISTNAME=              subversion-${VERSION:S/rc/-rc/}
 PKGNAME-main=          subversion-${VERSION}
+FULLPKGNAME-main=      subversion-${VERSION}${FLAVOR_EXT:S/-python3//}
+FULLPKGPATH-main=      devel/subversion,-main${FLAVOR_EXT:S/-python3//:S/-/,/g}
 FULLPKGNAME-perl=      p5-SVN-${VERSION}
 FULLPKGPATH-perl=      devel/subversion,-perl
-FULLPKGNAME-python=    py-subversion-${VERSION}
-FULLPKGPATH-python=    devel/subversion,-python
 FULLPKGNAME-ruby=      ruby${MODRUBY_BINREV}-subversion-${VERSION}
 FULLPKGPATH-ruby=      devel/subversion,-ruby
 FULLPKGNAME-ap2=       ap2-subversion-${VERSION}
@@ -25,10 +26,6 @@ MODRUBY_REV ?=       2.7
 # Work around for SHARED_LIBS not picking up MODRUBY_BINREV from ruby module
 MODRUBY_BINREV=        ${MODRUBY_REV:S/.//}
 
-# Subversion supports either python2 or python3 bindings. Consumers in the
-# ports tree are not yet ready for python3. So keep using python 2.7 for now.
-MODPY_VERSION ?= 2.7
-
 SO_VERSION=    6.0
 SVN_LIBS=      svn_client-1 svn_delta-1 svn_diff-1 svn_fs-1 \
                svn_fs_base-1 svn_fs_fs-1 svn_fs_util-1 svn_fs_x-1 \
@@ -57,12 +54,24 @@ MASTER_SITES=       ${MASTER_SITE_APACHE:=subv
 EXTRACT_SUFX=  .tar.bz2
 
 PSEUDO_FLAVORS=        no_bindings no_ap2 no_perl no_python no_ruby 
no_gnome-keyring
-FLAVORS=       maintainer_mode
+FLAVORS=       maintainer_mode python3
 FLAVOR?=
 .if ${FLAVOR:Mno_bindings}
 FLAVOR += no_perl no_python no_ruby
 .endif
 
+.if ${FLAVOR:Mpython3}
+FULLPKGNAME-python=    py3-subversion-${VERSION}
+FULLPKGPATH-python=    devel/subversion,python3,-python
+# py-subversion and py3-subversion both install libsvn_swig_py-1;
+# conflict with the other flavour
+PY_CONFLICT=           py-subversion-*
+.else
+FULLPKGNAME-python=    py-subversion-${VERSION}
+FULLPKGPATH-python=    devel/subversion,-python
+PY_CONFLICT=           py3-subversion-*
+.endif
+
 MODULES=       lang/python
 
 WANTLIB=       expat iconv intl lz4 m pthread z
@@ -196,7 +205,8 @@ CONFIGURE_ARGS+=--without-gnome-keyring
 
 TEST_DEPENDS=${MODPY_RUN_DEPENDS}
 TEST_DEPENDS+= ${FULLPKGNAME-gnome-keyring}:${BUILD_PKGPATH},-gnome-keyring
-SUBST_VARS+=   LOCALBASE SO_VERSION MODRUBY_BINREV LIBsvn_swig_ruby-1_VERSION
+SUBST_VARS+=   LOCALBASE SO_VERSION MODRUBY_BINREV
+SUBST_VARS+=   LIBsvn_swig_ruby-1_VERSION MODPY_WANTLIB PY_CONFLICT
 
 pre-patch:
        @ln -s ${MODPY_BIN} ${WRKDIR}/bin/python
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/devel/subversion/patches/patch-Makefile_in,v
retrieving revision 1.19
diff -u -p -r1.19 patch-Makefile_in
--- patches/patch-Makefile_in   28 May 2020 12:25:27 -0000      1.19
+++ patches/patch-Makefile_in   30 May 2020 17:15:12 -0000
@@ -1,4 +1,4 @@
-$OpenBSD: patch-Makefile_in,v 1.19 2020/05/28 12:25:27 stsp Exp $
+$OpenBSD: patch-Makefile_in,v 1.18 2019/11/06 15:04:23 stsp Exp $
 Index: Makefile.in
 --- Makefile.in.orig
 +++ Makefile.in
@@ -24,7 +24,7 @@ Index: Makefile.in
 -SWIG_PY_LINK = @SWIG_PY_LINK@
 -SWIG_PY_LIBS = @SWIG_PY_LIBS@
 +SWIG_PY_LINK = @SWIG_PY_LINK@ -L@libdir@
-+SWIG_PY_LIBS = -lpython${MODPY_VERSION}
++SWIG_PY_LIBS = -l${MODPY_WANTLIB}
  SWIG_PY_ERRMSG = @SWIG_PY_ERRMSG@
  SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
  SWIG_PL_ERRMSG = @SWIG_PL_ERRMSG@
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/devel/subversion/pkg/PLIST-main,v
retrieving revision 1.22
diff -u -p -r1.22 PLIST-main
--- pkg/PLIST-main      15 May 2020 14:47:40 -0000      1.22
+++ pkg/PLIST-main      30 May 2020 17:15:12 -0000
@@ -122,8 +122,6 @@ lib/libsvn_subr-1.la
 @static-lib lib/libsvn_wc-1.a
 lib/libsvn_wc-1.la
 @lib lib/libsvn_wc-1.so.${LIBsvn_wc-1_VERSION}
-@comment lib/python${MODPY_VERSION}/
-@comment lib/python${MODPY_VERSION}/site-packages/
 @man man/man1/svn.1
 @man man/man1/svnadmin.1
 @man man/man1/svndumpfilter.1
Index: pkg/PLIST-python
===================================================================
RCS file: /cvs/ports/devel/subversion/pkg/PLIST-python,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST-python
--- pkg/PLIST-python    15 May 2020 14:47:40 -0000      1.11
+++ pkg/PLIST-python    30 May 2020 17:15:12 -0000
@@ -1,11 +1,21 @@
 @comment $OpenBSD: PLIST-python,v 1.11 2020/05/15 14:47:40 ajacoutot Exp $
+@conflict ${PY_CONFLICT}
 @pkgpath devel/subversion,-python,gnome_keyring
-@static-lib lib/libsvn_swig_${MODPY_PY_PREFIX}1.a
-lib/libsvn_swig_${MODPY_PY_PREFIX}1.la
-@lib 
lib/libsvn_swig_${MODPY_PY_PREFIX}1.so.${LIBsvn_swig_${MODPY_PY_PREFIX}1_VERSION}
+@static-lib lib/libsvn_swig_py-1.a
+lib/libsvn_swig_py-1.la
+@lib lib/libsvn_swig_py-1.so.${LIBsvn_swig_py-1_VERSION}
 lib/python${MODPY_VERSION}/site-packages/libsvn/
 lib/python${MODPY_VERSION}/site-packages/libsvn/__init__.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}delta.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}diff.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}fs.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}ra.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}repos.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/libsvn/${MODPY_PYCACHE}wc.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/_client.a
 lib/python${MODPY_VERSION}/site-packages/libsvn/_client.la
 @so lib/python${MODPY_VERSION}/site-packages/libsvn/_client.so
@@ -31,37 +41,30 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/libsvn/_wc.la
 @so lib/python${MODPY_VERSION}/site-packages/libsvn/_wc.so
 lib/python${MODPY_VERSION}/site-packages/libsvn/client.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/client.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/core.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/core.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/delta.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/delta.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/diff.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/diff.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/fs.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/fs.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/ra.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/ra.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/repos.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/repos.pyc
 lib/python${MODPY_VERSION}/site-packages/libsvn/wc.py
-lib/python${MODPY_VERSION}/site-packages/libsvn/wc.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/
 lib/python${MODPY_VERSION}/site-packages/svn/__init__.py
-lib/python${MODPY_VERSION}/site-packages/svn/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}delta.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}diff.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}fs.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}ra.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}repos.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/svn/${MODPY_PYCACHE}wc.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/svn/client.py
-lib/python${MODPY_VERSION}/site-packages/svn/client.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/core.py
-lib/python${MODPY_VERSION}/site-packages/svn/core.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/delta.py
-lib/python${MODPY_VERSION}/site-packages/svn/delta.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/diff.py
-lib/python${MODPY_VERSION}/site-packages/svn/diff.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/fs.py
-lib/python${MODPY_VERSION}/site-packages/svn/fs.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/ra.py
-lib/python${MODPY_VERSION}/site-packages/svn/ra.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/repos.py
-lib/python${MODPY_VERSION}/site-packages/svn/repos.pyc
 lib/python${MODPY_VERSION}/site-packages/svn/wc.py
-lib/python${MODPY_VERSION}/site-packages/svn/wc.pyc

Reply via email to