summaryrefslogtreecommitdiff
path: root/x11/py-xcbgen
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2009-04-08 13:06:22 +0000
committerdrochner <drochner@pkgsrc.org>2009-04-08 13:06:22 +0000
commit760c8e3f507831f12e689da5677ee4b5c8e74c4c (patch)
treed95595e578abc385d1e8af1d3bbf2c288b0ebd60 /x11/py-xcbgen
parentc40a72bf226064de1b620307a991f9f97c62dc72 (diff)
downloadpkgsrc-760c8e3f507831f12e689da5677ee4b5c8e74c4c.tar.gz
split the "xcbgen" Python extension which comes with xcb-proto
into its own pkg and pull it in the common Python way so that we ensure matching Python versions
Diffstat (limited to 'x11/py-xcbgen')
-rw-r--r--x11/py-xcbgen/DESCR20
-rw-r--r--x11/py-xcbgen/Makefile23
-rw-r--r--x11/py-xcbgen/PLIST20
-rw-r--r--x11/py-xcbgen/distinfo10
-rw-r--r--x11/py-xcbgen/patches/patch-aa13
-rw-r--r--x11/py-xcbgen/patches/patch-ab42
-rw-r--r--x11/py-xcbgen/patches/patch-ac13
-rw-r--r--x11/py-xcbgen/patches/patch-ad13
-rw-r--r--x11/py-xcbgen/patches/patch-ae22
9 files changed, 176 insertions, 0 deletions
diff --git a/x11/py-xcbgen/DESCR b/x11/py-xcbgen/DESCR
new file mode 100644
index 00000000000..9796595282f
--- /dev/null
+++ b/x11/py-xcbgen/DESCR
@@ -0,0 +1,20 @@
+About xcb-proto
+===============
+
+The xcb-proto package provides the XML-XCB (X C Bindings) protocol
+descriptions that libxcb uses to generate the majority of its code and API.
+We provide them separately from libxcb to allow reuse by other projects,
+such as additional language bindings, protocol dissectors, or
+documentation generators.
+
+Separation of XCB's transport and protocol layers simplifies both
+writing extensions and client-side support for extensions.
+By contrast, with the xlib infrastructure, client-side support for
+new extensions requires significant duplication of effort. With XCB and
+the XML-XCB protocol descriptions, client-side support for a new
+extension requires only an XML description of the extension--and not a
+single line of code.
+
+Python libraries: xcb-proto also contains language-independent Python
+libraries that are used to parse an XML description and create objects
+used by Python code generators in individual language bindings.
diff --git a/x11/py-xcbgen/Makefile b/x11/py-xcbgen/Makefile
new file mode 100644
index 00000000000..f9cf1f045bb
--- /dev/null
+++ b/x11/py-xcbgen/Makefile
@@ -0,0 +1,23 @@
+# $NetBSD: Makefile,v 1.1 2009/04/08 13:06:22 drochner Exp $
+#
+
+DISTNAME= xcb-proto-1.4
+PKGNAME= ${PYPKGPREFIX}-xcbgen-1.4
+CATEGORIES= x11
+MASTER_SITES= http://xcb.freedesktop.org/dist/
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= reed@reedmedia.net
+HOMEPAGE= http://xcb.freedesktop.org/
+COMMENT= XCB protocol descriptions (in XML)
+
+CONFLICTS+= xcb-proto<1.4nb1
+PKG_DESTDIR_SUPPORT= user-destdir
+
+GNU_CONFIGURE= yes
+USE_TOOLS+= pkg-config
+USE_LANGUAGES= # none
+PY_PATCHPLIST= yes
+
+.include "../../lang/python/extension.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/x11/py-xcbgen/PLIST b/x11/py-xcbgen/PLIST
new file mode 100644
index 00000000000..2499712c202
--- /dev/null
+++ b/x11/py-xcbgen/PLIST
@@ -0,0 +1,20 @@
+@comment $NetBSD: PLIST,v 1.1 2009/04/08 13:06:22 drochner Exp $
+${PYSITELIB}/xcbgen/__init__.py
+${PYSITELIB}/xcbgen/__init__.pyc
+${PYSITELIB}/xcbgen/__init__.pyo
+${PYSITELIB}/xcbgen/error.py
+${PYSITELIB}/xcbgen/error.pyc
+${PYSITELIB}/xcbgen/error.pyo
+${PYSITELIB}/xcbgen/expr.py
+${PYSITELIB}/xcbgen/expr.pyc
+${PYSITELIB}/xcbgen/expr.pyo
+${PYSITELIB}/xcbgen/matcher.py
+${PYSITELIB}/xcbgen/matcher.pyc
+${PYSITELIB}/xcbgen/matcher.pyo
+${PYSITELIB}/xcbgen/state.py
+${PYSITELIB}/xcbgen/state.pyc
+${PYSITELIB}/xcbgen/state.pyo
+${PYSITELIB}/xcbgen/xtypes.py
+${PYSITELIB}/xcbgen/xtypes.pyc
+${PYSITELIB}/xcbgen/xtypes.pyo
+@dirrm ${PYSITELIB}/xcbgen
diff --git a/x11/py-xcbgen/distinfo b/x11/py-xcbgen/distinfo
new file mode 100644
index 00000000000..0bf537cab48
--- /dev/null
+++ b/x11/py-xcbgen/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1 2009/04/08 13:06:22 drochner Exp $
+
+SHA1 (xcb-proto-1.4.tar.bz2) = ab9bb7c875558a3324673bb749e0502046f31083
+RMD160 (xcb-proto-1.4.tar.bz2) = a344ca302a1cbefd98dcd289abf8704667a4b536
+Size (xcb-proto-1.4.tar.bz2) = 87093 bytes
+SHA1 (patch-aa) = a04e2b8bb3fa6630d47d3febd7d676717ac15907
+SHA1 (patch-ab) = c61982389c86d2a61136aba67ea2a0647cc68da5
+SHA1 (patch-ac) = 39539e6d45e4994df0c291f6c05382c5c00a6aee
+SHA1 (patch-ad) = bb86c889e0520aa98761b01d71d438ca4e71fc6b
+SHA1 (patch-ae) = dc24bb927986f7112367836e6520c30059891686
diff --git a/x11/py-xcbgen/patches/patch-aa b/x11/py-xcbgen/patches/patch-aa
new file mode 100644
index 00000000000..390cc7b0f39
--- /dev/null
+++ b/x11/py-xcbgen/patches/patch-aa
@@ -0,0 +1,13 @@
+$NetBSD: patch-aa,v 1.1 2009/04/08 13:06:22 drochner Exp $
+
+--- configure.orig 2009-01-07 13:20:32.000000000 +0100
++++ configure
+@@ -2207,7 +2207,7 @@ echo $ECHO_N "checking whether $PYTHON v
+ prog="import sys, string
+ # split strings by '.' and convert to numeric. Append some zeros
+ # because we need at least 4 digits for the hex conversion.
+-minver = map(int, string.split('2.5', '.')) + [0, 0, 0]
++minver = map(int, string.split('2.4', '.')) + [0, 0, 0]
+ minverhex = 0
+ for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[i]
+ sys.exit(sys.hexversion < minverhex)"
diff --git a/x11/py-xcbgen/patches/patch-ab b/x11/py-xcbgen/patches/patch-ab
new file mode 100644
index 00000000000..5826a798832
--- /dev/null
+++ b/x11/py-xcbgen/patches/patch-ab
@@ -0,0 +1,42 @@
+$NetBSD: patch-ab,v 1.1 2009/04/08 13:06:22 drochner Exp $
+
+--- xcbgen/xtypes.py.orig 2008-09-05 00:49:13.000000000 +0200
++++ xcbgen/xtypes.py
+@@ -160,12 +160,22 @@ class ListType(Type):
+
+ if elt.tag == 'list':
+ elts = list(elt)
+- self.expr = Expression(elts[0] if len(elts) else elt, self)
++ if len(elts):
++ self.expr = Expression(elts[0], self)
++ else:
++ self.expr = Expression(elt, self)
+ elif elt.tag == 'valueparam':
+ self.expr = Expression(elt, self)
+
+- self.size = member.size if member.fixed_size() else None
+- self.nmemb = self.expr.nmemb if self.expr.fixed_size() else None
++ if member.fixed_size():
++ self.size = member.size
++ else:
++ self.size = None
++
++ if self.expr.fixed_size():
++ self.nmemb = self.expr.nmemb
++ else:
++ self.nmemb = None
+
+ def make_member_of(self, module, complex_type, field_type, field_name, visible, wire, auto):
+ if not self.fixed_size():
+@@ -256,7 +266,10 @@ class PadType(SizedPadType):
+ Derived class which represents a padding field of given type.
+ '''
+ def __init__(self, elt):
+- self.nmemb = "1" if (elt == None) else elt.get('bytes')
++ if (elt == None):
++ self.nmemb = "1"
++ else:
++ self.nmemb = elt.get('bytes')
+ SizedPadType.__init__(self, self.nmemb)
+
+ class ComplexType(Type):
diff --git a/x11/py-xcbgen/patches/patch-ac b/x11/py-xcbgen/patches/patch-ac
new file mode 100644
index 00000000000..3839ee75088
--- /dev/null
+++ b/x11/py-xcbgen/patches/patch-ac
@@ -0,0 +1,13 @@
+$NetBSD: patch-ac,v 1.1 2009/04/08 13:06:22 drochner Exp $
+
+--- xcbgen/state.py.orig 2009-04-01 16:05:28.000000000 +0200
++++ xcbgen/state.py
+@@ -2,7 +2,7 @@
+ This module contains the namespace class and the singleton module class.
+ '''
+ from os.path import dirname, basename
+-from xml.etree.cElementTree import parse
++from xml.etree.ElementTree import parse
+
+ import matcher
+ from error import *
diff --git a/x11/py-xcbgen/patches/patch-ad b/x11/py-xcbgen/patches/patch-ad
new file mode 100644
index 00000000000..c841f17a6d9
--- /dev/null
+++ b/x11/py-xcbgen/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.1 2009/04/08 13:06:22 drochner Exp $
+
+--- xcbgen/matcher.py.orig 2009-04-01 16:06:02.000000000 +0200
++++ xcbgen/matcher.py
+@@ -7,7 +7,7 @@ we do not create a new type object, we j
+ '''
+
+ from os.path import join
+-from xml.etree.cElementTree import parse
++from xml.etree.ElementTree import parse
+
+ import state
+ from xtypes import *
diff --git a/x11/py-xcbgen/patches/patch-ae b/x11/py-xcbgen/patches/patch-ae
new file mode 100644
index 00000000000..27a50716c55
--- /dev/null
+++ b/x11/py-xcbgen/patches/patch-ae
@@ -0,0 +1,22 @@
+$NetBSD: patch-ae,v 1.1 2009/04/08 13:06:22 drochner Exp $
+
+--- Makefile.in.orig 2009-04-08 14:37:08.000000000 +0200
++++ Makefile.in
+@@ -158,7 +158,7 @@ target_alias = @target_alias@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ xcbincludedir = @xcbincludedir@
+-SUBDIRS = src xcbgen
++SUBDIRS = xcbgen
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = xcb-proto.pc
+ EXTRA_DIST = doc xcb-proto.pc.in
+@@ -547,7 +547,7 @@ info: info-recursive
+
+ info-am:
+
+-install-data-am: install-pkgconfigDATA
++install-data-am: #install-pkgconfigDATA
+
+ install-dvi: install-dvi-recursive
+