From: <mo...@us...> - 2008-04-29 14:43:35
|
Revision: 1068 http://pkgbuild.svn.sourceforge.net/pkgbuild/?rev=1068&view=rev Author: moinakg Date: 2008-04-29 07:24:59 -0700 (Tue, 29 Apr 2008) Log Message: ----------- * SFEqt3.spec Changes to build 32Bit and 64Bit Qt. Derived from Thomas Wagner's changes. Add new doc package. Modified Paths: -------------- spec-files-extra/trunk/SFEqt3.spec Modified: spec-files-extra/trunk/SFEqt3.spec =================================================================== --- spec-files-extra/trunk/SFEqt3.spec 2008-04-29 03:46:19 UTC (rev 1067) +++ spec-files-extra/trunk/SFEqt3.spec 2008-04-29 14:24:59 UTC (rev 1068) @@ -5,6 +5,14 @@ %include Solaris.inc +%ifarch amd64 +%include arch64.inc +%endif + +%include base.inc + +%define pqdir /usr/postgres/8.2 + Name: SFEqt3 Summary: Cross-platform development framework/toolkit (older version) Version: 3.3.8 @@ -43,14 +51,15 @@ Requires: SUNWxwplt # The above bring in many things, including SUNWxwice and SUNWzlib Requires: SUNWxwxft +BuildRequires: SUNWxorg-headers +BuildRequires: SUNWxorg-mesa # The above also pulls in SUNWfreetype2 Requires: SFEcups Requires: SFElibmng -Requires: SUNWsqlite3 BuildRequires: SFEcups-devel BuildRequires: SUNWsqlite3 BuildRequires: SUNWsfwhea -BuildRequires: SUNWpostgr-devel +BuildRequires: SUNWpostgr-82-devel BuildRequires: SFElibmng-devel %package devel @@ -59,11 +68,18 @@ %include default-depend.inc Requires: %name +%package doc +Summary: %{summary} - Documentation +SUNW_BaseDir: %{_prefix} +%include default-depend.inc +Requires: %name + %prep -%setup -q -n qt-x11-free-%version +%setup -q -c -n %name-%version + +cd qt-x11-free-%version %patch1 -p1 %patch2 -p1 -#%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 @@ -82,26 +98,94 @@ %patch19 -p1 %patch20 -p1 %patch21 -p1 +cd .. +%ifarch amd64 +cp -rp qt-x11-free-%version qt-x11-free-%version-64 +%endif + %build CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '` if test "x$CPUS" = "x" -o $CPUS = 0; then CPUS=1 fi +export CFLAGS32="%optflags -I/usr/X11/include -I/usr/gnu/include -I/usr/sfw/include -I/usr/include/pgsql -I/usr/include/pgsql/server -I/usr/sfw/include/mysql" +export CFLAGS64="%optflags64 -I/usr/X11/include -I/usr/gnu/include -I/usr/sfw/include -I/usr/include/pgsql -I/usr/include/pgsql/server -I/usr/sfw/include/mysql" + +export LDFLAGS32="%_ldflags -L/usr/X11/lib -R/usr/X11/lib -L/usr/gnu/lib -R/usr/gnu/lib -L/usr/sfw/lib -R/usr/sfw/lib -L%{_builddir}/qt-x11-free-%{version}/lib" +export LDFLAGS64="%_ldflags64 -L/usr/X11/lib/%{_arch64} -R/usr/X11/lib/%{_arch64} -L/usr/gnu/lib/%{_arch64} -R/usr/gnu/lib/%{_arch64} -L/usr/sfw/lib/%{_arch64} -R/usr/sfw/lib/%{_arch64} -L%{_builddir}/qt-x11-free-%{version}-64/lib" + +%ifarch amd64 if [ "x`basename $CC`" != xgcc ] then + PLATFORM=solaris-cc-64 +else + PLATFORM=solaris-g++-64 +fi + +export CFLAGS="$CFLAGS64" +export LDFLAGS="$LDFLAGS64" +export LD_LIBRARY_PATH="/usr/lib:/usr/X11/lib:/usr/gnu/lib:/usr/sfw/lib:%{_builddir}/%name-%version/qt-x11-free-%{version}-64/lib" +cd qt-x11-free-%version-64 + +# +# MySQL,Sqlite plugins not built in 64Bit since no 64Bit MySQL,Sqlite available yet. +# +./configure -prefix %{_prefix} \ + -bindir %{_prefix}/bin/%{_arch64} \ + -libdir %{_libdir}/%{_arch64} \ + -shared \ + -release \ + -platform ${PLATFORM} \ + -thread \ + -system-libpng \ + -system-libjpeg \ + -system-libmng \ + -system-zlib \ + -xft \ + -xcursor \ + -xrandr \ + -xrender \ + -plugin-sql-psql \ + -dlopen-opengl \ + -no-exceptions \ + -docdir %{_docdir}/qt3 \ + -headerdir %{_includedir}/qt3 \ + -plugindir %{_libdir}/%{_arch64}/qt3/plugins \ + -datadir %{_datadir}/qt3 \ + -translationdir %{_datadir}/qt3/translations \ + -sysconfdir %{_sysconfdir} \ + -I%{pqdir}/include -I%{pqdir}/include/server \ + -I/usr/X11/include -I/usr/gnu/include -I/usr/sfw/include -I/usr/sfw/include/mysql \ + -L%{pqdir}/lib/%{_arch64} -R%{pqdir}/lib/%{_arch64} \ + -L/usr/X11/lib/%{_arch64} -R/usr/X11/lib/%{_arch64} \ + -L/usr/gnu/lib/%{_arch64} -R/usr/gnu/lib/%{_arch64} \ + -L/usr/sfw/lib/%{_arch64} -R/usr/sfw/lib/%{_arch64} \ + -v + +perl -pi -e 's,^(QMAKE_INCDIR_QT\s*=).*,$1 \$(QTDIR)/include/qt3,' mkspecs/solaris-*/qmake.conf +export PATH=${PATH}:${RPM_BUILD_DIR}/%name-%version/qt-x11-free-%version-64/qmake + +make -j$CPUS +cd .. +%endif + +if [ "x`basename $CC`" != xgcc ] +then PLATFORM=solaris-cc else PLATFORM=solaris-g++ fi -export CFLAGS="%optflags -I/usr/X11/include -I/usr/gnu/include -I/usr/sfw/include -I/usr/include/pgsql -I/usr/include/pgsql/server -I/usr/sfw/include/mysql" -#export CXXFLAGS=$CFLAGS -export LDFLAGS="%_ldflags -L/usr/X11/lib -R/usr/X11/lib -L/usr/gnu/lib -R/usr/gnu/lib -L/usr/sfw/lib -R/usr/sfw/lib -L%{_builddir}/qt-x11-free-%{version}/lib" -export LD_LIBRARY_PATH="/usr/lib:/usr/X11/lib:/usr/gnu/lib:/usr/sfw/lib:%{_builddir}/qt-x11-free-%{version}/lib" +export CFLAGS="$CFLAGS32" +export LDFLAGS="$LDFLAGS32" +export LD_LIBRARY_PATH="/usr/lib:/usr/X11/lib:/usr/gnu/lib:/usr/sfw/lib:%{_builddir}/%name-%version/qt-x11-free-%{version}/lib" +cd qt-x11-free-%version ./configure -prefix %{_prefix} \ + -bindir %{_prefix}/bin/%{base_isa} \ + -libdir %{_libdir} \ -shared \ -release \ -platform ${PLATFORM} \ @@ -132,19 +216,63 @@ -v perl -pi -e 's,^(QMAKE_INCDIR_QT\s*=).*,$1 \$(QTDIR)/include/qt3,' mkspecs/solaris-*/qmake.conf +export PATH=${PATH}:${RPM_BUILD_DIR}/%name-%version/qt-x11-free-%version/qmake make -j$CPUS %install rm -rf $RPM_BUILD_ROOT +%ifarch amd64 +cd qt-x11-free-%version-64 make install INSTALL_ROOT=$RPM_BUILD_ROOT # Developing Qt apps needs a few .a libs # +rm ${RPM_BUILD_ROOT}%{_libdir}/%{_arch64}/*.la +cd .. +%endif + +cd qt-x11-free-%version +make install INSTALL_ROOT=$RPM_BUILD_ROOT + +# Developing Qt apps needs a few .a libs +# rm ${RPM_BUILD_ROOT}%{_libdir}/*.la # +# Following stuff is commented for now as we do not +# want to link Qt3 binaries to isaexec yet. We do not +# every qmake build to use 64Bit libraries even for +# 32Bit apps. +# +## +## Prepare isaexec links +## +#for f in `ls -1 $RPM_BUILD_ROOT%{_prefix}/bin/%{base_isa}` +#do +# if [ -f $RPM_BUILD_ROOT%{_prefix}/bin/%{base_isa}/$f -a -x $RPM_BUILD_ROOT%{_prefix}/bin/%{base_isa}/$f ] +# then +# echo "Linking to isaexec: $RPM_BUILD_ROOT%{_prefix}/bin/$f" +# +# # how many "/" below $RPM_BUILD_ROOT - add "../" to isaexec path depending how many "/" are in $f +# ISAEXECOFFSET=`echo %{_prefix}/bin/ | sed -e 's?/\{0,1\}\w*\(/\)?../?g' | sed -e 's?\(\w*$\)??'` +# ln -s ${ISAEXECOFFSET}../usr/lib/isaexec $RPM_BUILD_ROOT%{_prefix}/bin/$f +# fi +#done +# +# Just link directly to 32Bit apps for now +# +for f in `ls -1 $RPM_BUILD_ROOT%{_prefix}/bin/%{base_isa}` +do + if [ -f $RPM_BUILD_ROOT%{_prefix}/bin/%{base_isa}/$f -a -x $RPM_BUILD_ROOT%{_prefix}/bin/%{base_isa}/$f ] + then + ln -s ./%{base_isa}/$f $RPM_BUILD_ROOT%{_prefix}/bin/$f + fi +done + + +# # Create a compatibility doc link # (cd ${RPM_BUILD_ROOT}%{_datadir}/qt3 @@ -160,29 +288,76 @@ %files %defattr (-, root, bin) %dir %attr (0755, root, bin) %{_bindir} +%if %can_isaexec +%{_bindir}/%{_arch64}/* +%{_bindir}/%{base_isa}/* +%hard %{_bindir}/assistant +%hard %{_bindir}/designer +%hard %{_bindir}/linguist +%hard %{_bindir}/lrelease +%hard %{_bindir}/lupdate +%hard %{_bindir}/moc +%hard %{_bindir}/qm2ts +%hard %{_bindir}/qmake +%hard %{_bindir}/qtconfig +%hard %{_bindir}/uic +%else %{_bindir}/* +%endif + %dir %attr (0755, root, bin) %{_libdir} %{_libdir}/lib*.so* -%dir %attr (0755, root, other) %{_libdir}/pkgconfig -%{_libdir}/pkgconfig/*.pc %dir %attr (0755, root, bin) %{_libdir}/qt3 %{_libdir}/qt3/* +%ifarch amd64 +%dir %attr (0755, root, bin) %{_libdir}/%{_arch64} +%{_libdir}/%{_arch64}/lib*.so* +%dir %attr (0755, root, bin) %{_libdir}/%{_arch64}/qt3 +%{_libdir}/%{_arch64}/qt3/* +%endif + +%dir %attr (0755, root, sys) %{_datadir} +%dir %attr (0755, root, bin) %{_datadir}/qt3 +%{_datadir}/qt3/templates/* +%{_datadir}/qt3/phrasebooks/* +%{_datadir}/qt3/translations/* + %files devel %defattr (-, root, bin) %dir %attr (0755, root, bin) %{_libdir} %{_libdir}/lib*.prl %{_libdir}/lib*.a +%dir %attr (0755, root, other) %{_libdir}/pkgconfig +%{_libdir}/pkgconfig/*.pc + +%ifarch amd64 +%dir %attr (0755, root, bin) %{_libdir}/%{_arch64} +%{_libdir}/%{_arch64}/lib*.prl +%{_libdir}/%{_arch64}/lib*.a +%dir %attr (0755, root, other) %{_libdir}/%{_arch64}/pkgconfig +%{_libdir}/%{_arch64}/pkgconfig/*.pc +%endif + %dir %attr (0755, root, bin) %{_includedir} %dir %attr (0755, root, other) %{_includedir}/qt3 %{_includedir}/qt3/* %dir %attr (0755, root, sys) %{_datadir} -%dir %attr (0755, root, other) %{_datadir}/qt3 -%{_datadir}/qt3/* -%dir %attr (0755, root, other) %{_datadir}/doc -%{_datadir}/doc/* +%dir %attr (0755, root, bin) %{_datadir}/qt3 +%{_datadir}/qt3/mkspecs/* +%files doc +%defattr (-, root, bin) +%dir %attr (0755, root, sys) %{_datadir} +%dir %attr (0755, root, bin) %{_datadir}/qt3 +%{_datadir}/qt3/doc +%dir %attr (0755, root, other) %{_docdir} +%{_docdir}/* + %changelog +* Tue Apr 29 2008 - mo...@gm... +- Changes to build 32Bit and 64Bit Qt. Derived from Thomas Wagner's changes. +- Add new doc package. * Sat Mar 29 2008 - la...@su... - fix qmake conf files to point to the correct include dir * Thu Feb 15 2008 - Thomas Wagner This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |