New package: cairo-xcb (for awesome)

This commit is contained in:
davehome 2011-11-05 16:09:13 -06:00
parent 0c60e910e7
commit dd53bf34d7
8 changed files with 147 additions and 0 deletions

1
srcpkgs/cairo-xcb-devel Symbolic link
View file

@ -0,0 +1 @@
cairo-xcb

View file

@ -0,0 +1,37 @@
# Template file for 'cairo-xcb-devel'.
#
short_desc="${sourcepkg} (development files)"
long_desc="${long_desc}
This package contains files for development, headers, static libs, etc.
This version has Xlib xcb enabled."
revision=1
replaces="${__pkgname}-devel>=0"
provides="${__pkgname}-devel-$version"
conflicts="${__pkgname}-devel>=0"
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run zlib-devel
Add_dependency run cairo-xcb
Add_dependency run fontconfig-devel
Add_dependency run freetype-devel
Add_dependency run pixman-devel
Add_dependency run glib-devel
Add_dependency run libpng-devel
Add_dependency run libxcb-devel
Add_dependency run libX11-devel
Add_dependency run libXrender-devel
Add_dependency run MesaLib-devel
do_install()
{
mkdir -p ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/{bin,include} ${DESTDIR}/usr
mv ${SRCPKGDESTDIR}/usr/lib/lib*.*a ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/lib/{cairo,pkgconfig} ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/share ${DESTDIR}/usr
}

View file

@ -0,0 +1,2 @@
abi_depends=">=1.8.6"
api_depends="${abi_depends}"

View file

@ -0,0 +1,17 @@
diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c
index c350f6f..ff8d9e6 100644
--- src/cairo-xcb-surface.c
+++ src/cairo-xcb-surface.c
@@ -186,10 +186,10 @@ _cairo_xcb_surface_create_similar (void *abstract_other,
cairo_status_t status;
if (width > XLIB_COORD_MAX || height > XLIB_COORD_MAX)
- return NULL;
+ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
if (width <= 0 || height <= 0)
- return NULL;
+ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
#if CAIRO_HAS_DRM_SURFACE && CAIRO_HAS_XCB_DRM_FUNCTIONS
if (other->drm != NULL) {

View file

@ -0,0 +1,12 @@
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index 8829dda..1d2d45e 100644
--- src/cairo-xcb-surface-render.c
+++ src/cairo-xcb-surface-render.c
@@ -1086,6 +1086,7 @@ _cairo_xcb_surface_picture (cairo_xcb_surface_t *target,
xcb_pixmap_t pixmap;
pixman_format_code_t pixman_format;
cairo_surface_pattern_t pattern;
+ cairo_status_t status;
/* XXX XRenderCreatePictureForNative:
* Copy the source to a temporary pixmap if possible.

View file

@ -0,0 +1,13 @@
diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c
index ff8d9e6..3b0eb34 100644
--- src/cairo-xcb-surface.c
+++ src/cairo-xcb-surface.c
@@ -195,7 +195,7 @@ _cairo_xcb_surface_create_similar (void *abstract_other,
if (other->drm != NULL) {
cairo_surface_t *drm;
- drm = _cairo_drm_surface_create_similar (other->drm, content, width, height);
+ drm = other->drm->backend->create_similar (other->drm, content, width, height);
if (drm != NULL)
return drm;
}

View file

@ -0,0 +1,64 @@
# Template build file for 'cairo-xcb'.
__pkgname=cairo
pkgname=${__pkgname}-xcb
version=1.10.2
wrksrc=${__pkgname}-${version}
distfiles="http://cairographics.org/releases/${__pkgname}-${version}.tar.gz"
build_style=gnu-configure
configure_args="--enable-xlib --enable-xcb --enable-drm --enable-xlib-xcb=yes
--enable-xcb-drm=yes --enable-png --disable-directfb --enable-ft --enable-pdf
--enable-tee --enable-ps --enable-svg --disable-gcov --enable-gl
--enable-xlib-xrender"
short_desc="Vector graphics library with cross-device output support"
maintainer="davehome <davehome@redthumb.info.tm>"
checksum=32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41
long_desc="
Cairo is a vector graphics library with cross-device output support. Currently
supported output targets include the X Window System and in-memory image
buffers. PostScript and PDF file output is planned. Cairo is designed to
produce identical output on all output media while taking advantage of display
hardware acceleration when available (eg. through the X Render Extension).
Cairo provides a stateful user-level API with capabilities similar to the PDF
1.4 imaging model. Cairo provides operations including stroking and filling
Bezier cubic splines, transforming and compositing translucent images, and
antialiased text rendering.
This version has Xlib xcb enabled."
replaces="${__pkgname}>=0"
provides="${__pkgname}-$version"
conflicts="${__pkgname}>=0"
subpackages="${pkgname}-devel"
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run fontconfig
Add_dependency run freetype
Add_dependency run pixman
Add_dependency run glib
Add_dependency run libudev
Add_dependency run libpng
Add_dependency run libxcb
Add_dependency run libX11
Add_dependency run libXrender
Add_dependency run libGL
Add_dependency run libEGL
Add_dependency build pkg-config
Add_dependency build zlib-devel
Add_dependency build fontconfig-devel
Add_dependency build freetype-devel
Add_dependency build pixman-devel
Add_dependency build libpng-devel
Add_dependency build libxcb-devel
Add_dependency build libX11-devel
Add_dependency build libXrender-devel
Add_dependency build glib-devel
Add_dependency build MesaLib-devel
Add_dependency build libudev-devel
pre_configure()
{
autoreconf -fi
}

View file

@ -82,6 +82,7 @@ libpangoxft-1.0.so.0 pango pango-devel
libpangox-1.0.so.0 pango pango-devel
libpango-1.0.so.0 pango pango-devel
libcairo.so.2 cairo cairo-devel
libcairo.so.2 cairo-xcb cairo-xcb-devel
libcairo-gobject.so.2 cairo cairo-devel
libgdk-x11-2.0.so.0 gtk+ gtk+-devel
libgtk-x11-2.0.so.0 gtk+ gtk+-devel