Magellan Linux

Contents of /branches/magellan-next/extras/qt3/qt3-3.3.8b-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id