[OE-core] [PATCH] libepoxy: improve musl patch

Ross Burton ross.burton at intel.com
Thu Mar 1 22:35:09 UTC 2018


dlvsym() is used by the libepoxy test suite, but this is glibc-specific and
isn't present in musl.

Instead of adding an option to control whether dlvsym is available (which could
be detected by Meson), as we don't install the test suite simply add an option
to disable the entire test suite (and submit the patch upstream).

Also remove the build dependency on util-macros as that is a remnant of the
autotools build.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 ...sible-to-disable-the-use-of-dlvsym-needed.patch | 58 ----------------------
 .../libepoxy/libepoxy/no-tests.patch               | 33 ++++++++++++
 meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb   |  6 +--
 3 files changed, 35 insertions(+), 62 deletions(-)
 delete mode 100644 meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
 create mode 100644 meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch

diff --git a/meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch b/meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
deleted file mode 100644
index bd49e36314f..00000000000
--- a/meta/recipes-graphics/libepoxy/libepoxy/0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 9c964427656ef71210e2c5b48b279857806574e9 Mon Sep 17 00:00:00 2001
-From: Francesco Giancane <francescogiancane8 at gmail.com>
-Date: Wed, 28 Feb 2018 21:32:24 +0100
-Subject: [PATCH] Make it possible to disable the use of dlvsym() (needed for
- musl)
-
-Add a patch to work around absence of dlvsym() on musl
-(wasn't previously a problem as autotools weren't building tests by default)
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alexander.kanavin at linux.intel.com>
-Signed-off-by: Francesco Giancane <francescogiancane8 at gmail.com>
----
- meson_options.txt | 3 +++
- test/meson.build  | 6 +++---
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/meson_options.txt b/meson_options.txt
-index b5d7c98..aa849c2 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,6 +1,9 @@
- option('docs',
-        type: 'boolean', value: false,
-        description: 'Enable generating the Epoxy API reference (depends on Doxygen)')
-+option('has-dlvsym',
-+       type: 'boolean', value: true,
-+       description: 'Whether dlvsym() is available (it is not when using musl C library)')
- option('glx',
-        type: 'combo',
-        choices: [ 'auto', 'yes', 'no' ],
-diff --git a/test/meson.build b/test/meson.build
-index c5788b4..4c46ae6 100644
---- a/test/meson.build
-+++ b/test/meson.build
-@@ -92,8 +92,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 get_option('has-dlvsym') == true ],
-+    [ 'glx_gles2', [ 'glx_gles2.c', 'dlwrap.c', 'dlwrap.h' ], [], [ '-rdynamic' ], not build_apple and get_option('has-dlvsym') == true ],
-   ]
- 
-   foreach test: glx_tests
-@@ -114,7 +114,7 @@ if build_glx
-     endif
-   endforeach
- 
--  if not build_apple
-+  if not build_apple and get_option('has-dlvsym') == true
-     # GLX/EGL tests
-     if build_egl
-       glx_egl_sources = [
--- 
-2.14.3
-
diff --git a/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch b/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch
new file mode 100644
index 00000000000..d2b6c1a254c
--- /dev/null
+++ b/meta/recipes-graphics/libepoxy/libepoxy/no-tests.patch
@@ -0,0 +1,33 @@
+Add option to disable tests.
+
+Upstream-Status: Submitted (https://github.com/anholt/libepoxy/pull/158)
+Signed-off-by: Ross Burton <ross.burton at intel.com>
+
+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')
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb
index dfdd19248d7..5ca0868c22f 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.0.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
 
 SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
-           file://0001-Make-it-possible-to-disable-the-use-of-dlvsym-needed.patch \
+           file://no-tests.patch \
            "
 SRC_URI[md5sum] = "63fe3847789258254dcd7e3fdb9e7f5e"
 SRC_URI[sha256sum] = "4c94995398a6ebf691600dda2e9685a0cac261414175c2adf4645cdfab42a5d5"
@@ -16,10 +16,8 @@ inherit meson pkgconfig distro_features_check
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
-DEPENDS = "util-macros"
-
 PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
 PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
 
-EXTRA_OEMESON_append_libc-musl = " -Dhas-dlvsym=false "
+EXTRA_OEMESON += "-Dtests=false"
-- 
2.11.0




More information about the Openembedded-core mailing list