# Use --define 'noxlc 1' on the command line to use gcc %{!?noxlc:%define XLC 1} %{?noxlc:%define XLC 0} %define qtdir %{_prefix}/%{name} Name: qt Summary: The shared library for the Qt GUI toolkit. Version: 3.0.3 Release: 1 Source: ftp://ftp.trolltech.com/qt/source/qt-x11-free-%{version}.tar.gz Patch0: qt-x11-free-%{version}-aix.patch URL: http://www.trolltech.com/ Copyright: GPL Group: System Environment/Libraries Buildroot: %{_tmppath}/%{name}-buildroot Prefix: %{_prefix} Requires: libjpeg, libpng, zlib, libungif, libmng BuildRequires: libjpeg-devel, libpng-devel, zlib-devel, libungif-devel, libmng-devel %package devel Summary: Development files and documentation for the Qt GUI toolkit. Group: Development/Libraries Requires: %{name} = %{version}-%{release} %package designer Summary: Interface designer (IDE) for the Qt toolkit Group: Development/Tools Requires: %{name}-devel = %{version}-%{release} %package Xt Summary: An Xt (X Toolkit) compatibility add-on for the Qt GUI toolkit. Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description Qt is a GUI software toolkit which simplifies the task of writing and maintaining GUI (Graphical User Interface) applications for the X Window System. Qt is written in C++ and is fully object-oriented. This package contains the shared library needed to run %{name} applications, as well as the README files for %{name}. %description devel The %{name}-devel package contains the files necessary to develop applications using the Qt GUI toolkit: the header files, the Qt meta object compiler, the man pages, the HTML documentation and example programs. See http://www.trolltech.com/products/qt.html for more information about Qt, or look at %{_docdir}/%{name}-devel-%{version}/html/index.html, which provides Qt documentation in HTML format. Install %{name}-devel if you want to develop GUI applications using the Qt toolkit. %description designer The %{name}-designer package contains an User Interface designer tool for the Qt toolkit. %description Xt An Xt (X Toolkit) compatibility add-on for the Qt GUI toolkit. %prep %setup -q -n qt-x11-free-%{version} find . -type d -name CVS | xargs rm -rf %patch0 -p0 %build export QTDIR=`/bin/pwd` export PATH="$QTDIR/bin:$PATH" # Temporary until g++ compiler is in better shape. perl -pi -e "s/-O2/-O0/g" mkspecs/aix-g++/qmake.conf #FIXME: Try -O3 perl -pi -e "s/-O3//g" mkspecs/aix-xlc/qmake.conf # Use the correct hardcoded libpath so relocation works for file in mkspecs/aix-*/qmake.conf; do sed -e 's|-l\(qt\|qt-mt\)|-l\1 -Wl,-blibpath:%{qtdir}/lib:%{_libdir}:/usr/lib:/lib|g' < $file > $file.sed mv -v $file.sed $file done # but set library path so that uic and moc can still find libqt during the make (before relocation). export LIBPATH=${QTDIR}/lib #FIXME: -plugin-sql-mysql? -plugin-imgfmt instead of -qt-imgfmt? #FIXME: -no-style for that style that segfaults in kde # -xkb check fails: no XkbSetPerClientControls in /usr/include/X11/XKBlib.h # -stl caused C++ compilation error during build of KDE export FLAGS="-prefix $RPM_BUILD_ROOT%{qtdir} \ -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng -xkb -no-stl \ -qt-gif -system-zlib -system-libpng -system-libjpeg -system-libmng \ -platform %{!?noxlc: aix-xlc} %{?noxlc: aix-g++ -no-g++-exceptions}" # Build nonthreaded library. Not examples, tools, or tutorial. echo yes | ./configure $FLAGS -no-thread make sub-src # Clean the build directories. make clean # Build threaded binaries. echo yes | ./configure $FLAGS -thread make cd extensions/xt/src qmake -o Makefile "LIBS+=-lXt" qxt.pro make cd - %install [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT export QTDIR=`/bin/pwd` make install # Also install the nonthreaded and qxt libraries. cp lib/libqt.* $RPM_BUILD_ROOT%{qtdir}/lib cp lib/libqxt.* $RPM_BUILD_ROOT%{qtdir}/lib for file in ANNOUNCE FAQ LICENSE.* README* changes-*; do cp $file $RPM_BUILD_ROOT%{qtdir} done # install man pages mkdir -p $RPM_BUILD_ROOT%{_mandir} cp -fR doc/man/man* $RPM_BUILD_ROOT%{_mandir} # change manpages like QChar.3qt to QChar.3 for manpage in `find $RPM_BUILD_ROOT%{_mandir} -name "*\.?qt"`; do mv $manpage `echo $manpage | sed -e 's/qt$//'` done # include a link for the docdir mkdir -p $RPM_BUILD_ROOT%{_docdir} (cd $RPM_BUILD_ROOT%{_docdir} && ln -s ../qt/doc %{name}-devel-%{version}) # Do not include compiled examples. make -C tutorial clean make -C examples clean find tutorial examples -type f -perm 755 | xargs rm -f for file in `find tutorial examples -name Makefile`; do sed -e 's|%{_builddir}/%{name}.*%{version}|\$\(QTDIR\)|' \ -e 's|/.*\.qmake\.cache||' \ -e 's|\.\./\.\.|\$\(QTDIR\)|' \ -e 's|%{qtdir}|\$\(QTDIR\)|' \ -e 's| \$(QTDIR)/.*\.prl||' $file > $file.sed mv $file.sed $file done for file in `find tutorial examples -name '*.pro'`; do sed -e '/^REQUIRES.*=/d' $file > $file.sed mv $file.sed $file done cp -fR tutorial $RPM_BUILD_ROOT%{qtdir} cp -fR examples $RPM_BUILD_ROOT%{qtdir} # strip binaries for i in $RPM_BUILD_ROOT%{qtdir}/bin/*; do /usr/bin/strip $i || : done perl -pi -e "s|$RPM_BUILD_ROOT||g" $RPM_BUILD_ROOT%{qtdir}/include/qconfig.h (cd $RPM_BUILD_ROOT%{qtdir}/mkspecs && rm -f default && ln -sf %{!?noxlc: aix-xlc} %{?noxlc: aix-g++} default) # get rid of mkspecs for other platforms find $RPM_BUILD_ROOT%{qtdir}/mkspecs -type d -name "*-*" ! -name "aix-*" -print | xargs rm -rf # make a /usr/qt symbolic link mkdir -p $RPM_BUILD_ROOT/usr ln -sf ..%{qtdir} $RPM_BUILD_ROOT/usr %clean [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc ANNOUNCE FAQ LICENSE.* README* changes-* %dir %{qtdir} %dir %{qtdir}/lib %{qtdir}/lib/libqt.a %{qtdir}/lib/libqt-mt.a %{qtdir}/lib/libqui.a %{qtdir}/lib/libeditor.a %dir %{qtdir}/bin %{qtdir}/bin/qtconfig /usr/%{name} %files devel %defattr(-,root,root,-) %{qtdir}/bin/assistant %{qtdir}/bin/moc %{qtdir}/bin/uic %{_mandir}/man1/moc.1 %{_mandir}/man1/uic.1 %{qtdir}/bin/qmake %{qtdir}/bin/qm2ts %{qtdir}/include %{qtdir}/mkspecs %{qtdir}/examples %{qtdir}/tutorial %{qtdir}/doc %{qtdir}/lib/libqt.a %{qtdir}/lib/libqt-mt.a %{qtdir}/lib/libqui.a %{qtdir}/lib/libeditor.a %{_mandir}/man3/* %{_docdir}/%{name}-devel-%{version} %files designer %defattr(-,root,root,-) %{qtdir}/bin/designer %{qtdir}/bin/linguist %{qtdir}/bin/lrelease %{qtdir}/bin/lupdate %{qtdir}/plugins/designer %{_mandir}/man1/lrelease.1 %{_mandir}/man1/lupdate.1 %files Xt %defattr(-,root,root,-) %{qtdir}/lib/libqxt.a %changelog * Wed Mar 27 2002 Reza Arbab - 3.0.3 - build with xlC * Mon Jul 2 2001 Reza Arbab - Update to 2.3.1 . - Build with libmng. Add it to requirements. * Fri Mar 09 2001 Marc Stephenson - Rebuild against new shared objects * Fri Feb 9 2001 pkgmgr - 2.2.4 * Tue Dec 12 2000 pkgmgr - Modify for AIX Freeware distribution * Fri Nov 17 2000 Bernhard Rosenkraenzer - Fix up uic (Patch from trolltech) * Wed Nov 15 2000 Bernhard Rosenkraenzer - Build qt-embedded changes to base: fix build, fix ISO C99 compliance, fix 64bit support * Mon Nov 13 2000 Bernhard Rosenkraenzer - 2.2.2 * Tue Oct 24 2000 Than Ngo - call ldconfig for updating (Bug #19687) - added patch from Trolltech, thanks to Rainer * Wed Oct 18 2000 Bernhard Rosenkraenzer - Add missing msg2qm, msgmerge, qconfig tools (Bug #18997), introduced by broken Makefiles in base - fix up %%install so it works both with old-style and new-style fileutils (fileutils <= 4.0z don't know about -L) * Fri Oct 13 2000 Bernhard Rosenkraenzer - Disable exception handling; this speeds up KDE 2.x and reduces its memory footprint by 20 MB. * Tue Oct 10 2000 Bernhard Rosenkraenzer - dereference symlinks in include * Sun Oct 8 2000 Bernhard Rosenkraenzer - fix -devel - update to the new version of 2.2.1 on trolltech.com; the initial tarball contained broken docs * Thu Oct 5 2000 Bernhard Rosenkraenzer - 2.2.1 * Mon Sep 25 2000 Bernhard Rosenkraenzer - Add missing uic * Thu Sep 21 2000 Bernhard Rosenkraenzer - Move Qt designer to a different source RPM to get rid of a circular dependency (kdelibs2->qt, qt->kdelibs2) - Enable MNG support - Don't compile (just include) examples and tutorials - move the static libraries to a separate package (qt-static). They're HUGE, and most people won't ever need them. - clean up spec file - fix up dependencies (-devel requires base, -static requires devel, Xt requires base) - add BuildRequires line * Tue Sep 12 2000 Than Ngo - update release 2.2.0 - changed copyright to GPL - added missing static libraries - made symbolic link for designer to load the help files correct - made designer and designer-kde2 as sub packages - added missing templates for designer - remove jakub patch, since the release 2.2.0 already contains this patch. - fixed qt again to compile with gcc-2.96 - use make -j for building * Wed Aug 23 2000 Bernhard Rosenkraenzer - Work around compiler bugs (Patch from Jakub) - Use relative symlinks (Bug #16750) * Mon Aug 21 2000 Bernhard Rosenkraenzer - beta2 * Mon Aug 14 2000 Bernhard Rosenkraenzer - new qt-copy from KDE2 CVS * Wed Aug 9 2000 Bernhard Rosenkraenzer - official beta 1 * Thu Aug 3 2000 Than Ngo - rebuilt against the libpng-1.0.8 * Thu Jul 27 2000 Bernhard Rosenkraenzer - rebuild (so we have it on all arches) * Tue Jul 25 2000 Bernhard Rosenkraenzer - move man pages to a more reasonable place (this fixes Bug #14126) - exclude ia64 for now (compiler problems!!!) * Mon Jul 24 2000 Harald Hoyer - modified connect patch to fit qt 2.2.0 beta. * Thu Jul 20 2000 Bernhard Rosenkraenzer - update to current qt-copy; this is now a qt 2.2.0 beta. * Mon Jul 17 2000 Bernhard Rosenkraenzer - update to current qt-copy in kde CVS, required * Wed Jul 12 2000 Prospector - automatic rebuild * Sun Jul 11 2000 Harald Hoyer - made patch smaller and binary compatible when recompiled with 6.2 - modified connect and moc to cope with the new g++ class layout * Sun Jul 09 2000 Than Ngo - rebuilt qt with gcc-2.96-34 * Fri Jul 07 2000 Than Ngo - rebuilt qt with c++ 2.96 * Mon Jul 3 2000 Bernhard Rosenkraenzer - Fix dependancies * Sun Jul 2 2000 Bernhard Rosenkraenzer - Use egcs++ for now * Wed Jun 28 2000 Preston Brown - fix up qt.sh * Sun Jun 25 2000 Bernhard Rosenkraenzer - Build in jpeg and threading support - Fix a bug in clipboard pasting code * Wed Jun 07 2000 Preston Brown - fix qt.{sh,csh} - use new rpm macro paths - package man pages * Fri Jun 2 2000 Bill Nottingham - build without optimization on ia64 * Mon May 29 2000 Bernhard Rosenkraenzer - 2.1.1 * Thu May 18 2000 Florian La Roche - recompile with correct libstdc++ * Thu Apr 13 2000 Bernhard Rosenkraenzer - 2.1.0 final * Wed Apr 5 2000 Bernhard Rosenkraenzer - beta4 - depend on libGL.so.1 rather than Mesa - XFree86 4.0 provides that lib, too * Wed Mar 22 2000 Bernhard Rosenkraenzer - beta3 * Tue Mar 7 2000 Bernhard Rosenkraenzer - beta2 - fix compilation of the NSPlugin add-on * Fri Mar 3 2000 Bill Nottingham - fix %postun script * Fri Feb 18 2000 Bernhard Rosenkränzer - beta1 - get rid of qt-ImageIO, the functionality is now in the main Qt library - remove qt-Network, the functionality is now in the main Qt library - add changes-2.1.0 to %doc * Thu Feb 17 2000 Preston Brown - no refcount check on postun script, we want it to happen even on upgrades * Thu Feb 10 2000 Bernhard Rosenkraenzer - new snapshot, should fix QWhatsThisButton - remove executable permissions from *.pro files * Mon Feb 07 2000 Preston Brown - strip binaries in examples, tutorial * Mon Jan 31 2000 Bernhard Rosenkraenzer - new snapshot - should fix the hotkey bug - Fix up the Makefiles so it compiles * Tue Jan 18 2000 Bernhard Rosenkraenzer - new snapshot - we need those QVariant fixes * Thu Jan 13 2000 Bernhard Rosenkraenzer - switch from glxMesa to Mesa for the GL addon * Wed Jan 5 2000 Bernhard Rosenkränzer - Fix up dependencies - new snapshot * Mon Jan 3 2000 Ngo Than - new snapshot for Red Hat Linux 6.2 - increase version number * Mon Dec 20 1999 Bernhard Rosenkraenzer - new snapshot - handle RPM_OPT_FLAGS * Mon Dec 13 1999 Bernhard Rosenkraenzer - new snapshot - -GL requires libGL.so.1 instead of Mesa (might as well be glxMesa or some commercial OpenGL) - -GL BuildPrereqs /usr/X11R6/include/GL/gl.h instead of Mesa-devel (might as well be glxMesa or some commercial OpenGL) * Sun Dec 05 1999 Bernhard Rosenkraenzer - update to current RSYNC version - remove compilation patch - it finally works out of the box * Wed Oct 27 1999 Bernhard Rosenkraenzer - update to current CVS snapshot - build extensions - add patch to fix QNetwork compilation * Sun Oct 24 1999 Bernhard Rosenkraenzer - current CVS snapshot - fix compilation with gcc 2.95.x - use install -c rather than just install to make BSD install happy * Mon Oct 11 1999 Bernhard Rosenkraenzer - 2.1.0 snapshot (for KDE2) - Fix typo in spec * Thu Sep 23 1999 Preston Brown - don't ship tutorial or example binaries * Tue Sep 21 1999 Preston Brown - substitution in tutorial and examples so that dependencies are correct and they can be successfully rebuilt. - switched to completely using QTDIR. trying to coexist with links into /usr/{include,lib} and still compile with qt 1.x is very hard for configure scripts to cope with. * Thu Aug 19 1999 Preston Brown - implemented QTDIR compatibility. * Tue Jul 20 1999 Preston Brown - qt 2.0.1 packaged. * Wed Jul 14 1999 Preston Brown - Qt 2.00 packaged. - examples, html documentation, tutorial moved to /usr/doc * Sat Apr 17 1999 Preston Brown - static library supplied in dev package. * Wed Apr 07 1999 Preston Brown - turn on internal GIF reading support * Tue Apr 06 1999 Preston Brown - strip binaries * Mon Mar 15 1999 Preston Brown - upgrade to qt 1.44. * Wed Feb 24 1999 Preston Brown - Injected new description and group. * Tue Jan 19 1999 Preston Brown - moved includes to /usr/include/qt * Mon Jan 04 1999 Preston Brown - made setup phase silent. * Fri Dec 04 1998 Preston Brown - upgraded to qt 1.42, released today. * Tue Dec 01 1998 Preston Brown - took Arnts RPM and made some minor changes for Red Hat.