Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8034 - (show annotations) (download)
Wed Jun 29 08:08:20 2011 UTC (12 years, 10 months ago) by niro
File size: 6190 byte(s)
renamed qt -> qt3
1 # $Id$
2
3 PNAME="qt"
4 PVER="3.3.8b"
5 PBUILD="r3"
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-7
29 >= media-libs/libmng-1.0.10
30 >= media-libs/libpng-1.2.40
31 >= media-libs/lcms-1.18
32 >= media-libs/freetype-2
33 >= media-libs/fontconfig-2
34 >= net-print/cups-1.4
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.qt.nokia.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