%define _qt3_prefix %{_libdir}/qt3 %define _qt3_bindir %{_qt3_prefix}/bin %define _qt3_datadir %{_qt3_prefix} %define _qt3_docdir %{_datadir}/qt3/doc %define _qt3_examplesdir %{_qt3_datadir}/examples %define _qt3_headerdir %{_qt3_prefix}/include %define _qt3_libdir %{_qt3_prefix}/lib %define _qt3_plugindir %{_qt3_prefix}/plugins %define _qt3_translationdir %{_qt3_prefix}/translations %define majversion %(echo %version | cut -d. -f 1-2) %define enable_hidden_visibility 1 %define USE_DISTCC 0 %if "%{USE_DISTCC}" == "1" %define DISTCC CC="ccache distcc" CXX="ccache distcc" -j 12 %endif Name: libqt Version: 3.3.8b Release: 3mamba Summary: A multiplatform, C++ application development framework Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.trolltech.com Source0: ftp://ftp.trolltech.com/qt/source/qt-x11-free-%{version}.tar.gz Source1: qt-qtrcskel Source3: libqt3-qt3logo-icon128x128.png Source4: libqt3-development-qt3.menu Source5: libqt3-development-qt3.directory Source6: libqt3-designer.desktop #Source7: libqt3-designer-icon22x22.png Source8: libqt3-assistant.desktop #Source9: libqt3-assistant-icon22x22.png Source10: libqt3-linguist.desktop #Source11: libqt3-linguist-icon22x22.png Source12: libqt3-qvfb.desktop Source20: libqt3-profile.sh Source21: libqt3-profile.csh Patch0: %{name}-3.3.4-gcc4.patch Patch1: %{name}-3.3.4-gcc4-buildkey.patch Patch2: %{name}-3.3.4-qt-visibility.patch Patch3: %{name}-3.3.5-tools.patch Patch4: %{name}-3.3.5-MAXFONTSIZE_XFT.patch # Immmodule patch got from http://people.freedesktop.org/~daisuke/ Patch5: qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 Patch6: %{name}-3.3.8-gcc43.patch Patch7: %{name}-3.3.8b-png14.patch Patch8: %{name}-3.3.8b-arm-gcc4.patch License: GPL, QPL ## AUTOBUILDREQ-BEGIN BuildRequires: bash BuildRequires: glibc-devel BuildRequires: ldconfig BuildRequires: libexpat-devel BuildRequires: libfontconfig-devel BuildRequires: libfreetype-devel BuildRequires: libgcc BuildRequires: libGL-devel BuildRequires: libGLU-devel BuildRequires: libICE-devel BuildRequires: libjpeg-devel BuildRequires: libmng-devel BuildRequires: libmysql5-devel BuildRequires: libodbc-devel BuildRequires: libpng-devel BuildRequires: libpostgresql-devel BuildRequires: libSM-devel BuildRequires: libstdc++6-devel BuildRequires: libX11-devel BuildRequires: libXcursor-devel BuildRequires: libXext-devel BuildRequires: libXft-devel BuildRequires: libXinerama-devel BuildRequires: libXmu-devel BuildRequires: libXrandr-devel BuildRequires: libXrender-devel BuildRequires: libz-devel ## AUTOBUILDREQ-END BuildRequires: xorg-proto-devel BuildRequires: libXi-devel BuildRequires: libcups-devel BuildRequires: ccache %if "%{USE_DISTCC}" == "1" BuildRequires: distcc %endif Provides: qt = %{version}, libqt3 = %{version}, qt3 = %{version} Requires: setup >= 1.1.14 BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. Qt is available under several different licenses: see http://www.trolltech.com/products/qt/licenses %package devel Group: Development/Libraries Summary: Devel files for QT libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description devel Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains the development files. %package -n qt-designer Group: Development/Libraries Summary: Development tool for QT Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description -n qt-designer Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains a GUI development tool. %package postgresql Group: System/Libraries Summary: PostgreSQL plugin for QT libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description postgresql Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains the PostgreSQL plugin. %package mysql Group: System/Libraries Summary: MySQL plugin for QT libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description mysql Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains the MySQL plugin. %package odbc Group: System/Libraries Summary: ODBC plugin for QT libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description odbc Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains the ODBC plugin. %package sqlite Group: System/Libraries Summary: SQLite plugin for QT libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description sqlite Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains the SQLite plugin. %package inputmethods Group: System/Libraries Summary: Input methods plugins for QT libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description inputmethods Qt sets the standard for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. This package contains the Input Methods plugins. %prep %setup -q -n qt-x11-free-%{version} %patch0 -p1 %patch1 -p1 %if %{enable_hidden_visibility} %patch2 -p1 -b .hidden_visibility %endif %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 ln -s ../src/inputmethod/qinputcontextfactory.h include/qinputcontextfactory.h ln -s ../src/inputmethod/qinputcontextplugin.h include/qinputcontextplugin.h ln -s ../src/kernel/qinputcontext.h include/qinputcontext.h %ifarch arm %patch8 -p1 %endif %build export QTDIR=`pwd` export PATH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/doc/man:$MANPATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH # fix postgresql includes location sed -i "\ s|postgres.h|postgresql/server/postgres.h|;\ s|catalog/pg_type.h|postgresql/server/catalog/pg_type.h|;\ s|mysql.h|mysql/mysql.h|" configure ./configure \ -prefix %{_qt3_prefix} \ -libdir %{_qt3_libdir} \ -docdir %{_qt3_docdir} \ -release \ -qvfb \ -shared \ -no-nas-sound \ -platform linux-g++ \ -enable-tools \ -enable-kernel \ -enable-widgets \ -enable-dialogs \ -enable-iconview \ -enable-workspace \ -enable-network \ -enable-canvas \ -enable-table \ -enable-xml \ -enable-opengl \ -enable-sql \ -qt-imgfmt-png \ -qt-imgfmt-jpeg \ -qt-imgfmt-mng \ -qt-gif \ -sm \ -xinerama \ -xrender \ -xft \ -no-tablet \ -system-libpng \ -system-libmng \ -system-zlib \ -system-libjpeg \ -no-g++-exceptions \ -thread \ -plugin-sql-psql \ -plugin-sql-odbc \ -plugin-sql-mysql \ -plugin-sql-sqlite << EOF yes EOF sed -i "s|INCPATH = | INCPATH = -I/usr/include/postgresql/server |" \ plugins/src/sqldrivers/psql/Makefile sed -i "s|INCPATH = | INCPATH = -I/usr/include/mysql |" \ plugins/src/sqldrivers/mysql/Makefile # remove rpath information from uic executable sed -i "s/[^ ]*-rpath[^ ]*//g" tools/designer/uic/Makefile # fix xml libraries requirement %make SUBLIBS=-lexpat %{?DISTCC} %install [ "%{buildroot}" != / ] && rm -rf %{buildroot} make install INSTALL_ROOT=%{buildroot} install -d %{buildroot}%{_sysconfdir}/skel/.qt cp %{S:1} %{buildroot}%{_sysconfdir}/skel/.qt/qtrc sed -i "s|%_QTVER|%{majversion}|" %{buildroot}%{_sysconfdir}/skel/.qt/qtrc install -D -m644 %{S:3} \ %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/qt3-logo.png install -D -m644 %{S:4} \ %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/development-qt3.menu install -D -m644 %{S:5} \ %{buildroot}%{_datadir}/desktop-directories/development-qt3.directory install -D -m644 %{S:6} \ %{buildroot}%{_datadir}/applications/designer.desktop #install -D -m644 %{S:7} \ # %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/designer.png install -D -m644 %{S:8} \ %{buildroot}%{_datadir}/applications/assistant.desktop #install -D -m644 %{S:9} \ # %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/assistant.png install -D -m644 %{S:10} \ %{buildroot}%{_datadir}/applications/linguist.desktop #install -D -m644 %{S:11} \ # %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/linguist.png install -D -m644 %{S:12} \ %{buildroot}%{_datadir}/applications/qvfb.desktop install -D -m755 %{S:20} \ %{buildroot}%{_sysconfdir}/profile.d/%{name}.sh install -D -m755 %{S:21} \ %{buildroot}%{_sysconfdir}/profile.d/%{name}.csh ## move binaries to bindir #install -d %{buildroot}%{_bindir} #ln -sf \ #%{_qt3_bindir}/{qtconfig,assistant,designer,linguist,lrelease,lupdate,moc,qm2ts,qmake,uic,qembed,qvfb} \ # %{buildroot}/usr/bin # fix a qmake install error with qt 3.3.3 rm -f %{buildroot}%{_qt3_bindir}/qmake cp qmake/qmake %{buildroot}%{_qt3_bindir}/ # remove a wrong symlink rm %{buildroot}%{_qt3_prefix}/mkspecs/linux-g++/linux-g++ install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_qt3_libdir}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf install -D -m 644 lib/qt-mt.pc %{buildroot}%{_libdir}/pkgconfig/qt-mt.pc #rm -f %{buildroot}%{_qt3_prefix}/lib/pkgconfig/qt-mt.pc # install file with rpm macros install -d %{buildroot}%{_sysconfdir}/rpm echo "\ %%_qt3_version %{version} %%_qt3_prefix %%{_libdir}/qt3 %%_qt3_bindir %%{_qt3_prefix}/bin %%_qt3_datadir %%{_qt3_prefix} %%_qt3_docdir %%{_datadir}/qt3/doc %%_qt3_examplesdir %%{_qt3_datadir}/examples %%_qt3_headerdir %%{_qt3_prefix}/include %%_qt3_libdir %%{_qt3_prefix}/lib %%_qt3_plugindir %%{_qt3_prefix}/plugins %%_qt3_translationdir %%{_qt3_prefix}/translations %%_qt3_qmake %%{_qt3_bindir}/qmake" \ > %{buildroot}%{_sysconfdir}/rpm/macros.qt3 %clean [ "%{buildroot}" != / ] && rm -rf %{buildroot} %postun if [ $1 -eq 1 ]; then if [ -w /etc/ld.so.conf ]; then if [ -d /etc/ld.so.conf.d ]; then sed -i "\|^%{_qt3_libdir}$|d" /etc/ld.so.conf else grep -q "^%{_qt3_libdir}$" /etc/ld.so.conf || echo "%{_qt3_libdir}" >> /etc/ld.so.conf fi fi fi /sbin/ldconfig exit 0 %preun if [ $1 -eq 0 ]; then if [ -w /etc/ld.so.conf ]; then sed -i "\|^%{_qt3_libdir}$|d" /etc/ld.so.conf fi fi /sbin/ldconfig exit 0 %pre devel # delete directory mkspecs/default because it will be replaced by a # symlink and RPM complains about this [ -d /usr/lib/qt3/mkspecs/default/ ] && rm -rf %{_qt3_prefix}/mkspecs/default exit 0 %files %defattr(-,root,root) #%{_bindir}/qtconfig %dir %{_qt3_libdir} %{_qt3_libdir}/*.so.* %{_qt3_prefix}/phrasebooks/* %{_qt3_bindir}/qtconfig %config(noreplace) %{_sysconfdir}/skel/.qt/qtrc %dir %{_qt3_translationdir} %{_qt3_translationdir}/qt_*.qm # %{_sysconfdir}/ld.so.conf.d/%{name}.conf # %{_datadir}/icons/hicolor/128x128/apps/qt3-logo.png %{_sysconfdir}/xdg/menus/applications-merged/development-qt3.menu %{_datadir}/desktop-directories/development-qt3.directory %doc FAQ LICENSE.* PLATFORMS README README-QT.TXT %files devel %defattr(-,root,root) #%{_bindir}/lrelease #%{_bindir}/lupdate #%{_bindir}/moc #%{_bindir}/qm2ts #%{_bindir}/qmake #%{_bindir}/uic #%{_bindir}/qembed #%{_bindir}/qvfb %dir %{_qt3_bindir} %{_qt3_bindir}/lrelease %{_qt3_bindir}/lupdate %{_qt3_bindir}/moc %{_qt3_bindir}/qm2ts %{_qt3_bindir}/qmake %{_qt3_bindir}/uic %{_qt3_bindir}/qembed %{_qt3_bindir}/qvfb %{_qt3_headerdir}/ %dir %{_qt3_libdir} %{_qt3_libdir}/*.*a %{_qt3_libdir}/*.so %{_qt3_libdir}/*.prl %{_qt3_prefix}/mkspecs/ %{_qt3_prefix}/templates/ # %dir %{_qt3_libdir}/pkgconfig %{_qt3_libdir}/pkgconfig/qt-mt.pc # %{_qt3_docdir}/ # %{_datadir}/applications/qvfb.desktop %{_libdir}/pkgconfig/qt-mt.pc %{_sysconfdir}/profile.d/%{name}.csh %{_sysconfdir}/profile.d/%{name}.sh %{_sysconfdir}/rpm/macros.qt3 %files -n qt-designer %defattr(-,root,root) #%{_bindir}/assistant #%{_bindir}/designer #%{_bindir}/linguist %{_qt3_bindir}/assistant %{_qt3_bindir}/designer %{_qt3_bindir}/linguist %dir %{_qt3_plugindir}/designer %{_qt3_plugindir}/designer/* %{_qt3_translationdir}/assistant_de.qm %{_datadir}/applications/assistant.desktop %{_datadir}/applications/designer.desktop %{_datadir}/applications/linguist.desktop #%{_datadir}/icons/hicolor/22x22/apps/assistant.png #%{_datadir}/icons/hicolor/22x22/apps/designer.png #%{_datadir}/icons/hicolor/22x22/apps/linguist.png %files postgresql %defattr(-,root,root) %dir %{_qt3_plugindir}/sqldrivers %{_qt3_plugindir}/sqldrivers/libqsqlpsql.so %files mysql %defattr(-,root,root) %dir %{_qt3_plugindir}/sqldrivers %{_qt3_plugindir}/sqldrivers/libqsqlmysql.so %files odbc %defattr(-,root,root) %dir %{_qt3_plugindir}/sqldrivers %{_qt3_plugindir}/sqldrivers/libqsqlodbc.so %files sqlite %defattr(-,root,root) %dir %{_qt3_plugindir}/sqldrivers %{_qt3_plugindir}/sqldrivers/libqsqlite.so %files inputmethods %defattr(-,root,root) %dir %{_qt3_plugindir}/inputmethods %{_qt3_plugindir}/inputmethods/libqimsw-multi.so %{_qt3_plugindir}/inputmethods/libqimsw-none.so %{_qt3_plugindir}/inputmethods/libqsimple.so %{_qt3_plugindir}/inputmethods/libqxim.so %changelog * Thu Nov 11 2010 Silvan Calarco 3.3.8b-3mamba - rebuilt with libjpeg 8 and libpng 1.4 * Tue Nov 03 2009 Silvan Calarco 3.3.8b-2mamba - rebuilt * Sun Oct 11 2009 Automatic Build System 3.3.8b-1mamba - update to 3.3.8b * Fri Mar 20 2009 Silvan Calarco 3.3.8-5mamba - automatic rebuild by autodist * Wed Jan 02 2008 Aleph0 3.3.8-4mamba - removed symlinks in %%{_bindir} * Mon Dec 31 2007 Aleph0 3.3.8-3mamba - install qt-mt.pc in %{_libdir}/pkgconfig/ so that pkg-config can be aware of qt library - provide %{_sysconfdir}/profile.d/%{name}.csh - own libqt directories - provide a macro for rpm (macros.qt3) that can be used by openmamba packagers * Thu Dec 27 2007 Silvan Calarco 3.3.8-2mamba - added qt-x11-immodule patch for scim * Thu Mar 29 2007 Davide Madrisan 3.3.8-1mamba - update to version 3.3.8 by autospec - create the submenu Qt3 - desktop files modified to fit freedesktop standard - qt3 plugins now require the main package with same version and release * Mon Dec 18 2006 Silvan Calarco 3.3.7-2qilnx - update to version 3.3.7 by autospec * Fri Oct 20 2006 Silvan Calarco 3.3.6-1qilnx - update to version 3.3.6 by autospec * Mon Sep 18 2006 Silvan Calarco 3.3.5-6qilnx - added qvfb desktop menu icon * Wed May 17 2006 Davide Madrisan 3.3.5-5qilnx - added a dektop file for qt-designer - fixed package license syntax * Mon May 15 2006 Silvan Calarco 3.3.5-4qilnx - add patch to increment max font size displayed (was 256 pixel = 184, set to 2048) * Wed Dec 07 2005 Massimo Pintore 3.3.5-3qilnx - added qt3 and libqt3 as provides - added script libqt.sh in %{_sysconfdir}/profile.d/ to set environment variables * Wed Dec 07 2005 Silvan Calarco 3.3.5-2qilnx - added sqlite plugin * Mon Sep 12 2005 Massimo Pintore 3.3.5-1qilnx - update to version 3.3.5 by autospec - add tools patch to build the executables qembed and qvfb * Thu Sep 08 2005 Massimo Pintore 3.3.4-5qilnx - rebuilt with the virtual frame buffer enabled (-qvfb) * Wed Aug 31 2005 Davide Madrisan 3.3.4-4qilnx - add visibility patch to improve performance * Wed Aug 24 2005 Davide Madrisan 3.3.4-3qilnx - rebuilt against gcc4 - fix build problem and buildkey issue with gcc4 - switched to %%majversion * Tue Mar 15 2005 Silvan Calarco 3.3.4-2qilnx - delete in %%pre dir %{_libdir}/qt3/mkspecs/default/ because it will be replaced by a symlink * Mon Mar 14 2005 Silvan Calarco 3.3.4-1qilnx - update to version 3.3.4 by autospec * Sat Dec 11 2004 Silvan Calarco 3.3.3-5qilnx - fixes for kde plugin dir in qtrc skeleton * Fri Dec 10 2004 Silvan Calarco 3.3.3-4qilnx - documentation moved to devel package * Fri Sep 24 2004 Silvan Calarco 3.3.3-3qilnx - fix for qmake that was missing * Sat Sep 18 2004 Silvan Calarco 3.3.3-2qilnx - rebuilt with gcc 3.3.4 and Xorg 6.8.0 * Mon Aug 30 2004 Davide Madrisan 3.3.3-1qilnx - update to version 3.3.3 by autospec - bugfixes and security fixes (CAN-2004-0691, CAN-2004-0692, CAN-2004-0693) * Thu Jul 08 2004 Silvan Calarco 3.3.2-3qilnx - devel apps like qmake are in /usr/lib/qt3/bin and also as links in /usr/bin * Wed Jun 30 2004 Silvan Calarco 3.3.2-2qilnx - rebuilt with Xorg 6.7.0 * Tue Apr 27 2004 Silvan Calarco 3.3.2-1qilnx - new version build * Mon Nov 24 2003 Silvan Calarco 3.2.3-2qilnx - moved binaries to %bindir - moved documentation to /usr/share/qt3/doc (as looked for by kde) * Fri Nov 21 2003 Silvan Calarco 3.2.3-1qilnx - new version rebuild * Mon Nov 03 2003 Silvan Calarco 3.2.2-1qilnx - new version rebuild - added mysql and odbc support * Wed Sep 17 2003 Silvan Calarco 3.2.1-1qilnx - new version rebuild * Tue Jul 18 2003 Silvan Calarco 3.1.2-4qilnx - rebuild with postgresql plugin support * Tue Jun 19 2003 Silvan Calarco 3.1.2-3qilnx - added default profile in /etc/skel * Sun May 25 2003 Silvan Calarco 3.1.2-2qilnx - moved prefix from /usr/lib/qt to /usr/lib/qt3 - added ld.so.conf configuration - moved designer binaries to its own package * Wed May 21 2003 Silvan Calarco 3.1.2-1qilnx - first build