add patched cairo
This commit is contained in:
parent
8751dafd50
commit
3d57eb3cd6
@ -630,6 +630,13 @@ _kernel_src_compile() {
|
||||
K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
fi
|
||||
|
||||
# Freescale
|
||||
if [ "${K_NASKERNEL_NAME}" = "pandaboard" ]; then
|
||||
K_NASKERNEL_TYPE="default"
|
||||
K_NASKERNEL_DEVICE="OMAP4 Panda board"
|
||||
K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
fi
|
||||
|
||||
unset LDFLAGS
|
||||
|
||||
if [ "${K_NASKERNEL_DTB}" != "none" ]; then
|
||||
|
1465
x11-libs/cairo/ChangeLog
Normal file
1465
x11-libs/cairo/ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
15
x11-libs/cairo/Manifest
Normal file
15
x11-libs/cairo/Manifest
Normal file
@ -0,0 +1,15 @@
|
||||
AUX cairo-1.10.0-buggy_gradients.patch 581 SHA256 3b622bb250b996ea5f5adc5c899af343e0efba5c477fa0e51fdbb720a8dd1b18 SHA512 c602992dd962586f9de09d2a838f828901845a02ba7afa1bc0cb434393aa05e98f02dc2342299b0b09f7cfbabb0295a22874023b68e1312982df2b71e3030442 WHIRLPOOL 55c72b55b1d378653204e1c8e0db463d12254ffa7a52e5c4b86eca9b67607bdcbb545b1589fa9a6df781d230d17264c67a018cece4030aac90eda7c68c41f5ea
|
||||
AUX cairo-1.10.2-export-symbols.patch 2072 SHA256 31df610ff96a9d04b51e9636c8566bbe35112e5e012f585199bf883ee0924b3c SHA512 c74e670a4d2e372f37fe5b9e9c3b238bbd4eaae7ed98dc5e80efebfad243d777e0f09fd376761b082c2997848b08a88043c38f077408a4cfa7aacd941b54624f WHIRLPOOL 885e16165878e5c3817ff6ae07f2cf275a70721ebe903e51d9b9eb25f4790c5c9bb432516935427911e9417440f4a054dfb13da1d74f47ad998d88a44a271c92
|
||||
AUX cairo-1.10.2-interix.patch 1235 SHA256 d915d69e2eb96f6a4bef1de0c493ed9face7b5d6a79194ab9f2a7f3d85b799ea SHA512 fbc524c2f359b489dc337a2aa70fbfc21e4cea0e306d144f45f520875471a66b65cd7687730461bff16c47792a30d81ed2be48895e2809cc24996a2dc26c560e WHIRLPOOL d25a09cb9c53b553690e865385be90cd696ed6135734d4d2f3814bd30e386c5f0bff05e7cd4f34c737dd2db2e35f590023b4dd7a00e767abdad9acf60775d684
|
||||
AUX cairo-1.10.2-qt-surface.patch 2687 SHA256 fb96199ec7a4cf8527726be8d0333ed883183b56960832218eca1c9ef2e05dbd SHA512 1263f129f96ecf0277ba436cac0229b6245bed273594b2199d6b0f36711e323c966c43d9264e4cc8b69a299c8e9c1ec4af09ae2284bf5ca59a72486b31439c48 WHIRLPOOL 1ec6c56a6e1de3c838fb2dfa541e062e3f63630910a5609fe211bab8c8bbdb1968af021954020b4da208ba43cde18795e6114fccdd13ee0de2e0edd285d7996a
|
||||
AUX cairo-1.10.2-ubuntu.patch 1777 SHA256 150d5b9f7f842d574a6e10e579bc8f27ca7b2055af8e0dd455aa0832bc3f4dae SHA512 8d9144fe809c4135f0dbd271d580620da769e2f946386e345783cf2379db458ed5ef964785b66d70b4e44a007c85a9209c85366144ad057d3ac5b60ee80383bc WHIRLPOOL c0754ccdeacc91ee2d222a945d8787ae3379a2881c36d8f0f6c545262baeb8f9fc866dba657f5d706c0b658efd5834c06725c2b942473b8755af10662f8ec088
|
||||
AUX cairo-1.12.10-xlib-corruption.patch 3199 SHA256 917c8d49ef881982e124a8e3b22bd4a2160ec3372c3518cf6c45287e10a434b3 SHA512 e7d6ec9729bcc3e755fdf7214d662728686ddecaee10a43ec50fa3bea010db156e063ba9f817ffdbf46ee85bfd4097a927b101b525505dd15eaec79ed622b479 WHIRLPOOL 3783515ab7e0b7700e77b56f699645060531a328b14975259250745a6f180bc36d9d2ac4feb494608a0a073e2729f5cb4662dafe25582ea3617e653497b2fc72
|
||||
AUX cairo-1.12.10-xshm-corruption.patch 1039 SHA256 3bf1147514160a76dbd6282e1e1b834155710a34c0f8fae6fe979f91b0cab735 SHA512 e7c793a2468fc3173be9058a250feea8390b3090c81f59ba00c052885077d2ff65e08bbc0536b96e2c7fee136bb2307aa8e8193e54e6dd3fd47107529a65d5c7 WHIRLPOOL 3cc47b61920197c069063805b89c1e0ab8964996c4331eb018049a268ee08275ac0dbb58dce891b58b335808b8c4fb6be565bf95181e6d1bc7a9551e17b5def9
|
||||
AUX cairo-1.12.12-disable-test-suite.patch 461 SHA256 da474e8982b1177ee6f8df70ce0867ee4e451a1ff6a94dce53ca2d62a936cd95 SHA512 1985a369fd6d707e816d9bb22aed89039b09fee105c84ffa4c63232dba15e87f12888d6ac735c766c075851e64e53c052df8af1eef08a75d6b908a5244ae2303 WHIRLPOOL c4ad092277b83d110094400af19f98b569297359be32b3e9a07a6e46acd43bcbdc3721838e833180809d647a2c7b941c9be1e8a00a437c3de3602dd8935610b2
|
||||
AUX cairo-1.12.14-libpng16.patch 1525 SHA256 f1af9d30e658b795062a42be3ef0bd0e215a69d7f8d3d295910a2459cf7aa21a SHA512 94483ddc3dc6ad4ff6e37c902e845d38375485077fbb682b512ead0b62abbe6708ad4e708bf84abb877c993b938c3412d581b42248ad3e2b77eda03c98437808 WHIRLPOOL fb5721a399059fbc1ea324192b5cd0ce63c9604f8cd3df9ecb51a239b9479450a2cba3786594a5ffec111212daeb72d6a5f14dcff9d081757a97b5344edbd6c0
|
||||
AUX cairo-1.8.8-interix.patch 619 SHA256 505be82a1a0b7f963cb49ff85ecf1fa1389a4e43621df76b91fc1529616b2299 SHA512 651b73124ee5b65e2735deefde36727122e9c513da134441be923fb875aedfd3dbd81de8652e3919f3fa04d1de13dee6ec28e4fcd687aaec427d3b0dd94ac703 WHIRLPOOL a1803cbd8f32a8e926a8af932e099c5275920e3e09f7a53ee49898823e81ee7a2533a4db8d2125f200fa409d98fb8e2cbdeb01f00f64b7ba64ba8dffb8487bc3
|
||||
AUX cairo-respect-fontconfig.patch 538 SHA256 1732f21adfe5ab291d987b7537b13470266253f599901a4707d27fd2b3d66734 SHA512 4d4d473f956b56f11b31f513de06751dcc77342e0f04ecf37064a74b8217f9d3536c0a8a41b09e580f34576ff2d06815b4cbc2bc091c201f947965509677415e WHIRLPOOL c7d8f364a787b095054507a6dceafe08e8112322853e261303adc07b79a9070be63200dbd4ff465943e2303126bcd7eec51b0f6c53f1d4e9a49fd363acbccde2
|
||||
DIST cairo-1.12.16.tar.xz 35889824 SHA256 2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846 SHA512 35389305ba0906e2e1beab92966650fc7d7f8f41231e355ea2bf8693a333946f0693c125d1c50681e12b7f2aff85ae1fdcf957f3d83bc7eaacd52569884c6b2f WHIRLPOOL 00c5e237ac67c2287f90f204456178dcd123126c42669fa63e3dc04fbf9b46d867c554b8f2ecaf803a2553c388661fda5efc4803d6c1f30d7d8fc75fff06cde0
|
||||
EBUILD cairo-1.12.16.ebuild 4139 SHA256 ee8f8ab28c60a2fe807ea538ea1a11cb95cd0bb704f2caffd3e34bdec462c3fd SHA512 98e1d668271b7c8f7b1180434624c977f3a3943403c9e1c59673c1cb87910107452a1c68ece0727b2dfe60490e1a293b706292451faaa375813d324190740019 WHIRLPOOL 04afef33c7fca94a9a9529e32d47a990df50f367b2a0c49eec1e58b22b74b154ddc20df27f068147e19efd72c9a589ddb3549cdb24762fe000b770cf723ff610
|
||||
MISC ChangeLog 52396 SHA256 d40e5c09ddfb3b6b6747c6e5083b61261eafd5d543c4888ed71f5a2eeb9de4f2 SHA512 7f06a10428d712adb967efa46888354bb220f884286265b5048966e2288815198f8711124ed7126c777f91582baa8b045230d1ded7e61a5db3c1aa72e3eda1d4 WHIRLPOOL 5e18a829f074a63e943a3085693392aa9ecc64f40598c1acd0de922c169796a756de850b150f443a23fa69a7285bc230887df60d1f8b2ae28e806bb05c23d42f
|
||||
MISC metadata.xml 1120 SHA256 31293cbaa2aaea9ba9e6e1540b20f6e33506b3d961771bb7554be0e6eef28d7a SHA512 c7f719c398060751c7c78f175ec87a9c56872f6cc5764f1ae2248e554dd017d84880f861cd3e481697e2d368151f317240f9aed38b52f110a5dfe5de236ed10a WHIRLPOOL b1ba1fc5aa725ac69d0c62bbeab511601378d73be6b2134b3cb469261b36402552fa004e5f871d9c1d055e40d183a8ad46d9768b1f9e4dad3c344f8f00003210
|
150
x11-libs/cairo/cairo-1.12.16.ebuild
Normal file
150
x11-libs/cairo/cairo-1.12.16.ebuild
Normal file
@ -0,0 +1,150 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.12.16.ebuild,v 1.1 2013/08/27 12:16:55 chithanh Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils flag-o-matic autotools
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-2
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="http://cairographics.org/releases/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A vector graphics library with cross-device output support"
|
||||
HOMEPAGE="http://cairographics.org/"
|
||||
LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
IUSE="X aqua debug directfb doc drm gallium gles2 +glib legacy-drivers opengl openvg qt4 static-libs +svg valgrind xcb xlib-xcb"
|
||||
|
||||
# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="media-libs/fontconfig
|
||||
media-libs/freetype:2
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
>=x11-libs/pixman-0.28.0
|
||||
directfb? ( dev-libs/DirectFB )
|
||||
gles2? ( media-libs/mesa[gles2] )
|
||||
glib? ( >=dev-libs/glib-2.28.6:2 )
|
||||
opengl? ( || ( media-libs/mesa[egl] media-libs/opengl-apple ) )
|
||||
openvg? ( media-libs/mesa[openvg] )
|
||||
qt4? ( >=dev-qt/qtgui-4.8:4 )
|
||||
X? (
|
||||
>=x11-libs/libXrender-0.6
|
||||
x11-libs/libXext
|
||||
x11-libs/libX11
|
||||
drm? (
|
||||
>=virtual/udev-136
|
||||
gallium? ( media-libs/mesa[gallium] )
|
||||
)
|
||||
)
|
||||
xcb? (
|
||||
x11-libs/libxcb
|
||||
x11-libs/xcb-util
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
>=sys-devel/libtool-2
|
||||
doc? (
|
||||
>=dev-util/gtk-doc-1.6
|
||||
~app-text/docbook-xml-dtd-4.2
|
||||
)
|
||||
X? (
|
||||
x11-proto/renderproto
|
||||
drm? (
|
||||
x11-proto/xproto
|
||||
>=x11-proto/xextproto-7.1
|
||||
)
|
||||
)"
|
||||
|
||||
# drm module requires X
|
||||
# for gallium we need to enable drm
|
||||
REQUIRED_USE="
|
||||
drm? ( X )
|
||||
gallium? ( drm )
|
||||
gles2? ( !opengl )
|
||||
openvg? ( || ( gles2 opengl ) )
|
||||
xlib-xcb? ( xcb )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-1.8.8-interix.patch
|
||||
use legacy-drivers && epatch "${FILESDIR}"/${PN}-1.10.0-buggy_gradients.patch
|
||||
epatch "${FILESDIR}"/${PN}-respect-fontconfig.patch
|
||||
epatch_user
|
||||
|
||||
# Slightly messed build system YAY
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
touch boilerplate/Makefile.am.features
|
||||
touch src/Makefile.am.features
|
||||
touch ChangeLog
|
||||
fi
|
||||
|
||||
# We need to run elibtoolize to ensure correct so versioning on FreeBSD
|
||||
# upgraded to an eautoreconf for the above interix patch.
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myopts
|
||||
|
||||
[[ ${CHOST} == *-interix* ]] && append-flags -D_REENTRANT
|
||||
|
||||
use elibc_FreeBSD && myopts+=" --disable-symbol-lookup"
|
||||
|
||||
ac_cv_header_sys_ipc_h=no econf \
|
||||
--disable-dependency-tracking \
|
||||
$(use_with X x) \
|
||||
$(use_enable X tee) \
|
||||
$(use_enable X xlib) \
|
||||
$(use_enable X xlib-xrender) \
|
||||
$(use_enable aqua quartz) \
|
||||
$(use_enable aqua quartz-image) \
|
||||
$(use_enable debug test-surfaces) \
|
||||
$(use_enable drm) \
|
||||
$(use_enable directfb) \
|
||||
$(use_enable gallium) \
|
||||
$(use_enable gles2 glesv2) \
|
||||
$(use_enable glib gobject) \
|
||||
$(use_enable doc gtk-doc) \
|
||||
$(use_enable openvg vg) \
|
||||
$(use_enable opengl gl) \
|
||||
$(use_enable qt4 qt) \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable svg) \
|
||||
$(use_enable valgrind) \
|
||||
$(use_enable xcb) \
|
||||
$(use_enable xcb xcb-shm) \
|
||||
$(use_enable xlib-xcb) \
|
||||
--enable-ft \
|
||||
--enable-pdf \
|
||||
--enable-png \
|
||||
--enable-ps \
|
||||
${myopts}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# parallel make install fails
|
||||
emake -j1 DESTDIR="${D}" install
|
||||
find "${ED}" -name '*.la' -exec rm -f {} +
|
||||
dodoc AUTHORS ChangeLog NEWS README
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use !xlib-xcb; then
|
||||
if has_version net-misc/nxserver-freenx \
|
||||
|| has_version net-misc/x2goserver; then
|
||||
ewarn "cairo-1.12 is known to cause GTK+ errors with NX servers."
|
||||
ewarn "Enable USE=\"xlib-xcb\" if you notice incorrect behavior in GTK+"
|
||||
ewarn "applications that are running inside NX sessions. For details, see"
|
||||
ewarn "https://bugs.gentoo.org/441878 or https://bugs.freedesktop.org/59173"
|
||||
fi
|
||||
fi
|
||||
}
|
17
x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch
Normal file
17
x11-libs/cairo/files/cairo-1.10.0-buggy_gradients.patch
Normal file
@ -0,0 +1,17 @@
|
||||
http://repos.archlinux.org/wsvn/packages/cairo/trunk/cairo-1.10.0-buggy_gradients.patch
|
||||
http://bugs.gentoo.org/336696
|
||||
|
||||
--- src/cairo-xlib-display.c
|
||||
+++ src/cairo-xlib-display.c
|
||||
@@ -353,11 +353,7 @@
|
||||
/* Prior to Render 0.10, there is no protocol support for gradients and
|
||||
* we call function stubs instead, which would silently consume the drawing.
|
||||
*/
|
||||
-#if RENDER_MAJOR == 0 && RENDER_MINOR < 10
|
||||
display->buggy_gradients = TRUE;
|
||||
-#else
|
||||
- display->buggy_gradients = FALSE;
|
||||
-#endif
|
||||
display->buggy_pad_reflect = FALSE;
|
||||
display->buggy_repeat = FALSE;
|
||||
|
38
x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch
Normal file
38
x11-libs/cairo/files/cairo-1.10.2-export-symbols.patch
Normal file
@ -0,0 +1,38 @@
|
||||
Index: cairo/src/Makefile.am
|
||||
===================================================================
|
||||
--- cairo.orig/src/Makefile.am 2011-02-08 10:11:46.879538772 +0100
|
||||
+++ cairo/src/Makefile.am 2011-02-08 10:12:36.381915666 +0100
|
||||
@@ -46,7 +46,7 @@
|
||||
$(enabled_cairo_private) \
|
||||
$(enabled_cairo_sources) \
|
||||
$(NULL)
|
||||
-libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
|
||||
+libcairo_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.*
|
||||
libcairo_la_LIBADD = $(CAIRO_LIBS) \
|
||||
$(cairo_cxx_lib)
|
||||
libcairo_la_DEPENDENCIES = $(cairo_def_dependency) $(cairo_cxx_lib)
|
||||
diff --git a/util/cairo-gobject/Makefile.am b/util/cairo-gobject/Makefile.am
|
||||
index 22c1a27..5a15950 100644
|
||||
--- a/util/cairo-gobject/Makefile.am
|
||||
+++ b/util/cairo-gobject/Makefile.am
|
||||
@@ -10,6 +10,6 @@ libcairo_gobject_la_SOURCES = \
|
||||
$(NULL)
|
||||
|
||||
libcairo_gobject_la_CFLAGS = $(CAIRO_CFLAGS) $(GOBJECT_CFLAGS)
|
||||
-libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
|
||||
+libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.*
|
||||
libcairo_gobject_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(GOBJECT_LIBS)
|
||||
|
||||
diff --git a/util/cairo-script/Makefile.am b/util/cairo-script/Makefile.am
|
||||
index d7e4427..8d4181b 100644
|
||||
--- a/util/cairo-script/Makefile.am
|
||||
+++ b/util/cairo-script/Makefile.am
|
||||
@@ -18,7 +18,7 @@ libcairo_script_interpreter_la_SOURCES = \
|
||||
cairo-script-stack.c \
|
||||
$(NULL)
|
||||
libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS)
|
||||
-libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
|
||||
+libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex \^cairo_.*
|
||||
libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) -lz
|
||||
|
||||
csi_replay_SOURCES = csi-replay.c
|
36
x11-libs/cairo/files/cairo-1.10.2-interix.patch
Normal file
36
x11-libs/cairo/files/cairo-1.10.2-interix.patch
Normal file
@ -0,0 +1,36 @@
|
||||
commit 95f6f7a174ca096a3d3dbe84ff220d166d1e2baa
|
||||
Author: Uli Schlachter <psychon@znc.in>
|
||||
Date: Fri Oct 22 11:54:57 2010 +0200
|
||||
|
||||
Make both versions of _cairo_lround consistent again
|
||||
|
||||
Commit c0008242b0f made cairo use libm's lround instead of its own _cairo_lround
|
||||
by default. However, since commit ce58f874 from 2006, _cairo_lround does
|
||||
arithmetic rounding instead of away-from-zero rounding (before said commit, it
|
||||
was using baker's rounding).
|
||||
|
||||
So to make the rounding of _cairo_lround be independent from
|
||||
DISABLE_SOME_FLOATING_POINT, we have to use another function. Turns out that
|
||||
_cairo_round already does the same thing that _cairo_lround does. Their only
|
||||
difference is the return type.
|
||||
|
||||
Signed-off-by: Uli Schlachter <psychon@znc.in>
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
|
||||
diff --git a/src/cairoint.h b/src/cairoint.h
|
||||
index 53c87e5..539d92e 100644
|
||||
--- a/src/cairoint.h
|
||||
+++ b/src/cairoint.h
|
||||
@@ -968,7 +968,11 @@ _cairo_round (double r)
|
||||
cairo_private int
|
||||
_cairo_lround (double d) cairo_const;
|
||||
#else
|
||||
-#define _cairo_lround lround
|
||||
+static inline int cairo_const
|
||||
+_cairo_lround (double r)
|
||||
+{
|
||||
+ return _cairo_round (r);
|
||||
+}
|
||||
#endif
|
||||
|
||||
cairo_private uint16_t
|
55
x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch
Normal file
55
x11-libs/cairo/files/cairo-1.10.2-qt-surface.patch
Normal file
@ -0,0 +1,55 @@
|
||||
diff -ruN cairo-1.10.2-0-vanilla/src/cairo-qt-surface.cpp cairo-1.10.2/src/cairo-qt-surface.cpp
|
||||
--- cairo-1.10.2-0-vanilla/src/cairo-qt-surface.cpp 2010-12-25 15:21:34.000000000 +0100
|
||||
+++ cairo-1.10.2/src/cairo-qt-surface.cpp 2011-12-20 22:59:30.000000000 +0100
|
||||
@@ -61,7 +61,9 @@
|
||||
#include <QtGui/QX11Info>
|
||||
#include <QtCore/QVarLengthArray>
|
||||
|
||||
-#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 8, 0))
|
||||
+#include <QtGui/QGlyphRun>
|
||||
+#elif (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
|
||||
extern void qt_draw_glyphs(QPainter *, const quint32 *glyphs, const QPointF *positions, int count);
|
||||
#endif
|
||||
|
||||
@@ -1370,7 +1372,39 @@
|
||||
cairo_clip_t *clip,
|
||||
int *remaining_glyphs)
|
||||
{
|
||||
-#if (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 8, 0)) && !defined(QT_NO_RAWFONT)
|
||||
+ cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
|
||||
+
|
||||
+ // pick out the colour to use from the cairo source
|
||||
+ cairo_solid_pattern_t *solid = (cairo_solid_pattern_t*) source;
|
||||
+ // documentation says you have to freeze the cache, but I don't believe it
|
||||
+ _cairo_scaled_font_freeze_cache(scaled_font);
|
||||
+
|
||||
+ QColor tempColour(solid->color.red * 255, solid->color.green * 255, solid->color.blue * 255);
|
||||
+ QVector<QPointF> positions(num_glyphs);
|
||||
+ QVector<unsigned int> glyphss(num_glyphs);
|
||||
+ FT_Face face = cairo_ft_scaled_font_lock_face (scaled_font);
|
||||
+ const FT_Size_Metrics& ftMetrics = face->size->metrics;
|
||||
+ QFont font(face->family_name);
|
||||
+ font.setStyleStrategy(QFont::NoFontMerging);
|
||||
+ font.setBold(face->style_flags & FT_STYLE_FLAG_BOLD);
|
||||
+ font.setItalic(face->style_flags & FT_STYLE_FLAG_ITALIC);
|
||||
+ font.setKerning(face->face_flags & FT_FACE_FLAG_KERNING);
|
||||
+ font.setPixelSize(ftMetrics.y_ppem);
|
||||
+ cairo_ft_scaled_font_unlock_face(scaled_font);
|
||||
+ qs->p->setFont(font);
|
||||
+ qs->p->setPen(tempColour);
|
||||
+ for (int currentGlyph = 0; currentGlyph < num_glyphs; currentGlyph++) {
|
||||
+ positions.append(QPointF(glyphs[currentGlyph].x, glyphs[currentGlyph].y));
|
||||
+ glyphss.append(glyphs[currentGlyph].index);
|
||||
+ }
|
||||
+ QGlyphRun qglyphs;
|
||||
+ qglyphs.setGlyphIndexes(glyphss);
|
||||
+ qglyphs.setPositions(positions);
|
||||
+ qs->p->drawGlyphRun(QPointF(), qglyphs);
|
||||
+ _cairo_scaled_font_thaw_cache(scaled_font);
|
||||
+ return CAIRO_INT_STATUS_SUCCESS;
|
||||
+#elif (QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)) || defined(QT_GLYPHS_API_BACKPORT)
|
||||
cairo_qt_surface_t *qs = (cairo_qt_surface_t *) abstract_surface;
|
||||
|
||||
// pick out the colour to use from the cairo source
|
53
x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch
Normal file
53
x11-libs/cairo/files/cairo-1.10.2-ubuntu.patch
Normal file
@ -0,0 +1,53 @@
|
||||
--- cairo.orig/build/configure.ac.features 2010-12-28 14:41:21.487225155 +0100
|
||||
+++ cairo/build/configure.ac.features 2010-12-28 14:42:06.166239606 +0100
|
||||
@@ -407,6 +407,7 @@
|
||||
echo "The following features and utilities:"
|
||||
echo " cairo-trace: $use_trace"
|
||||
echo " cairo-script-interpreter: $use_interpreter"
|
||||
+ echo " cairo-perf-utils: $use_perf_utils"
|
||||
echo ""
|
||||
echo "And the following internal features:"
|
||||
echo " pthread: $use_pthread"
|
||||
--- cairo.orig/configure.ac 2010-12-28 14:43:02.291226995 +0100
|
||||
+++ cairo/configure.ac 2010-12-28 14:43:18.191141863 +0100
|
||||
@@ -10,6 +10,7 @@
|
||||
AC_CONFIG_SRCDIR(src/cairo.h)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
AM_INIT_AUTOMAKE([1.9.6 gnu -Wall no-define])
|
||||
+AM_MAINTAINER_MODE
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
AC_LIBTOOL_WIN32_DLL dnl Must be called before AC_PROG_LIBTOOL
|
||||
AC_PROG_LIBTOOL dnl ([1.4]) Don't remove!
|
||||
@@ -796,6 +796,11 @@
|
||||
PKG_CHECK_MODULES(gtk, "gtk+-2.0",have_gtk=yes, have_gtk=no)
|
||||
AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes")
|
||||
|
||||
+dnl ===========================================================================
|
||||
+
|
||||
+CAIRO_ENABLE(perf_utils, cairo-perf-utils, no, [use_perf_utils=yes])
|
||||
+
|
||||
+
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
boilerplate/Makefile
|
||||
--- cairo.orig/perf/Makefile.am 2010-06-18 13:47:11.000000000 +0200
|
||||
+++ cairo/perf/Makefile.am 2010-12-28 14:42:06.162226875 +0100
|
||||
@@ -10,6 +10,18 @@
|
||||
|
||||
AM_LDFLAGS = $(CAIRO_LDFLAGS)
|
||||
|
||||
+if CAIRO_HAS_PERF_UTILS
|
||||
+bin_PROGRAMS = cairo-perf-micro \
|
||||
+ cairo-perf-trace \
|
||||
+ cairo-perf-diff-files \
|
||||
+ cairo-perf-print \
|
||||
+ cairo-perf-chart \
|
||||
+ cairo-perf-compare-backends
|
||||
+if HAVE_GTK
|
||||
+bin_PROGRAMS += cairo-perf-graph-files
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
EXTRA_PROGRAMS += cairo-perf-micro \
|
||||
cairo-perf-trace \
|
||||
cairo-perf-diff-files \
|
90
x11-libs/cairo/files/cairo-1.12.10-xlib-corruption.patch
Normal file
90
x11-libs/cairo/files/cairo-1.12.10-xlib-corruption.patch
Normal file
@ -0,0 +1,90 @@
|
||||
From fa4f48cccb6c7f4e1afb2ff4b98b906b7d8d4afc Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Wed, 23 Jan 2013 15:04:26 +0000
|
||||
Subject: xlib: Do not upload the whole image just because we want an entire row
|
||||
|
||||
Fixes regression exposed by
|
||||
|
||||
commit a73e7ff0186176bc82cd3ae1432c054c1fd3aebd
|
||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Sun Jan 6 11:29:27 2013 +0000
|
||||
|
||||
xlib: Simplify source creation by use of map-to-image
|
||||
|
||||
but ultimately from
|
||||
|
||||
commit 74941f822015cc50cd8477d0cf97f1a70dbff60b
|
||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Wed Jan 2 22:27:55 2013 +0000
|
||||
|
||||
xlib: Use SHM transport for ordinary image uploads
|
||||
|
||||
Reported-by: Gökçen Eraslan <gokcen.eraslan@gmail.com>
|
||||
Reported-by: Guillaume Ayoub <guillaume.ayoub@kozea.fr>
|
||||
Reported-by: Emmanuel Benisty <benisty.e@gmail.com>
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59635
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/cairo-xlib-source.c b/src/cairo-xlib-source.c
|
||||
index 24290f7..ca55278 100644
|
||||
--- a/src/cairo-xlib-source.c
|
||||
+++ b/src/cairo-xlib-source.c
|
||||
@@ -1035,7 +1035,13 @@ surface_source (cairo_xlib_surface_t *dst,
|
||||
|
||||
status = _cairo_surface_unmap_image (&xsrc->base, image);
|
||||
if (unlikely (status)) {
|
||||
- cairo_surface_destroy (src);
|
||||
+ cairo_surface_destroy (&xsrc->base);
|
||||
+ return _cairo_surface_create_in_error (status);
|
||||
+ }
|
||||
+
|
||||
+ status = _cairo_xlib_surface_put_shm (xsrc);
|
||||
+ if (unlikely (status)) {
|
||||
+ cairo_surface_destroy (&xsrc->base);
|
||||
return _cairo_surface_create_in_error (status);
|
||||
}
|
||||
}
|
||||
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
|
||||
index dbc677e..ee69b66 100644
|
||||
--- a/src/cairo-xlib-surface.c
|
||||
+++ b/src/cairo-xlib-surface.c
|
||||
@@ -1139,26 +1139,24 @@ _cairo_xlib_surface_draw_image (cairo_xlib_surface_t *surface,
|
||||
max_request_size = XMaxRequestSize (display->display);
|
||||
if (max_request_size > 8192)
|
||||
max_request_size = 8192;
|
||||
- if (image->stride * image->height > max_request_size) {
|
||||
+ if (width * height * 4 > max_request_size) {
|
||||
shm_image = _cairo_xlib_surface_create_shm__image (surface,
|
||||
image->pixman_format,
|
||||
- image->width,
|
||||
- image->height);
|
||||
+ width, height);
|
||||
if (shm_image && shm_image->status == CAIRO_STATUS_SUCCESS) {
|
||||
cairo_image_surface_t *clone = (cairo_image_surface_t *) shm_image;
|
||||
- if (clone->stride == image->stride) {
|
||||
- memcpy (clone->data, image->data, clone->stride * clone->height);
|
||||
- } else {
|
||||
- pixman_image_composite32 (PIXMAN_OP_SRC,
|
||||
- image->pixman_image, NULL, clone->pixman_image,
|
||||
- 0, 0,
|
||||
- 0, 0,
|
||||
- 0, 0,
|
||||
- image->width, image->height);
|
||||
- }
|
||||
+ pixman_image_composite32 (PIXMAN_OP_SRC,
|
||||
+ image->pixman_image, NULL, clone->pixman_image,
|
||||
+ src_x, src_y,
|
||||
+ 0, 0,
|
||||
+ 0, 0,
|
||||
+ width, height);
|
||||
ximage.obdata = _cairo_xlib_shm_surface_get_obdata (shm_image);
|
||||
ximage.data = (char *)clone->data;
|
||||
ximage.bytes_per_line = clone->stride;
|
||||
+ ximage.width = width;
|
||||
+ ximage.height = height;
|
||||
+ src_x = src_y = 0;
|
||||
}
|
||||
}
|
||||
} else
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
28
x11-libs/cairo/files/cairo-1.12.10-xshm-corruption.patch
Normal file
28
x11-libs/cairo/files/cairo-1.12.10-xshm-corruption.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From c006b886d28a772d7a62cec52ab7e0c8196c36f6 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Tue, 29 Jan 2013 03:01:31 +0000
|
||||
Subject: xlib/shm: Force synchronisation for scratch SHM image buffers
|
||||
|
||||
The scratch image buffers are used for uploads to the xserver and so we
|
||||
must be careful not to overwrite active SHM segments. Unfortunately we
|
||||
told the core SHM allocator that we would sync before using the images,
|
||||
which was a lie.
|
||||
|
||||
Reported-by: Michael Natterer <mitch@gimp.org>
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/cairo-xlib-surface-shm.c b/src/cairo-xlib-surface-shm.c
|
||||
index 43cecdf..32c7033 100644
|
||||
--- a/src/cairo-xlib-surface-shm.c
|
||||
+++ b/src/cairo-xlib-surface-shm.c
|
||||
@@ -1155,7 +1155,7 @@ _cairo_xlib_surface_create_shm__image (cairo_xlib_surface_t *surface,
|
||||
return NULL;
|
||||
|
||||
return &_cairo_xlib_shm_surface_create (surface, format, width, height,
|
||||
- TRUE, 0)->image.base;
|
||||
+ FALSE, 0)->image.base;
|
||||
}
|
||||
|
||||
cairo_surface_t *
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
12
x11-libs/cairo/files/cairo-1.12.12-disable-test-suite.patch
Normal file
12
x11-libs/cairo/files/cairo-1.12.12-disable-test-suite.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ruN cairo-1.12.10.orig/test/Makefile.am cairo-1.12.10/test/Makefile.am
|
||||
--- cairo-1.12.10.orig/test/Makefile.am 2013-01-27 14:56:03.345178612 -0800
|
||||
+++ cairo-1.12.10/test/Makefile.am 2013-01-27 14:56:15.371177856 -0800
|
||||
@@ -71,8 +71,6 @@
|
||||
endif
|
||||
test_sources += $(test)
|
||||
|
||||
-noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build
|
||||
-
|
||||
TESTS += cairo-test-suite$(EXEEXT)
|
||||
|
||||
cairo-test-constructors.c: Makefile $(test_sources) make-cairo-test-constructors.sh
|
40
x11-libs/cairo/files/cairo-1.12.14-libpng16.patch
Normal file
40
x11-libs/cairo/files/cairo-1.12.14-libpng16.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 2dd2c826a5b367d32cf2d48ed69754795990c5db Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Tue, 16 Apr 2013 09:58:56 +0000
|
||||
Subject: png: Avoid marking the surface as in error after a png warning
|
||||
|
||||
It turns out that libpng will continue to load an image after throwing a
|
||||
warning, and that libpng16 now throws warnings for images that libpng15
|
||||
and earlier loaded without error. As we were happily loading those
|
||||
images into cairo surfaces before, we are therefore being overzealous
|
||||
in throwing an error now - so just squelch the warning.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/cairo-png.c b/src/cairo-png.c
|
||||
index e74a4a8..068617d 100644
|
||||
--- a/src/cairo-png.c
|
||||
+++ b/src/cairo-png.c
|
||||
@@ -149,13 +149,13 @@ static void
|
||||
png_simple_warning_callback (png_structp png,
|
||||
png_const_charp error_msg)
|
||||
{
|
||||
- cairo_status_t *error = png_get_error_ptr (png);
|
||||
-
|
||||
- /* default to the most likely error */
|
||||
- if (*error == CAIRO_STATUS_SUCCESS)
|
||||
- *error = _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
-
|
||||
- /* png does not expect to abort and will try to tidy up after a warning */
|
||||
+ /* png does not expect to abort and will try to tidy up and continue
|
||||
+ * loading the image after a warning. So we also want to return the
|
||||
+ * (incorrect?) surface.
|
||||
+ *
|
||||
+ * We use our own warning callback to squelch any attempts by libpng
|
||||
+ * to write to stderr as we may not be in control of that output.
|
||||
+ */
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
16
x11-libs/cairo/files/cairo-1.8.8-interix.patch
Normal file
16
x11-libs/cairo/files/cairo-1.8.8-interix.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff -ru cairo-1.8.8.orig/build/configure.ac.tools cairo-1.8.8/build/configure.ac.tools
|
||||
--- cairo-1.8.8.orig/build/configure.ac.tools 2009-09-30 13:36:42 +0200
|
||||
+++ cairo-1.8.8/build/configure.ac.tools 2009-09-30 13:50:50 +0200
|
||||
@@ -21,5 +21,12 @@
|
||||
*) PKGCONFIG_REQUIRES="Requires.private"; ;;
|
||||
esac
|
||||
|
||||
+dnl hmm... on interix, things go really bad with Requires.private, since libpng12
|
||||
+dnl is missing on the final link commands, so gtk+'s configure checks for cairo
|
||||
+dnl fail miserably with unresolved symbols to it.
|
||||
+case "$host_os" in
|
||||
+interix*) PKGCONFIG_REQUIRES="Requires" ;;
|
||||
+esac
|
||||
+
|
||||
AC_SUBST(PKGCONFIG_REQUIRES)
|
||||
|
13
x11-libs/cairo/files/cairo-respect-fontconfig.patch
Normal file
13
x11-libs/cairo/files/cairo-respect-fontconfig.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- cairo-1.7.6-orig/src/cairo-ft-font.c 2008-09-29 21:43:13.000000000 +0100
|
||||
+++ cairo-1.7.6/src/cairo-ft-font.c 2008-09-29 21:52:19.000000000 +0100
|
||||
@@ -1705,7 +1705,9 @@
|
||||
options->base.subpixel_order = other->base.subpixel_order;
|
||||
}
|
||||
|
||||
- if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT)
|
||||
+ options->base.hint_style = CAIRO_HINT_STYLE_DEFAULT;
|
||||
+
|
||||
+ if (other->base.hint_style != CAIRO_HINT_STYLE_DEFAULT)
|
||||
options->base.hint_style = other->base.hint_style;
|
||||
|
||||
if (other->base.hint_style == CAIRO_HINT_STYLE_NONE)
|
24
x11-libs/cairo/metadata.xml
Normal file
24
x11-libs/cairo/metadata.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>x11</herd>
|
||||
<maintainer>
|
||||
<email>yngwin@gentoo.org</email>
|
||||
<name>Ben de Groot</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="opengl" restrict=">=x11-libs/cairo-1.10.0">
|
||||
Use Mesa backend for acceleration</flag>
|
||||
<flag name="drm">Use Linux DRM for backend acceleration</flag>
|
||||
<flag name="gallium">Use Mesa's Gallium backend for acceleration</flag>
|
||||
<flag name="gles2">Use OpenGL ES 2 backend for acceleration.</flag>
|
||||
<flag name="glib">Compile with GLib Object System support</flag>
|
||||
<flag name="legacy-drivers">Include the buggy gradients patch (for legacy drivers, such as nvidia-drivers older than 304.30)</flag>
|
||||
<flag name="openvg">Use OpenVG for backend acceleration</flag>
|
||||
<flag name="valgrind">Built-in support to mark memory regions</flag>
|
||||
<flag name="xlib-xcb">Use XCB renderer backend for acceleration over xlib</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:cairographics:cairo</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Loading…
Reference in New Issue
Block a user