Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > befcda80c1a164e8b5d57687719ec9f0 > files > 12

qt4-4.2.3-3mdv2007.1.src.rpm

%define with_postgres 1
%{?_without_postgres: %{expand: %%global with_postgres 0}}

%define with_mysql 1
%{?_without_mysql: %{expand: %%global with_mysql 0}}

%define with_odbc 1
%{?_without_odbc: %{expand: %%global with_odbc 0}}

%define with_sqlite 1
%{?_without_sqlite: %{expand: %%global with_sqlite 0}}

%define with_ibase 0
%{?_with_ibase: %{expand: %%global with_ibase 1}}

%define with_debug 0
%{?_with_debug: %{expand: %%global with_debug 1}}

%define enable_static 0
%{?_without_static: %{expand: %%global enable_static 0}}

%define with_cups 1
%{?_without_cups %{expand: %%global with_cups 0}}

%define libqt %mklibname qt 4
%define libqassistant %mklibname qassistant 1
%define libqtuitools %mklibname qtuitools 4
%define libqt3support %mklibname qt3support 4
%define libqtcore %mklibname qtcore 4
%define libqtdesigner %mklibname qtdesigner 1
%define libqtgui %mklibname qtgui 4
%define libqtnetwork %mklibname qtnetwork 4
%define libqtopengl %mklibname qtopengl 4
%define libqtsql %mklibname qtsql 4
%define libqtxml %mklibname qtxml 4
%define libqtsvg %mklibname qtsvg 4
%define libqttest %mklibname qttest 4
%define libqdbus %mklibname qtdbus 4

%define qtmajor 4
%define qtminor 2
%define qtsubminor 3

# KDE development version date
%define kde_copy 0
%define kde_qtcopy_date snapshot-20060920

%define qtversion %{qtmajor}.%{qtminor}.%{qtsubminor}

%define qtlib qt4
%define qtdir %_prefix/lib/%{qtlib}
%define pluginsdir %qtdir/plugins/%_lib

%if %{kde_copy}
%define qttarballdir qt-x11-opensource-src-%{qtversion}-%{kde_qtcopy_date}
%else
%define qttarballdir qt-x11-opensource-src-%{qtversion}
%endif

Name: %{qtlib}
Version: %{qtversion}
Release: %mkrel 3
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
Source5: qt4.macros
Patch0: qt4-uitools-sharedlib.patch
Patch1:	0153-qdbuscpp2xml.diff 
Patch2:	0142-uic3-wordWrapAttribute.diff
Patch3:	qt4-fix-mem-leak.patch
Patch4:	qt-x11-opensource-src-4.2.2-pagesize.patch
Patch5:	qt-4.2.3-fix-bug-153635.patch
Patch6:	qt4-4.2.3-fix-index.patch

BuildRequires: glibc-devel

%if %mdkversion <= 200600
BuildRequires: X11-devel
%if %{enable_static}
BuildRequires: X11-static-devel
%endif
%else
BuildRequires: libx11-devel
%if %{enable_static}
BuildRequires: libx11-static-devel
%endif
BuildRequires:  libxrandr-devel
%endif
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
BuildRequires: expat-devel
BuildRequires: libdbus-devel >= 0.92
BuildRequires: GL-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 %pluginsdir
%dir %pluginsdir/sqldrivers
%{qtdir}/phrasebooks
%_docdir/%name/README

#------------------------------------------------------------------------
# CORE QT LIBRARIES
#-------------------------------------------------------------------------

%package -n %{libqtxml}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides:	qtxmllib = %epoch:%version

%description -n %{libqtxml}
QT%{qtmajor} component library

%post -n %{libqtxml} -p /sbin/ldconfig
%postun -n %{libqtxml} -p /sbin/ldconfig

%files -n %{libqtxml}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtXml.so.*
%{qtdir}/%_lib/libQtXml.prl

#-------------------------------------------------------------------------

%package -n %{libqtsql}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides:	qtsqllib = %epoch:%version 

%description -n %{libqtsql}
QT%{qtmajor} component library

%post -n %{libqtsql} -p /sbin/ldconfig
%postun -n %{libqtsql} -p /sbin/ldconfig

%files -n %{libqtsql}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtSql.so.*
%{qtdir}/%_lib/libQtSql.prl

#-------------------------------------------------------------------------

%package -n %{libqtnetwork}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qtnetworklib = %epoch:%version

%description -n %{libqtnetwork}
QT%{qtmajor} component library

%post -n %{libqtnetwork} -p /sbin/ldconfig
%postun -n %{libqtnetwork} -p /sbin/ldconfig

%files -n %{libqtnetwork}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtNetwork.so.*
%{qtdir}/%_lib/libQtNetwork.prl

#-------------------------------------------------------------------------

%package -n %{libqtgui}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Conflicts: %{libqtcore} <= 2:4.2.2-%mkrel 2
Provides: qtguilib = %epoch:%version

%description -n %{libqtgui}
QT%{qtmajor} component library

%post -n %{libqtgui} -p /sbin/ldconfig
%postun -n %{libqtgui} -p /sbin/ldconfig

%files -n %{libqtgui}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtGui.so.*
%{qtdir}/%_lib/libQtGui.prl
%pluginsdir/imageformats
%pluginsdir/inputmethods/libqimsw-multi.so*

#-------------------------------------------------------------------------

%package -n %{libqtsvg}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qtsvglib = %epoch:%version

%description -n %{libqtsvg}
QT%{qtmajor} component library

%post -n %{libqtsvg} -p /sbin/ldconfig
%postun -n %{libqtsvg} -p /sbin/ldconfig

%files -n %{libqtsvg}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtSvg.so.*
%{qtdir}/%_lib/libQtSvg.prl
%pluginsdir/iconengines/libqsvg.so*

#-------------------------------------------------------------------------

%package -n %{libqttest}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qttestlib = %epoch:%version

%description -n %{libqttest}
QT%{qtmajor} component library

%post -n %{libqttest} -p /sbin/ldconfig
%postun -n %{libqttest} -p /sbin/ldconfig

%files -n %{libqttest}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtTest.so.*
%{qtdir}/%_lib/libQtTest.prl

#-------------------------------------------------------------------------

%package -n %{libqtcore}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Conflicts: %{libqtgui} <= 2:4.2.2-%mkrel 2
Provides: qtcorelib = %epoch:%version

%description -n %{libqtcore}
QT%{qtmajor} component library

%post -n %{libqtcore} -p /sbin/ldconfig
%postun -n %{libqtcore} -p /sbin/ldconfig

%files -n %{libqtcore}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtCore.so.*
%{qtdir}/%_lib/libQtCore.prl

#-------------------------------------------------------------------------

%package -n %{libqt3support}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qt3supportlib = %epoch:%version

%description -n %{libqt3support}
QT%{qtmajor} component library

%post -n %{libqt3support} -p /sbin/ldconfig
%postun -n %{libqt3support} -p /sbin/ldconfig

%files -n %{libqt3support}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQt3Support.so.*
%{qtdir}/%_lib/libQt3Support.prl
%pluginsdir/designer/libqt3supportwidgets.so*

#-------------------------------------------------------------------------

%package -n %{libqtopengl}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qtopengllib = %epoch:%version

%description -n %{libqtopengl}
QT%{qtmajor} component library

%post -n %{libqtopengl} -p /sbin/ldconfig
%postun -n %{libqtopengl} -p /sbin/ldconfig

%files -n %{libqtopengl}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtOpenGL.so.*
%{qtdir}/%_lib/libQtOpenGL.prl

#-------------------------------------------------------------------------

%package -n %{libqtdesigner}
Summary: QT%{qtmajor} component library
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qtdesignerlib = %epoch:%version

%description -n %{libqtdesigner}
QT%{qtmajor} component library

%description -l pt_BR -n %{libqtdesigner}
Biblioteca componente da QT%{qtmajor}

%post -n %{libqtdesigner} -p /sbin/ldconfig
%postun -n %{libqtdesigner} -p /sbin/ldconfig

%files -n %{libqtdesigner}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtDesigner.so.*
%{qtdir}/%_lib/libQtDesigner.prl
%{qtdir}/%_lib/libQtDesignerComponents.so.*
%{qtdir}/%_lib/libQtDesignerComponents.prl

#-------------------------------------------------------------------------

%package -n %{libqtuitools}
Summary: QT assistant lib
Summary(pt_BR): Biblioteca do qt-assistant
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qtuitoolslib = %epoch:%version

%description -n %{libqtuitools}
QT assistant lib

%post -n %{libqtuitools} -p /sbin/ldconfig
%postun -n %{libqtuitools} -p /sbin/ldconfig

%files -n %{libqtuitools}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtUiTools.so.*
%{qtdir}/%_lib/libQtUiTools.prl

#-------------------------------------------------------------------------

%package -n %{libqdbus}
Summary: QT dbus lib
Summary(pt_BR): Biblioteca do dbus
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qdbuslib = %epoch:%version

%description -n %{libqdbus}
QT dbus lib

%post -n %{libqdbus} -p /sbin/ldconfig
%postun -n %{libqdbus} -p /sbin/ldconfig

%files -n %{libqdbus}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtDBus.so.*
%{qtdir}/%_lib/libQtDBus.prl

#-------------------------------------------------------------------------

%package -n %{libqassistant}
Summary: QT assistant lib
Summary(pt_BR): Biblioteca do qt-assistant
Group: System/Libraries
Requires(pre): %{name}-common = %epoch:%version
Provides: qassistantlib = %epoch:%version

%description -n %{libqassistant}
QT assistant lib

%post -n %{libqassistant} -p /sbin/ldconfig
%postun -n %{libqassistant} -p /sbin/ldconfig

%files -n %{libqassistant}
%defattr(-,root,root,-)
%{qtdir}/%_lib/libQtAssistantClient.so.*
%{qtdir}/%_lib/libQtAssistantClient.prl

#-------------------------------------------------------------------------

%package -n %{libqt}-devel
Summary: Development files and documentation for the Qt GUI toolkit.
Group: Development/KDE and Qt
Requires: %{name}-common = %epoch:%version
Provides: qt4-devel = %epoch:%version-%release
Provides: libqt4-devel = %epoch:%version-%release
# There's symlinks to devel
Requires: %{libqassistant} = %epoch:%version-%release
Requires: %{libqtuitools} = %epoch:%version-%release
Requires: %{libqt3support} = %epoch:%version-%release
Requires: %{libqtcore} = %epoch:%version-%release
Requires: %{libqtdesigner} = %epoch:%version-%release
Requires: %{libqtgui} = %epoch:%version-%release
Requires: %{libqtnetwork} = %epoch:%version-%release
Requires: %{libqtopengl} = %epoch:%version-%release
Requires: %{libqtsql} = %epoch:%version-%release
Requires: %{libqtxml} = %epoch:%version-%release
Requires: %{libqtsvg} = %epoch:%version-%release
Requires: %{libqttest} = %epoch:%version-%release


%description -n %{libqt}-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}-devel
%defattr(-,root,root,-)
%{qtdir}/bin/moc*
%{qtdir}/bin/qmake*
%{qtdir}/bin/uic*
%{qtdir}/bin/rcc*
%{qtdir}/bin/qt3to4*
%{qtdir}/bin/qdbus*
%{qtdir}/bin/pixeltool*
%_sysconfdir/rpm/macros.d/*
%{qtdir}/include
%{qtdir}/mkspecs
%{qtdir}/%_lib/*.so
%{qtdir}/%_lib/*.la
%_prefix/%_lib/pkgconfig/*
%{qtdir}/q3porting.xml

#-------------------------------------------------------------------------

%if %{enable_static}
%package -n %{libqt}-static-devel
Summary: The static library for the Qt GUI toolkit
Group:		Development/KDE and Qt 

%description -n %{libqt}-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}-static-devel
%defattr(-,root,root,-)
%{qtdir}/%_lib/*.a

%endif

#-------------------------------------------------------------------------

%package doc
Summary: HTML Documentation for Qt version %{version}
Group: Books/Computer books
Conflicts: %{name}-doc < %{qtversion}-1mdk

%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.

%post doc
# Remove old qt4 doc directories
find %_docdir -maxdepth 1 -type d -name qt-4.\* -exec rm -rf {} \;

%files doc
%defattr(-,root,root,-)
%_docdir/%name/doc/html

#-------------------------------------------------------------------------

%package examples
Summary: Example programs made with Qt version %{version}
Group: Books/Computer books

%description examples
Example programs made with Qt version %{version}.

%files examples
%defattr(-,root,root,-)
%{_docdir}/%name/examples
%{_docdir}/%name/demos
%exclude %{_docdir}/%name/examples/tutorial

#-------------------------------------------------------------------------

%package linguist
Summary: QT linguist translation utility
Group: Books/Computer books
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils

%description linguist
Qt Linguist provides easy translation of Qt GUIs to different
languages

%post linguist
%update_menus
%if %mdkversion > 200600
%{update_desktop_database}
%endif

%postun linguist
%clean_menus
%if %mdkversion > 200600
%{clean_desktop_database}
%endif

%files linguist
%defattr(-,root,root,-)
%{qtdir}/bin/lingu*
%{qtdir}/bin/lreleas*
%{qtdir}/bin/lupdat*
%_menudir/linguist
%if %mdkversion > 200600
%{_datadir}/applications/*linguist*.desktop
%endif

#-------------------------------------------------------------------------

%package assistant
Summary: QT assistantion doc utility
Group: Books/Computer books
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils

%description assistant
Qt Assistant provides a documentation Browser

%post assistant
%update_menus
%if %mdkversion > 200600
%{update_desktop_database}
%endif

%postun assistant
%clean_menus
%if %mdkversion > 200600
%{clean_desktop_database}
%endif

%files assistant
%defattr(-,root,root,-)
%{qtdir}/bin/assistant*
%_menudir/assistant
%if %mdkversion > 200600
%{_datadir}/applications/*assistant*.desktop
%endif
#-------------------------------------------------------------------------

%package tutorial
Summary: Tutorial programs for Qt version %{version}
Group: Books/Computer books

%description tutorial
Tutorial programs for Qt version %{version}.

%files tutorial
%defattr(-,root,root,-)
%{_docdir}/%name/examples/tutorial

#-------------------------------------------------------------------------

%if %{with_odbc}

%package database-plugin-odbc-%_lib
Summary: Database plugin for ODBC Qt support
Group: Development/KDE and Qt
Obsoletes: qt4-database-plugin-odbc
BuildRequires: unixODBC-devel

%description database-plugin-odbc-%_lib
Database plugin for ODBC Qt support

%files database-plugin-odbc-%_lib
%defattr(-,root,root,-)
%pluginsdir/sqldrivers/libqsqlodbc*

%endif

#-------------------------------------------------------------------------

%if %{with_mysql}

%package database-plugin-mysql-%_lib
Summary: Database plugin for mysql Qt support
Group: Development/KDE and Qt
Obsoletes: qt4-database-plugin-mysql
BuildRequires: libmysql-devel

%description database-plugin-mysql-%_lib
Database plugin for mysql Qt support

%files database-plugin-mysql-%_lib
%defattr(-,root,root,-)
%pluginsdir/sqldrivers/libqsqlmysql*

%endif

#-------------------------------------------------------------------------

%if %{with_sqlite}

%package database-plugin-sqlite-%_lib
Summary: Database plugin for sqlite Qt support
Group: Databases
Obsoletes: qt4-database-plugin-sqlite
BuildRequires: sqlite3-devel
%if %{enable_static}
BuildRequires: sqlite3-static-devel
%endif

%description database-plugin-sqlite-%_lib
Database plugin for sqlite Qt support

%files database-plugin-sqlite-%_lib
%defattr(-,root,root,-)
%pluginsdir/sqldrivers/libqsqlite*
%endif

#-------------------------------------------------------------------------

%if %{with_ibase}

%package database-plugin-ibase-%_lib
Summary: Database plugin for interbase Qt support
Group: Development/KDE and Qt
Obsoletes: qt4-database-plugin-ibase
BuildRequires: firebird-devel

%description database-plugin-ibase-%_lib
Database plugin for interbase Qt support

%files database-plugin-ibase-%_lib
%defattr(-,root,root,-)
%pluginsdir/sqldrivers/libqsqlibase*
%endif

#-------------------------------------------------------------------------
%if %{with_postgres}

%package database-plugin-pgsql-%_lib
Summary: Database plugin for pgsql Qt support
Group: Development/KDE and Qt
Obsoletes: %name-database-plugin-pgsql
BuildRequires: postgresql-devel

%description database-plugin-pgsql-%_lib
Database plugin for pgsql Qt support

%files database-plugin-pgsql-%_lib
%defattr(-,root,root,-)
%pluginsdir/sqldrivers/libqsqlpsql*

%endif

#-------------------------------------------------------------------------

%package accessibility-plugin-%_lib
Summary: Accessibility plugins for Qt4
Group: Development/KDE and Qt
Obsoletes: %name-accessibility-plugin
Obsoletes: %name-accessibility-plugins

%description accessibility-plugin-%_lib
Acessibility plugins for Qt4

%files accessibility-plugin-%_lib
%defattr(-,root,root,-)
%dir %pluginsdir/accessible
%pluginsdir/accessible/*

#-------------------------------------------------------------------------

%package codecs-plugin-%_lib
Summary: codecs plugins for Qt4
Group: 	Development/KDE and Qt
Obsoletes: %name-codecs-plugin
Obsoletes: %name-codecs-plugins

%description codecs-plugin-%_lib
Acessibility plugins for Qt4

%files codecs-plugin-%_lib
%defattr(-,root,root,-)
%dir %pluginsdir/codecs
%pluginsdir/codecs/*.so*

#-------------------------------------------------------------------------

%package designer
Summary: %{qtlib} visual design tool
Group: Development/KDE and Qt
Requires: %{libqt}-devel = %epoch:%version

%description designer
The Qt Designer is a visual design tool that makes designing and
implementing user interfaces a lot easier.

%post designer
%update_menus

%postun designer
%clean_menus


%files designer
%defattr(-,root,root,-)
%{_bindir}/designer-qt%{qtmajor}
%{qtdir}/bin/designer*
%if %mdkversion <= 200600
%_datadir/applnk/Development/designer4.desktop
%endif
%_menudir/%{libqt}-devel-designer
%if %mdkversion > 200600
%{_datadir}/applications/*designer*.desktop
%endif

#-------------------------------------------------------------------------

%package qvfb
Summary: %{qtlib} embedded virtual terminal
Group: Development/KDE and Qt

%description qvfb
Qt 4 Embedded Virtual Terminal

%files qvfb
%defattr(-,root,root,-)
%{qtdir}/bin/qvf*

#-------------------------------------------------------------------------

%prep
%setup -q -n %{qttarballdir}
%patch0 -p1 -b .uilib
%patch1 -p0 -b .fix_qdbus_name
%patch2 -p0 -b .fix_uic3_wordwrap
%patch3 -p1 -b .fix_mem_leak
%patch4 -p1 -b .fix_pagesize
%patch5 -p1 -b .fix_bug_153635
%patch6 -p1 -b .fix_init_var

%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} \
        -qdbus \
%if %{with_debug}
   -debug-and-release \
%else
   -release \
%endif
   -sysconfdir %_sysconfdir \
   -libdir %{qtdir}/%_lib \
   -docdir %_docdir/%name/doc \
   -plugindir %pluginsdir \
   -qvfb \
   -qt-gif \
%if ! %{with_cups}
   -no-cups \
%endif
   -no-exceptions \
   -L%_prefix/%_lib \
   -platform linux-g++ \
   -confirm-license \
   -verbose \
%if %mdkversion <= 200600   
   -I%_prefix/X11R6/include/ \
   -L%_prefix/X11R6/%_lib \
%endif   
	$*
}

# static
%if %{enable_static}
	qt_configure \
   %if %{with_sqlite}
   -qt-sql-sqlite \
   %endif
   -static

   make sub-src

	mkdir safelib
	cp lib/*.a safelib
%endif

# shared
qt_configure -shared -qdbus \
   %if %{with_postgres}
   -plugin-sql-psql \
   -I%{_includedir}/pgsql \
   -I%{_includedir}/pgsql/server \
   %endif
   %if %{with_mysql}
   -plugin-sql-mysql \
   -I%{_includedir}/mysql \
   %else
   -no-sql-mysql \
   %endif
   %if %{with_ibase}
   -plugin-sql-ibase \
   %else
   -no-sql-ibase \
   %endif
   %if %{with_sqlite}
   -plugin-sql-sqlite \
   %else
   -no-sql-sqlite \
   %endif
   %if %{with_odbc}
   -plugin-sql-odbc
   %else
   -no-sql-odbc 
   %endif

make sub-src sub-tools

# Compile qvfb
pushd tools/qvfb
   make 
popd

%install
rm -rf %buildroot
install -d %buildroot%_bindir
install -d %buildroot%_docdir/%name
install -d %buildroot%_sysconfdir
install -d %buildroot%_sysconfdir/profile.d
install -d %buildroot%_sysconfdir/ld.so.conf.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

install -m 0644 README %buildroot%_docdir/%name

# Install qvfb
pushd tools/qvfb
   make INSTALL_ROOT=%buildroot install
popd

# 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
%if %mdkversion <=200600
install -d -m 0755 %buildroot/%_datadir/applnk/Development/
install -m 0644 %SOURCE4 %buildroot/%_datadir/applnk/Development/designer4.desktop
%endif

install -d -m 0755 %buildroot/%_menudir
cat <<EOF > %buildroot/%_menudir/%{libqt}-devel-designer
?package(%{libqt}-devel): needs=X11 \
                        section="More Applications/Development/Development Environments" \
			title="Qt4 Designer" \
			longtitle="A graphical designer/dialog builder for Qt4" \
			command="/usr/bin/designer-qt4" \
			mimetypes="application/x-designer" \
			icon="development_environment_section.png" \
			xdg="true"
EOF

%if %mdkversion > 200600
mkdir $RPM_BUILD_ROOT%{_datadir}/applications
cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-designer-qt4.desktop << EOF
[Desktop Entry]
Encoding=UTF-8
Name=Qt4 Designer
Comment=A graphical designer/dialog builder for Qt4
Exec=/usr/bin/designer-qt4
Icon=development_environment_section.png
Terminal=false
Type=Application
StartupNotify=true
Categories=KDE;QT;Application;X-Mandrivalinux-MoreApplications-Development-DevelopmentEnvironments;
EOF
%endif

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" \
			xdg="true"
EOF

%if %mdkversion > 200600
cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-linguist-qt4.desktop << EOF
[Desktop Entry]
Encoding=UTF-8
Name=Qt Linguist
Comment=A translation tool for Qt4
Exec=%qtdir/bin/linguist
Icon=development_environment_section.png
Terminal=false
Type=Application
StartupNotify=true
MimeType=application/x-linguist
Categories=KDE;QT;Application;X-MandrivaLinux-MoreApplications-Development-DevelopmentEnvironments;
EOF
%endif


#Laurent rename binary program
cat <<EOF > %buildroot/%_menudir/assistant
?package(qt4-assistant): needs=X11 \
			section="More Applications/Documentation" \
			title="Qt4 Assistant" \
			longtitle="A manual browser for Qt4 documentation" \
			command="%{qtdir}/bin/assistant" \
			icon="documentation_section.png" \
			xdg="true"
EOF
%if %mdkversion > 200600
cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-assistant-qt4.desktop << EOF
[Desktop Entry]
Encoding=UTF-8
Name=Qt4 Assistant
Comment=A manual browser for Qt4 documentation
Exec=%{qtdir}/bin/assistant
Icon=documentation_section.png
Terminal=false
Type=Application
StartupNotify=true
Categories=KDE;QT;Application;X-MandrivaLinux-MoreApplications-Documentation;
EOF
%endif



# 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
for subdir in examples demos; do
   for dir in `find $subdir -type d -name .obj`; do rm -rf $dir; done
   for dir in `find $subdir -type d -name .moc`; do rm -rf $dir; done
   cp -a $subdir %buildroot/%_docdir/%name
done

%if %{enable_static}
	cp safelib/* %buildroot/%{qtdir}/%_lib
%endif

# Use the new ld.so.conf.d 
pushd %buildroot/%_sysconfdir/ld.so.conf.d
echo "%{qtdir}/%_lib" > qt4.conf
popd

# Move pkgconfig for proper place
mkdir -p %buildroot/%_prefix/%_lib/pkgconfig
mv %buildroot/%{qtdir}/%_lib/*.pc %buildroot/%_prefix/%_lib/pkgconfig

# Fix all buildroot paths
find %buildroot/%qtdir/%_lib -type f -name '*prl' -exec perl -pi -e "s, -L%_builddir/\S+,,g" {} \;
find %buildroot/%qtdir/%_lib -type f -name '*prl' -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} \;
find %buildroot/%qtdir/%_lib -type f -name '*la' -print -exec perl -pi -e "s, -L%_builddir/?\S+,,g" {} \;
find %buildroot/%_libdir/pkgconfig -type f -name '*pc' -print -exec perl -pi -e "s, -L%_builddir/?\S+,,g" {} \;
find %buildroot/%qtdir/mkspecs -name 'qmake.conf' -exec chmod -x -- {} \;
find %buildroot/%qtdir/mkspecs -name Info.plist.app -exec chmod -x -- {} \;

# Install rpm macros
mkdir -p %buildroot/%_sysconfdir/rpm/macros.d
install -m 0644 %SOURCE5 %buildroot/%_sysconfdir/rpm/macros.d

%clean
rm -rf %buildroot



%changelog
* Tue Mar 20 2007 Laurent Montel <lmontel@mandriva.com> 4.2.3-3mdv2007.1
+ Revision: 147012
- Fix init var

* Sat Mar 17 2007 Laurent Montel <lmontel@mandriva.com> 2:4.2.3-2mdv2007.1
+ Revision: 145648
- Fix bug #153635

* Thu Mar 08 2007 Laurent Montel <lmontel@mandriva.com> 2:4.2.3-1mdv2007.1
+ Revision: 138414
- 4.2.3

  + Helio Chissini de Castro <helio@mandriva.com>
    - Modifed doc dir as same way did in qt3 package. Instead of have multiple old versionated doc
      dirs, we have only one qt4 docdir installed

* Mon Feb 12 2007 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-11mdv2007.1
+ Revision: 119897
- Fix compile (Patch from Gb)

* Mon Feb 12 2007 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-10mdv2007.1
+ Revision: 118870
- Bug found by gb

* Tue Jan 23 2007 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-9mdv2007.1
+ Revision: 112279
- Fix mem leak
- Fix group
- Use Requires(pre)

* Fri Dec 22 2006 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-8mdv2007.1
+ Revision: 101835
- Rebuild for missing x86_64 package

* Thu Dec 21 2006 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-7mdv2007.1
+ Revision: 101064
- Fix qt4
- Add provides

* Mon Dec 18 2006 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-5mdv2007.1
+ Revision: 98531
- Fix desktop file categorie (bug #27730)

* Tue Dec 12 2006 Helio Chissini de Castro <helio@mandriva.com> 2:4.2.2-4mdv2007.1
+ Revision: 95940
- Added qvfb subpackage

* Fri Dec 01 2006 Helio Chissini de Castro <helio@mandriva.com> 2:4.2.2-3mdv2007.1
+ Revision: 89866
- QtCore should not have X and QtGui dependencies. Thanks to Thiago Macieira

* Fri Dec 01 2006 Laurent Montel <lmontel@mandriva.com> 2:4.2.2-2mdv2007.1
+ Revision: 89852
- 4.2.2
- Fix group
- Patch from titi to fix group

* Tue Oct 24 2006 Laurent Montel <lmontel@mandriva.com> 2:4.2.1-1mdv2007.1
+ Revision: 72260
- 4.2.1
- Be sure to compile qdbus
- Fix overflow

* Wed Oct 04 2006 Helio Chissini de Castro <helio@mandriva.com> 2:4.2.0-2mdv2007.1
+ Revision: 62853
- Added missing provides
- Fixed groups
- Fixed assistant.patch
- Fix new debug style libraries
- Added qtdbus tools and library
- Recompile to avoid missing packages on release

  + Laurent Montel <lmontel@mandriva.com>
    - New package (2006-10-04 4.2.0-1mdv)
      New release 4.2.0
    - Readd sources
      Add missing build requires
    - e
    - f
    - Fix
    - New package (13mdv 2006-09-06)
      Rebuild against new mysql package

* Mon Aug 14 2006 Helio Chissini de Castro <helio@mandriva.com> 2:4.1.4-12mdv2007.0
+ Revision: 56029
- Qt 4.1.4 is stable, KDE 4 development use Qt 4.2 now, so we can drop debug
  packages to release in Mandriva 2007
- Added qt4 rpm macros as same in qt3 package

  + Laurent Montel <lmontel@mandriva.com>
    - qt4 doesn't support %%make

* Fri Jul 21 2006 Laurent Montel <lmontel@mandriva.com> 2:4.1.4-11mdv2007.0
+ Revision: 41802
- Fix menu on mdk <= 2006
- Disable temporary compile static lib which breaks
  designer-qt4 until we fix it
- Adapt patch from  cris at beebgames dot com to
  cleanup configure
- 4.1.4
- Use macro
  Rebuild
- Rebuild qt4 with new libpng
- remove Obsolete to fix upgrade
- Fix place of buildrequires (bug found by Boiko)
- Add missing buildrequires
- use %%make
- This directory doesn't exit into 4.1.3 version
- 4.1.3
- Fix buildrequires
- Adapt to new xdg menu
- Qt4.1.2 doesn't support parallele compile :(
- Fix compile when we unselect plugins.
  it's a bug into qt
  I send a bug report.
- 4.1.2
- Fix spec file
- 4.1.1
- Fix menuentry and generate them
- Increment release version
- 4.1.0 release
- qt4.1.0-rc1
- Compile with debug and not debug
- Fix menu
- Fix requires
  Remove requires on qt-devel which is defined into qt
  Add menu entry

  + Helio Chissini de Castro <helio@mandriva.com>
    - Increase release to recompile
    - Fixed pkgconfig bad paths.
    - Devel package need requires for libraries to avoid broke symlinks
    - qt4 is on main repository now. Shoud not compile against contrib packages. In
     this case, firebird is the one. My fault. :-(
    - Rearrange build requires.
    - Add missing firebird-devel build requires for ibase plugin
    - Fix Provides, Requires and Obsoletes
    - QtUiTools have 4 as soname
    - Examples and demos now installed clean, without all build object files
     - Make plugins multi-arch enabled
     - Make uitools lib shared
     - Renamed accessibility and database plugins to match arch
    - Increase release
    - Making _debug library packages by default on cooker release
    - Enabled acessibility plugin
    - Added interbase database plugin package ( disabled by default )
    - Finally a decent package with proper lib separation and fully working on x86_64
      archs
    - 4.1 will take some time so already provided static libraries, as requested.
      It's suppose to be working, but since is first try, probably some features on
      static library could be not available like in shared ones , due to lack of
      static devel libs on Mandriva ( i.e. postgres, mysql, unixodbc, etc.. )
    - Moved post install pkgconfig files to proper dir on system
    - Fixed fontconfig,sqlite on x86_64
    - Updated for 20050822 qt-copy with patches enabled
    - Moved assistant for a separated package. This makes qt4-doc not depends of any
      binary package anymore
    - Back release for a regular format, 1mdk.
    - Fixed library placement on x86_64
    - 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.
    - Fix wronh version caused by a subversion conflict in spec
    - 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 )
    - Changed to 4.0.0.1 since isn't 4.0.1 official
      Thanks to Thierry Vignaud
    - Fix pkgconfig placement
    - No parallel building
    - Updated from qt-copy to 4.0.1 snapshot
    - Splitted debug andregular libraries
    - Added new pkgconfig files
    - Again, missed point correct lib64 libraries
    - fixed build requires for lib64
    - Fixed lib64 lib placement
    - 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
    - Updated new RC1 from qt-copy
    - Renabled core libraries
    - Still on debug mode
    - Uploading package ./qt4

  + Andreas Hasenack <andreas@mandriva.com>
    - renamed mdv to packages because mdv is too generic and it's hosting only packages anyway