Friday, November 01, 2024

qt6 FLAVOR for x11/{py-,}qscintilla

Index: Makefile
===================================================================
RCS file: /cvs/ports/editors/py-qscintilla/Makefile,v
diff -u -r1.37 Makefile
--- Makefile 6 May 2024 12:23:33 -0000 1.37
+++ Makefile 1 Nov 2024 17:20:07 -0000
@@ -4,7 +4,7 @@
MODPY_EGG_VERSION = ${VERSION}
DISTNAME = QScintilla_src-${VERSION}
PKGNAME = py-qscintilla-${VERSION}
-REVISION = 0
+REVISION = 1

CATEGORIES = editors x11 devel

@@ -15,23 +15,37 @@

SITES = https://www.riverbankcomputing.com/static/Downloads/QScintilla/${VERSION}/

-WANTLIB += ${COMPILER_LIBCXX} GL m Qt5Core Qt5Gui Qt5PrintSupport
-WANTLIB += Qt5Widgets qscintilla2_qt5
+WANTLIB += ${COMPILER_LIBCXX} GL m

-MODULES = lang/python \
- x11/qt5
+MODULES = lang/python
+
+FLAVORS = python3 qt6
+FLAVOR += python3
+
+.if ${FLAVOR:Mqt6}
+FULLPKGNAME = py3-qscintilla-qt6-${VERSION}
+MODULES += x11/qt6
+QTVER = qt6
+PYQTVER = PyQt6
+PYQTMOD = qscimod6
+PYQTPREFIX = PyQt6_
+WANTLIB += Qt6Core Qt6Gui Qt6PrintSupport Qt6Widgets qscintilla2_qt6
+LIB_DEPENDS = editors/qscintilla,qt6=${VERSION}
+.else
+MODULES += x11/qt5
QTVER = qt5
PYQTVER = PyQt5
-
-FLAVORS = python3
-FLAVOR = python3
+PYQTMOD = qscimod5
+PYQTPREFIX =
+WANTLIB += Qt5Core Qt5Gui Qt5PrintSupport Qt5Widgets qscintilla2_qt5
+LIB_DEPENDS = editors/qscintilla=${VERSION}
+.endif

BUILD_DEPENDS = devel/py-qt-builder${MODPY_FLAVOR} \
${RUN_DEPENDS}
RUN_DEPENDS = devel/py-sip${MODPY_FLAVOR} \
x11/dbus-python${MODPY_FLAVOR} \
- x11/py-qt5${MODPY_FLAVOR}
-LIB_DEPENDS = editors/qscintilla=${VERSION}
+ x11/py-${QTVER}${MODPY_FLAVOR}

COMPILER = base-clang ports-gcc base-gcc

@@ -52,11 +66,11 @@

FAKE_FLAGS = INSTALL_ROOT=${DESTDIR}

-SUBST_VARS += QTVER PYQTVER
+SUBST_VARS += QTVER PYQTVER PYQTPREFIX PYQTMOD

post-extract:
# Needed to run sip-6.5+ sip-build
- ln -sf ${MODQT5_QMAKE} ${WRKDIR}/bin/qmake
- cp ${WRKSRC}/pyproject-qt5.toml ${WRKSRC}/pyproject.toml
+ ln -sf ${MODQT_QMAKE} ${WRKDIR}/bin/qmake
+ cp ${WRKSRC}/pyproject-${QTVER}.toml ${WRKSRC}/pyproject.toml

.include <bsd.port.mk>
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/editors/py-qscintilla/pkg/PLIST,v
diff -u -r1.11 PLIST
--- pkg/PLIST 2 Sep 2023 10:58:56 -0000 1.11
+++ pkg/PLIST 1 Nov 2024 17:20:07 -0000
@@ -62,14 +62,14 @@
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscilexerxml.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscilexeryaml.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscimacro.sip
-lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscimod5.sip
+lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/${PYQTMOD}.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscimodcommon.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qsciprinter.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qsciscintilla.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qsciscintillabase.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscistyle.sip
lib/python${MODPY_VERSION}/site-packages/${PYQTVER}/bindings/Qsci/qscistyledtext.sip
-lib/python${MODPY_VERSION}/site-packages/QScintilla-${MODPY_EGG_VERSION}.dist-info/
-lib/python${MODPY_VERSION}/site-packages/QScintilla-${MODPY_EGG_VERSION}.dist-info/INSTALLER
-lib/python${MODPY_VERSION}/site-packages/QScintilla-${MODPY_EGG_VERSION}.dist-info/METADATA
-lib/python${MODPY_VERSION}/site-packages/QScintilla-${MODPY_EGG_VERSION}.dist-info/RECORD
+lib/python${MODPY_VERSION}/site-packages/${PYQTPREFIX}QScintilla-${MODPY_EGG_VERSION}.dist-info/
+lib/python${MODPY_VERSION}/site-packages/${PYQTPREFIX}QScintilla-${MODPY_EGG_VERSION}.dist-info/INSTALLER
+lib/python${MODPY_VERSION}/site-packages/${PYQTPREFIX}QScintilla-${MODPY_EGG_VERSION}.dist-info/METADATA
+lib/python${MODPY_VERSION}/site-packages/${PYQTPREFIX}QScintilla-${MODPY_EGG_VERSION}.dist-info/RECORD
? build-i386.log
? build.log
? pkg/PLIST.ok
Index: Makefile
===================================================================
RCS file: /cvs/ports/editors/qscintilla/Makefile,v
diff -u -r1.35 Makefile
--- Makefile 21 Sep 2023 12:22:34 -0000 1.35
+++ Makefile 1 Nov 2024 17:19:52 -0000
@@ -4,30 +4,47 @@
VERSION = 2.14.1
DISTNAME = QScintilla_src-${VERSION}
PKGNAME = qscintilla-${VERSION}
+REVISION = 0

CATEGORIES = editors x11

-SHARED_LIBS += qscintilla2_qt5 2.0 # 15.0
-
HOMEPAGE = https://www.riverbankcomputing.com/software/qscintilla/

# GPLv2/GPLv3
PERMIT_PACKAGE = Yes

-WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5Gui Qt5PrintSupport
-WANTLIB += Qt5Widgets m
-
SITES = https://www.riverbankcomputing.com/static/Downloads/QScintilla/${VERSION}/

-MODULES = devel/qmake \
- x11/qt5
+MODULES = devel/qmake

+SUBST_VARS += QTVER QTSUB
SEPARATE_BUILD = No

CONFIGURE_ENV = HOME=${WRKDIR}

WRKSRC = ${WRKDIST}/src

+FLAVORS = qt6
+FLAVOR?=
+
+# C++17 (at least)
+COMPILER= base-clang ports-clang ports-gcc
+WANTLIB = ${COMPILER_LIBCXX} GL m
+
+.if ${FLAVOR} == "qt6"
+FULLPKGNAME = qscintilla-qt6-${VERSION}
+QTVER = qt6
+QTSUB = share/qt6
+MODULES += x11/qt6
+SHARED_LIBS = qscintilla2_qt6 0.0 # 15.0
+WANTLIB += Qt6Core Qt6Gui Qt6PrintSupport Qt6Widgets
+.else
+QTVER = qt5
+QTSUB = lib/qt5
+MODULES += x11/qt5
+SHARED_LIBS = qscintilla2_qt5 2.0 # 15.0
+WANTLIB += Qt5Core Qt5Gui Qt5PrintSupport Qt5Widgets
+.endif
NO_TEST = Yes

pre-configure:
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/editors/qscintilla/pkg/PLIST,v
diff -u -r1.11 PLIST
--- pkg/PLIST 2 Sep 2023 10:58:56 -0000 1.11
+++ pkg/PLIST 1 Nov 2024 17:19:52 -0000
@@ -1,89 +1,89 @@
@conflict qscintilla-qt5-*
@pkgpath editors/qscintilla,qt5
-include/X11/qt5/Qsci/
-include/X11/qt5/Qsci/qsciabstractapis.h
-include/X11/qt5/Qsci/qsciapis.h
-include/X11/qt5/Qsci/qscicommand.h
-include/X11/qt5/Qsci/qscicommandset.h
-include/X11/qt5/Qsci/qscidocument.h
-include/X11/qt5/Qsci/qsciglobal.h
-include/X11/qt5/Qsci/qscilexer.h
-include/X11/qt5/Qsci/qscilexerasm.h
-include/X11/qt5/Qsci/qscilexeravs.h
-include/X11/qt5/Qsci/qscilexerbash.h
-include/X11/qt5/Qsci/qscilexerbatch.h
-include/X11/qt5/Qsci/qscilexercmake.h
-include/X11/qt5/Qsci/qscilexercoffeescript.h
-include/X11/qt5/Qsci/qscilexercpp.h
-include/X11/qt5/Qsci/qscilexercsharp.h
-include/X11/qt5/Qsci/qscilexercss.h
-include/X11/qt5/Qsci/qscilexercustom.h
-include/X11/qt5/Qsci/qscilexerd.h
-include/X11/qt5/Qsci/qscilexerdiff.h
-include/X11/qt5/Qsci/qscilexeredifact.h
-include/X11/qt5/Qsci/qscilexerfortran.h
-include/X11/qt5/Qsci/qscilexerfortran77.h
-include/X11/qt5/Qsci/qscilexerhex.h
-include/X11/qt5/Qsci/qscilexerhtml.h
-include/X11/qt5/Qsci/qscilexeridl.h
-include/X11/qt5/Qsci/qscilexerintelhex.h
-include/X11/qt5/Qsci/qscilexerjava.h
-include/X11/qt5/Qsci/qscilexerjavascript.h
-include/X11/qt5/Qsci/qscilexerjson.h
-include/X11/qt5/Qsci/qscilexerlua.h
-include/X11/qt5/Qsci/qscilexermakefile.h
-include/X11/qt5/Qsci/qscilexermarkdown.h
-include/X11/qt5/Qsci/qscilexermasm.h
-include/X11/qt5/Qsci/qscilexermatlab.h
-include/X11/qt5/Qsci/qscilexernasm.h
-include/X11/qt5/Qsci/qscilexeroctave.h
-include/X11/qt5/Qsci/qscilexerpascal.h
-include/X11/qt5/Qsci/qscilexerperl.h
-include/X11/qt5/Qsci/qscilexerpo.h
-include/X11/qt5/Qsci/qscilexerpostscript.h
-include/X11/qt5/Qsci/qscilexerpov.h
-include/X11/qt5/Qsci/qscilexerproperties.h
-include/X11/qt5/Qsci/qscilexerpython.h
-include/X11/qt5/Qsci/qscilexerruby.h
-include/X11/qt5/Qsci/qscilexerspice.h
-include/X11/qt5/Qsci/qscilexersql.h
-include/X11/qt5/Qsci/qscilexersrec.h
-include/X11/qt5/Qsci/qscilexertcl.h
-include/X11/qt5/Qsci/qscilexertekhex.h
-include/X11/qt5/Qsci/qscilexertex.h
-include/X11/qt5/Qsci/qscilexerverilog.h
-include/X11/qt5/Qsci/qscilexervhdl.h
-include/X11/qt5/Qsci/qscilexerxml.h
-include/X11/qt5/Qsci/qscilexeryaml.h
-include/X11/qt5/Qsci/qscimacro.h
-include/X11/qt5/Qsci/qsciprinter.h
-include/X11/qt5/Qsci/qsciscintilla.h
-include/X11/qt5/Qsci/qsciscintillabase.h
-include/X11/qt5/Qsci/qscistyle.h
-include/X11/qt5/Qsci/qscistyledtext.h
-@lib lib/libqscintilla2_qt5.so.${LIBqscintilla2_qt5_VERSION}
-lib/qt5/mkspecs/features/qscintilla2.prf
-lib/qt5/qsci/
-lib/qt5/qsci/api/
-lib/qt5/qsci/api/python/
-lib/qt5/qsci/api/python/Python-2.4.api
-lib/qt5/qsci/api/python/Python-2.5.api
-lib/qt5/qsci/api/python/Python-2.6.api
-lib/qt5/qsci/api/python/Python-2.7.api
-lib/qt5/qsci/api/python/Python-3.1.api
-lib/qt5/qsci/api/python/Python-3.10.api
-lib/qt5/qsci/api/python/Python-3.11.api
-lib/qt5/qsci/api/python/Python-3.2.api
-lib/qt5/qsci/api/python/Python-3.3.api
-lib/qt5/qsci/api/python/Python-3.4.api
-lib/qt5/qsci/api/python/Python-3.5.api
-lib/qt5/qsci/api/python/Python-3.6.api
-lib/qt5/qsci/api/python/Python-3.7.api
-lib/qt5/qsci/api/python/Python-3.8.api
-lib/qt5/qsci/api/python/Python-3.9.api
-lib/qt5/translations/
-lib/qt5/translations/qscintilla_cs.qm
-lib/qt5/translations/qscintilla_de.qm
-lib/qt5/translations/qscintilla_es.qm
-lib/qt5/translations/qscintilla_fr.qm
-lib/qt5/translations/qscintilla_pt_br.qm
+include/X11/${QTVER}/Qsci/
+include/X11/${QTVER}/Qsci/qsciabstractapis.h
+include/X11/${QTVER}/Qsci/qsciapis.h
+include/X11/${QTVER}/Qsci/qscicommand.h
+include/X11/${QTVER}/Qsci/qscicommandset.h
+include/X11/${QTVER}/Qsci/qscidocument.h
+include/X11/${QTVER}/Qsci/qsciglobal.h
+include/X11/${QTVER}/Qsci/qscilexer.h
+include/X11/${QTVER}/Qsci/qscilexerasm.h
+include/X11/${QTVER}/Qsci/qscilexeravs.h
+include/X11/${QTVER}/Qsci/qscilexerbash.h
+include/X11/${QTVER}/Qsci/qscilexerbatch.h
+include/X11/${QTVER}/Qsci/qscilexercmake.h
+include/X11/${QTVER}/Qsci/qscilexercoffeescript.h
+include/X11/${QTVER}/Qsci/qscilexercpp.h
+include/X11/${QTVER}/Qsci/qscilexercsharp.h
+include/X11/${QTVER}/Qsci/qscilexercss.h
+include/X11/${QTVER}/Qsci/qscilexercustom.h
+include/X11/${QTVER}/Qsci/qscilexerd.h
+include/X11/${QTVER}/Qsci/qscilexerdiff.h
+include/X11/${QTVER}/Qsci/qscilexeredifact.h
+include/X11/${QTVER}/Qsci/qscilexerfortran.h
+include/X11/${QTVER}/Qsci/qscilexerfortran77.h
+include/X11/${QTVER}/Qsci/qscilexerhex.h
+include/X11/${QTVER}/Qsci/qscilexerhtml.h
+include/X11/${QTVER}/Qsci/qscilexeridl.h
+include/X11/${QTVER}/Qsci/qscilexerintelhex.h
+include/X11/${QTVER}/Qsci/qscilexerjava.h
+include/X11/${QTVER}/Qsci/qscilexerjavascript.h
+include/X11/${QTVER}/Qsci/qscilexerjson.h
+include/X11/${QTVER}/Qsci/qscilexerlua.h
+include/X11/${QTVER}/Qsci/qscilexermakefile.h
+include/X11/${QTVER}/Qsci/qscilexermarkdown.h
+include/X11/${QTVER}/Qsci/qscilexermasm.h
+include/X11/${QTVER}/Qsci/qscilexermatlab.h
+include/X11/${QTVER}/Qsci/qscilexernasm.h
+include/X11/${QTVER}/Qsci/qscilexeroctave.h
+include/X11/${QTVER}/Qsci/qscilexerpascal.h
+include/X11/${QTVER}/Qsci/qscilexerperl.h
+include/X11/${QTVER}/Qsci/qscilexerpo.h
+include/X11/${QTVER}/Qsci/qscilexerpostscript.h
+include/X11/${QTVER}/Qsci/qscilexerpov.h
+include/X11/${QTVER}/Qsci/qscilexerproperties.h
+include/X11/${QTVER}/Qsci/qscilexerpython.h
+include/X11/${QTVER}/Qsci/qscilexerruby.h
+include/X11/${QTVER}/Qsci/qscilexerspice.h
+include/X11/${QTVER}/Qsci/qscilexersql.h
+include/X11/${QTVER}/Qsci/qscilexersrec.h
+include/X11/${QTVER}/Qsci/qscilexertcl.h
+include/X11/${QTVER}/Qsci/qscilexertekhex.h
+include/X11/${QTVER}/Qsci/qscilexertex.h
+include/X11/${QTVER}/Qsci/qscilexerverilog.h
+include/X11/${QTVER}/Qsci/qscilexervhdl.h
+include/X11/${QTVER}/Qsci/qscilexerxml.h
+include/X11/${QTVER}/Qsci/qscilexeryaml.h
+include/X11/${QTVER}/Qsci/qscimacro.h
+include/X11/${QTVER}/Qsci/qsciprinter.h
+include/X11/${QTVER}/Qsci/qsciscintilla.h
+include/X11/${QTVER}/Qsci/qsciscintillabase.h
+include/X11/${QTVER}/Qsci/qscistyle.h
+include/X11/${QTVER}/Qsci/qscistyledtext.h
+@lib lib/libqscintilla2_${QTVER}.so.${LIBqscintilla2_${QTVER}_VERSION}
+lib/${QTVER}/mkspecs/features/qscintilla2.prf
+${QTSUB}/qsci/
+${QTSUB}/qsci/api/
+${QTSUB}/qsci/api/python/
+${QTSUB}/qsci/api/python/Python-2.4.api
+${QTSUB}/qsci/api/python/Python-2.5.api
+${QTSUB}/qsci/api/python/Python-2.6.api
+${QTSUB}/qsci/api/python/Python-2.7.api
+${QTSUB}/qsci/api/python/Python-3.1.api
+${QTSUB}/qsci/api/python/Python-3.10.api
+${QTSUB}/qsci/api/python/Python-3.11.api
+${QTSUB}/qsci/api/python/Python-3.2.api
+${QTSUB}/qsci/api/python/Python-3.3.api
+${QTSUB}/qsci/api/python/Python-3.4.api
+${QTSUB}/qsci/api/python/Python-3.5.api
+${QTSUB}/qsci/api/python/Python-3.6.api
+${QTSUB}/qsci/api/python/Python-3.7.api
+${QTSUB}/qsci/api/python/Python-3.8.api
+${QTSUB}/qsci/api/python/Python-3.9.api
+${QTSUB}/translations/
+${QTSUB}/translations/qscintilla_cs.qm
+${QTSUB}/translations/qscintilla_de.qm
+${QTSUB}/translations/qscintilla_es.qm
+${QTSUB}/translations/qscintilla_fr.qm
+${QTSUB}/translations/qscintilla_pt_br.qm
hi,

i needed this to testbuild geo/qgis against qt6, and those two diffs
add support for a qt6 FLAVOR, vastly inspired by what was present some
years ago when those ports were qt4 by default and had a qt5 FLAVOR.

the diffs are somewhat simple, with some vars i make the PLISTs
FLAVOR-independent. I welcome eyes on the @pkgpath/@conflicts, as both
FLAVORs are coinstallable without problems.

feedback welcome.

Landry

No comments:

Post a Comment