Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Oct 10 13:29:42 2008 UTC (15 years, 7 months ago) by niro
File size: 7049 byte(s)
import repo
1 # $Header: /magellan-cvs/smage/qt4/qt4-4.4.0-r1.smage2,v 1.1 2008/05/28 13:03:59 niro Exp $
2
3 PNAME="qt4"
4 PVER="4.4.0"
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
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
36 >= media-libs/giflib-4
37 >= sys-apps/dbus-1.1
38 >= virtual/opengl
39 >= media-libs/nas-1.9
40 >= dev-libs/openssl-0.9.8"
41
42 SDEPEND=">= sys-dev/bison-2
43 >= x11-proto/xineramaproto-1
44 >= x11-proto/xextproto-7
45 >= x11-proto/inputproto-1
46 >= dev-util/pkgconfig-0.20"
47
48 SRCFILE="${PNAME/4/}-x11-opensource-src-${PVER}.tar.gz"
49 SRCDIR="${BUILDDIR}/${PNAME/4/}-x11-opensource-src-${PVER}"
50
51 sminclude mtools
52
53 SRC_URI=(
54 ftp://ftp.trolltech.com/qt/source/${SRCFILE}
55 mirror://${PNAME}/${SRCFILE}
56 )
57
58 ## global vars ##
59 export QTDIR=${SRCDIR}
60 export LD_LIBRARY_PATH=${QTDIR}/lib
61 export PATH=${QTDIR}/bin:${PATH}
62 export PLATFORM=linux-g++
63 [[ ${ARCH} = x86_64 ]] && export PLATFORM=linux-g++-64
64 # install prefix
65 export QT_PREFIX=/opt/${PNAME}
66
67 src_prepare()
68 {
69 munpack ${SRCFILE} || die
70 cd ${SRCDIR}
71
72 # set our cflags and fix up our header and lib locations
73 cd ${SRCDIR}/mkspecs/${PLATFORM}
74 sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
75 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
76 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
77 -e 's:$(QTDIR)/include:&/qt:' \
78 -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
79 qmake.conf \
80 || die
81
82 # fix libdir to lib64 on 64bit arches
83 sed -i "s:/lib$:/$(mlibdir):" qmake.conf || die
84
85 # disable rpath
86 sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" qmake.conf || die
87
88 # get rid of /usr/X11R6
89 sed -i "s:X11R6/::" qmake.conf || die
90
91 # same goes for the g++ definitions
92 # they where moved to an extra file with qt4
93 cd ${SRCDIR}/mkspecs/common
94 sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CPPFLAGS} ${CFLAGS} ${ASFLAGS}:" \
95 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CPPFLAGS} ${CXXFLAGS} ${ASFLAGS}:" \
96 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
97 -e 's:$(QTDIR)/include:&/qt:' \
98 -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
99 g++.conf \
100 || die
101
102 # fix libdir to lib64 on 64bit arches
103 sed -i "s:/lib$:/$(mlibdir):" g++.conf || die
104
105 # disable rpath
106 sed -i "s:QMAKE_RPATH.*=.*:QMAKE_RPATH=:" g++.conf || die
107
108 # get rid of /usr/X11R6
109 sed -i "s:X11R6/::" linux.conf || die
110 }
111
112 src_compile()
113 {
114 cd ${SRCDIR}
115
116 # add missing lib64 search path on 64bit arches
117 local myconf
118 [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)"
119
120 # enable this only for binutils >=2.18
121 [[ $(ld -v | cut -d' ' -f4 | cut -d. -f1-2) > 2.17 ]] && myconf="${myconf} -reduce-relocations"
122
123 ./configure \
124 -prefix ${QT_PREFIX} \
125 -sysconfdir /etc/${PNAME} \
126 -datadir ${QT_PREFIX}/share/qt \
127 -docdir ${QT_PREFIX}/share/doc/qt-${PVER} \
128 -headerdir ${QT_PREFIX}/include/qt \
129 -plugindir ${QT_PREFIX}/$(mlibdir)/qt/plugins \
130 -libdir ${QT_PREFIX}/$(mlibdir) \
131 -datadir ${QT_PREFIX}/share/qt \
132 -translationdir ${QT_PREFIX}/share/qt/translations \
133 -sm \
134 -stl \
135 -system-libjpeg \
136 -verbose \
137 -largefile \
138 -tablet \
139 -system-libmng \
140 -system-libpng \
141 -lpthread \
142 -platform ${PLATFORM} \
143 -xplatform ${PLATFORM} \
144 -xrender \
145 -fast \
146 -cups \
147 -system-zlib \
148 -qt-gif \
149 -opengl \
150 -release \
151 -nomake examples \
152 -qdbus \
153 -qt3support \
154 -openssl \
155 -system-nas-sound \
156 -confirm-license \
157 -no-rpath \
158 ${myconf} \
159 || die
160
161 mmake all || die
162 }
163
164 src_install()
165 {
166 cd ${SRCDIR}
167 mmake INSTALL_ROOT=${BINDIR} install || die
168
169 # remove broken qmake link and install binary
170 if [ -L ${BINDIR}/${QT_PREFIX}/bin/qmake ]
171 then
172 echo "removing broken qmake symlink"
173 rm -f ${BINDIR}/${QT_PREFIX}/bin/qmake || die
174 echo "installing qmake binary"
175 minstallexec ${SRCDIR}/qmake/qmake ${QT_PREFIX}/bin || die
176 fi
177
178 # remove broken linux-g++ link if exists
179 if [ -L ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} ]
180 then
181 echo "removing broken ${PLATFORM} symlink"
182 rm ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM}/${PLATFORM} || die
183 fi
184
185 # install some missing binaries
186 # minstallexec ${SRCDIR}/bin/qtrename140 ${QT_PREFIX}/bin || die
187 minstallexec ${SRCDIR}/bin/uic ${QT_PREFIX}/bin || die
188 minstallexec ${SRCDIR}/bin/findtr ${QT_PREFIX}/bin || die
189 # minstallexec ${SRCDIR}/bin/qt20fix ${QT_PREFIX}/bin || die
190
191 # qmake cache file
192 sed "s:${SRCDIR}:${QT_PREFIX}:g" ${SRCDIR}/.qmake.cache > ${BINDIR}/${QT_PREFIX}/share/qt/.qmake.cache || die
193
194 # some needed symlinks
195 mlink libqt-mt.so ${QT_PREFIX}/$(mlibdir)/libqt.so || die
196 # symlink qmake to qmakeMAJversion
197 mlink qmake ${QT_PREFIX}/bin/qmake${PVER:0:1} || die
198
199 # remove unneeded specs
200 echo "removing unneeded specs ..."
201 install -d ${BUILDDIR}/keep
202 mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/default ${BUILDDIR}/keep || die
203 mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/common ${BUILDDIR}/keep || die
204 mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/features ${BUILDDIR}/keep || die
205 mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/qws ${BUILDDIR}/keep || die
206 mv ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/${PLATFORM} ${BUILDDIR}/keep || die
207 rm -rf ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs/* || die
208 mv ${BUILDDIR}/keep/* ${BINDIR}/${QT_PREFIX}/share/qt/mkspecs || die
209
210 # docs
211 minstalldocs GPL* changes-${PVER} LICENSE* OPENSOURCE* README* || die
212
213 # man
214 # cp -r doc/man ${BINDIR}/${QT_PREFIX}/share || die
215 # gzip -r9 ${BINDIR}/${QT_PREFIX}/share/man || die
216
217 # don't want the tutorial anymore, too big
218 rm -rf ${BINDIR}/${QT_PREFIX}/share/doc/qt-${PVER}/html || die
219 # don't want the demos too
220 rm -rf ${BINDIR}/${QT_PREFIX}/demos || die
221
222 # environ vars
223 minstalldir /etc/env.d || die
224 echo "QMAKESPEC=\"${PLATFORM}\"" > ${BINDIR}/etc/env.d/45${PNAME} || die
225 echo "QTDIR=\"${QT_PREFIX}\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
226
227 if [[ ${QT_PREFIX} != /usr ]]
228 then
229 # overwrite the env file here, there may be one in user
230 # and we want this as system-wide default
231 :> ${BINDIR}/etc/env.d/45${PNAME} || die
232 echo "PATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
233 echo "ROOTPATH=\"${QT_PREFIX}/bin\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
234 echo "LDPATH=\"${QT_PREFIX}/$(mlibdir)\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
235 echo "MANPATH=\"${QT_PREFIX}/share/man\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
236 echo "PKG_CONFIG_PATH=\"${QT_PREFIX}/$(mlibdir)/pkgconfig\"" >> ${BINDIR}/etc/env.d/45${PNAME} || die
237 fi
238 }

Properties

Name Value
svn:keywords Id