summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-07-28 02:08:09 +0100
committerSam James <sam@gentoo.org>2023-07-28 02:08:26 +0100
commit552c98e4e933c0d0d3c334e22059538eb3594111 (patch)
tree843ed6b8bf2f3b967357f1b36d13492b2f87a07b
parentdev-php/phpspec-prophecy: drop old versions (diff)
downloadgentoo-552c98e4e933c0d0d3c334e22059538eb3594111.tar.gz
gentoo-552c98e4e933c0d0d3c334e22059538eb3594111.tar.bz2
gentoo-552c98e4e933c0d0d3c334e22059538eb3594111.zip
media-plugins/gst-plugins-libnice: add 0.1.21
Thanks to Joseph McElroy for the assistance. Closes: https://bugs.gentoo.org/910434 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--media-plugins/gst-plugins-libnice/Manifest1
-rw-r--r--media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-no-install-version.patch84
-rw-r--r--media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-use-installed-libnice.patch46
-rw-r--r--media-plugins/gst-plugins-libnice/gst-plugins-libnice-0.1.21.ebuild43
4 files changed, 174 insertions, 0 deletions
diff --git a/media-plugins/gst-plugins-libnice/Manifest b/media-plugins/gst-plugins-libnice/Manifest
index 7bfe013e0ae3..c97d1852cce6 100644
--- a/media-plugins/gst-plugins-libnice/Manifest
+++ b/media-plugins/gst-plugins-libnice/Manifest
@@ -1 +1,2 @@
DIST libnice-0.1.19.tar.gz 453407 BLAKE2B 7bffde82a3e55d9aeeaadd159d944346a5192871e7f574e278dc43e8171e5fde472cd28186777a0b6cddd8bde34e035794b1c6b8f152c7fb4fae5202025bfdac SHA512 1c63cc0b7655186fd6f83da4dd607183d6ccfab9b7ad7189c1bea2ba7413183f24076aba5d6c7231d2ab3fbd471827256729a8a0c0d1bda48803586e68b3778b
+DIST libnice-0.1.21.tar.gz 460086 BLAKE2B 61f0807ad0d959ffbaf8dce7b0321a19ae42e4c57cc6ac9b8f39bd27645ef60bb342f4105b6ce4c4c82573592a52388888d72031033e9e7368f8b5d53afa37d6 SHA512 acbd1e0e8aacb0a65cad5b70b470a74a7c4a4f1306bc4e17cd4fd899f2fae2bb538bd099e6c0f9cba6bb9a38e95bc14087aa4f77f6aa5b70d6398179783c6e26
diff --git a/media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-no-install-version.patch b/media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-no-install-version.patch
new file mode 100644
index 000000000000..2602a31f97dd
--- /dev/null
+++ b/media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-no-install-version.patch
@@ -0,0 +1,84 @@
+https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/259
+
+From a34623e08e368d56fe6c7fcb7a1f87ea59ad5094 Mon Sep 17 00:00:00 2001
+From: Nirbheek Chauhan <nirbheek@centricular.com>
+Date: Wed, 31 May 2023 18:34:11 +0530
+Subject: [PATCH] meson: Generate nice-version.h in the right builddir
+
+We want it in the `nice/` subdir so that it gets picked up correctly
+during uninstalled builds, such as in the gstreamer monorepo.
+
+The `NICE_CHECK_VERSION` macro was non-functional in the monorepo
+because of this.
+---
+ gst/meson.build | 3 +--
+ meson.build | 9 ---------
+ nice/meson.build | 12 +++++++++++-
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/gst/meson.build b/gst/meson.build
+index 572c6abc..4ed4794f 100644
+--- a/gst/meson.build
++++ b/gst/meson.build
+@@ -12,8 +12,7 @@ libgstnice = library('gstnice',
+ gst_nice_sources,
+ c_args : gst_nice_args,
+ include_directories: nice_incs,
+- dependencies: [nice_deps, gst_dep],
+- link_with: libnice,
++ dependencies: [libnice_dep, gst_dep],
+ install_dir: gst_plugins_install_dir,
+ install: true)
+ plugins = [libgstnice]
+diff --git a/meson.build b/meson.build
+index 6a733b73..4faffb40 100644
+--- a/meson.build
++++ b/meson.build
+@@ -85,15 +85,6 @@ add_project_arguments('-D_GNU_SOURCE',
+ '-DNICE_VERSION_NANO=' + version_nano,
+ language: 'c')
+
+-version_conf = configuration_data()
+-version_conf.set('NICE_VERSION_MAJOR', version_major)
+-version_conf.set('NICE_VERSION_MINOR', version_minor)
+-version_conf.set('NICE_VERSION_MICRO', version_micro)
+-version_conf.set('NICE_VERSION_NANO', version_nano)
+-nice_version_h = configure_file(output: 'nice-version.h',
+- install_dir: get_option('includedir') / 'nice',
+- configuration: version_conf)
+-
+ cdata = configuration_data()
+
+ cdata.set_quoted('PACKAGE_STRING', meson.project_name())
+diff --git a/nice/meson.build b/nice/meson.build
+index 6916781d..4f826d81 100644
+--- a/nice/meson.build
++++ b/nice/meson.build
+@@ -1,4 +1,3 @@
+-nice_gen_sources = [nice_version_h]
+ nice_link_args = []
+
+ # libnice.def
+@@ -31,9 +30,20 @@ libnice = library('nice',
+ link_depends: mapfile,
+ install: true)
+
++version_conf = configuration_data()
++version_conf.set('NICE_VERSION_MAJOR', version_major)
++version_conf.set('NICE_VERSION_MINOR', version_minor)
++version_conf.set('NICE_VERSION_MICRO', version_micro)
++version_conf.set('NICE_VERSION_NANO', version_nano)
++nice_version_h = configure_file(output: 'nice-version.h',
++ install_dir: get_option('includedir') / 'nice',
++ configuration: version_conf)
++
+ install_headers('nice.h', subdir: 'nice')
+ nice_include = include_directories('.')
+
++nice_gen_sources = [nice_version_h]
++
+ # introspection
+ build_gir = gir.found() and not get_option('introspection').disabled()
+ if build_gir
+--
+GitLab
diff --git a/media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-use-installed-libnice.patch b/media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-use-installed-libnice.patch
new file mode 100644
index 000000000000..1f8adae219ec
--- /dev/null
+++ b/media-plugins/gst-plugins-libnice/files/gst-plugins-libnice-0.1.21-use-installed-libnice.patch
@@ -0,0 +1,46 @@
+Carve out everything but gstreamer plugin part, libnice-0.1.21
+
+Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+
+diff -udBbr libnice-0.1.21-original/meson.build libnice-0.1.21/meson.build
+--- libnice-0.1.21-original/meson.build 2020-10-21 04:03:07.272845300 +0300
++++ libnice-0.1.21/meson.build 2022-03-20 23:38:05.116302874 +0300
+@@ -263,9 +263,7 @@
+
+ libm = cc.find_library('m', required: false)
+
+-nice_incs = include_directories('.', 'agent', 'random', 'socket', 'stun')
+-
+-nice_deps = gio_deps + [gthread_dep, crypto_dep, gupnp_igd_dep] + syslibs
++nice_incs = include_directories('.')
+
+ ignored_iface_prefix = get_option('ignored-network-interface-prefix')
+ if ignored_iface_prefix != []
+@@ -278,11 +276,7 @@
+
+ gir = find_program('g-ir-scanner', required : get_option('introspection'))
+
+-subdir('agent')
+-subdir('stun')
+-subdir('socket')
+-subdir('random')
+-subdir('nice')
++libnice_dep = dependency('nice', version: nice_version, required: true)
+
+ if gst_dep.found()
+ subdir('gst')
+@@ -298,14 +292,6 @@
+ endif
+ endif
+
+-if not get_option('tests').disabled()
+- subdir('tests')
+-endif
+-
+-if not get_option('examples').disabled()
+- subdir('examples')
+-endif
+-
+ add_test_setup('valgrind',
+ exe_wrapper: ['valgrind',
+ '--leak-check=full',
diff --git a/media-plugins/gst-plugins-libnice/gst-plugins-libnice-0.1.21.ebuild b/media-plugins/gst-plugins-libnice/gst-plugins-libnice-0.1.21.ebuild
new file mode 100644
index 000000000000..42845cd1e6ed
--- /dev/null
+++ b/media-plugins/gst-plugins-libnice/gst-plugins-libnice-0.1.21.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit meson-multilib
+
+DESCRIPTION="GStreamer plugin for ICE (RFC 5245) support"
+HOMEPAGE="https://libnice.freedesktop.org/"
+MY_P=libnice-${PV}
+SRC_URI="https://nice.freedesktop.org/releases/${MY_P}.tar.gz"
+
+LICENSE="|| ( MPL-1.1 LGPL-2.1 )"
+SLOT="1.0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+RDEPEND="
+ ~net-libs/libnice-${PV}[${MULTILIB_USEDEP}]
+ media-libs/gstreamer:${SLOT}[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:${SLOT}[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/gst-plugins-libnice-0.1.21-no-install-version.patch
+ "${FILESDIR}"/gst-plugins-libnice-0.1.21-use-installed-libnice.patch
+)
+
+S=${WORKDIR}/${MY_P}
+
+multilib_src_configure() {
+ # gnutls vs openssl left intentionally automagic here - the chosen USE flag configuration of libnice will ensure
+ # one of them is present, configure will be happy, but gstreamer bits don't use it, so it doesn't matter.
+ # gupnp is not used in the gst plugin.
+ local emesonargs=(
+ -Dgstreamer=enabled
+ -Dcrypto-library=auto
+ -Dintrospection=disabled
+ -Dgupnp=disabled
+ )
+ meson_src_configure
+}