Magellan Linux

Contents of /trunk/extras/qt4/qt4-4.5.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id