dev-libs/libevdev: Port to Meson
authorMatt Turner <mattst88@gentoo.org>
Wed, 4 Mar 2020 20:42:34 +0000 (12:42 -0800)
committerMatt Turner <mattst88@gentoo.org>
Wed, 4 Mar 2020 20:44:53 +0000 (12:44 -0800)
Signed-off-by: Matt Turner <mattst88@gentoo.org>
dev-libs/libevdev/libevdev-9999.ebuild

index ffddd6b0bd13c1342b453010f46a7fb4a2bfbed0..c975e202b80779c38da6991ca150d4d179763f94 100644 (file)
@@ -3,16 +3,16 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python{3_6,3_7} )
+PYTHON_COMPAT=( python3_{6,7,8} )
 
-inherit multilib-minimal python-any-r1
+inherit meson multilib-minimal python-any-r1
 
 DESCRIPTION="Handler library for evdev events"
 HOMEPAGE="https://www.freedesktop.org/wiki/Software/libevdev/ https://gitlab.freedesktop.org/libevdev/libevdev"
 
 if [[ ${PV} == 9999* ]] ; then
        EGIT_REPO_URI="https://gitlab.freedesktop.org/libevdev/libevdev.git"
-       inherit autotools git-r3
+       inherit git-r3
 else
        SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
        KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
@@ -20,28 +20,38 @@ fi
 
 LICENSE="MIT"
 SLOT="0"
-IUSE="doc static-libs"
+IUSE="doc test"
 
+DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
 BDEPEND="
        ${PYTHON_DEPS}
        doc? ( app-doc/doxygen )
-       virtual/pkgconfig
+       virtual/pkgconfig[${MULTILIB_USEDEP}]
 "
-RESTRICT="test" # Tests need to run as root.
+RESTRICT="!test? ( test )"
 
-src_prepare() {
-       default
-       [[ ${PV} == 9999* ]] && eautoreconf
+multilib_src_configure() {
+       local emesonargs=(
+               $(meson_feature doc documentation)
+               $(meson_feature test tests)
+       )
+       meson_src_configure
 }
 
-multilib_src_configure() {
-       ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+multilib_src_compile() {
+       meson_src_compile
+}
+
+multilib_src_test() {
+       meson_src_test
 }
 
 multilib_src_install() {
-       default
-       find "${D}" -name '*.la' -delete || die
-       if use doc ;then
+       meson_src_install
+}
+
+multilib_src_install_all() {
+       if use doc; then
                local HTML_DOCS=( doc/html/. )
                einstalldocs
        fi