Magellan Linux

Annotation of /branches/R11-unstable/extras/qt3/qt3-3.3.8b-r3.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21080 - (hide annotations) (download)
Mon Mar 10 10:00:06 2014 UTC (10 years, 2 months ago) by niro
Original Path: trunk/extras/qt3/qt3-3.3.8b-r3.smage2
File size: 7413 byte(s)
-fixed HOMEPAGE and SRC_URI
1 niro 21079 # $Id$
2    
3     PNAME="qt3"
4     PVER="3.3.8b"
5     PBUILD="r3"
6    
7     PCAT="x11-libs"
8    
9     DESCRIPTION="Qt: Cross-Platform Rich Client Development Framework."
10 niro 21080 HOMEPAGE="http://qt-project.org/"
11 niro 21079
12     # load qt3 here to overide all depends
13     sminclude mtools qt3
14    
15     DEPEND=">= dev-libs/expat-2
16     >= x11-libs/libICE-1
17     >= x11-libs/libSM-1
18     >= x11-libs/libX11-1.6
19     >= x11-libs/libXau-1
20     >= x11-libs/libxcb-1.10
21     >= x11-libs/libXcursor-1
22     >= x11-libs/libXdmcp-1
23     >= x11-libs/libXext-1.3
24     >= x11-libs/libXfixes-5
25     >= x11-libs/libXft-2.2
26     >= x11-libs/libXi-1.7
27     >= x11-libs/libXinerama-1
28     >= x11-libs/libXrandr-1
29     >= x11-libs/libXrender-0.9
30     >= media-libs/libjpeg-8
31     >= media-libs/libmng-2
32     >= media-libs/libpng-1.5
33     >= media-libs/lcms-1.19
34     >= media-libs/freetype-2.5
35     >= media-libs/fontconfig-2.11
36     >= media-libs/giflib-5
37     >= net-print/libcups-1.7
38     >= sys-libs/zlib-1.2.5
39     >= sys-libs/libstdc++-4.8"
40    
41     SDEPEND=">= sys-dev/bison-2"
42    
43     SRCFILE="qt-x11-free-${PVER}.tar.gz"
44     SRCDIR="${BUILDDIR}/qt-x11-free-${PVER}"
45    
46     SRC_URI=(
47 niro 21080 http://download.qt-project.org/archive/qt/3/${SRCFILE}
48 niro 21079 mirror://qt/${SRCFILE}
49     mirror://qt/qt-no-rpath-uic.patch
50     mirror://qt/qt-no-rpath.patch
51     mirror://qt/qt-3.3.4-qclipboard-hack.patch
52     mirror://qt/qt-3.3.4-flickerfree_qiconview_buffered.patch
53     mirror://qt/qt-3.3.4-flickerfree_qscrollview_fixwindowactivate.patch
54     mirror://qt/qt-3.3.4-0047-fix-kmenu-widget.diff
55     mirror://qt/0001-dnd_optimization.patch
56     mirror://qt/0002-dnd_active_window_fix.patch
57     mirror://qt/0038-dragobject-dont-prefer-unknown.patch
58     mirror://qt/qt-3.3.8-uic-fix.patch
59     mirror://qt/qt-3.3.8-xinerama-improvements.patch
60     mirror://qt/qt-3.3.8-visibility.patch
61     mirror://qt/qt-3.3.8b-gcc46.patch
62     mirror://qt/qt-3.3.8b-libpng15.patch
63     )
64    
65     #
66     ## global vars ##
67     #
68     # install prefix
69     # get this one from qt3.sminc, QTDIR gets overridden later on
70     export QT_PREFIX="${QTDIR}"
71     # source location
72     export QTDIR="${SRCDIR}"
73     export LD_LIBRARY_PATH="${QTDIR}/lib"
74     export PATH="${QTDIR}/bin:${PATH}"
75     export PLATFORM="linux-g++"
76     [[ ${ARCH} = x86_64 ]] && export PLATFORM="linux-g++-64"
77     # etc dir
78     export QT_SYSCONFDIR="/etc/${PNAME}"
79     # envfile
80     export QT_ENVFILE="/etc/env.d/45${PNAME}"
81     #
82     # do not export QMAKE from qt3.sminc
83     unset QMAKE
84    
85     # qt3 tarballs are named qt-x11-free
86     UP2DATE="updatecmd ftp://ftp.qt-project.org/qt/source/ | grep qt-x11-free | lasttarball gz"
87    
88     src_prepare()
89     {
90     munpack ${SRCFILE} || die
91     cd ${SRCDIR}
92    
93     sed -i 's:read acceptance:acceptance=yes:' configure || die
94    
95     mpatch qt-no-rpath-uic.patch || die
96     mpatch qt-no-rpath.patch || die
97    
98     # fixes includehint errors
99     mpatch qt-3.3.8-uic-fix.patch || die
100    
101     # fix freeze caused by bad interaction with kde klipper (kde bug 80072)
102     mpatch qt-3.3.4-qclipboard-hack.patch || die
103    
104     # performance patches (see http://robotics.dei.unipd.it/~koral/KDE/kflicker.html)
105     mpatch qt-3.3.4-flickerfree_qiconview_buffered.patch || die
106     mpatch qt-3.3.4-flickerfree_qscrollview_fixwindowactivate.patch || die
107    
108     # kde related patches
109     mpatch 0001-dnd_optimization.patch || die
110     mpatch 0002-dnd_active_window_fix.patch || die
111     mpatch 0038-dragobject-dont-prefer-unknown.patch || die
112     mpatch qt-3.3.4-0047-fix-kmenu-widget.diff || die
113    
114     # improved xinerama support (see http://ktown.kde.org/~seli/xinerama/)
115     mpatch qt-3.3.8-xinerama-improvements.patch || die
116    
117     # gcc-4.1 visibility fixes (do not apply on <gcc-4.1)
118     mpatch qt-3.3.8-visibility.patch || die
119    
120     # fix build with gcc-4.6
121     mpatch qt-3.3.8b-gcc46.patch || die
122    
123     # fix build against >= libpng-1.5
124     mpatch qt-3.3.8b-libpng15.patch || die
125    
126     # set our cflags and fix up our header and lib locations
127     cd ${SRCDIR}/mkspecs/${PLATFORM}
128     sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
129     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
130     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
131     -e 's:$(QTDIR)/include:&/qt:' \
132     -e "s:\$(QTDIR)/lib:\$(QTDIR)/$(mlibdir):" \
133     qmake.conf \
134     || die
135    
136     # fix libdir to lib64 on 64bit arches
137     if [[ $(mlibdir) != lib ]]
138     then
139     sed -i "s:/lib$:/$(mlibdir):" qmake.conf || die
140     fi
141     }
142    
143     src_compile()
144     {
145     cd ${SRCDIR}
146    
147     # add missing lib64 search path on 64bit arches
148     local myconf
149     [[ $(mlibdir) != lib ]] && myconf="-L/usr/$(mlibdir)"
150    
151     ./configure \
152     -prefix ${QT_PREFIX} \
153     -sysconfdir ${QT_SYSCONFDIR} \
154     -datadir ${QT_PREFIX}/share/qt \
155     -docdir ${QT_PREFIX}/share/doc/qt-${PVER} \
156     -headerdir ${QT_PREFIX}/include/qt \
157     -plugindir ${QT_PREFIX}/$(mlibdir)/qt/plugins \
158     -libdir ${QT_PREFIX}/$(mlibdir) \
159     -datadir ${QT_PREFIX}/share/qt \
160     -translationdir ${QT_PREFIX}/share/qt/translations \
161     -sm \
162     -thread \
163     -stl \
164     -system-libjpeg \
165     -verbose \
166     -largefile \
167     -qt-imgfmt-{jpeg,mng,png} \
168     -tablet \
169     -system-libmng \
170     -system-libpng \
171     -lpthread \
172     -xft \
173     -platform ${PLATFORM} \
174     -xplatform ${PLATFORM} \
175     -xrender \
176     -fast \
177     -cups \
178     -enable-module=opengl \
179     -system-zlib \
180     -qt-gif \
181     -dlopen-opengl \
182     -release \
183     ${myconf} \
184     || die
185    
186     mmake src-qmake src-moc sub-src || die
187     mmake sub-tools || die
188     }
189    
190     src_install()
191     {
192     cd ${SRCDIR}
193     make 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    
223     # remove unneeded specs
224     echo "removing unneeded specs ..."
225     install -d ${BUILDDIR}/keep
226     mv ${BINDIR}${QT_PREFIX}/share/qt/mkspecs/default ${BUILDDIR}/keep || die
227     mv ${BINDIR}${QT_PREFIX}/share/qt/mkspecs/${PLATFORM} ${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 FAQ changes-${PVER} LICENSE* MANIFEST PLATFORMS 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    
241     # environ vars
242     minstalldir /etc/env.d || die
243     MCONFIG="${QT_ENVFILE}"
244     mclearconfig || die
245     maddconfig "QMAKESPEC=\"${PLATFORM}\"" || die
246     maddconfig "QTDIR=\"${QT_PREFIX}\"" || die
247    
248     if [[ ${QT_PREFIX} != /usr ]]
249     then
250     # overwrite the env file here, there may be a qt installation in usr
251     # and we want this one as system-wide default
252     mclearconfig || die
253     maddconfig "PATH=\"${QT_PREFIX}/bin\"" || die
254     maddconfig "ROOTPATH=\"${QT_PREFIX}/bin\"" || die
255     maddconfig "LDPATH=\"${QT_PREFIX}/$(mlibdir)\"" || die
256     maddconfig "MANPATH=\"${QT_PREFIX}/share/man\"" || die
257     maddconfig "PKG_CONFIG_PATH=\"${QT_PREFIX}/$(mlibdir)/pkgconfig\"" || die
258     fi
259     }