Recipe for gstreamermm (#11197)

This commit is contained in:
Peppersawce
2024-10-28 09:53:58 +01:00
committed by GitHub
parent 673b5ed3c4
commit 8d263effd1
2 changed files with 113 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
SUMMARY="C++ bindings for GStreamer"
DESCRIPTION="GStreamerMM provides C++ bindings for the GStreamer streaming multimedia \
library. With gstreamermm it is possible to develop applications that work with multimedia in C++.
gstreamermm is developed over glibmm, libsigc++ and libxml++ and the functionalities they \
provide. This means that, among other things, referencing and unreferencing of GObjects is \
handled automatically via glibmm's automatic pointer class, Glib::RefPtr, and libsigc++'s \
slots are used for callbacks and signals."
HOMEPAGE="https://gitlab.gnome.org/GNOME/gstreamermm"
COPYRIGHT="2009-2017 GStreamerMM team"
LICENSE="GNU LGPL v2.1"
REVISION="1"
branch="`echo "$portVersion" | cut -b1-4`"
SOURCE_URI="https://download.gnome.org/sources/gstreamermm/$branch/gstreamermm-$portVersion.tar.xz"
CHECKSUM_SHA256="be58fe9ef7d7e392568ec85e80a84f4730adbf91fb0355ff7d7c616675ea8d60"
PATCHES="gstreamermm-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURE="x86"
libVersion="1.0.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
gstreamermm$secondaryArchSuffix = $portVersion
lib:libgstreamermm_1.0$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
gst_plugins_base$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libglibmm$secondaryArchSuffix
lib:libgstreamer_1.0$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libsigc_2.0$secondaryArchSuffix
"
PROVIDES_devel="
gstreamermm${secondaryArchSuffix}_devel = $portVersion
devel:libgstreamermm_1.0$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
gstreamermm$secondaryArchSuffix == $portVersion base
devel:libglib_2.0$secondaryArchSuffix
devel:libglibmm$secondaryArchSuffix
devel:libgstreamer_1.0$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
gst_plugins_base${secondaryArchSuffix}_devel
devel:libglib_2.0$secondaryArchSuffix
devel:libglibmm$secondaryArchSuffix
devel:libgstreamer_1.0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:orcc$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
export CXXFLAGS="-Wall -w"
runConfigure configure
make $jobArgs
}
INSTALL()
{
make install
mv $libDir/gstreamermm-1.0/include/gstreamermmconfig.h $includeDir/gstreamermm-1.0
rmdir $libDir/gstreamermm-1.0/include
rm -r $libDir/gstreamermm-1.0/gen
prepareInstalledDevelLib libgstreamermm-1.0
fixPkgconfig
sed -i 's|-I${libdir}/gstreamermm-1.0/include||g' $developDir/lib/pkgconfig/gstreamermm-1.0.pc
# devel package
packageEntries devel \
$dataDir \
$developDir
}

View File

@@ -0,0 +1,23 @@
From 4b796322af389985a1283ae5839303b9cd9f946e Mon Sep 17 00:00:00 2001
From: Peppersawce <michaelpeppers89@yahoo.it>
Date: Sun, 6 Oct 2024 21:55:51 +0200
Subject: Copied Gentoo fix from
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=139cd7a38152835009c149085aad04e53ddc4e1c
diff --git a/gstreamer/gstreamermm/register.h b/gstreamer/gstreamermm/register.h
index db66d17..a7ab3a6 100644
--- a/gstreamer/gstreamermm/register.h
+++ b/gstreamer/gstreamermm/register.h
@@ -110,7 +110,7 @@ register_mm_type(const gchar * type_name)
/* The typedef for GType may be gulong or gsize, depending on the
* system and whether the compiler is c++ or not. The g_once_init_*
* functions always take a gsize * though ... */
- static volatile gsize gonce_data = 0;
+ static gsize gonce_data = 0;
if (g_once_init_enter (&gonce_data)) {
GTypeInfo info;
--
2.45.2