[packages/libfm] - updated to 1.2.5 - split -gtk* and -extra* (libfm-extra is required to build menu-cache now; added

qboosh qboosh at pld-linux.org
Thu Nov 23 15:53:59 CET 2017


commit 8f36639fcfa61d3a80a180d41e96bdccbaa57a4b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Nov 23 15:54:55 2017 +0100

    - updated to 1.2.5
    - split -gtk* and -extra* (libfm-extra is required to build menu-cache now; added bootstrap bcond which allows to break BR loop)
    - removed obsolete mate-desktop patch
    - added doc patch (fixes gtk-doc build)

 libfm-doc.patch    |  11 +++
 libfm.spec         | 282 +++++++++++++++++++++++++++++++++++++++++++++--------
 mate-desktop.patch |   8 --
 3 files changed, 255 insertions(+), 46 deletions(-)
---
diff --git a/libfm.spec b/libfm.spec
index a5f532d..fb22b22 100644
--- a/libfm.spec
+++ b/libfm.spec
@@ -1,28 +1,35 @@
 #
 # Conditional build:
 %bcond_without	apidocs		# disable gtk-doc
+%bcond_with	gtk3		# use GTK+ 3.x instead of 2.x
+%bcond_with	extra_only	# build only libfm-extra
+%bcond_with	bootstrap	# synonym for extra_only (to break libfm<>menu-cache loop)
 
+%if %{with bootstrap}
+%define	with_extra_only	1
+%endif
 Summary:	Helper library for pcmanfm
 Summary(pl.UTF-8):	Biblioteka pomocnicza do pcmanfm
 Name:		libfm
-Version:	1.2.1
-Release:	4
+Version:	1.2.5
+Release:	1
 License:	GPL v2+
 Group:		Libraries
 Source0:	http://downloads.sourceforge.net/pcmanfm/%{name}-%{version}.tar.xz
-# Source0-md5:	9b4790594c2c80f440ce3238c5774d23
-Patch1:		mate-desktop.patch
+# Source0-md5:	a1ba9ae5e920f38b647dd511edd6c807
+Patch0:		%{name}-doc.patch
 URL:		http://pcmanfm.sourceforge.net/
 BuildRequires:	cairo-devel >= 1.8.0
 BuildRequires:	dbus-glib-devel
 BuildRequires:	gettext-tools
 BuildRequires:	glib2-devel >= 1:2.27.0
-BuildRequires:	gtk+2-devel >= 2.18.0
-%{?with_apidocs:BuildRequires:	gtk-doc}
+%{!?with_gtk3:BuildRequires:	gtk+2-devel >= 2:2.18.0}
+%{?with_gtk3:BuildRequires:	gtk+3-devel >= 3.0}
+%{?with_apidocs:BuildRequires:	gtk-doc >= 1.14}
 BuildRequires:	intltool >= 0.40.0
 BuildRequires:	libexif-devel
-BuildRequires:	menu-cache-devel
-BuildRequires:	pango-devel >= 1.16.0
+%{!?with_extra_only:BuildRequires:	menu-cache-devel >= 0.3.2}
+BuildRequires:	pango-devel >= 1:1.16.0
 BuildRequires:	pkgconfig
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	vala >= 0.13.0
@@ -30,10 +37,9 @@ BuildRequires:	xz
 Obsoletes:	lxshortcut
 Requires(post,postun):	/sbin/ldconfig
 Requires(post,postun):	shared-mime-info
+Requires:	%{name}-extra = %{version}-%{release}
 Requires:	glib2 >= 1:2.27.0
-# in case someone want to split this package into smaller ones
-Provides:	libfm-gtk
-Provides:	lxshortcut
+%{!?with_extra_only:Requires:	menu-cache >= 0.3.2}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -46,8 +52,9 @@ Biblioteka pomocnicza dla pcmanfm
 Summary:	Header files and libraries for libfm development
 Summary(pl.UTF-8):	Pliki nagłówkowe i dokumentacja do libfm
 Group:		Development/Libraries
-Requires:	%{name} = %{epoch}:%{version}-%{release}
-Provides:	libfm-gtk-devel
+Requires:	%{name} = %{version}-%{release}
+Requires:	%{name}-extra-devel = %{version}-%{release}
+Requires:	glib2-devel >= 1:2.27.0
 
 %description devel
 This package contains the header files needed to develop programs that
@@ -61,7 +68,7 @@ korzystającego z libfm.
 Summary:	Static library for libfm development
 Summary(pl.UTF-8):	Biblioteka statyczna do libfm
 Group:		Development/Libraries
-Requires:	%{name}-devel = %{epoch}:%{version}-%{release}
+Requires:	%{name}-devel = %{version}-%{release}
 
 %description static
 This package contains the header files and libraries needed to develop
@@ -71,6 +78,48 @@ programs that use these libfm.
 Pakiet zawiera pliki nagłówkowe potrzebne do rozwoju oprogramowania
 korzystającego z libfm.
 
+%package gtk
+Summary:	libfm-gtk library
+Summary(pl.UTF-8):	Biblioteka libfm-gtk
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+%{!?with_gtk3:Requires:	gtk+2 >= 2:2.18.0}
+# in case someone want to split this package into smaller ones
+Provides:	lxshortcut
+
+%description gtk
+libfm-gtk library.
+
+%description gtk -l pl.UTF-8
+Biblioteka libfm-gtk.
+
+%package gtk-devel
+Summary:	Header files for libfm-gtk library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki libfm-gtk
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-gtk = %{version}-%{release}
+%{!?with_gtk3:Requires:	gtk+2-devel >= 2:2.18.0}
+%{?with_gtk3:Requires:	gtk+3-devel >= 3.0}
+
+%description gtk-devel
+Header files for libfm-gtk library.
+
+%description gtk-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libfm-gtk.
+
+%package gtk-static
+Summary:	Static libfm-gtk library
+Summary(pl.UTF-8):	Statyczna biblioteka libfm-gtk
+Group:		Development/Libraries
+Requires:	%{name}-gtk-devel = %{version}-%{release}
+
+%description gtk-static
+Static libfm-gtk library.
+
+%description gtk-static -l pl.UTF-8
+Statyczna biblioteka libfm-gtk.
+
 %package apidocs
 Summary:	LIBFM API documentation
 Summary(pl.UTF-8):	Dokumentacja API LIBFM
@@ -86,18 +135,58 @@ LIBFM API documentation.
 %description apidocs -l pl.UTF-8
 Dokumentacja API LIBFM.
 
+%package extra
+Summary:	libfm-extra library
+Summary(pl.UTF-8):	Biblioteka libfm-extra
+Group:		Libraries
+Requires:	glib2 >= 1:2.27.0
+
+%description extra
+libfm-extra library.
+
+%description extra -l pl.UTF-8
+Biblioteka libfm-extra.
+
+%package extra-devel
+Summary:	Header files for libfm-extra library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki libfm-extra
+Group:		Development/Libraries
+Requires:	%{name}-extra = %{version}-%{release}
+Requires:	glib2-devel >= 1:2.27.0
+
+%description extra-devel
+Header files for libfm-extra library.
+
+%description extra-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libfm-extra.
+
+%package extra-static
+Summary:	Static libfm-extra library
+Summary(pl.UTF-8):	Statyczna biblioteka libfm-extra
+Group:		Development/Libraries
+Requires:	%{name}-extra-devel = %{version}-%{release}
+
+%description extra-static
+Static libfm-extra library.
+
+%description extra-static -l pl.UTF-8
+Statyczna biblioteka libfm-extra.
+
 %prep
 %setup -q
-%patch1 -p1
+%patch0 -p1
 
 %build
 %configure \
 	--disable-silent-rules \
-	--enable-gtk-doc=%{!?with_apidocs:no}%{?with_apidocs:yes} \
-	%{?with_apidocs:--with-html-dir=%{_gtkdocdir}} \
 	--enable-exif \
+	--enable-gtk-doc%{!?with_apidocs:=no} \
 	--enable-udisks \
-	--with-gtk=2
+	%{?with_extra_only:--with-extra-only} \
+	--with-gtk=%{?with_gtk3:3}%{!?with_gtk3:2} \
+	%{?with_apidocs:--with-html-dir=%{_gtkdocdir}}
+
+%{?with_apidocs:export LC_ALL=C.UTF-8}
 %{__make}
 
 %install
@@ -107,12 +196,15 @@ rm -rf $RPM_BUILD_ROOT
 	DESTDIR=$RPM_BUILD_ROOT
 
 # pkg-config present, so drop .la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libfm.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libfm-gtk.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libfm*.la
 
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/tt_RU
+%if %{without extra_only}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{tt_RU,tt}
+# copy of ur (both empty anyway)
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ur_PK
 
 %find_lang %{name}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -125,49 +217,163 @@ rm -rf $RPM_BUILD_ROOT
 /sbin/ldconfig
 %update_mime_database
 
+%post	gtk -p /sbin/ldconfig
+%postun	gtk -p /sbin/ldconfig
+
+%post	extra -p /sbin/ldconfig
+%postun	extra -p /sbin/ldconfig
+
+%if %{without extra_only}
 %files -f %{name}.lang
 %defattr(644,root,root,755)
 %doc AUTHORS TODO
-%attr(755,root,root) %{_bindir}/lxshortcut
 %dir /etc/xdg/libfm
 %config(noreplace) %verify(not md5 mtime size) /etc/xdg/libfm/libfm.conf
 %attr(755,root,root) %{_libdir}/libfm.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libfm.so.4
-%attr(755,root,root) %{_libdir}/libfm-extra.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfm-extra.so.4
+%dir %{_libdir}/libfm
+%dir %{_libdir}/libfm/modules
+%attr(755,root,root) %{_libdir}/libfm/modules/vfs-*.so
 %{_datadir}/libfm
 %{_datadir}/mime/packages/libfm.xml
-%attr(755,root,root) %{_libdir}/libfm
 
-# -gtk
-#%config(noreplace) %verify(not md5 mtime size) /etc/xdg/libfm/pref-apps.conf
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libfm.so
+%{_includedir}/libfm-1.0/fm.h
+%{_includedir}/libfm-1.0/fm-actions.h
+%{_includedir}/libfm-1.0/fm-app-info.h
+%{_includedir}/libfm-1.0/fm-archiver.h
+%{_includedir}/libfm-1.0/fm-bookmarks.h
+%{_includedir}/libfm-1.0/fm-config.h
+%{_includedir}/libfm-1.0/fm-deep-count-job.h
+%{_includedir}/libfm-1.0/fm-dir-list-job.h
+%{_includedir}/libfm-1.0/fm-dummy-monitor.h
+%{_includedir}/libfm-1.0/fm-file.h
+%{_includedir}/libfm-1.0/fm-file-info-job.h
+%{_includedir}/libfm-1.0/fm-file-info.h
+%{_includedir}/libfm-1.0/fm-file-launcher.h
+%{_includedir}/libfm-1.0/fm-file-ops-job-change-attr.h
+%{_includedir}/libfm-1.0/fm-file-ops-job-delete.h
+%{_includedir}/libfm-1.0/fm-file-ops-job-xfer.h
+%{_includedir}/libfm-1.0/fm-file-ops-job.h
+%{_includedir}/libfm-1.0/fm-folder.h
+%{_includedir}/libfm-1.0/fm-folder-config.h
+%{_includedir}/libfm-1.0/fm-icon.h
+%{_includedir}/libfm-1.0/fm-job.h
+%{_includedir}/libfm-1.0/fm-list.h
+%{_includedir}/libfm-1.0/fm-marshal.h
+%{_includedir}/libfm-1.0/fm-mime-type.h
+%{_includedir}/libfm-1.0/fm-module.h
+%{_includedir}/libfm-1.0/fm-monitor.h
+%{_includedir}/libfm-1.0/fm-nav-history.h
+%{_includedir}/libfm-1.0/fm-path.h
+%{_includedir}/libfm-1.0/fm-seal.h
+%{_includedir}/libfm-1.0/fm-simple-job.h
+%{_includedir}/libfm-1.0/fm-sortable.h
+%{_includedir}/libfm-1.0/fm-templates.h
+%{_includedir}/libfm-1.0/fm-terminal.h
+%{_includedir}/libfm-1.0/fm-thumbnail-loader.h
+%{_includedir}/libfm-1.0/fm-thumbnailer.h
+%{_includedir}/libfm-1.0/fm-utils.h
+%{_pkgconfigdir}/libfm.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libfm.a
+
+%files gtk
+%defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/libfm-pref-apps
+%attr(755,root,root) %{_bindir}/lxshortcut
+%if %{with gtk3}
+%attr(755,root,root) %{_libdir}/libfm-gtk3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfm-gtk3.so.4
+%else
 %attr(755,root,root) %{_libdir}/libfm-gtk.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libfm-gtk.so.4
+%endif
+%attr(755,root,root) %{_libdir}/libfm/modules/gtk-*.so
+#%config(noreplace) %verify(not md5 mtime size) /etc/xdg/libfm/pref-apps.conf
 %{_desktopdir}/libfm-pref-apps.desktop
 %{_desktopdir}/lxshortcut.desktop
 %{_mandir}/man1/libfm-pref-apps.1*
 %{_mandir}/man1/lxshortcut.1*
 
-%files devel
+%files gtk-devel
 %defattr(644,root,root,755)
-%{_includedir}/libfm
-%{_libdir}/libfm-extra.so
-%{_libdir}/libfm-gtk.so
-%{_libdir}/libfm.so
+%if %{with gtk3}
+%attr(755,root,root) %{_libdir}/libfm-gtk3.so
+%else
+%attr(755,root,root) %{_libdir}/libfm-gtk.so
+%endif
+%{_includedir}/libfm-1.0/fm-app-chooser-combo-box.h
+%{_includedir}/libfm-1.0/fm-app-chooser-dlg.h
+%{_includedir}/libfm-1.0/fm-app-menu-view.h
+%{_includedir}/libfm-1.0/fm-cell-renderer-pixbuf.h
+%{_includedir}/libfm-1.0/fm-cell-renderer-text.h
+%{_includedir}/libfm-1.0/fm-clipboard.h
+%{_includedir}/libfm-1.0/fm-dir-tree-model.h
+%{_includedir}/libfm-1.0/fm-dir-tree-view.h
+%{_includedir}/libfm-1.0/fm-dnd-auto-scroll.h
+%{_includedir}/libfm-1.0/fm-dnd-dest.h
+%{_includedir}/libfm-1.0/fm-dnd-src.h
+%{_includedir}/libfm-1.0/fm-file-menu.h
+%{_includedir}/libfm-1.0/fm-file-properties.h
+%{_includedir}/libfm-1.0/fm-folder-model.h
+%{_includedir}/libfm-1.0/fm-folder-view.h
+%{_includedir}/libfm-1.0/fm-gtk.h
+%{_includedir}/libfm-1.0/fm-gtk-file-launcher.h
+%{_includedir}/libfm-1.0/fm-gtk-marshal.h
+%{_includedir}/libfm-1.0/fm-gtk-utils.h
+%{_includedir}/libfm-1.0/fm-icon-pixbuf.h
+%{_includedir}/libfm-1.0/fm-menu-tool-item.h
+%{_includedir}/libfm-1.0/fm-path-bar.h
+%{_includedir}/libfm-1.0/fm-path-entry.h
+%{_includedir}/libfm-1.0/fm-places-model.h
+%{_includedir}/libfm-1.0/fm-places-view.h
+%{_includedir}/libfm-1.0/fm-progress-dlg.h
+%{_includedir}/libfm-1.0/fm-side-pane.h
+%{_includedir}/libfm-1.0/fm-standard-view.h
+%{_includedir}/libfm-1.0/fm-tab-label.h
+%{_includedir}/libfm-1.0/fm-thumbnail.h
+%if %{with gtk3}
+%{_pkgconfigdir}/libfm-gtk3.pc
+%else
 %{_pkgconfigdir}/libfm-gtk.pc
-#%%{_pkgconfigdir}/libfm-gtk3.pc
-%{_pkgconfigdir}/libfm.pc
-%{_includedir}/libfm-1.0
+%endif
 
-%files static
+%files gtk-static
 %defattr(644,root,root,755)
-%{_libdir}/libfm-extra.a
+%if %{with gtk3}
+%{_libdir}/libfm-gtk3.a
+%else
 %{_libdir}/libfm-gtk.a
-%{_libdir}/libfm.a
+%endif
 
 %if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
 %{_gtkdocdir}/libfm
 %endif
+%endif
+
+%files extra
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libfm-extra.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfm-extra.so.4
+
+%files extra-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libfm-extra.so
+%dir %{_includedir}/libfm-1.0
+%{_includedir}/libfm-1.0/fm-extra.h
+%{_includedir}/libfm-1.0/fm-version.h
+%{_includedir}/libfm-1.0/fm-xml-file.h
+# symlink
+%{_includedir}/libfm
+%{_pkgconfigdir}/libfm-extra.pc
+
+%files extra-static
+%defattr(644,root,root,755)
+%{_libdir}/libfm-extra.a
diff --git a/libfm-doc.patch b/libfm-doc.patch
new file mode 100644
index 0000000..f0cdf1d
--- /dev/null
+++ b/libfm-doc.patch
@@ -0,0 +1,11 @@
+--- libfm-1.2.5/src/base/fm-module.c.orig	2016-12-02 23:01:54.000000000 +0100
++++ libfm-1.2.5/src/base/fm-module.c	2017-11-21 20:43:28.578710947 +0100
+@@ -45,7 +45,7 @@
+  * <example id="example-fm-dummy-h">
+  * <title>Sample of fm-dummy.h</title>
+  * <programlisting>
+- * #include <libfm/fm.h>
++ * #include <libfm/fm.h>
+  *
+  * #define FM_MODULE_dummy_VERSION 1
+  *
diff --git a/mate-desktop.patch b/mate-desktop.patch
deleted file mode 100644
index 64c4efa..0000000
--- a/mate-desktop.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- libfm-0.1.17/data/libfm-pref-apps.desktop~	2011-10-24 23:28:07.000000000 +0300
-+++ libfm-0.1.17/data/libfm-pref-apps.desktop	2013-01-17 15:40:30.467915039 +0200
-@@ -46,4 +46,4 @@
- Exec=libfm-pref-apps
- StartupNotify=true
- Categories=Settings;DesktopSettings;X-LXDE-Settings;GTK;
--NotShowIn=GNOME;XFCE;KDE;
-+NotShowIn=GNOME;MATE;XFCE;KDE;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libfm.git/commitdiff/8f36639fcfa61d3a80a180d41e96bdccbaa57a4b



More information about the pld-cvs-commit mailing list