mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-28 05:29:48 +00:00
c3f9087c48
... And bump PORTREVISION on ports that depend on devel/qscintilla2 due to the shlib version change. This is brought to you by the KDE on FreeBSD team. Besides updating to newer upstream releases, this commit also contains a lot of under-the-hood changes to the PyQt/QScintilla/SIP ports. Their Makefiles had accumulated a lot of cruft over time, so it was time for some summer cleaning: - General, belated changes: * Use OPTIONS helpers wherever possible, stop including <bsd.port.options.mk> when not necessary, stop checking for ${PORT_OPTIONS:MDOCS} and ${PORT_OPTIONS:MEXAMPLES} when not necessary, add options such as DOCS and/or DEBUG where they were only checked for. - QScintilla ports: * Drop the API option from py-qt4-qscintilla2. It had been broken ever since staging support was added, and its existence does not make much sense: QScintilla is a hard dependency regardless of the state of this option anyway, they all come from the same tarball and the configuration script assumes the .api file will always be installed. - PyQt ports: * The configure.py patch shared by all PyQt ports has been trimmed down to the minimum. Changes for Qt3 compatibility or for things that are just not needed anymore have been removed. * Several post-configure targets in the PyQt ports have been removed, as they had no effect on the way the ports were built whatsoever. * In some cases, instead of calling Python's py_compile.py on `ls *.py */*.py */*/*.py` to generate .pyc and .pyo files, we just call compileall.py, which is made for this kind of task. * The patch + sed hack to build py-qt4-dbussupport has been replaced by only extracting the dbus/ directory for that port and excluding it from all others. * Move the bulk of the code in all Makefiles to bsd.pyqt.mk, like the non-Python Qt ports do with bsd.qt.mk and the QT_DIST variable. A large portion of all PyQt Makefiles were very similar and contained a lot of boilerplate code that can be shared among all of them since they all come from the same tarball. bsd.pyqt.mk now has a PYQT4_DIST variable that, when set, automatically sets several common variables and the do-configure target for a port. This allows us to considerably reduce the size of all the py-qt4-* Makefiles. * To make the above possible and also to allow us to use as many OPTIONS helpers as possible, the ARGS variable is now called CONFIGURE_ARGS. That's what it was used for anyway. PR: 191990
123 lines
4.3 KiB
Makefile
123 lines
4.3 KiB
Makefile
# bsd.pyqt.mk - Global definitions for PyQt related ports
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# Port variables:
|
|
# PYQT4_DIST - This port is part of PyQt4 itself. Variables and
|
|
# targets are then set assuming a certain tarball and
|
|
# port layout.
|
|
#
|
|
|
|
PYQT_MAINTAINER= kde@FreeBSD.org
|
|
|
|
MASTER_SITE_RIVERBANK= http://www.riverbankcomputing.com/static/Downloads/%SUBDIR%/
|
|
|
|
MASTER_SITES_SIP= SF/pyqt/sip/sip-${PORTVERSION} \
|
|
${MASTER_SITE_GENTOO:S,%SUBDIR%,distfiles,}
|
|
MASTER_SITES_PYQT4= SF/pyqt/PyQt4/PyQt-${PORTVERSION} \
|
|
${MASTER_SITE_GENTOO:S,%SUBDIR%,distfiles,}
|
|
MASTER_SITES_QSCI2= SF/pyqt/QScintilla2/QScintilla-${PORTVERSION} \
|
|
${MASTER_SITE_GENTOO:S,%SUBDIR%,distfiles,}
|
|
|
|
SIP_VERSION= 4.16.2
|
|
PYQT4_VERSION= 4.11.1
|
|
QSCI2_VERSION= 2.8.3
|
|
|
|
SIP_DISTNAME= sip-${SIP_VERSION}
|
|
PYQT4_DISTNAME= PyQt-x11-gpl-${PYQT4_VERSION}
|
|
PYQT4_DISTINFO_FILE= ${.CURDIR}/../../devel/py-qt4/distinfo
|
|
QSCI2_DISTNAME= QScintilla-gpl-${QSCI2_VERSION}
|
|
QSCI2_DISTINFO_FILE= ${.CURDIR}/../../devel/qscintilla2/distinfo
|
|
|
|
PYQT4_COMPONENTS= assistant core dbus dbussupport declarative \
|
|
demo designer designerplugin doc gui help \
|
|
multimedia network opengl phonon qscintilla2 \
|
|
script scripttools sql svg test webkit xml \
|
|
xmlpatterns
|
|
|
|
assistant_PORT= devel/py-qt4-assistant
|
|
core_PORT= devel/py-qt4-core
|
|
dbus_PORT= devel/py-qt4-dbus
|
|
dbussupport_PORT= devel/py-qt4-dbussupport
|
|
declarative_PORT= devel/py-qt4-declarative
|
|
demo_PORT= misc/py-qt4-demo
|
|
designer_PORT= devel/py-qt4-designer
|
|
designerplugin_PORT= devel/py-qt4-designerplugin
|
|
doc_PORT= misc/py-qt4-doc
|
|
gui_PORT= x11-toolkits/py-qt4-gui
|
|
help_PORT= devel/py-qt4-help
|
|
multimedia_PORT= multimedia/py-qt4-multimedia
|
|
network_PORT= net/py-qt4-network
|
|
opengl_PORT= x11/py-qt4-opengl
|
|
phonon_PORT= multimedia/py-qt4-phonon
|
|
qscintilla2_PORT= devel/py-qt4-qscintilla2
|
|
script_PORT= devel/py-qt4-script
|
|
scripttools_PORT= devel/py-qt4-scripttools
|
|
sql_PORT= databases/py-qt4-sql
|
|
svg_PORT= graphics/py-qt4-svg
|
|
test_PORT= devel/py-qt4-test
|
|
webkit_PORT= www/py-qt4-webkit
|
|
xml_PORT= textproc/py-qt4-xml
|
|
xmlpatterns_PORT= textproc/py-qt4-xmlpatterns
|
|
|
|
assistant_DESC= Python bindings for QtAssistant module
|
|
core_DESC= Python bindings for QtCore module
|
|
dbus_DESC= Python bindings for QtDBus module
|
|
dbussupport_DESC= Python bindings for D-Bus
|
|
declarative_DESC= Python bindings for QtDeclarative module
|
|
demo_DESC= PyQt4 demo and examples
|
|
designer_DESC= Python bindings for QtDesigner module
|
|
designerplugin_DESC= Python bindings for QtDesigner plugin
|
|
doc_DESC= PyQt4 documentation
|
|
gui_DESC= Python bindings for QtGui module
|
|
help_DESC= Python bindings for QtHelp module
|
|
multimedia_DESC= Python bindings for Multimedia module
|
|
network_DESC= Python bindings for QtNetwork module
|
|
opengl_DESC= Python bindings for QtOpenGL module
|
|
phonon_DESC= Python bindings for Phonon module
|
|
qscintilla2_DESC= Python bindings for QScintilla2
|
|
script_DESC= Python bindings for QtScript module
|
|
scripttools_DESC= Python bindings for QtScriptTools module
|
|
sql_DESC= Python bindings for QtSql module
|
|
svg_DESC= Python bindings for QtSvg module
|
|
test_DESC= Python bindings for QtTest module
|
|
webkit_DESC= Python bindings for QtWebKit module
|
|
xml_DESC= Python bindings for QtXml module
|
|
xmlpatterns_DESC= Python bindings for QtXmlPatterns module
|
|
|
|
.if defined(PYQT4_DIST)
|
|
PORTVERSION= ${PYQT4_VERSION}
|
|
MASTER_SITES= ${MASTER_SITES_PYQT4}
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}qt4-
|
|
DISTNAME= ${PYQT4_DISTNAME}
|
|
|
|
DISTINFO_FILE= ${PYQT4_DISTINFO_FILE}
|
|
HAS_CONFIGURE= yes
|
|
USE_PYTHON= yes
|
|
|
|
QT_NONSTANDARD= yes # Do not add unknown arguments to CONFIGURE_ARGS.
|
|
|
|
PATCHDIR= ${.CURDIR}/../../devel/py-qt4-core/files
|
|
OPTIONSFILE?= ${PORT_DBDIR}/py-qt4-${PORTNAME}/options
|
|
SIPDIR= ${PREFIX}/share/py-sip
|
|
QSCIDIR= ${PREFIX}/share/qt4/qsci
|
|
CONFIGURE_ARGS+=-b ${PREFIX}/bin \
|
|
-d ${PYTHONPREFIX_SITELIBDIR} \
|
|
-q ${QMAKE} \
|
|
--confirm-license \
|
|
--sipdir ${SIPDIR}
|
|
|
|
# One of the things PyQt4 looks for to determine whether to build the Qt DBus
|
|
# main loop module (py-qt4-dbussupport) is whether the dbus/ directory is
|
|
# present. Only extract it for that port then.
|
|
.if ${PORTNAME} != "dbussupport"
|
|
EXTRACT_AFTER_ARGS+= --exclude "${DISTNAME}/dbus"
|
|
.endif # ${PORTNAME} != "dbussupport"
|
|
|
|
.if !target(do-configure)
|
|
do-configure:
|
|
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
|
|
${PYTHON_CMD} configure.py ${CONFIGURE_ARGS}
|
|
.endif # !target(do-configure)
|
|
.endif # defined(PYQT4_DIST)
|