Contents of /trunk/core/qt/qt-3.3.8b-r2.smage2
Parent Directory | Revision Log
Revision 1322 -
(show annotations)
(download)
Fri May 1 11:19:08 2009 UTC (15 years, 5 months ago) by niro
File size: 6193 byte(s)
Fri May 1 11:19:08 2009 UTC (15 years, 5 months ago) by niro
File size: 6193 byte(s)
-rebuild
1 | # $Id$ |
2 | |
3 | PNAME="qt" |
4 | PVER="3.3.8b" |
5 | PBUILD="r2" |
6 | |
7 | PCATEGORIE="x11-libs" |
8 | STATE="unstable" |
9 | |
10 | DESCRIPTION="Qt: Cross-Platform Rich Client Development Framework." |
11 | HOMEPAGE="http://trolltech.com/products/qt/" |
12 | |
13 | DEPEND=">= dev-libs/expat-2 |
14 | >= x11-libs/libICE-1 |
15 | >= x11-libs/libSM-1 |
16 | >= x11-libs/libX11-1 |
17 | >= x11-libs/libXau-1 |
18 | >= x11-libs/libxcb-1 |
19 | >= x11-libs/libXcursor-1 |
20 | >= x11-libs/libXdmcp-1 |
21 | >= x11-libs/libXext-1 |
22 | >= x11-libs/libXfixes-4 |
23 | >= x11-libs/libXft-2 |
24 | >= x11-libs/libXi-1 |
25 | >= x11-libs/libXinerama-1 |
26 | >= x11-libs/libXrandr-1 |
27 | >= x11-libs/libXrender-0.9 |
28 | >= media-libs/libjpeg-6b |
29 | >= media-libs/libmng-1.0.10 |
30 | >= media-libs/libpng-1.2.35 |
31 | >= media-libs/lcms-1.18 |
32 | >= media-libs/freetype-2 |
33 | >= media-libs/fontconfig-2 |
34 | >= net-print/cups-1.3 |
35 | >= sys-libs/zlib-1.2.3 |
36 | >= media-libs/giflib-4" |
37 | |
38 | SDEPEND=">= sys-dev/bison-2" |
39 | |
40 | SRCFILE="${PNAME}-x11-free-${PVER}.tar.gz" |
41 | SRCDIR="${BUILDDIR}/${PNAME}-x11-free-${PVER}" |
42 | |
43 | sminclude mtools |
44 | |
45 | SRC_URI=( |
46 | ftp://ftp.trolltech.com/qt/source/${SRCFILE} |
47 | mirror://${PNAME}/${SRCFILE} |
48 | mirror://${PNAME}/qt-no-rpath-uic.patch |
49 | mirror://${PNAME}/qt-no-rpath.patch |
50 | mirror://${PNAME}/qt-3.3.4-qclipboard-hack.patch |
51 | mirror://${PNAME}/qt-3.3.4-flickerfree_qiconview_buffered.patch |
52 | mirror://${PNAME}/qt-3.3.4-flickerfree_qscrollview_fixwindowactivate.patch |
53 | mirror://${PNAME}/qt-3.3.4-0047-fix-kmenu-widget.diff |
54 | mirror://${PNAME}/0001-dnd_optimization.patch |
55 | mirror://${PNAME}/0002-dnd_active_window_fix.patch |
56 | mirror://${PNAME}/0038-dragobject-dont-prefer-unknown.patch |
57 | mirror://${PNAME}/qt-3.3.8-uic-fix.patch |
58 | mirror://${PNAME}/qt-3.3.8-xinerama-improvements.patch |
59 | mirror://${PNAME}/qt-3.3.8-visibility.patch |
60 | ) |
61 | |
62 | ## global vars ## |
63 | export QTDIR=${SRCDIR} |
64 | export LD_LIBRARY_PATH=${QTDIR}/lib |
65 | export PATH=${QTDIR}/bin:${PATH} |
66 | export PLATFORM=linux-g++ |
67 | [[ ${ARCH} = x86_64 ]] && export PLATFORM=linux-g++-64 |
68 | |
69 | # qt3 tarballs are named qt-x11-free |
70 | UP2DATE="updatecmd http://get.qtsoftware.com/qt/source/ | grep qt-x11-free | lasttarball gz" |
71 | |
72 | src_prepare() |
73 | { |
74 | munpack ${SRCFILE} || die |
75 | cd ${SRCDIR} |
76 | |
77 | sed -i 's:read acceptance:acceptance=yes:' configure || die |
78 | |
79 | mpatch qt-no-rpath-uic.patch || die |
80 | mpatch qt-no-rpath.patch || die |
81 | |
82 | # fixes includehint errors |
83 | mpatch qt-3.3.8-uic-fix.patch || die |
84 | |
85 | # fix freeze caused by bad interaction with kde klipper (kde bug 80072) |
86 | mpatch qt-3.3.4-qclipboard-hack.patch || die |
87 | |
88 | # performance patches (see http://robotics.dei.unipd.it/~koral/KDE/kflicker.html) |
89 | mpatch qt-3.3.4-flickerfree_qiconview_buffered.patch || die |
90 | mpatch qt-3.3.4-flickerfree_qscrollview_fixwindowactivate.patch || die |
91 | |
92 | # kde related patches |
93 | mpatch 0001-dnd_optimization.patch || die |
94 | mpatch 0002-dnd_active_window_fix.patch || die |
95 | mpatch 0038-dragobject-dont-prefer-unknown.patch || die |
96 | mpatch qt-3.3.4-0047-fix-kmenu-widget.diff || die |
97 | |
98 | # improved xinerama support (see http://ktown.kde.org/~seli/xinerama/) |
99 | mpatch qt-3.3.8-xinerama-improvements.patch || die |
100 | |
101 | # gcc-4.1 visibility fixes (do not apply on <gcc-4.1) |
102 | mpatch qt-3.3.8-visibility.patch || die |
103 | |
104 | # set our cflags and fix up our header and lib locations |
105 | cd ${SRCDIR}/mkspecs/${PLATFORM} |
106 | sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ |
107 | -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ |
108 | -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \ |
109 | -e 's:$(QTDIR)/include:&/qt:' \ |
110 | -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \ |
111 | qmake.conf \ |
112 | || die |
113 | |
114 | # fix libdir to lib64 on 64bit arches |
115 | if [[ $(mlibdir) != lib ]] |
116 | then |
117 | sed -i -e "s:/lib$:/$(mlibdir):" qmake.conf || die |
118 | fi |
119 | } |
120 | |
121 | src_compile() |
122 | { |
123 | cd ${SRCDIR} |
124 | |
125 | # add missing lib64 search path on 64bit arches |
126 | local myconf |
127 | [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)" |
128 | |
129 | ./configure \ |
130 | -prefix /usr \ |
131 | -sysconfdir /etc/qt \ |
132 | -datadir /usr/share/qt \ |
133 | -docdir /usr/share/doc/qt-${PVER} \ |
134 | -headerdir /usr/include/qt \ |
135 | -plugindir /usr/$(mlibdir)/qt/plugins \ |
136 | -libdir /usr/$(mlibdir) \ |
137 | -datadir /usr/share/qt \ |
138 | -translationdir /usr/share/qt/translations \ |
139 | -sm \ |
140 | -thread \ |
141 | -stl \ |
142 | -system-libjpeg \ |
143 | -verbose \ |
144 | -largefile \ |
145 | -qt-imgfmt-{jpeg,mng,png} \ |
146 | -tablet \ |
147 | -system-libmng \ |
148 | -system-libpng \ |
149 | -lpthread \ |
150 | -xft \ |
151 | -platform ${PLATFORM} \ |
152 | -xplatform ${PLATFORM} \ |
153 | -xrender \ |
154 | -fast \ |
155 | -cups \ |
156 | -enable-module=opengl \ |
157 | -system-zlib \ |
158 | -qt-gif \ |
159 | -dlopen-opengl \ |
160 | -release \ |
161 | ${myconf} \ |
162 | || die |
163 | |
164 | mmake src-qmake src-moc sub-src || die |
165 | mmake sub-tools || die |
166 | } |
167 | |
168 | src_install() |
169 | { |
170 | cd ${SRCDIR} |
171 | make INSTALL_ROOT=${BINDIR} install || die |
172 | |
173 | # remove broken qmake link and install binary |
174 | if [ -L ${BINDIR}/usr/bin/qmake ] |
175 | then |
176 | echo "removing broken qmake symlink" |
177 | rm -f ${BINDIR}/usr/bin/qmake || die |
178 | echo "installing qmake binary" |
179 | minstallexec ${SRCDIR}/qmake/qmake || die |
180 | fi |
181 | |
182 | # remove broken linux-g++ link if exists |
183 | if [ -L ${BINDIR}/usr/share/qt/mkspecs/${PLATFORM}/${PLATFORM} ] |
184 | then |
185 | echo "removing broken ${PLATFORM} symlink" |
186 | rm ${BINDIR}/usr/share/qt/mkspecs/${PLATFORM}/${PLATFORM} || die |
187 | fi |
188 | |
189 | # install some missing binaries |
190 | minstallexec ${SRCDIR}/bin/qtrename140 || die |
191 | minstallexec ${SRCDIR}/bin/uic || die |
192 | minstallexec ${SRCDIR}/bin/findtr || die |
193 | minstallexec ${SRCDIR}/bin/qt20fix || die |
194 | |
195 | # qmake cache file |
196 | sed "s:${SRCDIR}:/usr:g" ${SRCDIR}/.qmake.cache > ${BINDIR}/usr/share/qt/.qmake.cache || die |
197 | |
198 | # some needed symlinks |
199 | mlink libqt-mt.so /usr/$(mlibdir)/libqt.so || die |
200 | |
201 | # remove unneeded specs |
202 | echo "removing unneeded specs ..." |
203 | install -d ${BUILDDIR}/keep |
204 | mv ${BINDIR}/usr/share/qt/mkspecs/default ${BUILDDIR}/keep || die |
205 | mv ${BINDIR}/usr/share/qt/mkspecs/${PLATFORM} ${BUILDDIR}/keep || die |
206 | rm -rf ${BINDIR}/usr/share/qt/mkspecs/* || die |
207 | mv ${BUILDDIR}/keep/* ${BINDIR}/usr/share/qt/mkspecs || die |
208 | |
209 | # docs |
210 | minstalldocs FAQ changes-${PVER} LICENSE* MANIFEST PLATFORMS README* || die |
211 | |
212 | # man |
213 | cp -r doc/man ${BINDIR}/usr/share || die |
214 | gzip -r9 ${BINDIR}/usr/share/man || die |
215 | |
216 | # don't want the tutorial anymore, too big |
217 | rm -rf ${BINDIR}/usr/share/doc/qt-${PVER}/html || die |
218 | |
219 | # environ vars |
220 | minstalldir /etc/env.d || die |
221 | echo "QMAKESPEC=\"${PLATFORM}\"" > ${BINDIR}/etc/env.d/45qt3 || die |
222 | echo 'QTDIR="/usr"' >> ${BINDIR}/etc/env.d/45qt3 || die |
223 | } |
Properties
Name | Value |
---|---|
svn:keywords | Id |