Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (hide annotations) (download)
Fri Oct 10 13:29:42 2008 UTC (15 years, 11 months ago) by niro
File size: 6146 byte(s)
import repo
1 niro 2 # $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