summaryrefslogtreecommitdiff
path: root/media-libs/waffle
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/waffle')
-rw-r--r--media-libs/waffle/Manifest4
-rw-r--r--media-libs/waffle/files/waffle-1.6.0-meson-Generate-cmake-config-and-version-files-if-mes.patch87
-rw-r--r--media-libs/waffle/waffle-1.6.0-r1.ebuild77
-rw-r--r--media-libs/waffle/waffle-9999.ebuild4
4 files changed, 171 insertions, 1 deletions
diff --git a/media-libs/waffle/Manifest b/media-libs/waffle/Manifest
index 445efa9bd829..9c3252f21850 100644
--- a/media-libs/waffle/Manifest
+++ b/media-libs/waffle/Manifest
@@ -1,4 +1,6 @@
+AUX waffle-1.6.0-meson-Generate-cmake-config-and-version-files-if-mes.patch 3008 BLAKE2B a81a85ffc11351034454b9f903827a012b0168ed113211e8a1cbab890edebff1baabd1b38a4721f1d4f92d5fb07a17c07e1806139b911be6a35be8ec27333c3e SHA512 ae9f1a6450da0f9a6332762740daf1bcba5740daab4c4fcc952fcebffe36a2d134a72a1a73f58d440a7e520d1065dd6a50ffad3910afb1c74890e7fa692d6d2e
DIST waffle-1.6.0.tar.xz 224400 BLAKE2B 458add99b346bd75dc757243b9e7db6ac269fb2c1e488333d921c640e10efd182e51e8a5e0312d334593033936adf047fc2339d21e675654d89d66edfb8922b3 SHA512 c8796ab8adf968df2c5c88e2941c83955fe41e87eb2b75b6a5cc61b0d0c06eaa44df2f255f573a51816036dc8bc3ec63f3fb51ccfb7efbfe83cdd50b3f1be13f
+EBUILD waffle-1.6.0-r1.ebuild 1796 BLAKE2B 3d6601f814a0c71838a2733769800b6ebfe490896f4c5331364890dea90451200c8b952699015128e54595c6c1703dcca5cda97d0fd38a066dbf486d8eb2ccd5 SHA512 370c761329baef7d8d8f40717debcec65f354aedf61706e69d0597918a4793e18a884008fb6fc1bfa91186715c519f4acc0de4c53e679f4f3c2cd2425c56f5ce
EBUILD waffle-1.6.0.ebuild 1644 BLAKE2B df24a6ba36c9cde52116a594f6eda58dde0b04dd7e631ce9b289047fe1ec0e8ee5e25be3386006b8fc6add1bc46fa7eaf0d9d84fab7dee2ed774cf89e0b86b6d SHA512 b85123a6a8cc4fdeb19ccc96b783c4f4828b4f51ccc02177f06db67b1489168c5d2bf19f1dd7816e82ac917a2e3a8dae0a6565a491dd177b43ccb6adce16ff28
-EBUILD waffle-9999.ebuild 1647 BLAKE2B bd565769059852f4a15c9f3362177c6307d8231a45abac074bfbbd2a2909c4a24db5935691303bfe32edd2d556391ebcae913ad19fe29fbb184067a54a1868ae SHA512 45fc09985650274ab570a65c5a221760435ce1007ad911fced36f3cd13aba650c7c9fef2525606e57ce275af9aeb0744a0a349fcde77c536e1c34f419e197a64
+EBUILD waffle-9999.ebuild 1704 BLAKE2B 3228a268c601d962eefcf2763e058faba1941e5892884d0add3c3eac68931671a30c3ad4d002e114d28b2377cdc4ffba05fd7c6d6c41a14335e10981ca66bdaf SHA512 b772a268634d57a47a6859bfb2603df98a09dfe883e41b02d3946968a0fc623d95741188135b7965c047c2448b32ea3ee7fad8cb4e6c61b522ad69e44533ad9f
MISC metadata.xml 416 BLAKE2B 961afc9a4ed531bd3816c8e7b1c37a9f6be25b912d94b6f79811da67cecd8476964934b9ff943fc98be6177feee1c2eacd3295777a1d873ec1cf3cd58cf20e82 SHA512 850db93f3892afdb36d471b55e911c9cdfc114bcd69b4ce9e59246eb688b145ab5916d9529ded4b913f0cfb6da5fd2d64b7854c9501abec9fd9d860e1953100d
diff --git a/media-libs/waffle/files/waffle-1.6.0-meson-Generate-cmake-config-and-version-files-if-mes.patch b/media-libs/waffle/files/waffle-1.6.0-meson-Generate-cmake-config-and-version-files-if-mes.patch
new file mode 100644
index 000000000000..ef31275de08e
--- /dev/null
+++ b/media-libs/waffle/files/waffle-1.6.0-meson-Generate-cmake-config-and-version-files-if-mes.patch
@@ -0,0 +1,87 @@
+From b71cfa674db5828a2be04a42ce9996d6677629ee Mon Sep 17 00:00:00 2001
+From: Dylan Baker <dylan@pnwbakers.com>
+Date: Fri, 7 Jun 2019 15:36:09 -0700
+Subject: [PATCH] meson: Generate cmake config and version files if meson is
+ new enough
+
+Meson 0.50.0 added a module similar to the pkg-config module for
+generating cmake config files. Since the CMake build system provides
+these the meson build system should as well.
+
+v2: - Bump version to 0.50 instead of incorrect 0.49
+v3: - remove TODO comment that this fixes
+ - Add a definition of set_and_check for meson-generated Config
+ files.
+
+Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
+---
+ cmake/Modules/WaffleConfig.cmake.in | 10 ++++++++++
+ meson.build | 2 --
+ src/waffle/meson.build | 20 ++++++++++++++++++++
+ 3 files changed, 30 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/Modules/WaffleConfig.cmake.in b/cmake/Modules/WaffleConfig.cmake.in
+index b60b470..4e19755 100644
+--- a/cmake/Modules/WaffleConfig.cmake.in
++++ b/cmake/Modules/WaffleConfig.cmake.in
+@@ -7,6 +7,16 @@
+
+ @PACKAGE_INIT@
+
++# This should only be used for meson
++if (NOT DEFINED set_and_check)
++ macro(set_and_check _var _file)
++ set(${_var} "${_file}")
++ if(NOT EXISTS "${_file}")
++ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
++ endif()
++ endmacro()
++endif()
++
+ set_and_check(Waffle_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/@waffle_libname@")
+ set_and_check(Waffle_LIBRARY_DIRS "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
+ set(Waffle_LIBRARIES "@waffle_libname@")
+diff --git a/meson.build b/meson.build
+index 29fda22..22b7f59 100644
+--- a/meson.build
++++ b/meson.build
+@@ -231,5 +231,3 @@ endif
+ if get_option('build-examples')
+ subdir('examples')
+ endif
+-
+-# TODO: CMake config file
+diff --git a/src/waffle/meson.build b/src/waffle/meson.build
+index 322df40..cd68ddf 100644
+--- a/src/waffle/meson.build
++++ b/src/waffle/meson.build
+@@ -211,6 +211,26 @@ pkg.generate(
+ description : 'A library for selecting an OpenGL API and windows system at runtime.',
+ )
+
++if meson.version().version_compare('>= 0.50')
++ cmake = import('cmake')
++ cmake.write_basic_package_version_file(
++ name : 'Waffle',
++ version : meson.project_version(),
++ compatibility : 'SameMajorVersion',
++ )
++
++ cmake_conf = configuration_data()
++ cmake_conf.set('waffle_libname', waffle_name)
++ cmake_conf.set('PACKAGE_CMAKE_INSTALL_INCLUDEDIR', join_paths('${PACKAGE_PREFIX_DIR}', get_option('includedir')))
++ cmake_conf.set('PACKAGE_CMAKE_INSTALL_LIBDIR', join_paths('${PACKAGE_PREFIX_DIR}', get_option('libdir')))
++
++ cmake.configure_package_config_file(
++ name : 'Waffle',
++ input : '../../cmake/Modules/WaffleConfig.cmake.in',
++ configuration : cmake_conf,
++ )
++endif
++
+ if get_option('build-tests')
+ if get_option('default_library') == 'shared'
+ # The unit tests need to poke at internals of the library, but with a
+--
+2.24.1
+
diff --git a/media-libs/waffle/waffle-1.6.0-r1.ebuild b/media-libs/waffle/waffle-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..2f9c6de8b559
--- /dev/null
+++ b/media-libs/waffle/waffle-1.6.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/${PN}"
+ GIT_ECLASS="git-r3"
+else
+ SRC_URI="http://www.waffle-gl.org/files/release/${P}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+inherit meson multilib-minimal ${GIT_ECLASS}
+
+DESCRIPTION="Library that allows selection of GL API and of window system at runtime"
+HOMEPAGE="http://www.waffle-gl.org/ https://gitlab.freedesktop.org/mesa/waffle"
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="doc egl gbm test wayland X"
+RESTRICT="test" # gl_basic tests don't work when run from portage
+
+RDEPEND="
+ >=media-libs/mesa-9.1.6[egl?,gbm?,${MULTILIB_USEDEP}]
+ >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.9.1[${MULTILIB_USEDEP}]
+ gbm? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )
+ wayland? ( >=dev-libs/wayland-1.0.6[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ >=x11-base/xcb-proto-1.8-r3[${MULTILIB_USEDEP}]
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xml-dtd:4.2
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-meson-Generate-cmake-config-and-version-files-if-mes.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/wflinfo$(get_exeext)
+)
+
+src_unpack() {
+ default
+ [[ $PV = 9999* ]] && git-r3_src_unpack
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_feature X glx)
+ $(meson_feature wayland)
+ $(meson_feature X x11_egl)
+ $(meson_feature gbm)
+ $(meson_feature egl surfaceless_egl)
+ $(meson_use test build-tests)
+ $(meson_use doc build-manpages)
+ )
+ meson_src_configure
+}
+
+multilib_src_compile() {
+ meson_src_compile
+}
+
+multilib_src_test() {
+ meson_src_test
+}
+
+multilib_src_install() {
+ meson_src_install
+
+ rm -rf "${D}"/usr/share/doc/waffle1
+}
diff --git a/media-libs/waffle/waffle-9999.ebuild b/media-libs/waffle/waffle-9999.ebuild
index 56a48b843787..f088ab0aa6d5 100644
--- a/media-libs/waffle/waffle-9999.ebuild
+++ b/media-libs/waffle/waffle-9999.ebuild
@@ -36,6 +36,10 @@ DEPEND="${RDEPEND}
)
"
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/wflinfo$(get_exeext)
+)
+
src_unpack() {
default
[[ $PV = 9999* ]] && git-r3_src_unpack