Initial build of the new parallel installable glibmm-2.68 ABI version

This commit is contained in:
Kalev Lember 2021-09-14 18:43:28 +02:00
parent 54dfbd71e0
commit 9f323d84ac
4 changed files with 182 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/glibmm-2.68.1.tar.xz

100
glibmm2.68.spec Normal file
View File

@ -0,0 +1,100 @@
%global apiver 2.68
# first two digits of version
%define release_version %(echo %{version} | awk -F. '{print $1"."$2}')
%global libsigc_version 3.0.0
%global glib2_version 2.63.0
Name: glibmm2.68
Version: 2.68.1
Release: %autorelease
Summary: C++ interface for the GLib library
License: LGPLv2+
URL: http://www.gtkmm.org/
Source0: http://ftp.gnome.org/pub/GNOME/sources/glibmm/%{release_version}/glibmm-%{version}.tar.xz
Patch0: glibmm24-gcc11.patch
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: libsigc++30-devel >= %{libsigc_version}
BuildRequires: libxslt
BuildRequires: m4
BuildRequires: meson
BuildRequires: mm-common
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl(Getopt::Long)
Requires: glib2%{?_isa} >= %{glib2_version}
Requires: libsigc++30%{?_isa} >= %{libsigc_version}
# Do not export private Perl modules
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((DocsParser|Enum|Function|FunctionBase|GtkDefs|Object|Output|Property|Util|WrapParser)\\)
%description
glibmm is the official C++ interface for the popular cross-platform
library GLib. It provides non-UI API that is not available in standard
C++ and makes it possible for gtkmm to wrap GObject-based APIs.
%package devel
Summary: Headers for developing programs that will use %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains the static libraries and header files needed for
developing glibmm applications.
%package doc
Summary: Documentation for %{name}, includes full API docs
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: libsigc++20-doc
%description doc
This package contains the full API documentation for %{name}.
%prep
%autosetup -p1 -n glibmm-%{version}
%build
%meson -Dbuild-documentation=true
%meson_build
%install
%meson_install
chmod +x $RPM_BUILD_ROOT%{_libdir}/glibmm-%{apiver}/proc/generate_wrap_init.pl
chmod +x $RPM_BUILD_ROOT%{_libdir}/glibmm-%{apiver}/proc/gmmproc
%files
%license COPYING
%doc AUTHORS NEWS README
%{_libdir}/libgiomm-%{apiver}.so.1*
%{_libdir}/libglibmm-%{apiver}.so.1*
%{_libdir}/libglibmm_generate_extra_defs-%{apiver}.so.1*
%files devel
%{_includedir}/glibmm-%{apiver}/
%{_includedir}/giomm-%{apiver}/
%{_libdir}/*.so
%{_libdir}/glibmm-%{apiver}/
%{_libdir}/giomm-%{apiver}/
%{_libdir}/pkgconfig/*.pc
%files doc
%doc %{_datadir}/devhelp/
%doc %{_docdir}/glibmm-%{apiver}/
%changelog
%autochangelog

80
glibmm24-gcc11.patch Normal file
View File

@ -0,0 +1,80 @@
diff --git a/untracked/gio/giomm/dbusconnection.cc b/untracked/gio/giomm/dbusconnection.cc
index 9ddeeb4..9701106 100644
--- a/untracked/gio/giomm/dbusconnection.cc
+++ b/untracked/gio/giomm/dbusconnection.cc
@@ -494,7 +494,7 @@ Connection::send_message_with_reply(const Glib::RefPtr<Message>& message, int ti
const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable)
{
auto slot_copy = new SlotAsyncReady(slot);
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
g_dbus_connection_send_message_with_reply(gobj(), Glib::unwrap(message),
static_cast<GDBusSendMessageFlags>(message->get_flags()), timeout_msec, &out_serial,
Glib::unwrap(cancellable), &SignalProxy_async_callback, slot_copy);
@@ -506,7 +506,7 @@ Connection::send_message_with_reply(
const Glib::RefPtr<Message>& message, int timeout_msec, const SlotAsyncReady& slot)
{
auto slot_copy = new SlotAsyncReady(slot);
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
g_dbus_connection_send_message_with_reply(gobj(), Glib::unwrap(message),
static_cast<GDBusSendMessageFlags>(message->get_flags()), timeout_msec, &out_serial, nullptr,
&SignalProxy_async_callback, slot_copy);
@@ -517,7 +517,7 @@ Glib::RefPtr<Message>
Connection::send_message_with_reply_sync(const Glib::RefPtr<Message>& message,
const Glib::RefPtr<Cancellable>& cancellable, gint timeout_msec)
{
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
GError* gerror = nullptr;
GDBusMessage* result = g_dbus_connection_send_message_with_reply_sync(gobj(),
@@ -533,7 +533,7 @@ Connection::send_message_with_reply_sync(const Glib::RefPtr<Message>& message,
Glib::RefPtr<Message>
Connection::send_message_with_reply_sync(const Glib::RefPtr<Message>& message, gint timeout_msec)
{
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
GError* gerror = nullptr;
GDBusMessage* result = g_dbus_connection_send_message_with_reply_sync(gobj(),
diff --git a/gio/src/dbusconnection.ccg b/gio/src/dbusconnection.ccg
index e28e7b4..3d9860a 100644
--- a/gio/src/dbusconnection.ccg
+++ b/gio/src/dbusconnection.ccg
@@ -477,7 +477,7 @@ Connection::send_message_with_reply(const Glib::RefPtr<Message>& message, int ti
const SlotAsyncReady& slot, const Glib::RefPtr<Cancellable>& cancellable)
{
auto slot_copy = new SlotAsyncReady(slot);
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
g_dbus_connection_send_message_with_reply(gobj(), Glib::unwrap(message),
static_cast<GDBusSendMessageFlags>(message->get_flags()), timeout_msec, &out_serial,
Glib::unwrap(cancellable), &SignalProxy_async_callback, slot_copy);
@@ -489,7 +489,7 @@ Connection::send_message_with_reply(
const Glib::RefPtr<Message>& message, int timeout_msec, const SlotAsyncReady& slot)
{
auto slot_copy = new SlotAsyncReady(slot);
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
g_dbus_connection_send_message_with_reply(gobj(), Glib::unwrap(message),
static_cast<GDBusSendMessageFlags>(message->get_flags()), timeout_msec, &out_serial, nullptr,
&SignalProxy_async_callback, slot_copy);
@@ -500,7 +500,7 @@ Glib::RefPtr<Message>
Connection::send_message_with_reply_sync(const Glib::RefPtr<Message>& message,
const Glib::RefPtr<Cancellable>& cancellable, gint timeout_msec)
{
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
GError* gerror = nullptr;
GDBusMessage* result = g_dbus_connection_send_message_with_reply_sync(gobj(),
@@ -516,7 +516,7 @@ Connection::send_message_with_reply_sync(const Glib::RefPtr<Message>& message,
Glib::RefPtr<Message>
Connection::send_message_with_reply_sync(const Glib::RefPtr<Message>& message, gint timeout_msec)
{
- volatile guint32 out_serial = 0;
+ guint32 out_serial = 0;
GError* gerror = nullptr;
GDBusMessage* result = g_dbus_connection_send_message_with_reply_sync(gobj(),

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (glibmm-2.68.1.tar.xz) = ca164f986da651e66bb5b98a760853e73d57ff84e035809d4c3b2c0a1b6ddf8ca68ffc49a71d0e0b2e14eca1c00e2e727e3bf3821e0b2b3a808397c3d33c6d5c