Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id