ports/109632: [new port] devel/py-qt4-designerplugin: PyQt4 bindings, QPy designer plugin

Danny Pansters danny at ricin.com
Tue Feb 27 18:10:16 UTC 2007


>Number:         109632
>Category:       ports
>Synopsis:       [new port] devel/py-qt4-designerplugin: PyQt4 bindings, QPy designer plugin
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 27 18:10:15 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Danny Pansters
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD desktop.homenet 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #1: Fri Jan 12 23:22:55 CET 2007 danny at desktop.homenet:/usr/obj/usr/src/sys/DESKTOP i386


	
>Description:
	This PR creates:	devel/py-qt4-designerplugin
				devel/py-qt4-designerplugin/files
	new files:		Makefile, distinfo, pkg-descr, pkg-plist,
				files/patch-configure.py

	This PR is part 18 of a series of 20 PRs concerning PyQt4 and QScintilla2


	The following existing ports are affected
	=========================================

	devel/py-sip          ==> update to recent snapshot
	devel/py-dbus         ==> update to 0.8.1 (dbus 1.0 API)
	x11-toolkits/py-qt    ==> update to recent snapshot (sip backport)


	The following ports are new
	===========================

	devel/qscintilla2
	devel/qscintilla2-designerplugin

	databases/py-qt4-sql
	devel/py-qt4-assistant
	devel/py-qt4-core
	devel/py-qt4-dbus
	devel/py-qt4-designer
	devel/py-qt4-designerplugin
	devel/py-qt4-qscintilla2
	devel/py-qt4-test
	graphics/py-qt4-svg
	misc/py-qt4-demo
	misc/py-qt4-doc
	net/py-qt4-network
	textproc/py-qt4-xml
	x11/py-qt4-opengl
	x11-toolkits/py-qt4-gui


	Distfile rerolling, packages
	============================

	Currently there are new snapshots made available upstream daily. The
	older snapshots are not retained and upstream often uploads a new
	snapshot under an existing name, which causes checksums to break.
	The distfiles from my web location should be in sync with the latest
	distname used in the ports so fetching and checksumming should work
	with that. Binary packages (i386/FreeBSD6-stable) can be fetched from
	http://freebsd.ricin.com/ports/packages/All/

>How-To-Repeat:
	
>Fix:
	

--- 18-py-qt4-designerplugin.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	/usr/ports/devel/py-qt4-designerplugin
#	/usr/ports/devel/py-qt4-designerplugin/files
#	/usr/ports/devel/py-qt4-designerplugin/files/patch-configure.py
#	/usr/ports/devel/py-qt4-designerplugin/pkg-descr
#	/usr/ports/devel/py-qt4-designerplugin/distinfo
#	/usr/ports/devel/py-qt4-designerplugin/Makefile
#	/usr/ports/devel/py-qt4-designerplugin/pkg-plist
#
echo c - /usr/ports/devel/py-qt4-designerplugin
mkdir -p /usr/ports/devel/py-qt4-designerplugin > /dev/null 2>&1
echo c - /usr/ports/devel/py-qt4-designerplugin/files
mkdir -p /usr/ports/devel/py-qt4-designerplugin/files > /dev/null 2>&1
echo x - /usr/ports/devel/py-qt4-designerplugin/files/patch-configure.py
sed 's/^X//' >/usr/ports/devel/py-qt4-designerplugin/files/patch-configure.py << 'END-of-/usr/ports/devel/py-qt4-designerplugin/files/patch-configure.py'
X--- configure.py.orig	Mon Feb 19 04:39:13 2007
X+++ configure.py	Tue Feb 20 20:18:13 2007
X@@ -133,21 +133,21 @@
X         }
X 
X     def check_modules(self):
X-        pyqt_modules.append("QtCore")
X+        #pyqt_modules.append("QtCore")
X 
X-        check_module("QtGui", "qwidget.h", "new QWidget()")
X-        check_module("QtNetwork", "qhostaddress.h", "new QHostAddress()")
X-        check_module("QtOpenGL", "qgl.h", "new QGLWidget()")
X-        check_module("QtSql", "qsqldatabase.h", "new QSqlDatabase()")
X-        check_module("QtSvg", "qsvgwidget.h", "new QSvgWidget()")
X-        check_module("QtTest", "QtTest", "QTest::qSleep(0)")
X-        check_module("QtXml", "qdom.h", "new QDomDocument()")
X-        check_module("QtAssistant", "qassistantclient.h", "new QAssistantClient(\"foo\")")
X+        #check_module("QtGui", "qwidget.h", "new QWidget()")
X+        #check_module("QtNetwork", "qhostaddress.h", "new QHostAddress()")
X+        #check_module("QtOpenGL", "qgl.h", "new QGLWidget()")
X+        #check_module("QtSql", "qsqldatabase.h", "new QSqlDatabase()")
X+        #check_module("QtSvg", "qsvgwidget.h", "new QSvgWidget()")
X+        #check_module("QtTest", "QtTest", "QTest::qSleep(0)")
X+        #check_module("QtXml", "qdom.h", "new QDomDocument()")
X+        #check_module("QtAssistant", "qassistantclient.h", "new QAssistantClient(\"foo\")")
X         check_module("QtDesigner", "QExtensionFactory", "new QExtensionFactory()")
X-        check_module("QAxContainer", "qaxobject.h", "new QAxObject()", "QAxContainer")
X+        #check_module("QAxContainer", "qaxobject.h", "new QAxObject()", "QAxContainer")
X 
X-        if os.path.isdir("dbus"):
X-            check_dbus()
X+        #if os.path.isdir("dbus"):
X+        #    check_dbus()
X 
X     def code(self):
X         # Note that the order of the dependent modules is important.
X@@ -201,31 +201,31 @@
X             generate_code("QAxContainer", ["QAxContainer", "QtGui", "QtCore"])
X 
X         # Generate the consolidated module.
X-        sipconfig.inform("Creating Qt consolidated module...")
X-        f = open("Qt.py", "w")
X+        #sipconfig.inform("Creating Qt consolidated module...")
X+        #f = open("Qt.py", "w")
X 
X-        for m in pyqt_modules:
X-            f.write("from PyQt4.%s import *\n" % m)
X+        #for m in pyqt_modules:
X+        #    f.write("from PyQt4.%s import *\n" % m)
X 
X-        f.close()
X+        #f.close()
X 
X         # Generate the QScintilla API file.
X-        sipconfig.inform("Creating QScintilla API file...")
X-        f = open("PyQt4.api", "w")
X+        #sipconfig.inform("Creating QScintilla API file...")
X+        #f = open("PyQt4.api", "w")
X 
X-        for m in pyqt_modules:
X-            api = open(m + ".api")
X+        #for m in pyqt_modules:
X+        #    api = open(m + ".api")
X 
X-            for l in api:
X-                f.write("PyQt4." + l)
X+        #    for l in api:
X+        #        f.write("PyQt4." + l)
X 
X-            api.close()
X-            os.remove(m + ".api")
X+        #    api.close()
X+        #    os.remove(m + ".api")
X 
X-        f.close()
X+        #f.close()
X 
X     def module_installs(self):
X-        return ["__init__.py", "Qt.py", "pyqtconfig.py"]
X+        return []
X 
X     def qpylibs(self):
X         # See which QPy libraries to build.
X@@ -278,7 +278,7 @@
X             tool.append("dbus")
X 
X         # Only include ElementTree for older versions of Python.
X-        if sipcfg.py_version < 0x020500:
X+        """if sipcfg.py_version < 0x020500:
X             sipconfig.inform("Creating elementtree Makefile...")
X 
X             makefile = sipconfig.PythonModuleMakefile(
X@@ -309,7 +309,7 @@
X         )
X 
X         makefile.generate()
X-        tool.append("pyuic")
X+        tool.append("pyuic")"""
X 
X         if "QtXml" in pyqt_modules:
X             sipconfig.inform("Creating pylupdate4 Makefile...")
X@@ -344,7 +344,8 @@
X             makefile.generate()
X             tool.append("pyrcc")
X         else:
X-            sipconfig.inform("pylupdate4 and pyrcc4 will not be built because the Qt XML module is missing.")
X+            #sipconfig.inform("pylupdate4 and pyrcc4 will not be built because the Qt XML module is missing.")
X+            pass
X 
X         if "QtDesigner" in pyqt_modules:
X             enabled = True
X@@ -364,7 +365,7 @@
X                     # We need to work out how to specify the right framework
X                     # version.
X                     link = "-framework Python"
X-                elif "--enable-shared" in ducfg.get("CONFIG_ARGS", ""):
X+                elif "--enable-shared" in ducfg.get("CONFIG_ARGS", "") or sys.platform[:-1] == "freebsd":
X                     link = "-L%s/lib -lpython%d.%d" % (ducfg["prefix"], py_major, py_minor)
X                 else:
X                     sipconfig.inform("Qt Designer plugin disabled because Python library is static")
X@@ -419,16 +420,16 @@
X     sipconfig.inform("The %s Qt library is in %s." % (qt_lib, qt_libdir))
X     sipconfig.inform("The Qt binaries are in %s." % qt_bindir)
X     sipconfig.inform("The Qt mkspecs directory is in %s." % qt_datadir)
X-    sipconfig.inform("These PyQt modules will be built: %s." % string.join(pyqt_modules))
X+    #sipconfig.inform("These PyQt modules will be built: %s." % string.join(pyqt_modules))
X 
X-    sipconfig.inform("The PyQt modules will be installed in %s." % opt_pyqtmoddir)
X+    #sipconfig.inform("The PyQt modules will be installed in %s." % opt_pyqtmoddir)
X 
X     if pydbusmoddir:
X         sipconfig.inform("The dbus support module will be installed in %s." % pydbusmoddir)
X 
X-    sipconfig.inform("The PyQt .sip files will be installed in %s." % opt_pyqtsipdir)
X+    #sipconfig.inform("The PyQt .sip files will be installed in %s." % opt_pyqtsipdir)
X 
X-    sipconfig.inform("pyuic4, pyrcc4 and pylupdate4 will be installed in %s." % opt_pyqtbindir)
X+    #sipconfig.inform("pyuic4, pyrcc4 and pylupdate4 will be installed in %s." % opt_pyqtbindir)
X 
X     if opt_vendorcheck:
X         sipconfig.inform("PyQt will only be usable with signed interpreters.")
X@@ -761,7 +762,8 @@
X     sipfiles = []
X 
X     for s in glob.glob("sip/" + mname + "/*.sip"):
X-        sipfiles.append(os.path.join("..", "sip", mname, os.path.basename(s)))
X+        if mname == "":
X+            sipfiles.append(os.path.join("..", "sip", mname, os.path.basename(s)))
X 
X     installs.append([sipfiles, os.path.join(opt_pyqtsipdir, mname)])
X 
X@@ -825,7 +827,7 @@
X             sipconfig.error("This version of PyQt and the %s edition of Qt have incompatible licenses." % qted)
X 
X     # Confirm the license.
X-    print
X+    """print
X     print "Type 'L' to view the license."
X     print "Type 'yes' to accept the terms of the license."
X     print "Type 'no' to decline the terms of the license."
X@@ -847,7 +849,7 @@
X 
X         if resp == "l":
X             os.system("more LICENSE")
X-
X+    """
X     # If there should be a license file then check it is where it should be.
X     if lfile:
X         if os.access(os.path.join("sip", lfile), os.F_OK):
X@@ -1366,17 +1368,17 @@
X 
X     scidir = os.path.join(qt_datadir, "qsci")
X 
X-    if opt_api or os.path.isdir(scidir):
X-        installs.append(("PyQt4.api", os.path.join(scidir, "api", "python")))
X+    #if opt_api or os.path.isdir(scidir):
X+    #    installs.append(("PyQt4.api", os.path.join(scidir, "api", "python")))
X 
X     sipconfig.ParentMakefile(
X         configuration=sipcfg,
X-        subdirs=pyqt.qpylibs() + pyqt_modules + pyqt.tools(),
X+        subdirs=pyqt.qpylibs() + pyqt.tools(),
X         installs=installs
X     ).generate()
X 
X     # Install the configuration module.
X-    create_config("pyqtconfig.py", "pyqtconfig.py.in", macros)
X+    #create_config("pyqtconfig.py", "pyqtconfig.py.in", macros)
X 
X 
X ###############################################################################
END-of-/usr/ports/devel/py-qt4-designerplugin/files/patch-configure.py
echo x - /usr/ports/devel/py-qt4-designerplugin/pkg-descr
sed 's/^X//' >/usr/ports/devel/py-qt4-designerplugin/pkg-descr << 'END-of-/usr/ports/devel/py-qt4-designerplugin/pkg-descr'
XPyQt4 is a set of Python bindings for Trolltech's Qt4 application framework.
XThis package provides the QtDesigner plugin.
X
XWWW: http://www.riverbankcomputing.co.uk/pyqt/
END-of-/usr/ports/devel/py-qt4-designerplugin/pkg-descr
echo x - /usr/ports/devel/py-qt4-designerplugin/distinfo
sed 's/^X//' >/usr/ports/devel/py-qt4-designerplugin/distinfo << 'END-of-/usr/ports/devel/py-qt4-designerplugin/distinfo'
XMD5 (PyQt-x11-gpl-4-snapshot-20070225.tar.gz) = 89bc82feba24afe9bf3ea077e8f0cae2
XSHA256 (PyQt-x11-gpl-4-snapshot-20070225.tar.gz) = d181fb50236885107863c6a0ab4c72cf54967b0711a1cd1aea3bff3e710f73af
XSIZE (PyQt-x11-gpl-4-snapshot-20070225.tar.gz) = 5620849
END-of-/usr/ports/devel/py-qt4-designerplugin/distinfo
echo x - /usr/ports/devel/py-qt4-designerplugin/Makefile
sed 's/^X//' >/usr/ports/devel/py-qt4-designerplugin/Makefile << 'END-of-/usr/ports/devel/py-qt4-designerplugin/Makefile'
X# New ports collection makefile for:	py-qt4-designerplugin
X# Date created:				2007-02-20
X# Whom:					Danny Pansters <danny at ricin.com>
X#
X# $FreeBSD: Exp $
X
XPORTNAME=	designerplugin
XPORTVERSION=	4.2
XCATEGORIES=	devel python
XMASTER_SITES=	http://www.riverbankcomputing.com/Downloads/Snapshots/PyQt4/ \
X		http://freebsd.ricin.com/ports/distfiles/
XPKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}qt4-
XDISTNAME=	PyQt-x11-gpl-4-snapshot-20070225
X
XMAINTAINER=	danny at ricin.com
XCOMMENT=	Python bindings for the Qt4 toolkit, QtDesigner plugin
X
XBUILD_DEPENDS=	${PYTHON_SITELIBDIR}/PyQt4/QtDesigner.so:${PORTSDIR}/devel/py-qt4-designer \
X		${PYTHON_SITELIBDIR}/PyQt4/QtXml.so:${PORTSDIR}/textproc/py-qt4-xml
XRUN_DEPENDS=	${BUILD_DEPENDS}
X
XHAS_CONFIGURE=	yes
XUSE_PYTHON=	2.3+
XUSE_QT_VER=	4
XQT_COMPONENTS=	designer moc qmake xml
X
XOPTIONS=	DEBUG		"Enable debugging in generated code" off \
X		TRACING		"Enable tracing in generated code" off
X
XOPTIONSFILE=	${PORT_DBDIR}/py-qt4-${PORTNAME}/options
XARGS=		-b ${PREFIX}/bin -c -j 2 -d ${PYTHONPREFIX_SITELIBDIR}/PyQt4 \
X		-q ${QT_PREFIX}/bin/qmake-qt4
X
X.include <bsd.port.pre.mk>
X
X.if defined(WITH_DEBUG)
XARGS+=		-u
X.endif
X.if defined(WITH_TRACING)
XARGS+=          -r
X.endif
X
Xdo-configure:
X	( cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \
X		${PYTHON_CMD} configure.py ${ARGS} )
X
X.include <bsd.port.post.mk>
END-of-/usr/ports/devel/py-qt4-designerplugin/Makefile
echo x - /usr/ports/devel/py-qt4-designerplugin/pkg-plist
sed 's/^X//' >/usr/ports/devel/py-qt4-designerplugin/pkg-plist << 'END-of-/usr/ports/devel/py-qt4-designerplugin/pkg-plist'
X at cwd %%LOCALBASE%%
Xlib/plugins/designer/libpythonplugin.so
X at exec mkdir -p %D/lib/plugins/designer/python
X at dirrmtry lib/plugins/designer/python
X at dirrmtry lib/plugins/designer
END-of-/usr/ports/devel/py-qt4-designerplugin/pkg-plist
exit
--- 18-py-qt4-designerplugin.shar ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list