summaryrefslogtreecommitdiff
path: root/media-libs/cogl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/cogl
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/cogl')
-rw-r--r--media-libs/cogl/Manifest8
-rw-r--r--media-libs/cogl/cogl-1.22.2.ebuild136
-rw-r--r--media-libs/cogl/files/cogl-1.22.0-fglrx.patch10
-rw-r--r--media-libs/cogl/files/cogl-1.22.0-initial-output.patch46
-rw-r--r--media-libs/cogl/files/cogl-1.22.0-wait-flip.patch42
-rw-r--r--media-libs/cogl/metadata.xml13
6 files changed, 255 insertions, 0 deletions
diff --git a/media-libs/cogl/Manifest b/media-libs/cogl/Manifest
new file mode 100644
index 000000000000..4268289359ce
--- /dev/null
+++ b/media-libs/cogl/Manifest
@@ -0,0 +1,8 @@
+AUX cogl-1.22.0-fglrx.patch 468 SHA256 88c3723c4bd295ba1847c7d4696ddf31e33d19a13918d78644561af5effb4457 SHA512 8587cd9cd7dfe4399333bbe46cda77e6d336fc382493594be809437401f63a61067695e0f7e6d74378cd1b7e3b7310a82530f6e2f693cbe65b32c127003ddab3 WHIRLPOOL e389ab67def02a3703e5eb4a49c6c822361f277ec1182e14843c0d521e7fea0ce6322ba76ec29bd04876434d457226b7290bcc5915b0fd2111a238b951466cf8
+AUX cogl-1.22.0-initial-output.patch 1416 SHA256 308a32de8b0360d9e50c3e9065064ebe400813ca50b6182048ad7f16016bcf76 SHA512 ba8ada5084d7bf8f49f1d9630c0f9c58161b96ac8f33d570385051c791a81315724aa369d8d85fc28ca91153723313aa9c70207c0ccf57c05d9eed28031dba27 WHIRLPOOL b70f6ab4adddcbf40347f8fb8ca100ecbc17b4e3a126e2730b74932f86e7dc6076c7ccebff455a233ff5506f4a01df234d6ef347afdd1d8c87a82277eb240f1b
+AUX cogl-1.22.0-wait-flip.patch 1319 SHA256 f380fd702baa4aa3296a7080a4e26d8e9b5a5a2cd7711649e23ac334187980b9 SHA512 269fb862a90b69bceb2604cc30bd02b6c6ec7dc38884fd88cc166039100fda885c5e0e2bd714157b42d725371be10d5b097293f77f48295d1037840d088dc2a1 WHIRLPOOL deed5e6e0e947d61189405e6cc2b1d71e8754c1f39ece2391787bed94bd412c7ddc74b4dd690ac745d6100be3c5e7402735b6ece11364806481ebe3999ca9d4b
+DIST cogl-1.22.2.tar.xz 1682360 SHA256 39a718cdb64ea45225a7e94f88dddec1869ab37a21b339ad058a9d898782c00d SHA512 2ec99f5ff22683d12925b9a1f748387b47c4506aaf3c5afec851b3b6fe6b7cdfd211fb7e4359bd7a1d1b7cb3cb7fbd257efbcb7d2941d0f133a60bad1c9645e3 WHIRLPOOL 548deef9a92fba1ee183f84eb581add8f366ecb0829467025a48c0eb26e85f86ee85dbffded1174fc426f2e85ed5ede3aea75131dfe6a0df547d1440c2b0e53e
+EBUILD cogl-1.22.2.ebuild 4034 SHA256 d3ca411dfbfdf8dd29abb36a5fc4143e4a080e1a72b1703180ea6b1cf02a2c17 SHA512 7cacd1ada49ecff55757c9d6950d82c7f6794de3ea565228770575bb45d9de15a3c2812d89be024be1d2f7fbc509464b7a3b1c49dc2d5056db3603724f04308b WHIRLPOOL e6cd3eef068f471da2a2aabf52a78606e2ed03ec637e749498524be6e65a4891173e8c4e041edf81808af3aa3ff1b1d1a185da18a2e1e7e660d0d89cd5a45113
+MISC ChangeLog 4685 SHA256 cd2cc0b0abf87126e144abf206c24c9358bbfbbf35fc327c5244ddd86bace945 SHA512 3705b7d49fb0b7ce4c1423525785394914d49aae541e568cd3cfa7cab982fbe50f4ef56c7b054ee666893d5c8438aa4f592ef35b80a3a23191fc589cce9027e2 WHIRLPOOL 0494d02633879237cd074864e7054592a4b4bd1bc94023465598e0070902928376addab88baf67d8ecd5cbbf3f598007fcf9b2bdaea04a9bc2473c147583e3d9
+MISC ChangeLog-2015 9035 SHA256 8b8656c7cf28061acd68c639343fd12b07665728397c8da3a47a86222230e7b9 SHA512 626bba18add6e61964a055886ab1fbe365bc75ffe3288accd21f1662e9a831e0dd2bdf095355dbaa6a64aad4d13357d068a2069c3537fd5782c36e864656fe0e WHIRLPOOL e2e0f272c3be585c057889e31065d56a5f21562b165ccef36e1bb40161b7cd26ba32db9b53daed8efbef68a810ffc890db35da5f5334ef828986678a61aa5d6d
+MISC metadata.xml 457 SHA256 6f41a22c2787290ee170105e277929cdc854030fd7f28df64a1eec2897cc1930 SHA512 e0e4be51119ec98c906ca2f5df69c9024d77855fafa53ec00bc30b481f33dfd98708c2c9021737f84a46121788079fdc1d9ecffc2693a3257819f05879318a44 WHIRLPOOL 6c922b316629d60731491120abdf218b61ea78e6df4d7a425a9819761ba4f767246ab8e43ae939ccda3a73ef0015637d90898e517b4de306526468feb0169f94
diff --git a/media-libs/cogl/cogl-1.22.2.ebuild b/media-libs/cogl/cogl-1.22.2.ebuild
new file mode 100644
index 000000000000..0419b0b73888
--- /dev/null
+++ b/media-libs/cogl/cogl-1.22.2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2 multilib virtualx
+
+DESCRIPTION="A library for using 3D graphics hardware to draw pretty pictures"
+HOMEPAGE="https://www.cogl3d.org/"
+
+LICENSE="MIT BSD"
+SLOT="1.0/20" # subslot = .so version
+
+# doc and profile disable for now due to bugs #484750 and #483332
+IUSE="debug examples gles2 gstreamer +introspection +kms +opengl +pango test video_cards_fglrx wayland" # doc profile
+REQUIRED_USE="
+ wayland? ( gles2 )
+ || ( gles2 opengl )
+"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc x86"
+
+COMMON_DEPEND="
+ >=dev-libs/glib-2.32:2
+ x11-libs/cairo:=
+ >=x11-libs/gdk-pixbuf-2:2
+ x11-libs/libX11
+ >=x11-libs/libXcomposite-0.4
+ x11-libs/libXdamage
+ x11-libs/libXext
+ >=x11-libs/libXfixes-3
+ >=x11-libs/libXrandr-1.2
+ virtual/opengl
+ gles2? ( media-libs/mesa[gles2] )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0 )
+ introspection? ( >=dev-libs/gobject-introspection-1.34.2:= )
+ kms? (
+ media-libs/mesa[gbm]
+ x11-libs/libdrm:= )
+ pango? ( >=x11-libs/pango-1.20.0[introspection?] )
+ wayland? (
+ >=dev-libs/wayland-1.1.90
+ media-libs/mesa[egl,wayland] )
+"
+# before clutter-1.7, cogl was part of clutter
+RDEPEND="${COMMON_DEPEND}
+ !<media-libs/clutter-1.7
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/gtk-doc-am-1.13
+ >=sys-devel/gettext-0.19
+ virtual/pkgconfig
+ test? (
+ app-eselect/eselect-opengl
+ media-libs/mesa[classic] )
+"
+
+# Need classic mesa swrast for tests, llvmpipe causes a test failure
+# For some reason GL3 conformance test all fails again...
+RESTRICT="test"
+
+src_prepare() {
+ # Let cogl work with fglrx driver, bug #567168
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756306
+ use video_cards_fglrx && eapply "${FILESDIR}"/${PN}-1.22.0-fglrx.patch
+
+ # Do not build examples
+ sed -e "s/^\(SUBDIRS +=.*\)examples\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+
+ if ! use test ; then
+ # For some reason the configure switch will not completely disable
+ # tests being built
+ sed -e "s/^\(SUBDIRS =.*\)test-fixtures\(.*\)$/\1\2/" \
+ -e "s/^\(SUBDIRS +=.*\)tests\(.*\)$/\1\2/" \
+ -e "s/^\(.*am__append.* \)tests\(.*\)$/\1\2/" \
+ -i Makefile.am Makefile.in || die
+ fi
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # TODO: think about quartz, sdl
+ # Prefer gl over gles2 if both are selected
+ # Profiling needs uprof, which is not available in portage yet, bug #484750
+ # FIXME: Doesn't provide prebuilt docs, but they can neither be rebuilt, bug #483332
+ gnome2_src_configure \
+ --disable-examples-install \
+ --disable-maintainer-flags \
+ --enable-cairo \
+ --enable-deprecated \
+ --enable-gdk-pixbuf \
+ --enable-glib \
+ $(use_enable debug) \
+ $(use_enable opengl glx) \
+ $(use_enable opengl gl) \
+ $(use_enable gles2) \
+ $(use_enable gles2 cogl-gles2) \
+ $(use_enable gles2 xlib-egl-platform) \
+ $(usex gles2 --with-default-driver=$(usex opengl gl gles2)) \
+ $(use_enable gstreamer cogl-gst) \
+ $(use_enable introspection) \
+ $(use_enable kms kms-egl-platform) \
+ $(use_enable pango cogl-pango) \
+ $(use_enable test unit-tests) \
+ $(use_enable wayland wayland-egl-platform) \
+ $(use_enable wayland wayland-egl-server) \
+ --disable-profile
+# $(use_enable profile)
+}
+
+src_test() {
+ # Use swrast for tests, llvmpipe is incomplete and "test_sub_texture" fails
+ # NOTE: recheck if this is needed after every mesa bump
+ if [[ "$(eselect opengl show)" != "xorg-x11" ]]; then
+ ewarn "Skipping tests because a binary OpenGL library is enabled. To"
+ ewarn "run tests for ${PN}, you need to enable the Mesa library:"
+ ewarn "# eselect opengl set xorg-x11"
+ return
+ fi
+ virtx emake check LIBGL_DRIVERS_PATH="${EROOT}/usr/$(get_libdir)/mesa"
+}
+
+src_install() {
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/{*.c,*.jpg}
+ fi
+
+ gnome2_src_install
+
+ # Remove silly examples-data directory
+ rm -rvf "${ED}/usr/share/cogl/examples-data/" || die
+}
diff --git a/media-libs/cogl/files/cogl-1.22.0-fglrx.patch b/media-libs/cogl/files/cogl-1.22.0-fglrx.patch
new file mode 100644
index 000000000000..dac1419a58bc
--- /dev/null
+++ b/media-libs/cogl/files/cogl-1.22.0-fglrx.patch
@@ -0,0 +1,10 @@
+--- a/cogl/driver/gl/gl/cogl-driver-gl.c 2015-09-02 18:39:02.000000000 +0200
++++ b/cogl/driver/gl/gl/cogl-driver-gl.c 2015-10-18 10:37:14.052350142 +0200
+@@ -419,7 +419,7 @@
+ if (COGL_CHECK_GL_VERSION (ctx->glsl_major, ctx->glsl_minor, 1, 2))
+ /* We want to use version 120 if it is available so that the
+ * gl_PointCoord can be used. */
+- ctx->glsl_version_to_use = 120;
++ ctx->glsl_version_to_use = 150;
+ else
+ ctx->glsl_version_to_use = 110;
diff --git a/media-libs/cogl/files/cogl-1.22.0-initial-output.patch b/media-libs/cogl/files/cogl-1.22.0-initial-output.patch
new file mode 100644
index 000000000000..d7f9d0ff99f4
--- /dev/null
+++ b/media-libs/cogl/files/cogl-1.22.0-initial-output.patch
@@ -0,0 +1,46 @@
+From 188752158701e3a406e7fd5850b3eaf9c4798cd7 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Fri, 13 Nov 2015 13:35:05 -0500
+Subject: winsys-egl-kms: bypass initial output setup if kms fd passed in
+
+if mutter is handling the output setup, then we shouldn't do it,
+too.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=758073
+---
+ cogl/winsys/cogl-winsys-egl-kms.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c
+index b460907..6d7049d 100644
+--- a/cogl/winsys/cogl-winsys-egl-kms.c
++++ b/cogl/winsys/cogl-winsys-egl-kms.c
+@@ -663,6 +663,14 @@ _cogl_winsys_egl_display_setup (CoglDisplay *display,
+ return FALSE;
+ }
+
++ /* Force a full modeset / drmModeSetCrtc on
++ * the first swap buffers call.
++ */
++ kms_display->pending_set_crtc = TRUE;
++
++ if (kms_renderer->opened_fd < 0)
++ return TRUE;
++
+ output0 = find_output (0,
+ kms_renderer->fd,
+ resources,
+@@ -736,10 +744,6 @@ _cogl_winsys_egl_display_setup (CoglDisplay *display,
+ kms_display->width = output0->mode.hdisplay;
+ kms_display->height = output0->mode.vdisplay;
+
+- /* We defer setting the crtc modes until the first swap_buffers request of a
+- * CoglOnscreen framebuffer. */
+- kms_display->pending_set_crtc = TRUE;
+-
+ return TRUE;
+ }
+
+--
+cgit v0.11.2
+
diff --git a/media-libs/cogl/files/cogl-1.22.0-wait-flip.patch b/media-libs/cogl/files/cogl-1.22.0-wait-flip.patch
new file mode 100644
index 000000000000..b7c4d99a2812
--- /dev/null
+++ b/media-libs/cogl/files/cogl-1.22.0-wait-flip.patch
@@ -0,0 +1,42 @@
+From a583492ea2aa3ea8e78c269bd5db3f52f82aa79c Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Wed, 21 Oct 2015 15:47:01 -0400
+Subject: kms-winsys: don't wait for a flip when page flipping fails
+
+If we get EACCES from drmPageFlip we're not going to get
+a flip event and shouldn't wait for one.
+
+This commit changes the EACCES path to silently ignore the
+failed flip request and just clean up the fb.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=756926
+---
+ cogl/winsys/cogl-winsys-egl-kms.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c
+index 20c325c..b460907 100644
+--- a/cogl/winsys/cogl-winsys-egl-kms.c
++++ b/cogl/winsys/cogl-winsys-egl-kms.c
+@@ -590,7 +590,7 @@ flip_all_crtcs (CoglDisplay *display, CoglFlipKMS *flip, int fb_id)
+ for (l = kms_display->crtcs; l; l = l->next)
+ {
+ CoglKmsCrtc *crtc = l->data;
+- int ret;
++ int ret = 0;
+
+ if (crtc->count == 0 || crtc->ignore)
+ continue;
+@@ -610,7 +610,8 @@ flip_all_crtcs (CoglDisplay *display, CoglFlipKMS *flip, int fb_id)
+ }
+ }
+
+- flip->pending++;
++ if (ret == 0)
++ flip->pending++;
+ }
+
+ if (kms_renderer->page_flips_not_supported && needs_flip)
+--
+cgit v0.11.2
+
diff --git a/media-libs/cogl/metadata.xml b/media-libs/cogl/metadata.xml
new file mode 100644
index 000000000000..009b6abd0cb6
--- /dev/null
+++ b/media-libs/cogl/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<use>
+ <flag name="gles2">Enable OpenGL ES 2.0 support</flag>
+ <flag name="kms">Enable KMS support.</flag>
+ <flag name="pango">Build cogl-pango library for <pkg>x11-libs/pango</pkg> integration</flag>
+</use>
+</pkgmetadata>