Magellan Linux

Annotation of /trunk/extras/qt4/qt4-4.5.2-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3673 - (hide annotations) (download)
Thu Oct 29 12:12:46 2009 UTC (14 years, 6 months ago) by niro
File size: 8150 byte(s)
auto added: ver bump to 4.5.2-r1
1 niro 3673 # $Id$
2    
3     PNAME="qt4"
4     PVER="4.5.2"
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.1
16     >= x11-libs/libX11-1.2
17     >= x11-libs/libXau-1
18     >= x11-libs/libxcb-1.2
19     >= x11-libs/libXcursor-1.1
20     >= x11-libs/libXdmcp-1
21     >= x11-libs/libXext-1
22     >= x11-libs/libXfixes-4
23     >= x11-libs/libXft-2.1
24     >= x11-libs/libXi-1.2
25     >= x11-libs/libXinerama-1
26     >= x11-libs/libXrandr-1.3
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.3.9
33     >= media-libs/fontconfig-2.7
34     >= net-print/cups-1.4
35     >= sys-libs/zlib-1.2
36     >= media-libs/giflib-4.1
37     >= sys-apps/dbus-1.3
38     >= virtual/opengl
39     >= media-libs/nas-1.9
40     >= dev-libs/openssl-0.9.8
41     >= dev-db/sqlite-3.6"
42    
43     SDEPEND=">= sys-dev/bison-2.4
44     >= x11-proto/xineramaproto-1.1
45     >= x11-proto/xextproto-7
46     >= x11-proto/inputproto-1.5
47     >= dev-util/pkgconfig-0.23"
48    
49     SRCFILE="${PNAME/4/}-x11-opensource-src-${PVER}.tar.bz2"
50     SRCDIR="${BUILDDIR}/${PNAME/4/}-x11-opensource-src-${PVER}"
51    
52     sminclude mtools
53    
54     SRC_URI=(
55     ftp://ftp.trolltech.com/qt/source/${SRCFILE}
56     mirror://${PNAME}/${SRCFILE}
57     mirror://${PNAME}/qt-4.5.1-qt-copy_svg-rendering-regression.patch
58     mirror://${PNAME}/qt-4.5.1-qt-copy_fix-qpixmapcache-leak.patch
59     mirror://${PNAME}/qt-4.5.1-no-hardcoded_fonts.patch
60     )
61    
62     UP2DATE="updatecmd ftp://ftp.trolltech.com/qt/source/ | grep qt-x11-opensource-src | lasttarball"
63    
64     ## global vars ##
65     export QTDIR=${SRCDIR}
66     export LD_LIBRARY_PATH=${QTDIR}/lib
67     export PATH=${QTDIR}/bin:${PATH}
68     export PLATFORM=linux-g++
69     [[ ${ARCH} = x86_64 ]] && export PLATFORM=linux-g++-64
70     # install prefix
71     export QT_PREFIX=/opt/${PNAME}
72    
73     src_prepare()
74     {
75     munpack ${SRCFILE} || die
76     cd ${SRCDIR}
77    
78     # no hardcoded font-aliases
79     # see: https://cvs.fedoraproject.org/viewvc/rpms/qt4/F-8/qt-x11-opensource-src-4.3.4-no-hardcoded-font-aliases.patch?view=markup
80     mpatch qt-4.5.1-no-hardcoded_fonts.patch || die
81    
82     # fix broken kde plasma themes
83     # see: https://bugs.kde.org/show_bug.cgi?id=192914
84     mpatch qt-4.5.1-qt-copy_svg-rendering-regression.patch || die
85    
86     # fix Qpixmap memory leak
87     # https://bugs.kde.org/show_bug.cgi?id=183191
88     mpatch qt-4.5.1-qt-copy_fix-qpixmapcache-leak.patch || die
89    
90     # set our cflags and fix up our header and lib locations
91     cd ${SRCDIR}/mkspecs/${PLATFORM}
92     sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
93     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
94     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
95     -e 's:$(QTDIR)/include:&/qt:' \
96     -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
97     qmake.conf \
98     || die
99    
100     # fix libdir to lib64 on 64bit arches
101     sed -i "s:/lib$:/$(mlibdir):" qmake.conf || die
102    
103     # disable rpath
104     sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" qmake.conf || die
105    
106     # get rid of /usr/X11R6
107     sed -i "s:X11R6/::" qmake.conf || die
108    
109     # same goes for the g++ definitions
110     # they where moved to an extra file with qt4
111     cd ${SRCDIR}/mkspecs/common
112     sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CPPFLAGS} ${CFLAGS} ${ASFLAGS}:" \
113     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CPPFLAGS} ${CXXFLAGS} ${ASFLAGS}:" \
114     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
115     -e 's:$(QTDIR)/include:&/qt:' \
116     -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
117     g++.conf \
118     || die
119    
120     # fix libdir to lib64 on 64bit arches
121     sed -i "s:/lib$:/$(mlibdir):" g++.conf || die
122    
123     # disable rpath
124     sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" g++.conf || die
125    
126     # get rid of /usr/X11R6
127     sed -i "s:X11R6/::" linux.conf || die
128     }
129    
130     src_compile()
131     {
132     cd ${SRCDIR}
133    
134     # add missing lib64 search path on 64bit arches
135     local myconf
136     [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)"
137    
138     # enable this only for binutils >=2.18
139     [[ $(ld -v | sed 's/.*\ \([0-9].[0-9].*\)/\1/') > 2.17 ]] && myconf="${myconf} -reduce-relocations"
140    
141     ./configure \
142     -prefix ${QT_PREFIX} \
143     -sysconfdir /etc/${PNAME} \
144     -datadir ${QT_PREFIX}/share/qt \
145     -docdir ${QT_PREFIX}/share/doc/qt-${PVER} \
146     -headerdir ${QT_PREFIX}/include/qt \
147     -plugindir ${QT_PREFIX}/$(mlibdir)/qt/plugins \
148     -libdir ${QT_PREFIX}/$(mlibdir) \
149     -datadir ${QT_PREFIX}/share/qt \
150     -translationdir ${QT_PREFIX}/share/qt/translations \
151     -confirm-license \
152     -opensource \
153     -platform ${PLATFORM} \
154     -xplatform ${PLATFORM} \
155     -verbose \
156     -silent \
157     -fast \
158     -release \
159     -no-separate-debug-info \
160     -optimized-qmake \
161     -system-libjpeg \
162     -system-libmng \
163     -system-libpng \
164     -system-zlib \
165     -system-nas-sound \
166     -system-sqlite \
167     -nomake examples \
168     -nomake demos \
169     -nomake docs \
170     -no-rpath \
171     -qt3support \
172     -stl \
173     -lpthread \
174     -largefile \
175     -sm \
176     -xrender \
177     -opengl \
178     -qt-gif \
179     -cups \
180     -dbus-linked \
181     -openssl \
182     -webkit \
183     -no-phonon \
184     ${myconf} \
185     || die
186    
187     mmake all || die
188     }
189    
190     src_install()
191     {
192     cd ${SRCDIR}
193     mmake INSTALL_ROOT=${BINDIR} install || die
194    
195     # remove broken qmake link and install binary
196     if [ -L ${BINDIR}/${QT_PREFIX}/bin/qmake ]
197     then
198     echo "removing broken qmake symlink"
199     rm -f ${BINDIR}/${QT_PREFIX}/bin/qmake || die
200     echo "installing qmake binary"
201     minstallexec ${SRCDIR}/qmake/qmake ${QT_PREFIX}/bin || die
202     fi
203    
204     # remove broken linux-g++ link if exists
205     if [ -L ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} ]
206     then
207     echo "removing broken ${PLATFORM} symlink"
208     rm ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} || die
209     fi
210    
211     # install some missing binaries
212     # minstallexec ${SRCDIR}/bin/qtrename140 ${QT_PREFIX}/bin || die
213     minstallexec ${SRCDIR}/bin/uic ${QT_PREFIX}/bin || die
214     minstallexec ${SRCDIR}/bin/findtr ${QT_PREFIX}/bin || die
215     # minstallexec ${SRCDIR}/bin/qt20fix ${QT_PREFIX}/bin || die
216    
217     # qmake cache file
218     sed "s:${SRCDIR}:${QT_PREFIX}:g" ${SRCDIR}/.qmake.cache > ${BINDIR}/${QT_PREFIX}/share/qt/.qmake.cache || die
219    
220     # some needed symlinks
221     mlink libqt-mt.so ${QT_PREFIX}/$(mlibdir)/libqt.so || die
222     # symlink qmake to qmakeMAJversion
223     mlink qmake ${QT_PREFIX}/bin/qmake${PVER:0:1} || die
224    
225     # remove unneeded specs
226     echo "removing unneeded specs ..."
227     install -d ${BUILDDIR}/keep
228     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/default ${BUILDDIR}/keep || die
229     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/common ${BUILDDIR}/keep || die
230     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/features ${BUILDDIR}/keep || die
231     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/qws ${BUILDDIR}/keep || die
232     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM} ${BUILDDIR}/keep || die
233     if [[ ${ARCH} = x86_64 ]]
234     then
235     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/linux-g++ ${BUILDDIR}/keep || die
236     fi
237     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/qconfig.pri ${BUILDDIR}/keep || die
238     rm -rf ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/* || die
239     mv ${BUILDDIR}/keep/* ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs || die
240    
241     # docs
242     minstalldocs GPL* changes-${PVER} LICENSE* OPENSOURCE* README* || die
243    
244     # # man
245     # cp -r doc/man ${BINDIR}/${QT_PREFIX}/share || die
246     # gzip -r9 ${BINDIR}/${QT_PREFIX}/share/man || die
247     #
248     # # don't want the tutorial anymore, too big
249     # rm -rf ${BINDIR}/${QT_PREFIX}/share/doc/qt-${PVER}/html || die
250     # # don't want the demos too
251     # rm -rf ${BINDIR}/${QT_PREFIX}/demos || die
252    
253     # environ vars
254     minstalldir /etc/env.d || die
255     echo "QMAKESPEC=\"${PLATFORM}\"" > ${BINDIR}/etc/env.d/45${PNAME} || die
256     echo "QTDIR=\"${QT_PREFIX}\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
257    
258     if [[ ${QT_PREFIX} != /usr ]]
259     then
260     # overwrite the env file here, there may be one in user
261     # and we want this as system-wide default
262     :> ${BINDIR}/etc/env.d/45${PNAME} || die
263     echo "PATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
264     echo "ROOTPATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
265     echo "LDPATH=\"${QT_PREFIX}/$(mlibdir)\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
266     echo "MANPATH=\"${QT_PREFIX}/share/man\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
267     echo "PKG_CONFIG_PATH=\"${QT_PREFIX}/$(mlibdir)/pkgconfig\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
268     fi
269     }

Properties

Name Value
svn:keywords Id