Move libffi to pkgconfig Requires.private

Currently most of the apps that link with libgirepository are also
linked with libffi, without actually using any symbols from there.
Moving libffi to Requires.private avoids needlessly linking with libffi
and should reduce the impact when the libffi soname bump lands in
rawhide.

Backported from upstream commit a847eb8.
This commit is contained in:
Kalev Lember 2012-04-27 19:49:22 +03:00
parent a01db43dca
commit 289e364569
2 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,34 @@
diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in
index 32e7877..9613fec 100644
--- a/gobject-introspection-1.0.pc.in
+++ b/gobject-introspection-1.0.pc.in
@@ -14,8 +14,10 @@ girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0
Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
-Requires: glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0 @FFI_PC_PACKAGES@
-Libs: -L${libdir} -lgirepository-1.0 @FFI_PC_LIBS@
+Requires: glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0
+Requires.private: @FFI_PC_PACKAGES@
+Libs: -L${libdir} -lgirepository-1.0
+Libs.private: @FFI_PC_LIBS@
Name: gobject-introspection
Description: GObject Introspection
diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in
index 110cb75..a6d6cc6 100644
--- a/gobject-introspection-no-export-1.0.pc.in
+++ b/gobject-introspection-no-export-1.0.pc.in
@@ -13,8 +13,10 @@ girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0
Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
-Requires: glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0 @FFI_PC_PACKAGES@
-Libs: -L${libdir} -lgirepository-1.0 @FFI_PC_LIBS@
+Requires: glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0
+Requires.private: @FFI_PC_PACKAGES@
+Libs: -L${libdir} -lgirepository-1.0
+Libs.private: @FFI_PC_LIBS@
Name: gobject-introspection
Description: GObject Introspection

View File

@ -3,7 +3,7 @@
Name: gobject-introspection
Version: 1.32.1
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Introspection system for GObject-based libraries
Group: Development/Libraries
@ -11,6 +11,9 @@ License: GPLv2+, LGPLv2+, MIT
URL: http://live.gnome.org/GObjectIntrospection
#VCS: git:git://git.gnome.org/gobject-introspection
Source0: http://download.gnome.org/sources/gobject-introspection/1.32/%{name}-%{version}.tar.xz
# Move libffi to pkgconfig Requires.private, in order to
# reduce the impact when libffi soname bump lands in rawhide.
Patch0: gi-pkgconfig-requires-private.patch
Obsoletes: gir-repository
@ -54,6 +57,7 @@ Libraries and headers for gobject-introspection
%prep
%setup -q
%patch0 -p1 -b .pc_requires_private
%build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
@ -94,6 +98,10 @@ find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';'
%{_datadir}/gtk-doc/html/gi/*
%changelog
* Fri Apr 27 2012 Kalev Lember <kalevlember@gmail.com> - 1.32.1-2
- Move libffi to pkgconfig Requires.private, in order to
reduce the impact when libffi soname bump lands in rawhide.
* Fri Apr 20 2012 Kalev Lember <kalevlember@gmail.com> - 1.32.1-1
- Update to 1.32.1