SHA256
1
0
forked from pool/farstream

Accepting request 782595 from GNOME:Factory

- Switch to git-checkout via source services, commit 092d884d.
- Following the above: Drop autoconf, automake and
  pkgconfig(pygobject-2.0) BuildRequires. Add gtk-doc and libtool.
  Pass autogen.sh inst of autoreconf, and add --enable-gtk-doc and
  --enable-introspection to configure. Modernize spec.
- Drop farstream-0.2.8-rtpbitrateadapter-no-adaptation.patch: Fixed
  upstream.
- Add farstream-fix-build-gst116.patch: Fix build with gstreamer
  1.16.x  (glfdo#farstream/farstream!3).
- Add farstream-add-check-for-glib-mkenums.patch: Fix autoconf
  build failure for glib-mkenums (glfdo#farstream/farstream!2).
- Add farstream-fix-make43.patch: autotools: Fix build with
  make-4.3 (glfdo#farstream/farstream#17).
- Disable LTO via define, as it currently fails when set to auto.

OBS-URL: https://build.opensuse.org/request/show/782595
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/farstream?expand=0&rev=19
This commit is contained in:
Dominique Leuenberger 2020-03-11 17:32:56 +00:00 committed by Git OBS Bridge
commit 03f6f9233e
10 changed files with 191 additions and 80 deletions

16
_service Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/farstream/farstream.git</param>
<param name="revision">092d884d</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled" />
</services>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1c286655b0d74475daf9f6b338086e82a41c659ef5c0263dc9e6edac1cd64c1
size 2553356

View File

@ -1,56 +0,0 @@
From 11dde55cbaf5179e8e1885cf1483e538a8d5a4a9 Mon Sep 17 00:00:00 2001
From: Jakub Adam <jakub.adam@ktknet.cz>
Date: Thu, 14 Apr 2016 15:17:50 +0200
Subject: [PATCH] rtpbitrateadapter: should make no adaption by default
Description of "bitrate" property says 0 (the default value) means
the element performs no adaption, and so one would assume it would
remain passive until "bitrate" is set to some nonzero value. However,
when "bitrate" is left unset, the adapter instead requests video in tiny
128x96 resolution on its sink pad.
In order for fs_rtp_bitrate_adapter_getcaps() to return peer_caps by
default, the value of FsRtpBitrateAdapter::bitrate has to be initialized
to G_MAXUINT.
Also fix the comments to say that MAXUINT is no adaptation.
https://bugs.freedesktop.org/show_bug.cgi?id=99183
---
gst/fsrtpconference/fs-rtp-bitrate-adapter.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gst/fsrtpconference/fs-rtp-bitrate-adapter.c b/gst/fsrtpconference/fs-rtp-bitrate-adapter.c
index e8684fd5..99ea03a0 100644
--- a/gst/fsrtpconference/fs-rtp-bitrate-adapter.c
+++ b/gst/fsrtpconference/fs-rtp-bitrate-adapter.c
@@ -55,6 +55,7 @@ enum
};
#define PROP_INTERVAL_DEFAULT (10 * GST_SECOND)
+#define PROP_BITRATE_DEFAULT (G_MAXUINT)
static void fs_rtp_bitrate_adapter_finalize (GObject *object);
static void fs_rtp_bitrate_adapter_set_property (GObject *object,
@@ -105,8 +106,8 @@ fs_rtp_bitrate_adapter_class_init (FsRtpBitrateAdapterClass *klass)
PROP_BITRATE,
g_param_spec_uint ("bitrate",
"Bitrate to adapt for",
- "The bitrate to adapt for (0 means no adaption)",
- 0, G_MAXUINT, 0,
+ "The bitrate to adapt for (MAXUINT means no adaption)",
+ 0, G_MAXUINT, PROP_BITRATE_DEFAULT,
G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class,
@@ -161,6 +162,7 @@ fs_rtp_bitrate_adapter_init (FsRtpBitrateAdapter *self)
self->system_clock = gst_system_clock_obtain ();
self->interval = PROP_INTERVAL_DEFAULT;
+ self->bitrate = PROP_BITRATE_DEFAULT;
self->last_bitrate = G_MAXUINT;
}
--
2.18.1

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b3b9c6b4f64ace8c83e03d1da5c5a2884c1cae10b35471072b574201ab38908
size 1315548

View File

@ -0,0 +1,33 @@
From 573e29a3f6b379c1bd1dba8c73c65a5f885176a0 Mon Sep 17 00:00:00 2001
From: Stefan Becker <chemobejk@gmail.com>
Date: Thu, 4 Jul 2019 10:54:03 +0300
Subject: [PATCH] configure: add check for glib-mkenums
This fixes build failure for latest source with autoconf. Add the check
glib-mkenums and definition of GLIB_MKENUMS to configure.ac
Fixes #16
---
configure.ac | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/configure.ac b/configure.ac
index 31be2770..431aa2da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,6 +264,12 @@ FS_PREFIX="`$PKG_CONFIG --variable=prefix farstream-$FS_APIVERSION`"
AC_SUBST(GLIB_PREFIX)
AC_SUBST(FS_PREFIX)
+dnl Check for glib-2.0 tools
+AC_MSG_CHECKING([for glib-mkenums])
+GLIB_MKENUMS="`$PKG_CONFIG --variable=glib_mkenums glib-2.0`"
+AC_SUBST(GLIB_MKENUMS)
+AC_MSG_RESULT($GLIB_MKENUMS)
+
dnl *** set variables based on configure arguments ***
dnl set license and copyright notice
--
2.24.1

View File

@ -0,0 +1,29 @@
From 59b20c54317b4b934ef193863602e4965bb6e343 Mon Sep 17 00:00:00 2001
From: Jakub Adam <jakub.adam@collabora.com>
Date: Wed, 15 Jan 2020 15:01:51 +0100
Subject: [PATCH] Fix build with GStreamer 1.16
gst_clear_mini_object() macro introduced in GStreamer 1.16 references
g_clear_pointer() defined in GLib 2.34. Bump GLIB_VERSION_MAX_ALLOWED
accordingly to avoid FTBFS when compiling with -Werror.
---
configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 31be2770..9bf5646f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,7 +242,8 @@ dnl *** checks for dependency libraries ***
dnl GLib is required
AG_GST_GLIB_CHECK([2.32])
AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_32, [Ignore post 2.32 deprecations])
-AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_32, [Prevent post 2.32 APIs])
+dnl 2.34 APIs needed due to g_clear_pointer referenced in GStreamer headers since 1.16
+AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_34, [Prevent post 2.34 APIs])
PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0 >= 2.32, [HAVE_GIO_UNIX=true],[HAVE_GIO_UNIX=false])
--
2.24.1

View File

@ -0,0 +1,60 @@
From aa9603c6ca6055499fa5b3dcd8eb9c6cb060c86e Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Wed, 22 Jan 2020 12:42:57 +0100
Subject: [PATCH] autotools: Fix build with make-4.3
make-4.3 introduced an incompatible change where \# is no longer necessary
inside of macro references in order to get a literal hash character.
The provided fix keeps compatibility with both make-4.3 and older make
releases
Gentoo-bug: https://bugs.gentoo.org/706080
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
common-modified/gst-glib-gen.mak | 4 +++-
farstream/Makefile.am | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/common-modified/gst-glib-gen.mak b/common-modified/gst-glib-gen.mak
index 14f1ba37..69ef0273 100644
--- a/common-modified/gst-glib-gen.mak
+++ b/common-modified/gst-glib-gen.mak
@@ -1,12 +1,14 @@
# these are the variables your Makefile.am should set
# the example is based on the colorbalance interface
+H := \#
+
#glib_enum_headers=$(colorbalance_headers)
#glib_enum_define=GST_COLOR_BALANCE
#glib_gen_prefix=gst_color_balance
#glib_gen_basename=colorbalance
-enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
+enum_headers=$(foreach h,$(glib_enum_headers),\n$(H)include \"$(h)\")
# these are all the rules generating the relevant files
$(glib_gen_basename)-enumtypes.h: $(glib_enum_headers)
diff --git a/farstream/Makefile.am b/farstream/Makefile.am
index e6b509c1..ddf03a0b 100644
--- a/farstream/Makefile.am
+++ b/farstream/Makefile.am
@@ -69,11 +69,13 @@ public_headers = fs-candidate.h \
fs-conference.h \
fs-utils.h
+H := \#
+
glib_enum_headers=$(public_headers)
glib_enum_define=FS
glib_gen_prefix=_fs
glib_gen_basename=fs
-glib_gen_decl_include=\#include <glib-object.h>
+glib_gen_decl_include=$(H)include <glib-object.h>
include $(top_srcdir)/common-modified/gst-glib-gen.mak
--
2.25.0

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Wed Mar 4 13:50:58 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Switch to git-checkout via source services, commit 092d884d.
- Following the above: Drop autoconf, automake and
pkgconfig(pygobject-2.0) BuildRequires. Add gtk-doc and libtool.
Pass autogen.sh inst of autoreconf, and add --enable-gtk-doc and
--enable-introspection to configure. Modernize spec.
- Drop farstream-0.2.8-rtpbitrateadapter-no-adaptation.patch: Fixed
upstream.
- Add farstream-fix-build-gst116.patch: Fix build with gstreamer
1.16.x (glfdo#farstream/farstream!3).
- Add farstream-add-check-for-glib-mkenums.patch: Fix autoconf
build failure for glib-mkenums (glfdo#farstream/farstream!2).
- Add farstream-fix-make43.patch: autotools: Fix build with
make-4.3 (glfdo#farstream/farstream#17).
- Disable LTO via define, as it currently fails when set to auto.
-------------------------------------------------------------------
Fri Dec 7 16:51:41 UTC 2018 - fcrozat@suse.com

5
farstream.obsinfo Normal file
View File

@ -0,0 +1,5 @@
name: farstream
version: 0.2.8+30
mtime: 1541113066
commit: 092d884da4c91967692dcaddaf583413a39d59d4

View File

@ -1,7 +1,7 @@
#
# spec file for package farstream
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define gst_pluginsdir %(pkg-config --variable pluginsdir gstreamer-1.0)
Name: farstream
Version: 0.2.8
Version: 0.2.8+30
Release: 0
# License note: the only GPL-2.0+ files are farstream-0.1.1/common/coverage/*
# and common/gstdoc-scangobj; those are just used during the build and do not
@ -27,25 +27,30 @@ Summary: GStreamer modules and libraries for videoconferencing
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Multimedia/Other
URL: http://farsight.freedesktop.org/
Source: http://freedesktop.org/software/farstream/releases/farstream/%{name}-%{version}.tar.gz
Source: %{name}-%{version}.tar.xz
Source1: baselibs.conf
# PATCH-FEATURE-OPENSUSE farstream-plugin-path.patch fcrozat@suse.com -- Use library policy compliant path for plugin
Patch0: farstream-plugin-path.patch
# PATCH-FIX-UPSTREAM
Patch1: farstream-0.2.8-rtpbitrateadapter-no-adaptation.patch
#needed by patch0
BuildRequires: autoconf
BuildRequires: automake
# PATCH-FIX-UPSTREAM farstream-fix-build-gst116.patch -- Fix build with gstreamer 1.16.x
Patch1: farstream-fix-build-gst116.patch
# PATCH-FIX-UPSTREAM farstream-add-check-for-glib-mkenums.patch -- Fix autoconf build failure for glib-mkenums
Patch2: farstream-add-check-for-glib-mkenums.patch
# PATCH-FIX-UPSTREAM farstream-fix-make43.patch -- Fix build with make-4.3
Patch3: farstream-fix-make43.patch
BuildRequires: fdupes
BuildRequires: glib2-devel >= 2.32
BuildRequires: gobject-introspection-devel >= 0.10.1
BuildRequires: gstreamer-devel >= 1.4
BuildRequires: gtk-doc
#needed by patch0
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.16
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) >= 1.4
BuildRequires: pkgconfig(gupnp-igd-1.0) >= 0.2
BuildRequires: pkgconfig(nice) >= 0.1.8
BuildRequires: pkgconfig(pygobject-2.0) >= 2.16.0
%description
Farstream is a collection of GStreamer modules and libraries for
@ -79,8 +84,8 @@ This package provides the GObject Introspection bindings for Farstream.
Summary: GStreamer Plug-Ins for videoconferencing
License: LGPL-2.1-or-later
Group: Productivity/Multimedia/Other
Requires: gstreamer-plugins-bad >= 0.11
Requires: gstreamer-plugins-good >= 0.11
Requires: gstreamer-plugins-bad >= 1.4
Requires: gstreamer-plugins-good >= 1.4
# Unfortunately, the gstreamer elements have the same name; since we're
# dropping farsight, let's Obsolete the old package for a smooth transition
Obsoletes: libgstfarsight-0_10-0
@ -114,17 +119,19 @@ Farstream is a collection of GStreamer modules and libraries for
videoconferencing.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%autosetup -p1
%build
#needed by patch0
autoreconf -f
%define _lto_cflags %{nil}
# Needed as we are using a git checkout and patching it.
NOCONFIGURE=1 ./autogen.sh
%configure \
--disable-static
make %{?_smp_mflags}
--disable-static \
--enable-gtk-doc \
--enable-introspection \
%{nil}
%make_build
%install
%make_install
@ -136,7 +143,7 @@ find %{buildroot} -type f -name "*.la" -delete -print
%files -n libfarstream-0_2-5
%license COPYING
%doc AUTHORS ChangeLog NEWS README
%doc AUTHORS NEWS README
%{_libdir}/libfarstream-0.2.so.*
%dir %{_libdir}/farstream-0.2-5/
%{_libdir}/farstream-0.2-5/libmulticast-transmitter.so
@ -148,7 +155,6 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_libdir}/girepository-1.0/Farstream-0.2.typelib
%files -n gstreamer-plugins-farstream
%{gst_pluginsdir}/libfsmsnconference.so
%{gst_pluginsdir}/libfsrawconference.so
%{gst_pluginsdir}/libfsrtpconference.so
%{gst_pluginsdir}/libfsrtpxdata.so