File libqt5-qtsvg.spec of Package libqt5-qtsvg.21342

#
# spec file for package libqt5-qtsvg
#
# 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 libQt5Svg5

Name:           libqt5-qtsvg
Version:        5.12.7
Release:        0
Summary:        Qt 5 SVG Library
License:        LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
Group:          Development/Libraries/X11
Url:            https://www.qt.io
%define base_name libqt5
%define real_version 5.12.7
%define so_version 5.12.7
%define tar_version qtsvg-everywhere-src-5.12.7
Source:         https://download.qt.io/official_releases/qt/5.12/%{real_version}/submodules/%{tar_version}.tar.xz
Source1:        baselibs.conf
# PATCH-FIX-UPSTREAM
Patch0001:      0001-Handle-empty-rects.patch
Patch0002:      0002-Use-QRect-isEmpty-instead-of-QRect-isNull.patch
Patch0003:      0003-Fix-oom-in-QSvgTinyDocument-load.patch
Patch0004:      0004-Fix-stack-overflow-in-QSvgHandler-resolveGradients.patch
Patch0005:      0005-Add-error-handling-to-color-parsing.patch
Patch0006:      0006-Fix-stack-overflow-in-dtor-of-QSvgTinyDocument.patch
Patch0007:      0007-Don-t-divide-by-zero.patch
Patch0008:      0008-Return-nullptr-instead-of-0.patch
Patch0009:      0009-Avoid-endless-recursion-when-inflating-gzip.patch
Patch0010:      0010-Avoid-endless-recursion-in-SvgStructureNode-bounds.patch
Patch0011:      0011-Don-t-divide-by-zero.patch
Patch0012:      0012-Use-qFuzzyIsNull-instead-of-isEmpty-on-QRectF.patch
Patch0013:      0013-Fix-check-against-division-by-zero.patch
Patch0014:      0014-Don-t-return-partially-inflated-QByteArray.patch
Patch0015:      0015-Implement-basic-format-check-also-for-compressed-svg.patch
Patch0016:      0016-Avoid-recursion-when-inflating-compressed-svgs.patch
Patch0017:      0017-Change-classification-of-XSVG-License.patch
Patch0018:      0018-Reject-corrupt-svgs-with-invalid-size.patch
Patch0019:      0019-Allow-loading-SVG-files-with-a-doctype-declaration.patch
Patch0020:      0020-Improve-handling-of-malformed-numeric-values-in-svg-.patch
Patch0021:      0021-Clamp-parsed-doubles-to-float-representable-values.patch
BuildRequires:  libQt5Core-private-headers-devel >= %{version}
BuildRequires:  libQt5Gui-private-headers-devel >= %{version}
BuildRequires:  libQt5Widgets-private-headers-devel >= %{version}
BuildRequires:  libqt5-qtbase-devel >= %{version}
BuildRequires:  pkgconfig(zlib)
%if %qt5_snapshot
#to create the forwarding headers
BuildRequires:  perl
%endif
BuildRequires:  xz
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
The Qt SVG module provides functionality for displaying SVG images
as a widget, and to create SVG files using drawing commands.

%prep
%autosetup -p1 -n %{tar_version}

%package -n %libname
Summary:        Qt 5 SVG Library
Group:          Development/Libraries/X11
%requires_ge libQt5Widgets5

%description -n %libname
The Qt SVG module provides functionality for displaying SVG images
as a widget, and to create SVG files using drawing commands.

%package devel
Summary:        Development files for the Qt5 SVG library
Group:          Development/Libraries/X11
Requires:       %libname = %{version}
Provides:       libQt5Svg-devel = %{version}
Obsoletes:      libQt5Svg-devel < %{version}

%description devel
You need this package if you want to compile programs with QtSvg.

%package private-headers-devel
Summary:        Non-ABI stable experimental API for the Qt5 SVG library
Group:          Development/Libraries/C and C++
BuildArch:      noarch
Requires:       %{name}-devel = %{version}
Provides:       libQt5Svg-private-headers-devel = %{version}
Obsoletes:      libQt5Svg-private-headers-devel < %{version}

%description private-headers-devel
This package provides private headers of libqt5-qtsvg 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 SVG examples
Group:          Development/Libraries/X11
Recommends:     %{name}-devel

%description examples
Examples for the libqt5-qtsvg modules.

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

%postun -n %libname -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
%make_jobs

%install
%qmake5_install
find %{buildroot}/%{_libqt5_libdir} -type f -name '*prl' -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} +
# kill .la files
rm -f %{buildroot}%{_libqt5_libdir}/lib*.la

%files -n %libname
%defattr(-,root,root,755)
%license LICENSE.*
%{_libqt5_libdir}/libQt5Svg.so.*
%dir %{_libqt5_plugindir}
%{_libqt5_plugindir}/imageformats/libqsvg.so
%{_libqt5_plugindir}/iconengines

%files private-headers-devel
%defattr(-,root,root,755)
%license LICENSE.*
%{_libqt5_includedir}/Qt*/%{so_version}

%files devel
%defattr(-,root,root,755)
%license LICENSE.*
%{_libqt5_includedir}/QtSvg
%exclude %{_libqt5_includedir}/Qt*/%{so_version}
%{_libqt5_includedir}/QtSvg
%{_libqt5_libdir}/cmake/Qt5*
%{_libqt5_libdir}/libQt5Svg.prl
%{_libqt5_libdir}/libQt5Svg.so
%{_libqt5_libdir}/pkgconfig/Qt5Svg.pc
%{_libqt5_archdatadir}/mkspecs/modules/*.pri

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

%changelog
openSUSE Build Service is sponsored by