# Databases # Postgres %define with_postgres 1 # Mysql %define with_mysql 1 %{?_without_mysql: %{expand: %%global with_mysql 0}} # odbc %define with_odbc 1 # sqlite %define with_sqlite 1 %define with_debug 0 %{?_with_debug: %{expand: %%global with_debug 1}} # Static library %define enable_static 0 # Cups handling %define with_cups 1 # XRandr %define with_xrandr 1 %define qtmajor 4 %define qtminor 0 %define qtsubminor 1 # KDE development version date %define kde_copy 1 %define kde_qtcopy_date 20050822 %define designermajor 1 %define assistantmajor 1 %define qtversion %{qtmajor}.%{qtminor}.%{qtsubminor} %define mdkrelease 1mdk %if %{kde_copy} %define qtrelease 0.%{kde_qtcopy_date}.%{mdkrelease} %else %define qtrelease %{mdkrelease} %endif %define qtlib qt4 %define qtdir %{_libdir}/%{qtlib} %if %{kde_copy} %define qttarballdir qt-x11-free-%{qtversion}-kde-%{kde_qtcopy_date} %else %define qttarballdir qt-x11-opensource-%{qtversion}-b1 %endif Name: %{qtlib} Version: %{qtversion} Release: %{qtrelease} Epoch: 2 Summary: Qt GUI toolkit Group: Development/KDE and Qt License: GPL URL: http://www.trolltech.com/ Source0: ftp://ftp.trolltech.com/qt/source/%{qttarballdir}.tar.bz2 # Not ready yet #Source1: qt4.sh #Source2: qt4.csh Source3: qt4-designer-wrapper Source4: qt4-designer.desktop Patch0: qt4-assistant-sharedlib.patch BuildRequires: glibc-devel BuildRequires: XFree86-devel BuildRequires: Mesa-common-devel BuildRequires: zlib-devel BuildRequires: libpng-devel BuildRequires: libjpeg-devel BuildRequires: libmng-devel BuildRequires: lcms-devel BuildRequires: cups-devel BuildRequires: freetype2-devel BuildRequires: libfontconfig-devel %if %{with_odbc} BuildRequires: unixODBC-devel %endif %if %{with_mysql} %ifarch %ix86 BuildRequires: MySQL50-devel %else BuildRequires: libmysql-devel %endif %endif %if %{with_postgres} BuildRequires: postgresql-devel %endif %if %{with_sqlite} BuildRequires: sqlite3-devel %endif BuildRequires: expat-devel BuildRequires: perl Provides: %{qtlib} BuildRoot: %{_tmppath}/%{name}-%{version}-root %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 Qt applications, as well as the README files for Qt. #------------------------------------------------------------------------ %package common Group: Development/KDE and Qt Summary: config, language file for Qt %description common This package contains all config file and language file %files common %defattr(-,root,root,-) %{_bindir}/qt4config %{qtdir}/bin/qtconfig %{_sysconfdir}/ld.so.conf.d/* %dir %{qtdir} %dir %{qtdir}/bin %dir %{qtdir}/%_lib %dir %{qtdir}/plugins #%dir %{qtdir}/plugins/styles %dir %{qtdir}/plugins/sqldrivers %{qtdir}/phrasebooks #%{qtdir}/qt.conf %doc README #------------------------------------------------------------------------ # CORE QT LIBRARIES #------------------------------------------------------------------------- %package -n libqtxml%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common Obsoletes: libqtxml%{qtmajor} < %epoch:%version %description -n libqtxml%{qtmajor} QT%{qtmajor} component library %post -n libqtxml%{qtmajor} -p /sbin/ldconfig %postun -n libqtxml%{qtmajor} -p /sbin/ldconfig %files -n libqtxml%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtXml.so.* %{qtdir}/%_lib/libQtXml.prl %if %{with_debug} %{qtdir}/%_lib/libQtXml_debug.so.* %{qtdir}/%_lib/libQtXml_debug.prl defattr(-,root,root,-) %endif #------------------------------------------------------------------------- %package -n libqtsql%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqtsql%{qtmajor}-debug < %epoch:%version %description -n libqtsql%{qtmajor} QT%{qtmajor} component library %post -n libqtsql%{qtmajor} -p /sbin/ldconfig %postun -n libqtsql%{qtmajor} -p /sbin/ldconfig %files -n libqtsql%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtSql.so.* %{qtdir}/%_lib/libQtSql.prl %if %{with_debug} %{qtdir}/%_lib/libQtSql_debug.so.* %{qtdir}/%_lib/libQtSql_debug.prl %endif #------------------------------------------------------------------------- %package -n libqtnetwork%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqtnetwork%{qtmajor}-debug < %epoch:%version %description -n libqtnetwork%{qtmajor} QT%{qtmajor} component library %post -n libqtnetwork%{qtmajor} -p /sbin/ldconfig %postun -n libqtnetwork%{qtmajor} -p /sbin/ldconfig %files -n libqtnetwork%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtNetwork.so.* %{qtdir}/%_lib/libQtNetwork.prl %if %{with_debug} %{qtdir}/%_lib/libQtNetwork_debug.so.* %{qtdir}/%_lib/libQtNetwork_debug.prl %endif #------------------------------------------------------------------------- %package -n libqtgui%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqtgui%{qtmajor}-debug < %epoch:%version %description -n libqtgui%{qtmajor} QT%{qtmajor} component library %files -n libqtgui%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtGui.so.* %{qtdir}/%_lib/libQtGui.prl %if %{with_debug} %{qtdir}/%_lib/libQtGui_debug.so.* %{qtdir}/%_lib/libQtGui_debug.prl %endif #------------------------------------------------------------------------- %package -n libqtcore%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqtcore%{qtmajor}-debug < %epoch:%version %description -n libqtcore%{qtmajor} QT%{qtmajor} component library %post -n libqtcore%{qtmajor} -p /sbin/ldconfig %postun -n libqtcore%{qtmajor} -p /sbin/ldconfig %files -n libqtcore%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtCore.so.* %{qtdir}/%_lib/libQtCore.prl %{qtdir}/plugins/codecs %{qtdir}/plugins/imageformats %if %{with_debug} %{qtdir}/%_lib/libQtCore_debug.so.* %{qtdir}/%_lib/libQtCore_debug.prl %endif #------------------------------------------------------------------------- %package -n libqt3support%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqt3support%{qtmajor}-debug < %epoch:%version %description -n libqt3support%{qtmajor} QT%{qtmajor} component library %post -n libqt3support%{qtmajor} -p /sbin/ldconfig %postun -n libqt3support%{qtmajor} -p /sbin/ldconfig %files -n libqt3support%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQt3Support.so.* %{qtdir}/%_lib/libQt3Support.prl %{qtdir}/plugins/designer/libqt3supportwidgets.so %if %{with_debug} %{qtdir}/%_lib/libQt3Support_debug.so.* %{qtdir}/%_lib/libQt3Support_debug.prl %{qtdir}/plugins/designer/libqt3supportwidgets_debug.so %endif #------------------------------------------------------------------------- %package -n libqtopengl%{qtmajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqtopengl%{qtmajor}-debug < %epoch:%version %description -n libqtopengl%{qtmajor} QT%{qtmajor} component library %post -n libqtopengl%{qtmajor} -p /sbin/ldconfig %postun -n libqtopengl%{qtmajor} -p /sbin/ldconfig %files -n libqtopengl%{qtmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtOpenGL.so.* %{qtdir}/%_lib/libQtOpenGL.prl %if %{with_debug} %{qtdir}/%_lib/libQtOpenGL_debug.so.* %{qtdir}/%_lib/libQtOpenGL_debug.prl %endif #------------------------------------------------------------------------- %package -n libqtdesigner%{designermajor} Summary: QT%{qtmajor} component library Group: Libraries Requires: %{name}-common = %epoch:%version Obsoletes: libqtdesigner%{designermajor}-debug < %epoch:%version %description -n libqtdesigner%{designermajor} QT%{qtmajor} component library %description -l pt_BR -n libqtdesigner%{designermajor} Biblioteca componente da QT%{qtmajor} %post -n libqtdesigner%{designermajor} -p /sbin/ldconfig %postun -n libqtdesigner%{designermajor} -p /sbin/ldconfig %files -n libqtdesigner%{designermajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtDesigner.so.* %{qtdir}/%_lib/libQtDesigner.prl %{qtdir}/%_lib/libQtDesignerComponents.so.* %{qtdir}/%_lib/libQtDesignerComponents.prl %if %{with_debug} %{qtdir}/%_lib/libQtDesign*_debug.so.* %{qtdir}/%_lib/libQtDesign*_debug.prl %endif #------------------------------------------------------------------------- %package -n libqassistant%{assistantmajor} Summary: QT assistant lib Summary(pt_BR): Biblioteca do qt-assistant Group: Libraries Obsoletes: libqassistant%{assistantmajor}-debug < %epoch:%version %description -n libqassistant%{assistantmajor} QT assistant lib %files -n libqassistant%{assistantmajor} %defattr(-,root,root,-) %{qtdir}/%_lib/libQtAssistantClient.so.* %{qtdir}/%_lib/libQtAssistantClient.prl %if %{with_debug} %{qtdir}/%_lib/libQtAssistantClient_debug.so.* %{qtdir}/%_lib/libQtAssistantClient_debug.prl %endif #------------------------------------------------------------------------- %package -n libqt%{qtmajor}-devel Summary: Development files and documentation for the Qt GUI toolkit. Group: Development Requires: %{name}-common = %epoch:%version Provides: qt4-devel %description -n libqt%{qtmajor}-devel The %{qtlib}-devel package contains the files necessary to develop applications using the Qt GUI toolkit: the header files, the Qt meta object compiler, and the static libraries. See the address http://www.trolltech.com/products/qt.html for more information about Qt. Install qt-devel if you want to develop GUI applications using the Qt toolkit. %files -n libqt%{qtmajor}-devel %defattr(-,root,root,-) %{qtdir}/bin/moc %{qtdir}/bin/qmake %{qtdir}/bin/uic %{qtdir}/bin/uic3 %{qtdir}/bin/rcc %{qtdir}/bin/qt3to4 %{qtdir}/include %{qtdir}/mkspecs %{qtdir}/%_lib/*.so %{qtdir}/%_lib/*.la %{qtdir}/%_lib/*.pc %{qtdir}/q3porting.xml #------------------------------------------------------------------------- %if %{enable_static} %package -n libqt%{major}-static-devel Summary: The static library for the Qt GUI toolkit Group: Libraries %description -n libqt%{major}-static-devel 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 Qt applications, as well as the README files for Qt. %files -n libqt%{major}-static-devel %defattr(-,root,root,-) %{qtdir}/%_lib/libqt.a %endif #------------------------------------------------------------------------- %package doc Summary: HTML Documentation for Qt version %{version} Group: Documentation %description doc HTML documentation for the Qt toolkit. To view the documentation, please load up the file /usr/lib/%{qtlib}/doc/html/index.html in your favourite browser. %files doc %defattr(-,root,root,-) %{qtdir}/bin/assistant %{_docdir}/qt-%{qtversion}/html #------------------------------------------------------------------------- %package examples Summary: Example programs made with Qt version %{version} Group: Documentation %description examples Example programs made with Qt version %{version}. %files examples %defattr(-,root,root,-) %{_docdir}/qt-%{qtversion}/examples %{_docdir}/qt-%{qtversion}/demos %exclude %{_docdir}/qt-%{qtversion}/examples/tutorial #------------------------------------------------------------------------- %package linguist Summary: QT linguist translation utility Group: Documentation %description linguist Qt Linguist provides easy translation of Qt GUIs to different languages %files linguist %defattr(-,root,root,-) %{qtdir}/bin/linguist %{qtdir}/bin/lrelease %{qtdir}/bin/lupdate %{qtdir}/bin/qm2ts %_menudir/linguist #------------------------------------------------------------------------- %package tutorial Summary: Tutorial programs for Qt version %{version} Group: Documentation %description tutorial Tutorial programs for Qt version %{version}. %files tutorial %defattr(-,root,root,-) %{_docdir}/qt-%{qtversion}/examples/tutorial #------------------------------------------------------------------------- %if %{with_odbc} %package database-plugin-odbc Summary: Database plugin for ODBC Qt support Group: Development %description database-plugin-odbc Database plugin for ODBC Qt support %files database-plugin-odbc %defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlodbc* %endif #------------------------------------------------------------------------- %if %{with_mysql} %package database-plugin-mysql Summary: Database plugin for mysql Qt support Group: Development %description database-plugin-mysql Database plugin for mysql Qt support %files database-plugin-mysql %defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlmysql* %endif #------------------------------------------------------------------------- %if %{with_sqlite} %package database-plugin-sqlite Summary: Database plugin for sqlite Qt support Group: Development %description database-plugin-sqlite Database plugin for sqlite Qt support %files database-plugin-sqlite %defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlite* %endif #------------------------------------------------------------------------- %if %{with_postgres} %package database-plugin-pgsql Summary: Database plugin for pgsql Qt support Group: Development %description database-plugin-pgsql Database plugin for pgsql Qt support %files database-plugin-pgsql %defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlpsql* %endif #------------------------------------------------------------------------- %package accessibility-plugins Summary: Accessibility plugins for Qt4 Group: Utilities %description accessibility-plugins Acessibility plugins for Qt4 #%files accessibility-plugins #%defattr(-,root,root,-) #%dir %{qtdir}/plugins/accessible #%{qtdir}/plugins/accessible/* #------------------------------------------------------------------------- %package designer Summary: %{qtlib} visual design tool Group: Development Requires: libqt%{qtmajor}-devel = %epoch:%version %description designer The Qt Designer is a visual design tool that makes designing and implementing user interfaces a lot easier. %files designer %defattr(-,root,root,-) %{_bindir}/designer-qt%{qtmajor} %{qtdir}/bin/designer %{qtdir}/bin/designer-real %_datadir/applnk/Development/designer4.desktop %_menudir/libqt4-devel-designer #------------------------------------------------------------------------- %prep %if %{kde_copy} %setup -q -n qt-copy ./apply_patches %else %setup -q -n %{qttarballdir} %endif %patch0 -p1 -b .assistshlib %build export QTDIR=`/bin/pwd` export PATH=$QTDIR/bin:$PATH export CFLAGS="${CFLAGS} %{optflags}" export CXXFLAGS="${CXXFLAGS} %{optflags}" export YACC='byacc -d' %if %{kde_copy} export LD_LIBRARY_PATH=%{_builddir}/qt-copy/lib:$LD_LIBRARY_PATH export PATH=%{_builddir}/qt-copy/bin:$PATH %else export LD_LIBRARY_PATH=%{_builddir}/%{qttarballdir}/lib:$LD_LIBRARY_PATH export PATH=%{_builddir}/%{qttarballdir}/bin:$PATH %endif #-------------------------------------------------------- # function configure function qt_configure { echo "yes" | ./configure \ -prefix %{qtdir} \ %if %{with_debug} -debug-and-release \ %else -release \ %endif -sysconfdir %{_sysconfdir} \ -libdir %{qtdir}/%_lib \ -docdir %{_docdir}/qt-%{qtversion} \ -qt-gif \ -stl \ -sm \ -system-libpng \ -system-zlib \ -system-libjpeg \ %if ! %{with_cups} -no-cups \ %endif -no-nas-sound \ -no-g++-exceptions \ -xinerama \ -xrender \ -xkb \ -no-pch \ %if ! %{with_xrandr} -no-xrandr \ %endif -qvfb \ %if %{with_postgres} -plugin-sql-psql \ -I%{_includedir}/pgsql \ -I%{_includedir}/pgsql/server \ %endif %if %{with_mysql} -plugin-sql-mysql \ -I%{_includedir}/mysql \ %endif %if %{with_sqlite} -plugin-sql-sqlite \ %endif %if %{with_odbc} -plugin-sql-odbc \ %endif -platform linux-g++ \ -confirm-license \ -verbose \ -I%{_prefix}/X11R6/include/ \ -L%{_prefix}/X11R6/%_lib \ $* } # static %if %{enable_static} qt_configure -static pushd src %make && make install_target popnd mkdir safelib cp lib/libqt-mt.a safelib %endif # shared qt_configure -shared make %install rm -rf %{buildroot} install -d %{buildroot}%{_bindir} install -d %{buildroot}%{_docdir}/qt-%{qtversion} #mkdir -p %{buildroot}%{_sysconfdir}/profile.d #cp -f %{SOURCE1} %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d make INSTALL_ROOT=%{buildroot} \ sub-src-install_subtargets-ordered \ sub-tools-install_subtargets-ordered \ install_htmldocs \ install_qmake \ install_mkspecs # Designer wrapper pushd %{buildroot}%{qtdir}/bin mv designer designer-real cp %{SOURCE3} designer popd ln -s %{qtdir}/bin/designer %{buildroot}%{_bindir}/designer-qt%{qtmajor} # Desktop install -d -m 0755 %buildroot/%_datadir/applnk/Development/ install -m 0644 %SOURCE4 %buildroot/%_datadir/applnk/Development/designer4.desktop ## David - 3.0.0-0.11mdk - Install menu entries install -d -m 0755 %buildroot/%_menudir cat <<EOF > %buildroot/%_menudir/libqt4-devel-designer ?package(libqt4-devel): needs=X11 \ section="More Applications/Development/Development Environments" \ title="Qt4 Designer" \ longtitle="A graphical designer/dialog builder for Qt3" \ command="/usr/bin/designer-qt4" \ mimetypes="application/x-designer" \ icon="development_environment_section.png" EOF cat <<EOF > %buildroot/%_menudir/linguist ?package(qt4-linguist): needs=X11 \ section="More Applications/Development/Development Environments" \ title="Qt Linguist" \ longtitle="A translation tool for Qt4" \ command="%qtdir/bin/linguist" \ mimeType="application/x-linguist" \ icon="development_environment_section.png" EOF # qtconfig ln -s %{qtdir}/bin/qtconfig %{buildroot}%{_bindir}/qt4config # Fix mkspec link pushd %{buildroot}%{qtdir}/mkspecs rm -f default ln -sf %{qtdir}/mkspecs/linux-g++ default popd #Copy examples/tutorial and demos cp -a examples %{buildroot}/%{_docdir}/qt-%{qtversion} cp -a demos %{buildroot}/%{_docdir}/qt-%{qtversion} %if %{enable_static} cp safelib/* %{buildroot}/%{qtdir}/%_lib %endif # Use the new ld.so.conf.d mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d pushd %{buildroot}/%{_sysconfdir}/ld.so.conf.d echo "%{qtdir}/%_lib" > qt4.conf popd %clean rm -rf %{buildroot} %changelog * Mon Aug 22 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-08-22 19:39:57 (712) - New upstream Qt 4.0.1 from kde-copy - Applied kde-copy patches - Removed separated debug packages. What seenn to be a good idea on the beggining makes bad since core will always made provides for both debug and release. so now just release is compiled, old _debug packages will be obsoleted and id compiled with debug, debug libs go with release libraries. * Mon Aug 01 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-08-01 15:04:06 (489) - Fix wronh version caused by a subversion conflict in spec * Mon Aug 01 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-08-01 11:45:11 (483) - Added current qt-copy snapshot - Adopted Laurent solution for release, since this isn't an official 4.0.1 yet ( my mess ) - Adopted Nick Brown request to add rpm build switch for mysql Reference: http://qa.mandriva.com/twiki/bin/view/Main/SpecfilesSwitch - Fixed dependency bug for qtcore4-debug ( missing epoch ) * Fri Jul 29 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-07-29 15:12:59 (467) - Changed to 4.0.0.1 since isn't 4.0.1 official Thanks to Thierry Vignaud * Fri Jul 29 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-07-29 08:58:08 (463) - Fix pkgconfig placement * Fri Jul 29 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-07-29 06:43:43 (462) - No parallel building * Thu Jul 28 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-07-28 23:52:07 (460) - Updated from qt-copy to 4.0.1 snapshot - Splitted debug andregular libraries - Added new pkgconfig files * Wed Jul 06 2005 Laurent Montel <lmontel@mandriva.com + 2005-07-06 08:56:56 (308) - Compile with debug and not debug * Tue Jul 05 2005 Laurent Montel <lmontel@mandriva.com + 2005-07-05 10:25:37 (296) - Fix menu * Tue Jul 05 2005 Laurent Montel <lmontel@mandriva.com + 2005-07-05 09:08:23 (294) - Fix requires Remove requires on qt-devel which is defined into qt Add menu entry * Thu Jun 30 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-06-30 14:21:48 (278) - Again, missed point correct lib64 libraries * Thu Jun 30 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-06-30 14:13:32 (277) - fixed build requires for lib64 * Thu Jun 30 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-06-30 13:50:39 (276) - Fixed lib64 lib placement * Thu Jun 30 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-06-30 12:55:12 (275) - Qt 4 GPL final release. ( Do the qt4dance :) - Added desktop menu item for designer-qt4 - Based on qt-copy from KDE, updated by Simon Hausmann * Thu Jun 16 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-06-16 08:21:27 (214) - Updated new RC1 from qt-copy - Renabled core libraries - Still on debug mode * Tue May 24 2005 Helio Chissini de Castro <helio@mandriva.com> + 2005-05-24 14:52:23 (8) - Uploading package ./qt4