Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3674 - (hide annotations) (download)
Thu Oct 29 12:27:01 2009 UTC (14 years, 6 months ago) by niro
File size: 7736 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-no-hardcoded_fonts.patch
58     )
59    
60     UP2DATE="updatecmd ftp://ftp.trolltech.com/qt/source/ | grep qt-x11-opensource-src | lasttarball"
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     # install prefix
69     export QT_PREFIX=/opt/${PNAME}
70    
71     src_prepare()
72     {
73     munpack ${SRCFILE} || die
74     cd ${SRCDIR}
75    
76     # no hardcoded font-aliases
77     # see: https://cvs.fedoraproject.org/viewvc/rpms/qt4/F-8/qt-x11-opensource-src-4.3.4-no-hardcoded-font-aliases.patch?view=markup
78     mpatch qt-4.5.1-no-hardcoded_fonts.patch || die
79    
80     # set our cflags and fix up our header and lib locations
81     cd ${SRCDIR}/mkspecs/${PLATFORM}
82     sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
83     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
84     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
85     -e 's:$(QTDIR)/include:&/qt:' \
86     -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
87     qmake.conf \
88     || die
89    
90     # fix libdir to lib64 on 64bit arches
91     sed -i "s:/lib$:/$(mlibdir):" qmake.conf || die
92    
93     # disable rpath
94     sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" qmake.conf || die
95    
96     # get rid of /usr/X11R6
97     sed -i "s:X11R6/::" qmake.conf || die
98    
99     # same goes for the g++ definitions
100     # they where moved to an extra file with qt4
101     cd ${SRCDIR}/mkspecs/common
102     sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CPPFLAGS} ${CFLAGS} ${ASFLAGS}:" \
103     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CPPFLAGS} ${CXXFLAGS} ${ASFLAGS}:" \
104     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
105     -e 's:$(QTDIR)/include:&/qt:' \
106     -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
107     g++.conf \
108     || die
109    
110     # fix libdir to lib64 on 64bit arches
111     sed -i "s:/lib$:/$(mlibdir):" g++.conf || die
112    
113     # disable rpath
114     sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" g++.conf || die
115    
116     # get rid of /usr/X11R6
117     sed -i "s:X11R6/::" linux.conf || die
118     }
119    
120     src_compile()
121     {
122     cd ${SRCDIR}
123    
124     # add missing lib64 search path on 64bit arches
125     local myconf
126     [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)"
127    
128     # enable this only for binutils >=2.18
129     [[ $(ld -v | sed 's/.*\ \([0-9].[0-9].*\)/\1/') > 2.17 ]] && myconf="${myconf} -reduce-relocations"
130    
131     ./configure \
132     -prefix ${QT_PREFIX} \
133     -sysconfdir /etc/${PNAME} \
134     -datadir ${QT_PREFIX}/share/qt \
135     -docdir ${QT_PREFIX}/share/doc/qt-${PVER} \
136     -headerdir ${QT_PREFIX}/include/qt \
137     -plugindir ${QT_PREFIX}/$(mlibdir)/qt/plugins \
138     -libdir ${QT_PREFIX}/$(mlibdir) \
139     -datadir ${QT_PREFIX}/share/qt \
140     -translationdir ${QT_PREFIX}/share/qt/translations \
141     -confirm-license \
142     -opensource \
143     -platform ${PLATFORM} \
144     -xplatform ${PLATFORM} \
145     -verbose \
146     -silent \
147     -fast \
148     -release \
149     -no-separate-debug-info \
150     -optimized-qmake \
151     -system-libjpeg \
152     -system-libmng \
153     -system-libpng \
154     -system-zlib \
155     -system-nas-sound \
156     -system-sqlite \
157     -nomake examples \
158     -nomake demos \
159     -nomake docs \
160     -no-rpath \
161     -qt3support \
162     -stl \
163     -lpthread \
164     -largefile \
165     -sm \
166     -xrender \
167     -opengl \
168     -qt-gif \
169     -cups \
170     -dbus-linked \
171     -openssl \
172     -webkit \
173     -no-phonon \
174     ${myconf} \
175     || die
176    
177     mmake all || die
178     }
179    
180     src_install()
181     {
182     cd ${SRCDIR}
183     mmake INSTALL_ROOT=${BINDIR} install || die
184    
185     # remove broken qmake link and install binary
186     if [ -L ${BINDIR}/${QT_PREFIX}/bin/qmake ]
187     then
188     echo "removing broken qmake symlink"
189     rm -f ${BINDIR}/${QT_PREFIX}/bin/qmake || die
190     echo "installing qmake binary"
191     minstallexec ${SRCDIR}/qmake/qmake ${QT_PREFIX}/bin || die
192     fi
193    
194     # remove broken linux-g++ link if exists
195     if [ -L ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} ]
196     then
197     echo "removing broken ${PLATFORM} symlink"
198     rm ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} || die
199     fi
200    
201     # install some missing binaries
202     # minstallexec ${SRCDIR}/bin/qtrename140 ${QT_PREFIX}/bin || die
203     minstallexec ${SRCDIR}/bin/uic ${QT_PREFIX}/bin || die
204     minstallexec ${SRCDIR}/bin/findtr ${QT_PREFIX}/bin || die
205     # minstallexec ${SRCDIR}/bin/qt20fix ${QT_PREFIX}/bin || die
206    
207     # qmake cache file
208     sed "s:${SRCDIR}:${QT_PREFIX}:g" ${SRCDIR}/.qmake.cache > ${BINDIR}/${QT_PREFIX}/share/qt/.qmake.cache || die
209    
210     # some needed symlinks
211     mlink libqt-mt.so ${QT_PREFIX}/$(mlibdir)/libqt.so || die
212     # symlink qmake to qmakeMAJversion
213     mlink qmake ${QT_PREFIX}/bin/qmake${PVER:0:1} || die
214    
215     # remove unneeded specs
216     echo "removing unneeded specs ..."
217     install -d ${BUILDDIR}/keep
218     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/default ${BUILDDIR}/keep || die
219     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/common ${BUILDDIR}/keep || die
220     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/features ${BUILDDIR}/keep || die
221     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/qws ${BUILDDIR}/keep || die
222     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM} ${BUILDDIR}/keep || die
223     if [[ ${ARCH} = x86_64 ]]
224     then
225     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/linux-g++ ${BUILDDIR}/keep || die
226     fi
227     mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/qconfig.pri ${BUILDDIR}/keep || die
228     rm -rf ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/* || die
229     mv ${BUILDDIR}/keep/* ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs || die
230    
231     # docs
232     minstalldocs GPL* changes-${PVER} LICENSE* OPENSOURCE* README* || die
233    
234     # # man
235     # cp -r doc/man ${BINDIR}/${QT_PREFIX}/share || die
236     # gzip -r9 ${BINDIR}/${QT_PREFIX}/share/man || die
237     #
238     # # don't want the tutorial anymore, too big
239     # rm -rf ${BINDIR}/${QT_PREFIX}/share/doc/qt-${PVER}/html || die
240     # # don't want the demos too
241     # rm -rf ${BINDIR}/${QT_PREFIX}/demos || die
242    
243     # environ vars
244     minstalldir /etc/env.d || die
245     echo "QMAKESPEC=\"${PLATFORM}\"" > ${BINDIR}/etc/env.d/45${PNAME} || die
246     echo "QTDIR=\"${QT_PREFIX}\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
247    
248     if [[ ${QT_PREFIX} != /usr ]]
249     then
250     # overwrite the env file here, there may be one in user
251     # and we want this as system-wide default
252     :> ${BINDIR}/etc/env.d/45${PNAME} || die
253     echo "PATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
254     echo "ROOTPATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
255     echo "LDPATH=\"${QT_PREFIX}/$(mlibdir)\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
256     echo "MANPATH=\"${QT_PREFIX}/share/man\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
257     echo "PKG_CONFIG_PATH=\"${QT_PREFIX}/$(mlibdir)/pkgconfig\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
258     fi
259     }

Properties

Name Value
svn:keywords Id