File libQtWebKit-devel.spec of Package libQtWebKit-devel
#
# spec file for package libQtWebKit-devel (Version 4.4.3)
#
# Copyright (c) 2010 SUSE LINUX Products 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/
#
# norootforbuild
# nodebuginfo
Name: libQtWebKit-devel
BuildRequires: cups-devel freeglut-devel libjpeg-devel libpng-devel
BuildRequires: libqt4-devel
%if 0%{?suse_version} > 1020
BuildRequires: fdupes
%endif
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
Url: http://www.trolltech.com
License: GPL v2 only; GPL v3 only
Group: System/Libraries
AutoReqProv: on
Summary: C++ Program Library, Core Components
Requires: libQtWebKit4 = %(rpm -q --queryformat '%{VERSION}' libqt4-x11)
%requires_eq libqt4-devel
# COMMON-BEGIN
# COMMON-BEGIN
Version: 4.4.3
Release: 4.<RELEASE11>
%define base_name libqt4
%define x11_free -x11-opensource-src-
%define rversion 4.4.3
Source: qt%x11_free%rversion.tar.bz2
Source10: qt4config.desktop
Source11: designer4.desktop
Source12: linguist4.desktop
Source13: assistant4.desktop
Source14: assistant.png
Source15: designer.png
Source16: linguist.png
Source42: libQtWebKit-4.5.3.tar.bz2
#Patch2: qt-never-strip.diff
Patch3: plastik-default.diff
Patch5: lib64.patch
Patch6: use-freetype-default.diff
Patch1006: use-freetype-default-legacy.diff
Patch8: link-tools-shared.diff
#Patch20: qt-font-choose.diff
Patch27: 0167-fix-group-reading.diff
Patch39: 0191-listview-alternate-row-colors.diff
Patch40: 0188-fix-moc-parser-same-name-header.diff
Patch43: 0195-compositing-properties.diff
Patch48: 0203-qtexthtmlparser-link-color.diff
Patch55: ignore-global-advance-width-in-fots.diff
Patch60: 0180-window-role.diff
Patch61: qt4-fake-bold.patch
Patch66: statusbar-recursion.diff
Patch67: postgresql83-support.diff
Patch70: 0225-invalidate-tabbar-geometry-on-refresh.patch
Patch74: ppc-atomic.diff
Patch75: qt-debug-timer.diff
Patch77: qt4-input-method-lazy-load.patch
Patch79: aliasing.diff
Patch82: 0234-fix-mysql-threaded.diff
Patch86: 0238-fix-qt-qttabbar-size.diff
Patch87: qfatal-noreturn.diff
Patch88: 0245-fix-randr-changes-detecting.diff
Patch90: display-key-support.diff
Patch91: 0249-webkit-stale-frame-pointer.diff
Patch92: 0254-fix-qgraphicsproxywidget-deletion-crash.diff
Patch93: 0260-fix-qgraphicswidget-deletionclearFocus.diff
Patch94: qnativesocketengine-select.diff
Patch95: 0257-qurl-validate-speedup.diff
Patch97: 0256-fix-recursive-backingstore-sync-crash.diff
Patch98: 0262-fix-treeview-animation-crash.diff
Patch99: 0261-sync-before-reset-errorhandler.patch
Patch100: 0263-fix-fontconfig-handling.diff
Patch101: no-moc-date.diff
Patch102: 0253-qmake_correct_path_separators.diff
Patch103: 0265-fix-formlayoutcrash.diff
Patch104: 0264-fix-zero-height-qpixmap-isnull.diff
Patch105: CVE-2009-0945.Qt-4.4.x.patch
Patch106: CVE-2009-2700.diff
Patch107: avoid-dbus-deadlock.diff
Patch108: libQtWebKit.diff
Patch109: qt4-466791-force-focus-out-input-context.patch
Patch110: CVE-2011-3922.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %suse_version > 910
%define common_options -fast -no-separate-debug-info -shared -xkb -tablet -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib -optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support
%else
%define common_options -fast -no-separate-debug-info -shared -xkb -no-tablet -no-xrender -no-xrandr -no-xinerama -no-xshape -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/ -no-pch -no-exceptions -system-libtiff -no-sm -no-opengl -no-xcursor -no-webkit -no-xmlpatterns
%endif
%define check_config \
grep '# define' src/corelib/global/qconfig.h | egrep -v 'QT_(ARCH|USE)'; \
if test -f /usr/share/qt4/mkspecs/qconfig.pri ; then \
cmp /usr/share/qt4/mkspecs/qconfig.pri mkspecs/qconfig.pri || exit 1; \
fi \
%description
Qt is a set of libraries for developing applications.
This package contains base tools, like string, xml, and network
handling.
Authors:
--------
Troll Tech AS, Norway
%prep
%define plugindir %_libdir/qt4/plugins
%setup -q -n qt%x11_free%rversion
#%patch2
%patch3
%patch5
%if %suse_version > 1010
%patch6
%else
%patch1006
%endif
# needs rediffing
#%patch8
%patch27
%patch39
%patch40
%patch43
%patch48
%patch55
%patch60
%if %suse_version > 910
# bnc#374073 comment #8
# %patch61
%endif
%patch66
%patch67 -p1
%patch70
%patch74
%patch75
%patch77
%patch79
%patch82
%patch86
%patch87
%patch88
%patch90
%patch91
%patch92
%patch93
%patch94
%patch95
%patch97
%patch98
%patch99
%patch100
%patch101
%patch102
%patch103
%patch104
%patch105
%patch106
%patch107
%patch109 -p1
%patch110
# be sure not to use them
rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib,libtiff}
# COMMON-END
# COMMON-END
%package -n libQtWebKit4
License: GPL v2 only
Group: System/Libraries
Summary: C++ Program Library, Core Components
Requires: libqt4-x11 = %version
%description -n libQtWebKit4
Qt is a set of libraries for developing applications.
This package contains base tools, like string, xml, and network
handling.
Authors:
--------
Troll Tech AS, Norway
%package -n qt4-x11-tools
License: GPL v2 only; GPL v3 only
Group: Development/Libraries/C and C++
Summary: Qt 4 GUI related libraries
Requires: libqt4-x11 >= %version
%description -n qt4-x11-tools
Qt 4 libraries which are used for drawing widgets and OpenGL items.
Authors:
--------
Troll Tech AS, Norway
%package -n libqt4-devel-doc
License: GPL v2 only; GPL v3 only
Group: Documentation/HTML
Summary: Qt documentation
Obsoletes: qt-devel-doc
Provides: qt-devel-doc
Requires: %base_name = %version
Requires: %base_name-devel-doc-data = %version
Requires: %base_name-sql-sqlite >= %version
%description -n libqt4-devel-doc
The package contains documentation and examples to develop Qt
applications. The SuSE help provides a search function for this
documentation. The package includes also a tutorial and examples.
Authors:
--------
Troll Tech AS, Norway
%build
# replace webkit version with newer tarball (bnc#515124)
rm -r src/3rdparty/webkit
tar xf %{S:42}
pushd src
patch -p0 < %{P:108}
popd
%ifarch ppc64
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -mminimal-toc"
%endif
export QTDIR=$PWD
export PATH=$PWD/bin:$PATH
export LD_LIBRARY_PATH=$PWD/lib/
sed -i -e "/^QMAKE_CFLAGS_RELEASE[ \t]*+=/s,\$, $RPM_OPT_FLAGS," mkspecs/common/g++.conf
export MAKEFLAGS="%{?jobs:-j %jobs}"
echo yes | ./configure %common_options -webkit -xmlpatterns -no-sql-sqlite -no-sql-sqlite2 -no-sql-mysql
%check_config
make %{?jobs:-j%jobs} sub-src
make %{?jobs:-j%jobs} -C tools/assistant
make %{?jobs:-j%jobs} -C src/3rdparty/webkit/WebCore
make %{?jobs:-j%jobs} -C src/xmlpatterns
make %{?jobs:-j%jobs} -C demos
make %{?jobs:-j%jobs} -C examples
%install
export QTDIR=$PWD
make INSTALL_ROOT=$RPM_BUILD_ROOT -C tools/assistant install
make INSTALL_ROOT=$RPM_BUILD_ROOT -C src/3rdparty/webkit/WebCore install
make INSTALL_ROOT=$RPM_BUILD_ROOT -C src/xmlpatterns install
make INSTALL_ROOT=$RPM_BUILD_ROOT -C demos install
make INSTALL_ROOT=$RPM_BUILD_ROOT -C examples install
mv $RPM_BUILD_ROOT/%_libdir/qt4/examples/painting/svgviewer/svgviewer $RPM_BUILD_ROOT/%_bindir
mv $RPM_BUILD_ROOT/%_libdir/qt4/demos/browser/browser $RPM_BUILD_ROOT/%_bindir/qt4-browser
ln -s %_bindir/svgviewer $RPM_BUILD_ROOT/%_libdir/qt4/examples/painting/svgviewer/svgviewer
ln -s %_bindir/qt4-browser $RPM_BUILD_ROOT/%_libdir/qt4/demos/browser/browser
# reduce fileconflicts
for f in $(rpm -ql libqt4-devel) $(rpm -ql libqt4-x11) $(rpm -ql libqt4); do
test -f $RPM_BUILD_ROOT/$f && rm $RPM_BUILD_ROOT/$f
done
find $RPM_BUILD_ROOT -type d -print0 | xargs -0 --no-run-if-empty rmdir --ignore-fail-on-non-empty
# argggh, qmake is such a piece of <censored>
mkdir -p $RPM_BUILD_ROOT/%_libdir/pkgconfig
find $RPM_BUILD_ROOT/%_libdir -type f -name '*.pc' -exec mv {} $RPM_BUILD_ROOT/%_libdir/pkgconfig \;
# fix more qmake errors
mkdir -p $RPM_BUILD_ROOT/%_libdir/qt
find $RPM_BUILD_ROOT/%_libdir -type f -name '*la' -print -exec perl -pi -e 's, -L/usr/src/packages/BUILD/\S+,,g' {} \;
find $RPM_BUILD_ROOT/%_libdir/pkgconfig -type f -name '*pc' -print -exec perl -pi -e 's, -L/usr/src/packages/BUILD/\S+,,g' {} \;
mkdir -p $RPM_BUILD_ROOT/%_docdir/%base_name/
ln -s %_libdir/qt4/demos $RPM_BUILD_ROOT/%_docdir/%base_name/demos
ln -s %_libdir/qt4/examples $RPM_BUILD_ROOT/%_docdir/%base_name/examples
# packaged in %name-devel-doc-data
rm -rf $RPM_BUILD_ROOT/%_docdir/%base_name/{doc,html}
rm -f $RPM_BUILD_ROOT/%_libdir/libQt{3,A,C,G,H,N,S,T}*
rm -f $RPM_BUILD_ROOT/%_libdir/libQtXml.*
rm -rf $RPM_BUILD_ROOT/%_libdir/qt4/plugins
rm -rf $RPM_BUILD_ROOT/usr/share/qt4/translations
%if %suse_version > 1020
%fdupes $RPM_BUILD_ROOT/usr/include
%endif
%suse_update_desktop_file -i assistant4 Qt Development Documentation
%clean
rm -rf $RPM_BUILD_ROOT
%if %suse_version > 910
%post -n libQtWebKit4 -p /sbin/ldconfig
%postun -n libQtWebKit4 -p /sbin/ldconfig
%endif
%if %suse_version > 910
%files -n libQtWebKit4
%defattr(-,root,root,755)
%_libdir/libQtWebKit.so.*
%_libdir/libQtXmlPatterns.so.*
%endif
%files
%defattr(-,root,root,755)
/usr/include/Qt/*
/usr/include/QtWebKit
/usr/include/QtXmlPatterns
%_libdir/libQtXmlPatterns.so
%_libdir/libQtXmlPatterns.prl
%_libdir/libQtXmlPatterns.la
%_libdir/libQtWebKit.so
%_libdir/libQtWebKit.prl
%_libdir/libQtWebKit.la
%_libdir/pkgconfig/QtWebKit.pc
%_libdir/pkgconfig/QtXmlPatterns.pc
%files -n libqt4-devel-doc
%defattr(-,root,root,755)
/usr/bin/assistant
/usr/bin/assistant_adp
/usr/bin/qhelpgenerator
/usr/bin/qhelpconverter
/usr/bin/qcollectiongenerator
/usr/bin/qtdemo
%if %suse_version > 910
/usr/share/pixmaps/assistant.png
%endif
/usr/share/applications/assistant4.desktop
/usr/%_lib/qt4/demos
%dir %_docdir/%base_name
%_docdir/%base_name/demos
%_docdir/%base_name/examples
%_libdir/qt4/examples
%files -n qt4-x11-tools
%defattr(-,root,root,755)
/usr/bin/svgviewer
/usr/bin/qt4-browser
%changelog