summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Choina2019-05-29 23:42:40 -0400
committerSolomon Choina2019-05-29 23:42:40 -0400
commita5aed88c2250de47feb1f39b46a6693af370b141 (patch)
tree19784099b4baf120d93c757c592c166470636705
parent4766fde29c4db227bbbedcdf2a0242ffad2a011c (diff)
downloadaur-a5aed88c2250de47feb1f39b46a6693af370b141.tar.gz
updating pkgver, merging with cairo-ultimate
-rw-r--r--.SRCINFO33
-rw-r--r--PKGBUILD124
-rw-r--r--cairo-make-lcdfilter-default.patch28
-rw-r--r--cairo-respect-fontconfig_pb.patch13
-rw-r--r--cairo-server-side-gradients.patch17
-rw-r--r--cairo-webkit-html5-fix.patch30
6 files changed, 156 insertions, 89 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2cc27ab17e40..00f185f155f4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,12 @@
-# Generated by mksrcinfo v8
-# Wed Jul 12 20:54:27 UTC 2017
pkgbase = cairo-infinality
- pkgdesc = Cairo vector graphics library
- pkgver = 1.14.10
+ pkgdesc = 2D graphics library with support for multiple output devices (infinality version)
+ pkgver = 1.17.2+11+gdfe3aa6d8
pkgrel = 1
url = https://cairographics.org/
- changelog = CHANGELOG
- arch = armv7h
- arch = i686
arch = x86_64
groups = infinality-bundle
license = LGPL
license = MPL
- makedepends = mesa-libgl
makedepends = librsvg
makedepends = gtk2
makedepends = poppler-glib
@@ -23,15 +17,11 @@ pkgbase = cairo-infinality
depends = libpng
depends = libxrender
depends = libxext
- depends = fontconfig
- depends = pixman>=0.28.0
+ depends = fontconfig-infinality
+ depends = pixman
depends = glib2
- depends = mesa
- depends = libgl
depends = lzo
- provides = cairo=1.14.10
- provides = cairo-ubuntu
- provides = cairo-xcb
+ provides = cairo
conflicts = cairo
conflicts = cairo-cleartype
conflicts = cairo-git
@@ -40,13 +30,12 @@ pkgbase = cairo-infinality
conflicts = cairo-ocaml-git
conflicts = cairo-small
conflicts = cairo-ubuntu
- replaces = cairo-xcb
- source = https://cairographics.org/releases/cairo-1.14.10.tar.xz
- source = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/36b60ecefe1fd0e042cad51105b0ffb29315e577/cairo/cairo-make-lcdfilter-default.patch
- source = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/36b60ecefe1fd0e042cad51105b0ffb29315e577/cairo/cairo-respect-fontconfig_pb.patch
- source = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/36b60ecefe1fd0e042cad51105b0ffb29315e577/cairo/cairo-server-side-gradients.patch
- source = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/36b60ecefe1fd0e042cad51105b0ffb29315e577/cairo/cairo-webkit-html5-fix.patch
- sha1sums = 28c59d85d6b790c21b8b59ece73a6a1dda28d69a
+ source = git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=
+ source = cairo-make-lcdfilter-default.patch
+ source = cairo-respect-fontconfig_pb.patch
+ source = cairo-server-side-gradients.patch
+ source = cairo-webkit-html5-fix.patch
+ sha1sums = SKIP
sha1sums = b0cc2466cc5479f055ca2148cfa37fe13a1e78a6
sha1sums = d8ffcb4c4745f7e61671109362a80a872ac989d3
sha1sums = 72ecf2dda8462e1588512de257ccbe18642d507f
diff --git a/PKGBUILD b/PKGBUILD
index bde7e8502b76..2a823b399729 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,89 +1,79 @@
-# Maintainer : Dobroslaw Kijowski [dobo] <dobo90_at_gmail.com>
-# Contributor (ib-bundle): bohoomil <@zoho.com>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 272756 2016-07-31 10:13:10Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Brice Carpentier <brice@daknet.org>
-
+# Maintainer: Solomon Choina <shlomochoina@gmail.com>
pkgname=cairo-infinality
_name=cairo
-_commit=36b60ecefe1fd0e042cad51105b0ffb29315e577
-pkgver=1.14.10
+pkgver=1.17.2+11+gdfe3aa6d8
pkgrel=1
-pkgdesc="Cairo vector graphics library"
-arch=('armv7h' 'i686' 'x86_64')
-license=('LGPL' 'MPL')
-changelog=CHANGELOG
+pkgdesc="2D graphics library with support for multiple output devices (infinality version)"
url="https://cairographics.org/"
-depends=('libpng' 'libxrender' 'libxext' 'fontconfig' 'pixman>=0.28.0'
- 'glib2' 'mesa' 'libgl' 'lzo')
-makedepends=('mesa-libgl' 'librsvg' 'gtk2' 'poppler-glib' 'libspectre'
- 'gtk-doc' 'valgrind' 'git')
- # for the test suite:
- #'ttf-dejavu' 'gsfonts' 'xorg-server-xvfb' ) # 'libdrm')
-#optdepends=('xcb-util: for XCB backend') # really needed?
-groups=('infinality-bundle')
-provides=("cairo=${pkgver}" 'cairo-ubuntu' 'cairo-xcb')
-replaces=('cairo-xcb')
-conflicts=('cairo' 'cairo-cleartype' 'cairo-git' 'cairo-gl-git' 'cairo-glitz'
- 'cairo-ocaml-git' 'cairo-small' 'cairo-ubuntu')
-source=("https://cairographics.org/releases/cairo-${pkgver}.tar.xz"
- "https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/${_commit}/cairo/cairo-make-lcdfilter-default.patch"
- "https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/${_commit}/cairo/cairo-respect-fontconfig_pb.patch"
- "https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/${_commit}/cairo/cairo-server-side-gradients.patch"
- "https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/${_commit}/cairo/cairo-webkit-html5-fix.patch")
-sha1sums=('28c59d85d6b790c21b8b59ece73a6a1dda28d69a'
+arch=(x86_64)
+license=(LGPL MPL)
+groups=(infinality-bundle)
+depends=(libpng libxrender libxext fontconfig-infinality pixman glib2 lzo)
+makedepends=(librsvg gtk2 poppler-glib libspectre gtk-doc valgrind git)
+provides=(cairo)
+conflicts=(cairo cairo-cleartype cairo-git cairo-gl-git cairo-glitz cairo-ocaml-git cairo-small cairo-ubuntu)
+source=("git+https://gitlab.freedesktop.org/cairo/cairo.git#commit=$_commit"
+ cairo-make-lcdfilter-default.patch
+ cairo-respect-fontconfig_pb.patch
+ cairo-server-side-gradients.patch
+ cairo-webkit-html5-fix.patch)
+sha1sums=('SKIP'
'b0cc2466cc5479f055ca2148cfa37fe13a1e78a6'
'd8ffcb4c4745f7e61671109362a80a872ac989d3'
'72ecf2dda8462e1588512de257ccbe18642d507f'
'5bff494f52a16114f4cf6d04bfb0b9d7c4e9da23')
-prepare(){
- cd "${_name}-${pkgver}"
+pkgver() {
+ cd cairo
+ git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+ cd cairo
- patches=('cairo-make-lcdfilter-default.patch'
- 'cairo-respect-fontconfig_pb.patch'
- 'cairo-server-side-gradients.patch'
- 'cairo-webkit-html5-fix.patch')
+ patch -Np1 -i "${srcdir}"/cairo-make-lcdfilter-default.patch
+ patch -Np1 -i "${srcdir}"/cairo-respect-fontconfig_pb.patch
+ patch -Np1 -i "${srcdir}"/cairo-server-side-gradients.patch
+ patch -Np1 -i "${srcdir}"/cairo-webkit-html5-fix.patch
- for patch in "${patches[@]}"; do
- patch -Np1 -i "${srcdir}/${patch}"
- done
+ # Update gtk-doc
+ cp /usr/share/aclocal/gtk-doc.m4 build/aclocal.gtk-doc.m4
+ cp /usr/share/gtk-doc/data/gtk-doc.make build/Makefile.am.gtk-doc
+
+ NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd "${_name}-${pkgver}"
-
+ cd cairo
./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-static \
- --disable-lto \
- --enable-tee \
- --enable-gl \
- --enable-egl \
- --enable-svg \
- --enable-ps \
- --enable-pdf \
- --enable-gobject \
- --enable-gtk-doc
-
- #--disable-xlib-xcb \
- #--enable-test-surfaces \ takes ages
- #--enable-drm # breaks build
-
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-gl \
+ --enable-tee \
+ --enable-svg \
+ --enable-ps \
+ --enable-pdf \
+ --enable-gobject \
+ --enable-gtk-doc \
+ --enable-full-testing \
+ --enable-test-surfaces
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
-check() {
- cd "${_name}-${pkgver}"
- #make -j1 -k test || /bin/true
-
- # results:
- # 1.12.8-1 # 162 Passed, 328 Failed [ 8 crashed, 10 expected], 26 Skipped
- # 1.12.12-2: # 29 Passed, 464 Failed [460 crashed, 2 expected], 26 Skipped
- # 1.12.16-1: # 144 Passed, 364 Failed [ 6 crashed, 12 expected], 27 Skipped
-}
+#check() {
+# cd cairo
+ # FIXME: tests don't pass
+# env CAIRO_TEST_TARGET=image \
+# CAIRO_TEST_TARGET_FORMAT=rgba \
+# CAIRO_TESTS='!pthread-show-text' make -k check || :
+#}
package() {
- cd "${_name}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd cairo
+ make DESTDIR="$pkgdir" install
}
diff --git a/cairo-make-lcdfilter-default.patch b/cairo-make-lcdfilter-default.patch
new file mode 100644
index 000000000000..279f40a1b2ee
--- /dev/null
+++ b/cairo-make-lcdfilter-default.patch
@@ -0,0 +1,28 @@
+diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
+index 3e485c5..36703d1 100644
+--- a/src/cairo-ft-font.c
++++ b/src/cairo-ft-font.c
+@@ -1336,7 +1336,7 @@ _render_glyph_outline (FT_Face face,
+ cairo_image_surface_t **surface)
+ {
+ int rgba = FC_RGBA_UNKNOWN;
+- int lcd_filter = FT_LCD_FILTER_LEGACY;
++ int lcd_filter = FT_LCD_FILTER_DEFAULT;
+ FT_GlyphSlot glyphslot = face->glyph;
+ FT_Outline *outline = &glyphslot->outline;
+ FT_Bitmap bitmap;
+@@ -1371,13 +1371,13 @@ _render_glyph_outline (FT_Face face,
+ case CAIRO_LCD_FILTER_NONE:
+ lcd_filter = FT_LCD_FILTER_NONE;
+ break;
+- case CAIRO_LCD_FILTER_DEFAULT:
+ case CAIRO_LCD_FILTER_INTRA_PIXEL:
+ lcd_filter = FT_LCD_FILTER_LEGACY;
+ break;
+ case CAIRO_LCD_FILTER_FIR3:
+ lcd_filter = FT_LCD_FILTER_LIGHT;
+ break;
++ case CAIRO_LCD_FILTER_DEFAULT:
+ case CAIRO_LCD_FILTER_FIR5:
+ lcd_filter = FT_LCD_FILTER_DEFAULT;
+ break;
diff --git a/cairo-respect-fontconfig_pb.patch b/cairo-respect-fontconfig_pb.patch
new file mode 100644
index 000000000000..55912cd2371e
--- /dev/null
+++ b/cairo-respect-fontconfig_pb.patch
@@ -0,0 +1,13 @@
+--- a/src/cairo-ft-font.c 2015-03-10 23:21:07.000000000 +0100
++++ b/src/cairo-ft-font.c 2015-03-11 21:59:05.747697134 +0100
+@@ -1841,7 +1841,9 @@ _cairo_ft_options_merge (cairo_ft_option
+ 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)
diff --git a/cairo-server-side-gradients.patch b/cairo-server-side-gradients.patch
new file mode 100644
index 000000000000..b5b012aaf210
--- /dev/null
+++ b/cairo-server-side-gradients.patch
@@ -0,0 +1,17 @@
+# Description: don't use server side gradients most drivers don't handle it
+Index: cairo-1.12.2/src/cairo-xlib-display.c
+===================================================================
+--- a/src/cairo-xlib-display.c 2015-03-10 23:21:07.000000000 +0100
++++ b/src/cairo-xlib-display.c 2015-03-11 21:59:05.751030406 +0100
+@@ -263,11 +263,7 @@ _cairo_xlib_device_create (Display *dpy)
+ /* 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;
+
diff --git a/cairo-webkit-html5-fix.patch b/cairo-webkit-html5-fix.patch
new file mode 100644
index 000000000000..e56bbc922300
--- /dev/null
+++ b/cairo-webkit-html5-fix.patch
@@ -0,0 +1,30 @@
+From 0742b90a214b35951414558f6f5579f79b8a8194 Mon Sep 17 00:00:00 2001
+From: Massimo Valentini <mvalentini@src.gnome.org>
+Date: Thu, 21 Aug 2014 17:15:51 +0200
+Subject: [PATCH] Fix segfault rendering videos in webkit based browsers
+
+do not tessellate empty boxes.
+
+Reported-by: Henrique Lengler <henriqueleng@openmailbox.org>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699
+---
+ src/cairo-bentley-ottmann-rectangular.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c
+index 5541bdc..4bcd8d1 100644
+--- a/src/cairo-bentley-ottmann-rectangular.c
++++ b/src/cairo-bentley-ottmann-rectangular.c
+@@ -823,6 +823,9 @@ _cairo_bentley_ottmann_tessellate_boxes (const cairo_boxes_t *in,
+ for (i = 0; i < chunk->count; i++) {
+ int h;
+
++ if (box[i].p1.y == box[i].p2.y)
++ continue;
++
+ if (box[i].p1.x < box[i].p2.x) {
+ rectangles[j].left.x = box[i].p1.x;
+ rectangles[j].left.dir = 1;
+--
+1.9.3
+