[packages/android-file-transfer] add fuse,qt,shared bconds; -libs, -static subpackages

glen glen at pld-linux.org
Thu Jul 19 20:46:12 CEST 2018


commit 8b71ca8dc0b1d166bff15d80a89a3170131c826a
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Thu Jul 19 21:39:39 2018 +0300

    add fuse,qt,shared bconds; -libs, -static subpackages

 android-file-transfer.spec | 61 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 55 insertions(+), 6 deletions(-)
---
diff --git a/android-file-transfer.spec b/android-file-transfer.spec
index e108f94..ad64aaf 100644
--- a/android-file-transfer.spec
+++ b/android-file-transfer.spec
@@ -1,6 +1,18 @@
 # TODO
-# - BUILD_QT_UI off bcond
-# - subpackages
+# - shared lib is not versioned
+# - can't build shared and static in same build. drop shared bcond
+#
+# Conditional build:
+%bcond_without	fuse		# Build fuse mount helper
+%bcond_without	qt			# Build reference Qt application
+%bcond_without	shared		# Build shared library
+%bcond_with	static_libs	# don't build static libraries
+
+# build doesn't support both
+%if %{with shared}
+%undefine static_libs
+%endif
+
 Summary:	Android File Transfer for Linux
 Name:		android-file-transfer
 Version:	3.4
@@ -12,8 +24,9 @@ Source0:	https://github.com/whoozle/android-file-transfer-linux/archive/v%{versi
 URL:		https://whoozle.github.io/android-file-transfer-linux/
 BuildRequires:	Qt5Widgets-devel
 BuildRequires:	build-essential
-BuildRequires:	cmake
-BuildRequires:	libfuse-devel
+BuildRequires:	cmake >= 2.8
+%{?with_fuse:BuildRequires:	libfuse-devel}
+BuildRequires:	libmagic-devel
 BuildRequires:	libstdc++-devel
 BuildRequires:	ninja
 BuildRequires:	pkgconfig
@@ -21,6 +34,9 @@ BuildRequires:	qt5-build
 BuildRequires:	qt5-qmake
 BuildRequires:	readline-devel
 BuildRequires:	rpmbuild(macros) >= 1.727
+%if %{with shared}
+Requires:	%{name}-libs = %{version}-%{release}
+%endif
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -40,13 +56,35 @@ Features:
 - Available as static/shared library.
 - Command line tool (aft-mtp-cli)
 
+%package libs
+Summary:	Shared %{name} library
+Group:		Libraries
+
+%description libs
+Shared %{name} library.
+
+%package static
+Summary:	Static %{name} library
+Summary(pl.UTF-8):	Statyczna biblioteka %{name}
+Group:		Development/Libraries
+
+%description static
+Static %{name} library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka %{name}.
+
 %prep
 %setup -q -n %{name}-linux-%{version}
 
 %build
 install -d build
 cd build
-%cmake -G Ninja ..
+%cmake -G Ninja \
+	-DBUILD_FUSE=%{!?with_fuse:OFF}%{?with_fuse:ON} \
+	-DBUILD_QT_UI=%{!?with_qt:OFF}%{?with_qt:ON} \
+	-DBUILD_SHARED_LIB=%{!?with_shared:OFF}%{?with_shared:ON} \
+	..
 %ninja_build
 
 %install
@@ -61,7 +99,18 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/aft-mtp-cli
 %attr(755,root,root) %{_bindir}/aft-mtp-mount
 %attr(755,root,root) %{_bindir}/android-file-transfer
-%{_libdir}/libmtp-ng-static.a
 %{_desktopdir}/android-file-transfer.desktop
 %{_iconsdir}/hicolor/512x512/apps/android-file-transfer.png
 %{_datadir}/metainfo/android-file-transfer.appdata.xml
+
+%if %{with shared}
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmtp-ng.so
+%endif
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libmtp-ng-static.a
+%endif
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/android-file-transfer.git/commitdiff/d8b9bd558603ab734e869be08d9902b459cbd98e



More information about the pld-cvs-commit mailing list