This commit is contained in:
Ertuğrul Erata
2015-07-04 00:34:05 +03:00
parent c4d868ed55
commit 9cdbed4879
12 changed files with 695 additions and 5 deletions
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def setup():
pisitools.flags.add("-flto -ffat-lto-objects")
autotools.autoreconf("-vfi")
autotools.configure("--disable-static \
--enable-xlib \
--enable-ft \
--enable-ps \
--enable-pdf \
--enable-svg \
--enable-tee \
--enable-gl \
--enable-gobject \
--disable-gtk-doc")
pisitools.dosed("libtool", "^(hardcode_libdir_flag_spec=).*", '\\1""')
pisitools.dosed("libtool", "^(runpath_var=)LD_RUN_PATH", "\\1DIE_RPATH_DIE")
pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ")
def build():
autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.removeDir("/usr/share/gtk-doc")
pisitools.dodoc("AUTHORS", "README", "ChangeLog", "NEWS", "COPYING", "COPYING-LGPL-2.1", "COPYING-MPL-1.1")
@@ -0,0 +1,43 @@
From 8dc3b629434ce256f8e6a584c5853ae9b4230c33 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 31 Oct 2012 16:06:51 -0400
Subject: [PATCH 1/2] xlib: Don't crash when swapping a 0-sized glyph
malloc(0) needn't return NULL, and on glibc, doesn't. Then we encounter
a loop of the form do { ... } while (--c), which doesn't do quite what
you were hoping for when c is initially 0.
Since there's nothing to swap in this case, just bomb out.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
src/cairo-xlib-render-compositor.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c
index 74c43e9..e38a659 100644
--- a/src/cairo-xlib-render-compositor.c
+++ b/src/cairo-xlib-render-compositor.c
@@ -1251,6 +1251,9 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display,
unsigned char *d;
unsigned char *new, *n;
+ if (c == 0)
+ break;
+
new = malloc (c);
if (!new) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
@@ -1276,6 +1279,9 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display,
const uint32_t *d;
uint32_t *new, *n;
+ if (c == 0)
+ break;
+
new = malloc (4 * c);
if (unlikely (new == NULL)) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
--
1.7.12.1
@@ -0,0 +1,43 @@
From 4cad9bf9f0744efe17f1b70548cd2059df071e81 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 31 Oct 2012 16:12:58 -0400
Subject: [PATCH 2/2] xcb: Don't crash when swapping a 0-sized glyph
malloc(0) needn't return NULL, and on glibc, doesn't. Then we encounter
a loop of the form do { ... } while (--c), which doesn't do quite what
you were hoping for when c is initially 0.
Since there's nothing to swap in this case, just bomb out.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
src/cairo-xcb-surface-render.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index 27ed113..16d1ef8 100644
--- a/src/cairo-xcb-surface-render.c
+++ b/src/cairo-xcb-surface-render.c
@@ -4461,6 +4461,9 @@ _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t *connection,
const uint8_t *d;
uint8_t *new, *n;
+ if (c == 0)
+ break;
+
new = malloc (c);
if (unlikely (new == NULL)) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
@@ -4489,6 +4492,9 @@ _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t *connection,
const uint32_t *d;
uint32_t *new, *n;
+ if (c == 0)
+ break;
+
new = malloc (4 * c);
if (unlikely (new == NULL)) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
--
1.7.12.1
@@ -0,0 +1,33 @@
From 2de69581c28bf115852037ca41eba13cb7335976 Mon Sep 17 00:00:00 2001
From: Massimo Valentini <mvalentini@src.gnome.org>
Date: Sun, 19 Oct 2014 09:19:10 +0200
Subject: tor-scan-converter: can't do_fullrow when intersection in row +
0.5subrow
the active edges list must be left sorted at the next possible use
and since full_row does not deal with intersections it is not usable
when there is an intersection in the top half of the next row first
subrow
Reported-and-tested-by: Matthew Leach
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85151
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/src/cairo-tor-scan-converter.c b/src/cairo-tor-scan-converter.c
index 4adcafb..14922d0 100644
--- a/src/cairo-tor-scan-converter.c
+++ b/src/cairo-tor-scan-converter.c
@@ -1167,8 +1167,8 @@ can_do_full_row (struct active_list *active)
if (e->dy) {
struct quorem x = e->x;
- x.quo += e->dxdy_full.quo - e->dxdy.quo/2;
- x.rem += e->dxdy_full.rem - e->dxdy.rem/2;
+ x.quo += e->dxdy_full.quo;
+ x.rem += e->dxdy_full.rem;
if (x.rem < 0) {
x.quo--;
x.rem += e->dy;
--
cgit v0.10.2
+198
View File
@@ -0,0 +1,198 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>cairo</Name>
<Homepage>http://cairographics.org</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv2.1</License>
<License>MPL-1.1</License>
<IsA>library</IsA>
<Summary>2D graphics library with bindings of many programming languages</Summary>
<Description>Cairo is a 2D graphics library with support for multiple output devices (and fileformats).</Description>
<Archive sha1sum="c8da68aa66ca0855b5d0ff552766d3e8679e1d24" type="tarxz">http://cairographics.org/releases/cairo-1.14.2.tar.xz</Archive>
<BuildDependencies>
<Dependency>zlib-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>libX11-devel</Dependency>
<Dependency>libpng-devel</Dependency>
<Dependency>libxcb-devel</Dependency>
<Dependency>freetype-devel</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>fontconfig-devel</Dependency>
<Dependency>libXrender-devel</Dependency>
<Dependency>pixman-devel</Dependency>
<Dependency>xcb-util-devel</Dependency>
<Dependency>libXext-devel</Dependency>
<Dependency>mesa-devel</Dependency>
<!--<Dependency>libspectre-devel</Dependency>
<Dependency>librsvg-devel</Dependency>
<Dependency>poppler-devel</Dependency>-->
</BuildDependencies>
<Patches>
<!--Fedora patches-->
<!-- <Patch level="1">0001-xlib-Don-t-crash-when-swapping-a-0-sized-glyph.patch</Patch> -->
<!-- <Patch level="1">0002-xcb-Don-t-crash-when-swapping-a-0-sized-glyph.patch</Patch> -->
<!-- <Patch level="1">git_fixes.diff</Patch> -->
</Patches>
</Source>
<Package>
<Name>cairo</Name>
<RuntimeDependencies>
<Dependency>zlib</Dependency>
<Dependency>glib2</Dependency>
<Dependency>libX11</Dependency>
<Dependency>libpng</Dependency>
<Dependency>libxcb</Dependency>
<Dependency>freetype</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>fontconfig</Dependency>
<Dependency>libXrender</Dependency>
<Dependency>pixman</Dependency>
<Dependency>libXext</Dependency>
<Dependency>mesa</Dependency>
<Dependency>lzo</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="man">/usr/share/man</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="doc">/usr/share/gtk-doc</Path>
<Path fileType="info">/usr/share/info</Path>
<Path fileType="library">/usr/lib</Path>
</Files>
</Package>
<Package>
<Name>cairo-devel</Name>
<Summary>Development files for cairo</Summary>
<RuntimeDependencies>
<Dependency release="current">cairo</Dependency>
<Dependency>mesa-devel</Dependency>
<Dependency>pixman-devel</Dependency>
<Dependency>libXext-devel</Dependency>
<Dependency>fontconfig-devel</Dependency>
<Dependency>libXrender-devel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/lib32/pkgconfig</Path>
</Files>
</Package>
<Package>
<Name>cairo-32bit</Name>
<PartOf>emul32</PartOf>
<Summary>32-bit shared libraries for cairo</Summary>
<BuildType>emul32</BuildType>
<BuildDependencies>
<Dependency>lzo-32bit</Dependency>
<Dependency>mesa-32bit</Dependency>
<Dependency>zlib-32bit</Dependency>
<Dependency>glib2-32bit</Dependency>
<Dependency>libX11-32bit</Dependency>
<Dependency>pixman-32bit</Dependency>
<Dependency>libpng-32bit</Dependency>
<Dependency>libxcb-32bit</Dependency>
<Dependency>libXext-32bit</Dependency>
<Dependency>freetype-32bit</Dependency>
<Dependency>fontconfig-32bit</Dependency>
<Dependency>libXrender-32bit</Dependency>
<!-- <Dependency>libspectre-32bit</Dependency>
<Dependency>poppler-glib-32bit</Dependency>
<Dependency>pango-32bit</Dependency>
<Dependency>librsvg-32bit</Dependency>
<Dependency>gdk-pixbuf-32bit</Dependency>-->
</BuildDependencies>
<RuntimeDependencies>
<Dependency release="current">cairo</Dependency>
<Dependency>mesa-32bit</Dependency>
<Dependency>zlib-32bit</Dependency>
<Dependency>glib2-32bit</Dependency>
<Dependency>libX11-32bit</Dependency>
<Dependency>pixman-32bit</Dependency>
<Dependency>libpng-32bit</Dependency>
<Dependency>libxcb-32bit</Dependency>
<Dependency>libXext-32bit</Dependency>
<Dependency>freetype-32bit</Dependency>
<Dependency>fontconfig-32bit</Dependency>
<Dependency>libXrender-32bit</Dependency>
<Dependency>lzo-32bit</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib32/lib*</Path>
<Path fileType="library">/usr/lib32/cairo</Path>
</Files>
</Package>
<History>
<Update release="9">
<Date>2015-04-18</Date>
<Version>1.14.2</Version>
<Comment>Version bump.</Comment>
<Name>Yusuf Aydemir</Name>
<Email>yusuf.aydemir@pisilinux.org</Email>
</Update>
<Update release="8">
<Date>2015-01-28</Date>
<Version>1.14.0</Version>
<Comment>Version bump.</Comment>
<Name>Ergün Salman</Name>
<Email>Poyraz76@pisilinux.org</Email>
</Update>
<Update release="7">
<Date>2014-05-17</Date>
<Version>1.12.16</Version>
<Comment>Release bump.</Comment>
<Name>Alihan Öztürk</Name>
<Email>alihan@pisilinux.org</Email>
</Update>
<Update release="6">
<Date>2013-10-09</Date>
<Version>1.12.16</Version>
<Comment>Version bump, fixes.</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
<Update release="5">
<Date>2013-07-29</Date>
<Version>1.12.14</Version>
<Comment>Fix dependencies.</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="4">
<Date>2013-04-23</Date>
<Version>1.12.14</Version>
<Comment>Dep fixed</Comment>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2013-02-24</Date>
<Version>1.12.14</Version>
<Comment>Version bump, missing dep.</Comment>
<Name>Ertan Güven</Name>
<Email>ertan@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2013-01-22</Date>
<Version>1.12.10</Version>
<Comment>Version bump.</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2012-11-23</Date>
<Version>1.12.8</Version>
<Comment>First release</Comment>
<Name>Marcin Bojara</Name>
<Email>marcin@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,18 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>cairo</Name>
<Summary xml:lang="tr">Birden çok çıktı cihazına destek veren bir 2 boyutlu grafik kitaplığı</Summary>
<Summary xml:lang="fr">Cairo est une librairie graphique 2D supportant de nombreux périphériques de sortie.</Summary>
</Source>
<Package>
<Name>cairo-devel</Name>
<Summary xml:lang="tr">cairo için geliştirme dosyaları</Summary>
</Package>
<Package>
<Name>cairo-32bit</Name>
<Summary xml:lang="tr">cairo için 32-bit paylaşımlı kitaplıklar</Summary>
</Package>
</PISI>