File android-file-transfer.spec of Package android-file-transfer

%define realname android-file-transfer-linux
%define srcext   tar.bz2

%define so_ver   4

# turn off the generation of debuginfo rpm  (RH9) ??
%global debug_package %{nil}

%if 0%{?suse_version} < 1500
%define cxx11abi -D_GLIBCXX_USE_CXX11_ABI=0
%endif

# Common info
Name:          android-file-transfer
Version:       0
Release:       %{?extraver:0.}1%{?dist}
License:       GPL-3.0
Group:         Hardware/Mobile
URL:           http://whoozle.github.io/android-file-transfer-linux/
Summary:       Reliable MTP client with minimalistic UI

# Build-time parameters
BuildRequires: cmake >= 3.9.0 pkg-config gcc-c++
BuildRequires: readline-devel
BuildRequires: pkgconfig(fuse)
BuildRequires: pkgconfig(taglib)
BuildRequires: file-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5Network)
%if 0%{?suse_version}
BuildRequires: libqt5-linguist-devel
BuildRequires: update-desktop-files
%else
BuildRequires: qt5-linguist
%endif
BuildRoot:     %{_tmppath}/%{name}-root
Source:        %{realname}-%{version}%{?extraver}.%{srcext}

%description
Android File Transfer for Linux — reliable MTP client with minimalistic UI
similar to Android File Transfer for Mac.

# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{version}%{?extraver}

%build
_CFLAGS='%{optflags} %{?gcc_lto}'
_CXXFLAGS='%{optflags} %{?gcc_lto} %{?cxx11abi}'
_LDFLAGS='-Wl,--as-needed -Wl,--strip-all %{?gcc_lto}'
%{__mkdir} build
cd build
cmake .. \
 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
 -DCMAKE_BUILD_TYPE=Release \
 -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
 -DCMAKE_C_FLAGS_RELEASE="$_CXXFLAGS" \
 -DCMAKE_EXE_LINKER_FLAGS_RELEASE="$_LDFLAGS" \
 -DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$_LDFLAGS" \
 -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$_LDFLAGS" \
 -DCMAKE_VERBOSE_MAKEFILE=YES \
 \
%if 0%{__isa_bits} == 64
 -DLIB_SUFFIX=64 \
%endif
 -DBUILD_SHARED_LIB=YES
%{__make} %{?_smp_mflags}

%install
%{__make} -C build install DESTDIR=%{buildroot}
%if "%{expand:%_vendor}" == "suse"
%suse_update_desktop_file -r -G "MTP File Transfer" android-file-transfer Utility FileManager Qt
%endif

%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}

%files
%defattr(-,root,root)
%license LICENSE
%doc FAQ.md README.md
%{_bindir}/*
%{_libdir}/libmtp-ng.so.%{so_ver}*
%exclude %{_libdir}/libmtp-ng.so
%{_datadir}/applications/android-file-transfer.desktop
%dir %{_datadir}/icons/hicolor/512x512/apps
%dir %{_datadir}/icons/hicolor/512x512
%dir %{_datadir}/icons/hicolor
%{_datadir}/icons/hicolor/512x512/apps/android-file-transfer.png
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/android-file-transfer.appdata.xml

%post   -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%changelog
openSUSE Build Service is sponsored by