1 # Copyright 2008 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
7 # @ECLASS: qt4-qt-copy.eclass
9 # Leonardo Valeri Manera <l.valerimanera@gmail.com>
10 # @BLURB: Eclass for Qt4 split ebuilds with qt-copy
12 # This eclass contains overlays the standard qt4-build eclass
13 # with an optional function that applies qt-copy patches,
14 # either from a tarball or from svn trunk.
16 inherit eutils qt4-build
21 qt-core|qt-dbus|qt-gui|qt-qt3support|qt-script
)
27 eerror
"Version ${PVR} does not have patchset defined in the qt4-qt-copy eclass!"
28 die
"Unsupported version for patchset, something screwed up bad, boss."
32 if [[ -n ${QT_COPY_PV} ]]; then
33 IUSE
="${IUSE} +qt-copy"
34 SRC_URI
="${SRC_URI} qt-copy? ( http://jyujin.de/~creidiki/qt-copy/qt-copy-${PV}-patches-${QT_COPY_PV}.tar.lzma )"
35 DEPEND
="qt-copy? ( app-arch/lzma-utils )"
41 local patches_corelib_io patches_corelib_kernel \
42 patches_gui_graphicsview patches_gui_image patches_gui_itemviews patches_gui_kernel patches_gui_text patches_gui_widgets \
43 patches_qt3support_text
45 0167-fix-group-reading.diff"
46 patches_corelib_kernel
="
47 0180-window-role-corelib.diff"
48 patches_gui_graphicsview
="
49 0214-fix-qgraphicsproxywidget-tab-crash.diff"
51 0223-fix-qpixmap-hasalpha.diff
52 0224-fast-qpixmap-fill.diff"
53 patches_gui_itemviews
="
54 0226-qtreeview-column_resize_when_needed.diff"
56 0180-window-role-gui.diff
57 0195-compositing-properties.diff
58 0220-no-x-recursion-in-xerrhandler.diff"
60 0203-qtexthtmlparser-link-color.diff"
62 0225-invalidate-tabbar-geometry-on-refresh.diff"
63 patches_qt3support_text
="
64 0210-fix-crash-q3stylesheet-font-size.diff"
66 local qt_core_patches qt_dbus_patches qt_gui_patches qt_qt3support_patches qt_script_patches
67 qt_core_patches
="${patches_corelib_io} ${patches_corelib_kernel}"
68 qt_dbus_patches
="${patches_corelib_io} ${patches_corelib_kernel}"
69 qt_gui_patches
="${patches_gui_graphicsview} ${patches_gui_image} ${patches_gui_itemviews} ${patches_gui_kernel} ${patches_gui_text} ${patches_gui_widgets}"
70 qt_qt3support_patches
="${patches_qt3support_text}"
71 qt_script_patches
="${patches_corelib_kernel}"
74 eerror
"Version ${PVR} is not supported by the qt4-qt-copy eclass!"
75 die
"Unsupported version for patching, something screwed up bad, boss."
79 local qt_copy_patches qt_copy
patch qt_copy_files
80 qt_copy_patches
="${PN//-/_}_patches"
81 for qt_copy_patch
in ${!qt_copy_patches}; do
82 qt_copy_files
="${qt_copy_files} patches/${qt_copy_patch}"
87 echo lzma
-dc "${DISTDIR}"/qt-copy-${PV}-patches-${QT_COPY_PV}.tar.lzma | tar xf - --no-same-owner ${qt_copy_files}
88 lzma -dc "${DISTDIR}"/qt-copy-${PV}-patches-${QT_COPY_PV}.tar.lzma | tar xf - --no-same-owner ${qt_copy_files}
90 EPATCH_MULTI_MSG
="Applying QT-copy patches ..." \
91 EPATCH_FORCE
="yes" EPATCH_SUFFIX
="" epatch
"${S}"/patches
96 for target
in configure LICENSE.
{GPL2
,GPL3
,QPL
} projects.pro \
97 src
/{qbase
,qt_targets
,qt_install
}.pri bin config.tests mkspecs qmake \
98 ${QT4_EXTRACT_DIRECTORIES} ${QT4_TARGET_DIRECTORIES}; do
99 targets
="${targets} ${MY_P}/${target}"
102 echo tar xjpf
"${DISTDIR}"/${MY_P}.tar.bz2 ${targets}
103 tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets}
107 echo tar xjpf
"${DISTDIR}"/${MY_P}-headers.
tar.bz2
108 tar xjpf
"${DISTDIR}"/${MY_P}-headers.
tar.bz2
112 use qt-copy
&& qt4_qt-copy
115 qt4-qt-copy_pkg_postinst
() {
116 qt4-build_pkg_postinst
119 ewarn
"Do NOT report bugs to Gentoo's bugzilla when built with qt-copy!"
124 EXPORT_FUNCTIONS pkg_postinst