commit:     1c30991e131bd6e3bf14580698cc931b94e996da
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 20 12:12:09 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Oct 20 17:38:06 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c30991e

dev-libs/libmanette: New package - a game controller library

Package-Manager: Portage-2.3.69, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 dev-libs/libmanette/Manifest                       |   1 +
 .../files/0.2.3-optional-introspection-vapi.patch  | 114 +++++++++++++++++++++
 dev-libs/libmanette/libmanette-0.2.3.ebuild        |  44 ++++++++
 dev-libs/libmanette/metadata.xml                   |   8 ++
 4 files changed, 167 insertions(+)

diff --git a/dev-libs/libmanette/Manifest b/dev-libs/libmanette/Manifest
new file mode 100644
index 00000000000..09715d3fa9c
--- /dev/null
+++ b/dev-libs/libmanette/Manifest
@@ -0,0 +1 @@
+DIST libmanette-0.2.3.tar.xz 33620 BLAKE2B 
ec811e0a939713e99eb931a2aa0c1b67a2de1fad4c4e399e47975b795da7672ab56a217cda94f4642f749aed1ff4379c67b58da349f8ac8434c95a80c7909980
 SHA512 
23d3feae3b0ba81deb75b0ff911eb37f3d0d767a0ae65815d34cadf69f78ca7f081177a2161105ea3979ba9222b3641e6b776bf4fcf3e46a9de716bdce475df6

diff --git a/dev-libs/libmanette/files/0.2.3-optional-introspection-vapi.patch 
b/dev-libs/libmanette/files/0.2.3-optional-introspection-vapi.patch
new file mode 100644
index 00000000000..15558b47be3
--- /dev/null
+++ b/dev-libs/libmanette/files/0.2.3-optional-introspection-vapi.patch
@@ -0,0 +1,114 @@
+From b561bd29d8797ae2e72d45df8fc122164fc88b6c Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <l...@gentoo.org>
+Date: Sun, 20 Oct 2019 14:57:43 +0300
+Subject: [PATCH] build: Support disabling introspection and vapi generation
+
+---
+ meson_options.txt | 14 +++++++++++
+ src/meson.build   | 64 ++++++++++++++++++++++++++---------------------
+ 2 files changed, 49 insertions(+), 29 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index a7ce738..c794d4b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -4,3 +4,17 @@ option (
+   description: 'Find devices via udev',
+   value: 'auto'
+ )
++
++option (
++  'introspection',
++  type: 'boolean',
++  description: 'Generate introspection data (requires gobject-introspection)',
++  value: true
++)
++
++option (
++  'vapi',
++  type: 'boolean',
++  description: 'Generate vapi data (requires vapigen and introspection 
option)',
++  value: true
++)
+diff --git a/src/meson.build b/src/meson.build
+index 7ac916b..50cad92 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -90,39 +90,45 @@ if gudev.found()
+   libmanette_gir_includes += [ 'GUdev-1.0' ]
+ endif
+ 
+-libmanette_gir = gnome.generate_gir(
+-  libmanette_lib,
+-  extra_args: libmanette_gir_args,
+-  export_packages: libmanette_module,
+-  sources: libmanette_headers + libmanette_sources,
+-  nsversion: api_version,
+-  namespace: 'Manette',
+-  identifier_prefix: 'Manette',
+-  includes: libmanette_gir_includes,
+-  header: libmanette_main_header,
+-  install: true,
+-  symbol_prefix: 'manette',
+-)
+-
+-libmanette_vapi_packages = [
+-  'gobject-2.0',
+-  'gio-2.0',
+-]
+-
+-if gudev.found()
+-  libmanette_vapi_packages += [ 'gudev-1.0' ]
++built_girs = []
++if get_option('introspection')
++  libmanette_gir = gnome.generate_gir(
++    libmanette_lib,
++    extra_args: libmanette_gir_args,
++    export_packages: libmanette_module,
++    sources: libmanette_headers + libmanette_sources,
++    nsversion: api_version,
++    namespace: 'Manette',
++    identifier_prefix: 'Manette',
++    includes: libmanette_gir_includes,
++    header: libmanette_main_header,
++    install: true,
++    symbol_prefix: 'manette',
++  )
++  built_girs += [ libmanette_gir ]
++
++  if get_option('vapi')
++    libmanette_vapi_packages = [
++      'gobject-2.0',
++      'gio-2.0',
++    ]
++
++    if gudev.found()
++      libmanette_vapi_packages += [ 'gudev-1.0' ]
++    endif
++
++    gnome.generate_vapi(
++      libmanette_module,
++      install: true,
++      packages: libmanette_vapi_packages,
++      sources: libmanette_gir[0],
++    )
++  endif
+ endif
+ 
+-gnome.generate_vapi(
+-  libmanette_module,
+-  install: true,
+-  packages: libmanette_vapi_packages,
+-  sources: libmanette_gir[0],
+-)
+-
+ libmanette_dep = declare_dependency(
+   link_with: libmanette_lib,
+-  sources: libmanette_gir,
++  sources: built_girs,
+   include_directories: confinc,
+   dependencies: libmanette_deps,
+ )
+-- 
+2.20.1
+

diff --git a/dev-libs/libmanette/libmanette-0.2.3.ebuild 
b/dev-libs/libmanette/libmanette-0.2.3.ebuild
new file mode 100644
index 00000000000..d7f54324a44
--- /dev/null
+++ b/dev-libs/libmanette/libmanette-0.2.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org gnome2-utils meson vala xdg
+
+DESCRIPTION="Simple GObject game controller library"
+HOMEPAGE="https://gitlab.gnome.org/aplazas/libmanette";
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+introspection +udev +vala"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+       >=dev-libs/glib-2.50:2
+       udev? ( dev-libs/libgudev )
+       dev-libs/libevdev
+       introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+"
+DEPEND="${DEPEND}
+       vala? ( $(vala_depend) )
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       # https://gitlab.gnome.org/aplazas/libmanette/merge_requests/18
+       "${FILESDIR}"/${PV}-optional-introspection-vapi.patch
+)
+
+src_prepare() {
+       xdg_src_prepare
+       use vala && vala_src_prepare
+}
+
+src_configure() {
+       local emesonargs=(
+               $(meson_feature udev gudev)
+               $(meson_use introspection)
+               $(meson_use vala vapi)
+       )
+       meson_src_configure
+}

diff --git a/dev-libs/libmanette/metadata.xml b/dev-libs/libmanette/metadata.xml
new file mode 100644
index 00000000000..39980802b1d
--- /dev/null
+++ b/dev-libs/libmanette/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer type="project">
+       <email>gn...@gentoo.org</email>
+       <name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>

Reply via email to