Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8081 - (hide annotations) (download)
Thu Jun 30 09:32:41 2011 UTC (12 years, 10 months ago) by niro
File size: 7313 byte(s)
-removed dupes
1 niro 3476 # $Id$
2    
3 niro 8074 PNAME="qt3"
4 niro 3476 PVER="3.3.8b"
5 niro 8074 PBUILD="r1"
6 niro 3476
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 niro 8074 >= x11-libs/libX11-1.4
16 niro 3476 >= x11-libs/libXau-1
17 niro 8074 >= x11-libs/libxcb-1.7
18 niro 3476 >= x11-libs/libXcursor-1
19     >= x11-libs/libXdmcp-1
20 niro 8074 >= x11-libs/libXext-1.3
21     >= x11-libs/libXfixes-5
22     >= x11-libs/libXft-2.2
23     >= x11-libs/libXi-1.4
24 niro 3476 >= x11-libs/libXinerama-1
25     >= x11-libs/libXrandr-1
26     >= x11-libs/libXrender-0.9
27 niro 8074 >= media-libs/libjpeg-8
28 niro 3476 >= media-libs/libmng-1.0.10
29 niro 8074 >= media-libs/libpng-1.5
30     >= media-libs/lcms-1.19
31     >= media-libs/freetype-2.4
32     >= media-libs/fontconfig-2.8
33 niro 3476 >= net-print/cups-1.4
34 niro 8074 >= sys-libs/zlib-1.2.5
35     >= media-libs/giflib-4.1"
36 niro 3476
37     SDEPEND=">= sys-dev/bison-2"
38    
39 niro 8075 SRCFILE="qt-x11-free-${PVER}.tar.gz"
40     SRCDIR="${BUILDDIR}/qt-x11-free-${PVER}"
41 niro 3476
42     sminclude mtools
43    
44     SRC_URI=(
45     ftp://ftp.trolltech.com/qt/source/${SRCFILE}
46 niro 8074 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 niro 8076 mirror://qt/qt-3.3.8b-gcc46.patch
60 niro 8079 mirror://qt/qt-3.3.8b-libpng15.patch
61 niro 3476 )
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 niro 8075 # 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 niro 3476
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 niro 8076 # fix build with gcc-4.6
112     mpatch qt-3.3.8b-gcc46.patch || die
113    
114 niro 8079 # fix build against >= libpng-1.5
115     mpatch qt-3.3.8b-libpng15.patch || die
116 niro 8076
117 niro 3476 # 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 niro 8075 -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 niro 3476 -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 niro 8075 if [ -L ${BINDIR}${QT_PREFIX}/bin/qmake ]
188 niro 3476 then
189     echo "removing broken qmake symlink"
190 niro 8075 rm -f ${BINDIR}${QT_PREFIX}/bin/qmake || die
191 niro 3476 echo "installing qmake binary"
192 niro 8075 minstallexec ${SRCDIR}/qmake/qmake ${QT_PREFIX}/bin || die
193 niro 3476 fi
194    
195     # remove broken linux-g++ link if exists
196 niro 8075 if [ -L ${BINDIR}${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} ]
197 niro 3476 then
198     echo "removing broken ${PLATFORM} symlink"
199 niro 8075 rm ${BINDIR}${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} || die
200 niro 3476 fi
201    
202     # install some missing binaries
203 niro 8075 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 niro 3476
208     # qmake cache file
209 niro 8075 sed "s:${SRCDIR}:${QT_PREFIX}:g" ${SRCDIR}/.qmake.cache > ${BINDIR}${QT_PREFIX}/share/qt/.qmake.cache || die
210 niro 3476
211     # some needed symlinks
212 niro 8075 mlink libqt-mt.so ${QT_PREFIX}/$(mlibdir)/libqt.so || die
213 niro 3476
214     # remove unneeded specs
215     echo "removing unneeded specs ..."
216     install -d ${BUILDDIR}/keep
217 niro 8075 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 niro 3476
222     # docs
223     minstalldocs FAQ changes-${PVER} LICENSE* MANIFEST PLATFORMS README* || die
224    
225     # man
226 niro 8075 cp -r doc/man ${BINDIR}${QT_PREFIX}/share || die
227     gzip -r9 ${BINDIR}${QT_PREFIX}/share/man || die
228 niro 3476
229     # don't want the tutorial anymore, too big
230 niro 8075 rm -rf ${BINDIR}${QT_PREFIX}/share/doc/qt-${PVER}/html || die
231 niro 3476
232     # environ vars
233     minstalldir /etc/env.d || die
234 niro 8075 echo "QMAKESPEC=\"${PLATFORM}\"" > ${BINDIR}/${QT_ENVFILE} || die
235 niro 8080 echo "QTDIR=\"${QT_PREFIX}\"" >> ${BINDIR}/${QT_ENVFILE} || die
236    
237     if [[ ${QT_PREFIX} != /usr ]]
238     then
239     # overwrite the env file here, there may be a qt installation in usr
240     # and we want this one as system-wide default
241     :> ${BINDIR}/${QT_ENVFILE} || die
242     echo "PATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/${QT_ENVFILE} || die
243     echo "ROOTPATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/${QT_ENVFILE} || die
244     echo "LDPATH=\"${QT_PREFIX}/$(mlibdir)\"" >> ${BINDIR}/${QT_ENVFILE} || die
245     echo "MANPATH=\"${QT_PREFIX}/share/man\"" >> ${BINDIR}/${QT_ENVFILE} || die
246     echo "PKG_CONFIG_PATH=\"${QT_PREFIX}/$(mlibdir)/pkgconfig\"" ${BINDIR}/${QT_ENVFILE} || die
247     fi
248 niro 3476 }

Properties

Name Value
svn:keywords Id