File libqt5-qtlocation.spec of Package libqt5-qtlocation

#
# spec file for package libqt5-qtlocation
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define qt5_snapshot 0

%define libname libQt5Positioning5

Name:           libqt5-qtlocation
Version:        5.9.4
Release:        0
Summary:        Qt 5 Location Library
License:        SUSE-LGPL-2.1-with-digia-exception-1.1 or GPL-3.0
Group:          Development/Libraries/X11
Url:            https://www.qt.io
%define base_name libqt5
%define real_version 5.9.4
%define so_version 5.9.4
%define tar_version qtlocation-opensource-src-%{real_version}
Source:         https://download.qt.io/official_releases/qt/5.9/%{real_version}/submodules/%{tar_version}.tar.xz
Source1:        baselibs.conf
BuildRequires:  fdupes
BuildRequires:  libqt5-qtbase-private-headers-devel >= %{version}
BuildRequires:  libqt5-qtdeclarative-private-headers-devel >= %{version}
BuildRequires:  libicu-devel
BuildRequires:  xz
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gypsy)
BuildRequires:  pkgconfig(libcrypto)
BuildRequires:  pkgconfig(libssl)
%if %qt5_snapshot
#to create the forwarding headers
BuildRequires:  perl
%endif
# needed for free, used to tune build parallelism
BuildRequires:  procps
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
The Qt Location API facilitates creating mapping solutions using
the data available from some contemporary location services.

%prep
%setup -q -n qtlocation-opensource-src-%{real_version}

%package -n %libname
Summary:        Qt 5 Positioning Library
Group:          Development/Libraries/X11

%description -n %libname
The Qt Positioning API gives developers the ability to determine a
position by using a variety of possible sources, including satellite,
WiFi, text file, and so on. That information can then be used to, for
example, determine a position on a map. In addition, satellite
information can be retrieved and area-based monitoring be performed.

%package -n libQt5Location5
Summary:        Qt 5 Location Library
Group:          Development/Libraries/X11

%description -n libQt5Location5
The Qt Location API facilitates creating mapping solutions using
the data available from some contemporary location services.
Using Qt Location, one can

 * access and present map data,
 * support touch gesture on a specific area of the map,
 * query for a specific geographical location and route,
 * add additional layers on top, such as polylines and circles,
 * and search for places and related images.

%package devel
Summary:        Development files for the Qt5 Location Library
Group:          Development/Libraries/X11
Requires:       %libname = %{version}
Requires:       libQt5Location5 = %{version}
Suggests:       pkgconfig(gconf-2.0)
Suggests:       pkgconfig(geoclue)
Suggests:       pkgconfig(gypsy)

%description devel
The Qt Location API facilitates creating mapping solutions using
the data available from some contemporary location services.

This subpackage contains the header files for developing
applications that want to make use of the Qt Location libraries.

%package private-headers-devel
Summary:        Non-ABI stable experimental API for the Qt5 Location Library
Group:          Development/Libraries/C and C++
BuildArch:      noarch
Requires:       %{name}-devel = %{version}
Requires:       libqt5-qtbase-private-headers-devel >= %{version}
Requires:       libqt5-qtdeclarative-private-headers-devel

%description private-headers-devel
This package provides private headers of libqt5-qtlocation that are normally
not used by application development and that do not have any ABI or
API guarantees. The packages that build against these have to require
the exact Qt version.

%package examples
Summary:        Qt5 location examples
Group:          Documentation/Other
Recommends:     %{name}-devel

%description examples
Examples for libqt5-qtlocation module.

%post -n %libname -p /sbin/ldconfig

%postun -n %libname -p /sbin/ldconfig

%post -n libQt5Location5 -p /sbin/ldconfig

%postun -n libQt5Location5 -p /sbin/ldconfig

%build
%if %qt5_snapshot
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
mkdir .git
%endif
%qmake5

# do not eat all memory (logic from chromium specfile)
jobs="%{?jobs:%{jobs}}"
echo "Available memory:"
free
echo "System limits:"
ulimit -a
if test -n "$jobs" -a "$jobs" -gt 1 ; then
    mem_per_process=900
    max_mem=`LANG=C free -t -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p"`
    max_jobs="$(($max_mem / $mem_per_process))"
    test "$jobs" -gt "$max_jobs" && jobs="$max_jobs" && echo "Warning: Reducing number of jobs to $max_jobs because of memory limits"
    test "$jobs" -le 0 && jobs=1 && echo "Warning: Do not use the parallel build at all becuse of memory limits"
fi

%__make -j$jobs VERBOSE=1

%install
%qmake5_install
find %{buildroot}/%{_libdir} -type f -name '*.la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
find %{buildroot}/%{_libdir}/pkgconfig -type f -name '*.pc' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} +
# kill .la files
rm -f %{buildroot}%{_libqt5_libdir}/lib*.la

%fdupes -s %{buildroot}%{_libqt5_examplesdir}/

%files -n %libname
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{_libqt5_libdir}/libQt5Positioning.so.*
%dir %{_libqt5_plugindir}/position
%{_libqt5_plugindir}/position/
%dir %{_libqt5_archdatadir}/qml/QtPositioning
%{_libqt5_archdatadir}/qml/QtPositioning/

%files -n libQt5Location5
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{_libqt5_libdir}/libQt5Location.so.*
%{_libqt5_plugindir}/geoservices/
%{_libqt5_archdatadir}/qml/QtLocation/

%files private-headers-devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{_libqt5_includedir}/QtPositioning/%{so_version}
%{_libqt5_includedir}/QtLocation/%{so_version}

%files devel
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%exclude %{_libqt5_includedir}/QtPositioning/%{so_version}
%exclude %{_libqt5_includedir}/QtLocation/%{so_version}
%{_libqt5_includedir}/QtPositioning
%{_libqt5_includedir}/QtLocation
%{_libqt5_libdir}/cmake/Qt5Positioning
%{_libqt5_libdir}/cmake/Qt5Location
%{_libqt5_libdir}/libQt5Positioning.prl
%{_libqt5_libdir}/libQt5Location.prl
%{_libqt5_libdir}/libQt5Positioning.so
%{_libqt5_libdir}/libQt5Location.so
%{_libqt5_libdir}/pkgconfig/Qt5Positioning.pc
%{_libqt5_libdir}/pkgconfig/Qt5Location.pc
%{_libqt5_libdir}/qt5/mkspecs/modules/qt_lib_*.pri

%files examples
%defattr(-,root,root,755)
%doc *.txt LICENSE.*
%{_libqt5_examplesdir}/

%changelog
openSUSE Build Service is sponsored by