Magellan Linux

Contents of /trunk/extras/qt/qt-3.3.8b-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Oct 10 13:29:42 2008 UTC (15 years, 7 months ago) by niro
File size: 6146 byte(s)
import repo
1 # $Header: /magellan-cvs/smage/qt/qt-3.3.8b-r1.smage2,v 1.1 2008/03/27 14:35:04 niro Exp $
2
3 PNAME="qt"
4 PVER="3.3.8b"
5 PBUILD="r1"
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.24
31 >= media-libs/lcms-1.17
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 src_prepare()
70 {
71 munpack ${SRCFILE} || die
72 cd ${SRCDIR}
73
74 sed -i 's:read acceptance:acceptance=yes:' configure || die
75
76 mpatch qt-no-rpath-uic.patch || die
77 mpatch qt-no-rpath.patch || die
78
79 # fixes includehint errors
80 mpatch qt-3.3.8-uic-fix.patch || die
81
82 # fix freeze caused by bad interaction with kde klipper (kde bug 80072)
83 mpatch qt-3.3.4-qclipboard-hack.patch || die
84
85 # performance patches (see http://robotics.dei.unipd.it/~koral/KDE/kflicker.html)
86 mpatch qt-3.3.4-flickerfree_qiconview_buffered.patch || die
87 mpatch qt-3.3.4-flickerfree_qscrollview_fixwindowactivate.patch || die
88
89 # kde related patches
90 mpatch 0001-dnd_optimization.patch || die
91 mpatch 0002-dnd_active_window_fix.patch || die
92 mpatch 0038-dragobject-dont-prefer-unknown.patch || die
93 mpatch qt-3.3.4-0047-fix-kmenu-widget.diff || die
94
95 # improved xinerama support (see http://ktown.kde.org/~seli/xinerama/)
96 mpatch qt-3.3.8-xinerama-improvements.patch || die
97
98 # gcc-4.1 visibility fixes (do not apply on <gcc-4.1)
99 mpatch qt-3.3.8-visibility.patch || die
100
101 # set our cflags and fix up our header and lib locations
102 cd ${SRCDIR}/mkspecs/${PLATFORM}
103 sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
104 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
105 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
106 -e 's:$(QTDIR)/include:&/qt:' \
107 -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
108 qmake.conf \
109 || die
110
111 # fix libdir to lib64 on 64bit arches
112 if [[ $(mlibdir) != lib ]]
113 then
114 sed -i -e "s:/lib$:/$(mlibdir):" qmake.conf || die
115 fi
116 }
117
118 src_compile()
119 {
120 cd ${SRCDIR}
121
122 # add missing lib64 search path on 64bit arches
123 local myconf
124 [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)"
125
126 ./configure \
127 -prefix /usr \
128 -sysconfdir /etc/qt \
129 -datadir /usr/share/qt \
130 -docdir /usr/share/doc/qt-${PVER} \
131 -headerdir /usr/include/qt \
132 -plugindir /usr/$(mlibdir)/qt/plugins \
133 -libdir /usr/$(mlibdir) \
134 -datadir /usr/share/qt \
135 -translationdir /usr/share/qt/translations \
136 -sm \
137 -thread \
138 -stl \
139 -system-libjpeg \
140 -verbose \
141 -largefile \
142 -qt-imgfmt-{jpeg,mng,png} \
143 -tablet \
144 -system-libmng \
145 -system-libpng \
146 -lpthread \
147 -xft \
148 -platform ${PLATFORM} \
149 -xplatform ${PLATFORM} \
150 -xrender \
151 -fast \
152 -cups \
153 -enable-module=opengl \
154 -system-zlib \
155 -qt-gif \
156 -dlopen-opengl \
157 -release \
158 ${myconf} \
159 || die
160
161 mmake src-qmake src-moc sub-src || die
162 mmake sub-tools || die
163 }
164
165 src_install()
166 {
167 cd ${SRCDIR}
168 make INSTALL_ROOT=${BINDIR} install || die
169
170 # remove broken qmake link and install binary
171 if [ -L ${BINDIR}/usr/bin/qmake ]
172 then
173 echo "removing broken qmake symlink"
174 rm -f ${BINDIR}/usr/bin/qmake || die
175 echo "installing qmake binary"
176 minstallexec ${SRCDIR}/qmake/qmake || die
177 fi
178
179 # remove broken linux-g++ link if exists
180 if [ -L ${BINDIR}/usr/share/qt/mkspecs/${PLATFORM}/${PLATFORM} ]
181 then
182 echo "removing broken ${PLATFORM} symlink"
183 rm ${BINDIR}/usr/share/qt/mkspecs/${PLATFORM}/${PLATFORM} || die
184 fi
185
186 # install some missing binaries
187 minstallexec ${SRCDIR}/bin/qtrename140 || die
188 minstallexec ${SRCDIR}/bin/uic || die
189 minstallexec ${SRCDIR}/bin/findtr || die
190 minstallexec ${SRCDIR}/bin/qt20fix || die
191
192 # qmake cache file
193 sed "s:${SRCDIR}:/usr:g" ${SRCDIR}/.qmake.cache > ${BINDIR}/usr/share/qt/.qmake.cache || die
194
195 # some needed symlinks
196 mlink libqt-mt.so /usr/$(mlibdir)/libqt.so || die
197
198 # remove unneeded specs
199 echo "removing unneeded specs ..."
200 install -d ${BUILDDIR}/keep
201 mv ${BINDIR}/usr/share/qt/mkspecs/default ${BUILDDIR}/keep || die
202 mv ${BINDIR}/usr/share/qt/mkspecs/${PLATFORM} ${BUILDDIR}/keep || die
203 rm -rf ${BINDIR}/usr/share/qt/mkspecs/* || die
204 mv ${BUILDDIR}/keep/* ${BINDIR}/usr/share/qt/mkspecs || die
205
206 # docs
207 minstalldocs FAQ changes-${PVER} LICENSE* MANIFEST PLATFORMS README* || die
208
209 # man
210 cp -r doc/man ${BINDIR}/usr/share || die
211 gzip -r9 ${BINDIR}/usr/share/man || die
212
213 # don't want the tutorial anymore, too big
214 rm -rf ${BINDIR}/usr/share/doc/qt-${PVER}/html || die
215
216 # environ vars
217 minstalldir /etc/env.d || die
218 echo "QMAKESPEC=\"${PLATFORM}\"" > ${BINDIR}/etc/env.d/45qt3 || die
219 echo 'QTDIR="/usr"' >> ${BINDIR}/etc/env.d/45qt3 || die
220 }

Properties

Name Value
svn:keywords Id