aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAric Belsito <lluixhi@gmail.com>2018-03-01 10:17:42 -0800
committerAric Belsito <lluixhi@gmail.com>2018-03-01 10:19:14 -0800
commit35a370c734c5973f57c57a51a6ccc1e4656a9c5a (patch)
tree38a439a059c6984832155fc2940c565f46570f73 /media-libs
parentnet-libs/webkit-gtk: sync with tree (diff)
downloadmusl-35a370c734c5973f57c57a51a6ccc1e4656a9c5a.tar.gz
musl-35a370c734c5973f57c57a51a6ccc1e4656a9c5a.tar.bz2
musl-35a370c734c5973f57c57a51a6ccc1e4656a9c5a.zip
media-libs/libepoxy: add 1.5.0
uses dlvsym to load ld.so https://github.com/anholt/libepoxy/pull/158
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/libepoxy/Manifest1
-rw-r--r--media-libs/libepoxy/files/musl_no_dlsym.patch80
-rw-r--r--media-libs/libepoxy/libepoxy-1.5.0.ebuild61
-rw-r--r--media-libs/libepoxy/metadata.xml11
4 files changed, 153 insertions, 0 deletions
diff --git a/media-libs/libepoxy/Manifest b/media-libs/libepoxy/Manifest
new file mode 100644
index 00000000..a87845ed
--- /dev/null
+++ b/media-libs/libepoxy/Manifest
@@ -0,0 +1 @@
+DIST libepoxy-1.5.0.tar.gz 325983 BLAKE2B 13cec792a3f32630765e3bad755bfb8569119351a3bf83a6581c4db3210eca0779ca6681bbb67898847265283a929ed742fd7000d18977fb5f2203968815fe92 SHA512 e522c64d4f407aab031fbd31feaee1a2de4467fdd49b0267327100cfe836c2f5bebccf367449e3bd97e1a457168bbf0ace968eaa45a018020f1c038469343efe
diff --git a/media-libs/libepoxy/files/musl_no_dlsym.patch b/media-libs/libepoxy/files/musl_no_dlsym.patch
new file mode 100644
index 00000000..b31ceae4
--- /dev/null
+++ b/media-libs/libepoxy/files/musl_no_dlsym.patch
@@ -0,0 +1,80 @@
+From 0bbdbcdf3917fff68cf96e89b76358e94d20d77c Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 1 Mar 2018 17:37:42 +0000
+Subject: [PATCH 1/2] meson: add option to enable/disable the test suite
+
+---
+ meson.build | 5 ++++-
+ meson_options.txt | 4 ++++
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index b2ebaef..9632c7a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -242,7 +242,10 @@ libepoxy_inc = [
+
+ subdir('include/epoxy')
+ subdir('src')
+-subdir('test')
++
++if get_option('tests')
++ subdir('test')
++endif
+
+ if get_option('docs')
+ doxygen = find_program('doxygen', required: false)
+diff --git a/meson_options.txt b/meson_options.txt
+index b5d7c98..dc30e68 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -15,3 +15,7 @@ option('x11',
+ type: 'boolean',
+ value: true,
+ description: 'Enable X11 support (GLX or EGL-X11)')
++option('tests',
++ type: 'boolean',
++ value: true,
++ description: 'Build the test suite')
+
+From 85c692f9fe46259b5a85201d96e871ae12db4bc4 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 1 Mar 2018 17:39:52 +0000
+Subject: [PATCH 2/2] test: skip tests that require dlvsym if it isn't
+ available
+
+dlvsym is a glibc extension so check for it and skip the tests which need dlvsym
+if it isn't present.
+---
+ test/meson.build | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/test/meson.build b/test/meson.build
+index c5788b4..b97930e 100644
+--- a/test/meson.build
++++ b/test/meson.build
+@@ -1,3 +1,4 @@
++has_dlvsym = cc.has_function('dlvsym', prefix : '#include<dlfcn.h>')
+ has_gles1 = gles1_dep.found()
+ has_gles2 = gles2_dep.found()
+ build_x11_tests = enable_x11 and x11_dep.found()
+@@ -92,8 +93,8 @@ if build_glx
+ [ 'glx_has_extension_nocontext', [ 'glx_has_extension_nocontext.c' ], [], [], true ],
+ [ 'glx_static', [ 'glx_static.c' ], [ '-DNEEDS_TO_BE_STATIC'], [ '-static' ], libtype == 'static' ],
+ [ 'glx_shared_znow', [ 'glx_static.c', ], [], [ '-Wl,-z,now' ], has_znow ],
+- [ 'glx_alias_prefer_same_name', [ 'glx_alias_prefer_same_name.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple ],
+- [ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple ],
++ [ 'glx_alias_prefer_same_name', [ 'glx_alias_prefer_same_name.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple and has_dlvsym ],
++ [ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple and has_dlvsym ],
+ ]
+
+ foreach test: glx_tests
+@@ -114,7 +115,7 @@ if build_glx
+ endif
+ endforeach
+
+- if not build_apple
++ if not build_apple and has_dlvsym
+ # GLX/EGL tests
+ if build_egl
+ glx_egl_sources = [
diff --git a/media-libs/libepoxy/libepoxy-1.5.0.ebuild b/media-libs/libepoxy/libepoxy-1.5.0.ebuild
new file mode 100644
index 00000000..41a5198f
--- /dev/null
+++ b/media-libs/libepoxy/libepoxy-1.5.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGIT_REPO_URI="https://github.com/anholt/${PN}.git"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-r3"
+fi
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+PYTHON_REQ_USE='xml(+)'
+inherit ${GIT_ECLASS} meson multilib-minimal python-any-r1
+
+DESCRIPTION="Epoxy is a library for handling OpenGL function pointer management for you"
+HOMEPAGE="https://github.com/anholt/libepoxy"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+ SRC_URI="https://github.com/anholt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test +X"
+
+DEPEND="${PYTHON_DEPS}
+ media-libs/mesa[egl,${MULTILIB_USEDEP}]
+ X? ( x11-libs/libX11[${MULTILIB_USEDEP}] )
+ >=dev-util/meson-0.44.0"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/musl_no_dlsym.patch )
+
+src_unpack() {
+ default
+ [[ $PV = 9999* ]] && git-r3_src_unpack
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Degl=yes
+ -Dglx=$(usex X)
+ -Dx11=$(usex X true false)
+ )
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+}
+
+multilib_src_test() {
+ meson_src_test
+}
+
+multilib_src_install() {
+ meson_src_install
+}
diff --git a/media-libs/libepoxy/metadata.xml b/media-libs/libepoxy/metadata.xml
new file mode 100644
index 00000000..1065cad0
--- /dev/null
+++ b/media-libs/libepoxy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">anholt/libepoxy</remote-id>
+ </upstream>
+</pkgmetadata>