summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2012-08-08 13:50:48 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2012-08-08 13:50:48 +0000
commit8c2969ae77aaebb4a113792a756d89c592286396 (patch)
treea7e2fc74b8f8285338924698a09bde5e0d0a5ca9 /x11-libs/glamor
parentMarking stream-0.4.6 ppc for bug 418681 (diff)
downloadhistorical-8c2969ae77aaebb4a113792a756d89c592286396.tar.gz
historical-8c2969ae77aaebb4a113792a756d89c592286396.tar.bz2
historical-8c2969ae77aaebb4a113792a756d89c592286396.zip
Fix building against xorg-server-1.13, bug #428786.
Package-Manager: portage-2.2.0_alpha120/cvs/Linux x86_64
Diffstat (limited to 'x11-libs/glamor')
-rw-r--r--x11-libs/glamor/ChangeLog8
-rw-r--r--x11-libs/glamor/Manifest4
-rw-r--r--x11-libs/glamor/files/glamor-0.4.1-xorg-server-1.13.patch269
-rw-r--r--x11-libs/glamor/glamor-0.4.1-r1.ebuild39
4 files changed, 318 insertions, 2 deletions
diff --git a/x11-libs/glamor/ChangeLog b/x11-libs/glamor/ChangeLog
index 21fa4e7fd963..445a01bcd2e2 100644
--- a/x11-libs/glamor/ChangeLog
+++ b/x11-libs/glamor/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-libs/glamor
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/glamor/ChangeLog,v 1.4 2012/07/31 12:14:31 chithanh Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/glamor/ChangeLog,v 1.5 2012/08/08 13:50:48 chithanh Exp $
+
+*glamor-0.4.1-r1 (08 Aug 2012)
+
+ 08 Aug 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +files/glamor-0.4.1-xorg-server-1.13.patch, +glamor-0.4.1-r1.ebuild:
+ Fix building against xorg-server-1.13, bug #428786.
31 Jul 2012; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
glamor-0.4.1.ebuild:
diff --git a/x11-libs/glamor/Manifest b/x11-libs/glamor/Manifest
index 0edc11b221ec..1df0d6de94a5 100644
--- a/x11-libs/glamor/Manifest
+++ b/x11-libs/glamor/Manifest
@@ -1,4 +1,6 @@
+AUX glamor-0.4.1-xorg-server-1.13.patch 8624 SHA256 57be969aa4b01ab350fc85f314dae1fd177376b062f7b9a12c7b78d5b193e615 SHA512 e12d2d65b0793f53a9e090633d694e8fcf4adee82fbdd9ffe3562d8f3046173906faf3b4bcf1e0285918944c8b1e8a873672c6541b5a51b0db31512e69edd51e WHIRLPOOL a2c3d6bcafa6b23bd5121dadb5a14b307797dff54aa7fea03824cea31c07043ba201818fe2b62a411a9724de16f458c405db78a829919a19130de47fb589587c
DIST glamor-0.4.1.tar.gz 90349 SHA256 87d1d7fb81e235a4b7432b7c5b9cc9bf6b3d2ad1d26ded2ce48823037975d94d SHA512 c5ad4e897e976a1997f639f47f44d863ca995275955147b75c74897f7a30461ffe9002cf9d3b4c02a0f5c7e1693a665e548e44d7c2f0be3f157da8425b5366da WHIRLPOOL 2ac4d4821f8868c5ec5c869adf32133805f10a5cbf1372b7d480d14368f7ac778594709c571ddbd07240933c75acdfad1d1610aba4515caf55305b43b2820d32
+EBUILD glamor-0.4.1-r1.ebuild 872 SHA256 7c3b387793fbd0cd0d11e4b27d42c32308ba435c66d13fa0c2c3f1d6b98bfe74 SHA512 ee9d4df36a084d9f5d1d5a27c32fc47ff87faf0545f00c6912e38f594ef7139eac4f59ec7efa77f63cffd9cb58ee0c5db2370f0308955b3d63e6a0440674cbf0 WHIRLPOOL 4bf6e9a277a987dd10cca6123e0f83314174ec2a2bf202eb7092ba44a6d20553b833da21b6b14865c0a4cacc28fa9a8779e9b85a00af18e570ec323a59d3a125
EBUILD glamor-0.4.1.ebuild 845 SHA256 9ee7b34c1a82f30dc95cdb5ee8d75bb3e4de2e4fe15591330a0e9c61bfd9db2b SHA512 5eb47d9fc0b904b0a3aef3ef198ee564d9d0bc0d422836f31f83bf898e84378ced7622e34729a093cad8de8621a4cf47c97a4269d599b85e5abed363cb41433b WHIRLPOOL 20dc76b26c0daff22bdb9f2f5da4d0db85aad72f67073d7b7b843bee75b01437c2033f7fab27c4f4658071b948f052ff8e67db455e1db3acbb3867ee66fcc2a3
-MISC ChangeLog 790 SHA256 26d261778ac36cea440ba26cc9444520500ce13f69e1fa225dd9336eebd77ef7 SHA512 039e5a849ff9194d51e41c20d45b634965cf2e9ede1a16dd78feea440eb1bd3e80d05228681daa893da49d0d245f032c7e2011df7548f1458a1b919c52cde68a WHIRLPOOL 8d5f922bcf08735493d365e0e4810ae561f8f8de475ae43038819430552fddc9b99c26e3d6a27f53ad471e067ca4610673bae28540d78b0b2bdd9dbac86dad8f
+MISC ChangeLog 1017 SHA256 b75dbba5cd779d51ae44053434bc01a5d6aaf2414ee0cbec6b9061c1c2f98dd9 SHA512 288fa433e04f439684a8a36b824710bd013968e928a79251b8eec1858278118ad22b8550e75ab59b71f693b1655bf9fc515a59f15e3626167c96358d0b814bdf WHIRLPOOL 46e0fc642e7a58057fbb57daa35a46c7845548023aa87a9165050aa002cb820b98444fe7b8d92265daa2b7b15d7003cfacdaaa10c2f00b64ef3962e1f6c86b37
MISC metadata.xml 223 SHA256 205a40dbb7a17f67f6d4efcda4c5649d9f56f9b27f2e00d370a24f61103bff26 SHA512 5a5214399812d56f3393dc5baa5066e0127c99aeed8cbd3315d1fb3e7119232a5cd94272e46c7ede9a1b25c7f99909754a09962514b9748f3537cd1f7d627033 WHIRLPOOL fe893e5445e4ac431992a98c126ea52ed7495b334e217b992d86a3aa200ba587d1a5ca3ff9e83a68f1216ce47e3093125ca0d4bb572b0654bf0e7a587b1cc57c
diff --git a/x11-libs/glamor/files/glamor-0.4.1-xorg-server-1.13.patch b/x11-libs/glamor/files/glamor-0.4.1-xorg-server-1.13.patch
new file mode 100644
index 000000000000..4e16ad584694
--- /dev/null
+++ b/x11-libs/glamor/files/glamor-0.4.1-xorg-server-1.13.patch
@@ -0,0 +1,269 @@
+From 726ad264f485ce1d39aa387e93ac224fb46ed059 Mon Sep 17 00:00:00 2001
+From: Zhigang Gong <zhigang.gong@linux.intel.com>
+Date: Mon, 16 Jul 2012 03:25:09 +0000
+Subject: Synch with xorg 1.13 change.
+
+As xorg 1.13 change the scrn interaces and remove those
+global arrays. Some API change cause we can't build. Now
+fix it.
+
+Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
+---
+diff --git a/src/glamor.c b/src/glamor.c
+index 8b7dc93..d51811e 100644
+--- a/src/glamor.c
++++ b/src/glamor.c
+@@ -491,7 +491,7 @@ glamor_set_pixmap_private(PixmapPtr pixmap, glamor_pixmap_private *priv)
+ }
+
+ Bool
+-glamor_close_screen(int idx, ScreenPtr screen)
++glamor_close_screen(CLOSE_SCREEN_ARGS_DECL)
+ {
+ glamor_screen_private *glamor_priv;
+ PixmapPtr screen_pixmap;
+@@ -533,7 +533,7 @@ glamor_close_screen(int idx, ScreenPtr screen)
+
+ glamor_release_screen_priv(screen);
+
+- return screen->CloseScreen(idx, screen);
++ return screen->CloseScreen(CLOSE_SCREEN_ARGS);
+ }
+
+
+diff --git a/src/glamor.h b/src/glamor.h
+index fe3e4f8..bafd543 100644
+--- a/src/glamor.h
++++ b/src/glamor.h
+@@ -30,9 +30,8 @@
+ #define GLAMOR_H
+
+ #include <scrnintstr.h>
+-#ifdef GLAMOR_FOR_XORG
++#include <xf86.h>
+ #include <xf86str.h>
+-#endif
+ #include <pixmapstr.h>
+ #include <gcstruct.h>
+ #include <picturestr.h>
+@@ -117,7 +116,11 @@ extern _X_EXPORT void glamor_fini(ScreenPtr screen);
+ * screen pixmap which must be a glamor pixmap and requires
+ * the internal data structure still exist at that time.
+ * Otherwise, the glamor internal structure will not be freed.*/
+-extern _X_EXPORT Bool glamor_close_screen(int idx, ScreenPtr screen);
++#ifndef XF86_SCRN_INTERFACE
++extern _X_EXPORT Bool glamor_close_screen(int scrnIndex, ScreenPtr screen);
++#else
++extern _X_EXPORT Bool glamor_close_screen(ScreenPtr screen);
++#endif
+
+
+ /* Let glamor to know the screen's fbo. The low level
+diff --git a/src/glamor_egl.c b/src/glamor_egl.c
+index 07acf1a..da9283b 100644
+--- a/src/glamor_egl.c
++++ b/src/glamor_egl.c
+@@ -59,6 +59,7 @@
+ #include <EGL/eglext.h>
+
+ #include "glamor.h"
++#include "compat-api.h"
+ #include "glamor_gl_dispatch.h"
+ #ifdef GLX_USE_SHARED_DISPATCH
+ #include "glapi.h"
+@@ -365,7 +366,7 @@ glamor_egl_destroy_textured_pixmap(PixmapPtr pixmap)
+ }
+
+ static Bool
+-glamor_egl_close_screen(int idx, ScreenPtr screen)
++glamor_egl_close_screen(CLOSE_SCREEN_ARGS_DECL)
+ {
+ ScrnInfoPtr scrn;
+ struct glamor_egl_screen_private *glamor_egl;
+@@ -391,7 +392,7 @@ glamor_egl_close_screen(int idx, ScreenPtr screen)
+
+ screen->CloseScreen = glamor_egl->saved_close_screen;
+
+- return screen->CloseScreen(idx, screen);
++ return screen->CloseScreen(CLOSE_SCREEN_ARGS);
+ }
+
+ static Bool
+@@ -430,10 +431,15 @@ glamor_egl_screen_init(ScreenPtr screen)
+ }
+
+ static void
+-glamor_egl_free_screen(int scrnIndex, int flags)
++glamor_egl_free_screen(FREE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr scrn = xf86Screens[scrnIndex];
++ ScrnInfoPtr scrn;
+ struct glamor_egl_screen_private *glamor_egl;
++#ifndef XF86_SCRN_INTERFACE
++ scrn = xf86Screens[arg];
++#else
++ scrn = arg;
++#endif
+
+ glamor_egl = glamor_egl_get_screen_private(scrn);
+ if (glamor_egl != NULL) {
+@@ -447,7 +453,7 @@ glamor_egl_free_screen(int scrnIndex, int flags)
+ #endif
+ scrn->FreeScreen = glamor_egl->saved_free_screen;
+ free(glamor_egl);
+- scrn->FreeScreen(scrnIndex, flags);
++ scrn->FreeScreen(FREE_SCREEN_ARGS);
+ }
+ }
+
+diff --git a/src/glamor_priv.h b/src/glamor_priv.h
+index 3b64c31..11d09c4 100644
+--- a/src/glamor_priv.h
++++ b/src/glamor_priv.h
+@@ -38,6 +38,7 @@
+ #define NDEBUG
+ #endif
+ #include "glamor.h"
++#include "compat-api.h"
+
+ #define GL_GLEXT_PROTOTYPES
+
+diff --git a/src/glamor_utils.h b/src/glamor_utils.h
+index a282985..eb2e202 100644
+--- a/src/glamor_utils.h
++++ b/src/glamor_utils.h
+@@ -798,7 +798,10 @@ region_is_empty(pixman_region16_t *region)
+ return region->data && region->data->numRects == 0;
+ }
+
++#ifndef ARRAY_SIZE
+ #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
++#endif
++
+ #define ALIGN(i,m) (((i) + (m) - 1) & ~((m) - 1))
+ #define MIN(a,b) ((a) < (b) ? (a) : (b))
+ #define MAX(a,b) ((a) > (b) ? (a) : (b))
+--
+cgit v0.9.0.2-2-gbebe
+From ab212d3b90cd288da46af43390feacb489db77b1 Mon Sep 17 00:00:00 2001
+From: Zhigang Gong <zhigang.gong@linux.intel.com>
+Date: Mon, 16 Jul 2012 09:27:22 +0000
+Subject: Added the missed header file for xorg 1.13 compat.
+
+Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
+---
+diff --git a/src/compat-api.h b/src/compat-api.h
+new file mode 100644
+index 0000000..1608478
+--- a/dev/null
++++ b/src/compat-api.h
+@@ -0,0 +1,107 @@
++/*
++ * Copyright 2012 Red Hat, Inc.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ * DEALINGS IN THE SOFTWARE.
++ *
++ * Author: Dave Airlie <airlied@redhat.com>
++ */
++
++/* this file provides API compat between server post 1.13 and pre it,
++ it should be reused inside as many drivers as possible */
++#ifndef COMPAT_API_H
++#define COMPAT_API_H
++
++#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
++#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
++#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
++#endif
++
++#ifndef XF86_HAS_SCRN_CONV
++#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
++#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
++#endif
++
++#ifndef XF86_SCRN_INTERFACE
++
++#define SCRN_ARG_TYPE int
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr scrn = xf86Screens[(arg1)]
++
++#define SCREEN_ARG_TYPE int
++#define SCREEN_PTR(arg1) ScreenPtr screen = screenInfo.screens[(arg1)]
++
++#define SCREEN_INIT_ARGS_DECL int scrnIndex, ScreenPtr screen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer timeout, pointer read_mask
++#define BLOCKHANDLER_ARGS arg, blockData, timeout, read_mask
++
++#define WAKEUPHANDLER_ARGS_DECL int arg, pointer wakeupData, unsigned long result, pointer read_mask
++#define WAKEUPHANDLER_ARGS arg, wakeupData, result, read_mask
++
++#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr screen
++#define CLOSE_SCREEN_ARGS scrnIndex, screen
++
++#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
++#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
++
++#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
++#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
++
++#define FREE_SCREEN_ARGS_DECL int arg, int flags
++#define FREE_SCREEN_ARGS arg, flags
++
++#define VT_FUNC_ARGS_DECL int arg, int flags
++#define VT_FUNC_ARGS(flags) scrn->scrnIndex, (flags)
++
++#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
++
++#else
++#define SCRN_ARG_TYPE ScrnInfoPtr
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr scrn = (arg1)
++
++#define SCREEN_ARG_TYPE ScreenPtr
++#define SCREEN_PTR(arg1) ScreenPtr screen = (arg1)
++
++#define SCREEN_INIT_ARGS_DECL ScreenPtr screen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer timeout, pointer read_mask
++#define BLOCKHANDLER_ARGS arg, timeout, read_mask
++
++#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask
++#define WAKEUPHANDLER_ARGS arg, result, read_mask
++
++#define CLOSE_SCREEN_ARGS_DECL ScreenPtr screen
++#define CLOSE_SCREEN_ARGS screen
++
++#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
++#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
++
++#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
++#define SWITCH_MODE_ARGS(arg, m) arg, m
++
++#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
++#define FREE_SCREEN_ARGS arg
++
++#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
++#define VT_FUNC_ARGS(flags) scrn
++
++#define XF86_ENABLEDISABLEFB_ARG(x) (x)
++
++#endif
++#endif
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/x11-libs/glamor/glamor-0.4.1-r1.ebuild b/x11-libs/glamor/glamor-0.4.1-r1.ebuild
new file mode 100644
index 000000000000..bf95cf5e1de6
--- /dev/null
+++ b/x11-libs/glamor/glamor-0.4.1-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/glamor/glamor-0.4.1-r1.ebuild,v 1.1 2012/08/08 13:50:48 chithanh Exp $
+
+EAPI=4
+
+XORG_DRI=always
+XORG_EAUTORECONF=yes
+inherit xorg-2
+
+DESCRIPTION="OpenGL based 2D rendering acceleration library"
+SRC_URI="mirror://gentoo/glamor-0.4.1.tar.gz"
+
+KEYWORDS="~amd64 ~ia64 ~x86"
+IUSE="gles"
+
+RDEPEND=">=x11-base/xorg-server-1.10
+ media-libs/mesa[egl,gbm]
+ gles? (
+ || ( media-libs/mesa[gles2] media-libs/mesa[gles] )
+ )
+ >=x11-libs/pixman-0.21.8"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-xorg-server-1.13.patch
+)
+
+pkg_setup() {
+ xorg-2_pkg_setup
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_enable gles glamor-gles2)
+ )
+}
+
+src_prepare() {
+ sed -i 's/inst_LTLIBRARIES/lib_LTLIBRARIES/' src/Makefile.am || die
+ xorg-2_src_prepare
+}