public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libmanette/files/, dev-libs/libmanette/
@ 2019-10-20 17:38 Mart Raudsepp
  0 siblings, 0 replies; only message in thread
From: Mart Raudsepp @ 2019-10-20 17:38 UTC (permalink / raw
  To: gentoo-commits

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 <leio@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>gnome@gentoo.org</email>
+	<name>Gentoo GNOME Desktop</name>
+</maintainer>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-10-20 17:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-20 17:38 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libmanette/files/, dev-libs/libmanette/ Mart Raudsepp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox