]> git.pld-linux.org Git - packages/qt5-qtbase.git/commitdiff
- new, rel 0.1
authorWitold Filipczyk <witekfl@poczta.onet.pl>
Sat, 28 Dec 2013 17:34:11 +0000 (18:34 +0100)
committerWitold Filipczyk <witekfl@poczta.onet.pl>
Sat, 28 Dec 2013 17:34:11 +0000 (18:34 +0100)
- TODO: use rpmldflags in build process
- not tested

qt5-qtbase.spec [new file with mode: 0644]

diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec
new file mode 100644 (file)
index 0000000..4c8a875
--- /dev/null
@@ -0,0 +1,471 @@
+# TODO:
+# - use PLD ldflags
+# - cleanup
+
+# Conditional build:
+%bcond_with    static_libs     # build static libraries
+# -- features
+%bcond_without cups            # CUPS printing support
+%bcond_with    nas             # NAS audio support
+%bcond_without gtk             # GTK+ theme integration
+%bcond_without pch             # pch (pre-compiled headers) in qmake
+%bcond_without system_phonon   # phonon libraries from phonon.spec intead of qt4.spec
+%bcond_with    wkhtml          # WKHTMLTOPDF patch (affects QtGui ABI)
+# -- databases
+%bcond_without mysql           # MySQL plugin
+%bcond_without odbc            # unixODBC plugin
+%bcond_without pgsql           # PostgreSQL plugin
+%bcond_without sqlite3         # SQLite3 plugin
+%bcond_without sqlite          # SQLite2 plugin
+%bcond_without ibase           # ibase (InterBase/Firebird) plugin
+# -- SIMD CPU instructions
+%bcond_with    sse             # use SSE instructions in gui/painting module
+%bcond_with    sse2            # use SSE2 instructions
+%bcond_with    sse3            # use SSE3 instructions (since: Intel middle Pentium4, AMD Athlon64)
+%bcond_with    ssse3           # use SSSE3 instructions (Intel since Core2, Via Nano)
+%bcond_with    sse41           # use SSE4.1 instructions (Intel since middle Core2)
+%bcond_with    sse42           # use SSE4.2 instructions (the same)
+%bcond_with    avx             # use AVX instructions (future Intel x86 CPUs only)
+
+%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
+%undefine      with_ibase
+%endif
+%ifarch        athlon
+%define                with_3dnow      1
+%endif
+%ifarch athlon pentium3 pentium4 %{x8664}
+%define                with_mmx        1
+%endif
+%ifarch pentium3 pentium4 %{x8664}
+%define                with_sse        1
+%endif
+%ifarch pentium4 %{x8664}
+%define                with_sse2       1
+%endif
+# any SQL
+%define                _withsql        1
+%{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%undefine _withsql}}}}}}
+
+%define                icu_abi         52
+%define                next_icu_abi    %(echo $((%{icu_abi} + 1)))
+
+%define                orgname         qtbase
+Summary:       The Qt5 application framework
+Summary(es.UTF-8):     Biblioteca para ejecutar aplicaciones Qt5
+Summary(pl.UTF-8):     Biblioteka Qt5
+Summary(pt_BR.UTF-8):  Estrutura para rodar aplicações Qt5
+Name:          qt5-%{orgname}
+Version:       5.2.0
+Release:       0.1
+License:       LGPL v2.1 or GPL v3.0
+Group:         X11/Libraries
+Source0:       http://download.qt-project.org/official_releases/qt/5.2/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
+# Source0-md5: c94bbaf1bb7f0f4a32d2caa7501416e1
+URL:           http://qt-project.org/
+%{?with_ibase:BuildRequires:   Firebird-devel}
+BuildRequires: Mesa-libOpenVG-devel
+BuildRequires: OpenGL-GLU-devel
+BuildRequires: OpenGL-devel
+BuildRequires: alsa-lib-devel
+%{?with_cups:BuildRequires:    cups-devel}
+BuildRequires: dbus-devel >= 0.93
+BuildRequires: fontconfig-devel
+BuildRequires: freetds-devel
+BuildRequires: freetype-devel >= 1:2.0.0
+%{?with_pch:BuildRequires:     gcc >= 5:4.0}
+BuildRequires: glib2-devel >= 2.0.0
+BuildRequires: gstreamer0.10-plugins-base-devel
+%{?with_gtk:BuildRequires:     gtk+2-devel >= 2:2.10}
+# see dependency on libicu version below
+BuildRequires: libicu-devel >= %{icu_abi}
+BuildRequires: libicu-devel < %{next_icu_abi}
+BuildRequires: libjpeg-devel
+BuildRequires: libmng-devel >= 1.0.0
+BuildRequires: libpng-devel >= 2:1.0.8
+BuildRequires: libstdc++-devel
+%{?with_mysql:BuildRequires:   mysql-devel}
+%{?with_nas:BuildRequires:     nas-devel}
+BuildRequires: pkgconfig
+%{?with_pgsql:BuildRequires:   postgresql-backend-devel}
+%{?with_pgsql:BuildRequires:   postgresql-devel}
+BuildRequires: pulseaudio-devel >= 0.9.10
+BuildRequires: rpmbuild(macros) >= 1.654
+BuildRequires: rsync
+BuildRequires: sed >= 4.0
+%{?with_sqlite:BuildRequires:  sqlite-devel}
+%{?with_sqlite3:BuildRequires: sqlite3-devel}
+%{?with_odbc:BuildRequires:    unixODBC-devel >= 2.3.0}
+BuildRequires: xorg-lib-libSM-devel
+BuildRequires: xorg-lib-libXcursor-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXfixes-devel
+BuildRequires: xorg-lib-libXi-devel
+BuildRequires: xorg-lib-libXinerama-devel
+BuildRequires: xorg-lib-libXrandr-devel
+BuildRequires: xorg-lib-libXrender-devel
+BuildRequires: xorg-lib-libXtst-devel
+BuildRequires: xorg-lib-libXv-devel
+BuildRequires: zlib-devel
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define                _noautoreqdep   libGL.so.1 libGLU.so.1
+%define                _noautostrip    '.*_debug\\.so*'
+
+%define                specflags       -fno-strict-aliasing
+
+%define                _qtdir          %{_libdir}/qt5
+
+%description
+Qt5 base libraries.
+
+%package devel
+Summary:       The Qt5 application framework - development files
+Group:         X11/Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description devel
+Qt5 - development files.
+
+%package examples
+Summary:       Qt5 examples
+Group:         X11/Development/Libraries
+
+%description examples
+Qt5 - examples.
+
+%prep
+%setup -q -n %{orgname}-opensource-src-%{version}
+
+%{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
+       mkspecs/common/linux.conf
+
+# change QMAKE FLAGS to build
+%{__sed} -i -e '
+       s|QMAKE_CC.*=.*gcc|QMAKE_CC\t\t= %{__cc}|;
+       s|QMAKE_CXX.*=.*g++|QMAKE_CXX\t\t= %{__cxx}|;
+       s|QMAKE_LINK.*=.*g++|QMAKE_LINK\t\t= %{__cxx}|;
+       s|QMAKE_LINK_SHLIB.*=.*g++|QMAKE_LINK_SHLIB\t= %{__cxx}|;
+       s|QMAKE_CFLAGS_RELEASE.*|QMAKE_CFLAGS_RELEASE\t+= %{rpmcppflags} %{rpmcflags}|;
+       s|QMAKE_CXXFLAGS_RELEASE.*|QMAKE_CXXFLAGS_RELEASE\t+= %{rpmcppflags} %{rpmcxxflags}|;
+       s|QMAKE_CFLAGS_DEBUG.*|QMAKE_CFLAGS_DEBUG\t+= %{debugcflags}|;
+       s|QMAKE_CXXFLAGS_DEBUG.*|QMAKE_CXXFLAGS_DEBUG\t+= %{debugcflags}|;
+       ' mkspecs/common/g++-base.conf
+
+#%{__sed} -i -e '
+#      s|QMAKE_INCDIR_QT.*|QMAKE_INCDIR_QT       = %{_includedir}/qt4|;
+#      ' mkspecs/common/linux.conf
+
+# No -L/usr/lib.
+%{__sed} -i -e '
+       s|^QMAKE_LIBDIR_QT.*=.*|QMAKE_LIBDIR_QT       =|;
+       ' mkspecs/common/linux.conf
+
+# undefine QMAKE_STRIP, so we get useful -debuginfo pkgs
+%{__sed} -i -e '
+       s|^QMAKE_STRIP.*=.*|QMAKE_STRIP             =|;
+       ' mkspecs/common/linux.conf
+
+%build
+# pass OPTFLAGS to build qmake itself with optimization
+export OPTFLAGS="%{rpmcflags}"
+export PATH=$PWD/bin:$PATH
+
+##################################
+# DEFAULT OPTIONS FOR ALL BUILDS #
+##################################
+
+COMMONOPT=" \
+       -confirm-license \
+       -opensource \
+       -verbose \
+       -prefix %{_qtdir} \
+       -bindir %{_qtdir}/bin \
+       -docdir %{_docdir}/qt5-doc \
+       -headerdir %{_includedir}/qt5 \
+       -libdir %{_libdir} \
+       -plugindir %{_qtdir}/plugins \
+       -datadir %{_datadir}/qt5 \
+       -translationdir %{_localedir}/ \
+       -sysconfdir %{_sysconfdir}/qt5 \
+       -examplesdir %{_examplesdir}/qt5 \
+       -optimized-qmake \
+       -glib \
+       %{!?with_gtk:-no-gtkstyle} \
+       -%{!?with_pch:no-}pch \
+       -no-rpath \
+       %{!?with_sse:-no-sse} \
+       %{!?with_sse2:-no-sse2} \
+       %{!?with_sse3:-no-sse3} \
+       %{!?with_ssse3:-no-ssse3} \
+       %{!?with_sse41:-no-sse4.1} \
+       %{!?with_sse42:-no-sse4.2} \
+       %{!?with_avx:-no-avx} \
+       -dbus \
+       -dbus-linked \
+       -reduce-relocations \
+       -system-freetype \
+       -system-libjpeg \
+       -system-libpng \
+       -system-pcre \
+       -system-xcb \
+       -system-xkbcommon \
+       -system-zlib \
+       -openssl-linked \
+       -largefile \
+       -I/usr/include/postgresql/server \
+       -I/usr/include/mysql \
+       %{?with_cups:-cups} \
+       %{?with_nas:-system-nas-sound} \
+       %{?debug:-debug} \
+       %{!?debug:-release} \
+       -fontconfig \
+       -largefile \
+       -iconv \
+       -icu \
+       -no-separate-debug-info \
+       -xfixes \
+       -nis \
+       -sm \
+       -xcursor \
+       -xinput2 \
+       -xinerama \
+       -xrandr \
+       -xkb \
+       -xrender \
+       -xshape \
+       -continue"
+
+%if 0
+##################################
+#       STATIC MULTI-THREAD      #
+##################################
+
+%if %{with static_libs}
+OPT=" \
+       -%{!?with_mysql:no}%{?with_mysql:qt}-sql-mysql \
+       -%{!?with_odbc:no}%{?with_odbc:qt}-sql-odbc \
+       -%{!?with_pgsql:no}%{?with_pgsql:qt}-sql-psql \
+       -%{!?with_sqlite3:no}%{?with_sqlite3:qt}-sql-sqlite \
+       -%{!?with_sqlite:no}%{?with_sqlite:qt}-sql-sqlite2 \
+       -%{!?with_ibase:no}%{?with_ibase:qt}-sql-ibase \
+       -static"
+
+./configure $COMMONOPT $OPT
+
+%{__make} -C src
+%{__make} -C tools/assistant/lib
+%{__make} -C tools/designer
+if [ ! -d staticlib ]; then
+       mkdir staticlib
+       cp -a lib/*.a staticlib
+fi
+%{__make} distclean
+%endif
+%endif
+
+##################################
+#       SHARED MULTI-THREAD      #
+##################################
+
+OPT=" \
+       -%{!?with_mysql:no}%{?with_mysql:plugin}-sql-mysql \
+       -%{!?with_odbc:no}%{?with_odbc:plugin}-sql-odbc \
+       -%{!?with_pgsql:no}%{?with_pgsql:plugin}-sql-psql \
+       -%{!?with_sqlite3:no}%{?with_sqlite3:plugin}-sql-sqlite \
+       -%{!?with_sqlite:no}%{?with_sqlite:plugin}-sql-sqlite2 \
+       -%{!?with_ibase:no}%{?with_ibase:plugin}-sql-ibase \
+       -shared"
+
+./configure $COMMONOPT $OPT
+
+%{__make}
+#%{__make} \
+#      sub-tools-all-ordered \
+#      sub-demos-all-ordered \
+#      sub-examples-all-ordered
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/etc/{env.d,qt5},%{_bindir},%{_desktopdir},%{_pixmapsdir},%{_pkgconfigdir}}
+#install -d $RPM_BUILD_ROOT%{_qtdir}/plugins/{crypto,network}
+
+#echo '#QT_GRAPHICSSYSTEM=raster' > $RPM_BUILD_ROOT/etc/env.d/QT_GRAPHICSSYSTEM
+
+%{__make} install \
+       INSTALL_ROOT=$RPM_BUILD_ROOT
+
+# for qt-creator sth is messed up in the Makefile, nothing for make install
+#install bin/qdoc3 $RPM_BUILD_ROOT%{_qtdir}/bin/qdoc3
+
+# kill -L/inside/builddir from *.la and *.pc (bug #77152)
+%{__sed} -i -e "s,-L$PWD/lib,,g" $RPM_BUILD_ROOT%{_libdir}/*.{la,prl}
+%{__sed} -i -e "s,-L$PWD/lib,,g" $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
+%{__sed} -i -e '
+       s|moc_location=.*|moc_location=%{_bindir}/moc-qt5|;
+       s|uic_location=.*|uic_location=%{_bindir}/uic-qt5|;
+       ' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
+
+# libQtWebKit.la contains '-ljscore' and '-lwebcore', they come
+# from src/3rdparty/webkit/{JavaScriptCore,WebCore}} but those libs aren't installed
+#%{__sed} -i -e "s,-lwebcore,,g;s,-ljscore,,g;" $RPM_BUILD_ROOT%{_libdir}/libQtWebKit.la
+
+# install tools
+install bin/findtr     $RPM_BUILD_ROOT%{_qtdir}/bin
+
+cd $RPM_BUILD_ROOT%{_bindir}
+#ln -sf ../%{_lib}/qt5/bin/assistant assistant-qt5
+#ln -sf ../%{_lib}/qt5/bin/designer designer-qt5
+ln -sf ../%{_lib}/qt5/bin/findtr findtr-qt5
+#ln -sf ../%{_lib}/qt5/bin/linguist linguist-qt5
+#ln -sf ../%{_lib}/qt5/bin/lrelease lrelease-qt5
+#ln -sf ../%{_lib}/qt5/bin/lupdate lupdate-qt5
+ln -sf ../%{_lib}/qt5/bin/moc moc-qt5
+ln -sf ../%{_lib}/qt5/bin/qmake qmake-qt5
+#ln -sf ../%{_lib}/qt5/bin/qtconfig qtconfig-qt5
+ln -sf ../%{_lib}/qt5/bin/uic uic-qt5
+ln -sf ../%{_lib}/qt5/bin/rcc rcc-qt5
+#ln -sf ../%{_lib}/qt5/bin/pixeltool .
+#ln -sf ../%{_lib}/qt5/bin/qcollectiongenerator .
+ln -sf ../%{_lib}/qt5/bin/qdbuscpp2xml qdbuscpp2xml-qt5
+ln -sf ../%{_lib}/qt5/bin/qdbusxml2cpp qdbusxml2cpp-qt5
+ln -sf ../%{_lib}/qt5/bin/qdoc qdoc-qt5
+#ln -sf ../%{_lib}/qt5/bin/qhelpconverter .
+#ln -sf ../%{_lib}/qt5/bin/qhelpgenerator .
+#ln -sf ../%{_lib}/qt5/bin/qmlviewer .
+#ln -sf ../%{_lib}/qt5/bin/qmlplugindump .
+#ln -sf ../%{_lib}/qt5/bin/qttracereplay .
+#ln -sf ../%{_lib}/qt5/bin/qvfb .
+#ln -sf ../%{_lib}/qt5/bin/xmlpatternsvalidator .
+cd -
+
+# Prepare some files list
+ifecho() {
+       RESULT=`echo $RPM_BUILD_ROOT$2 2>/dev/null`
+       [ "$RESULT" == "" ] && return # XXX this is never true due $RPM_BUILD_ROOT being set
+       r=`echo $RESULT | awk '{ print $1 }'`
+
+       if [ -d "$r" ]; then
+               echo "%%dir $2" >> $1.files
+       elif [ -x "$r" ] ; then
+               echo "%%attr(755,root,root) $2" >> $1.files
+       elif [ -f "$r" ]; then
+               echo "$2" >> $1.files
+       else
+               echo "Error generation $1 files list!"
+               echo "$r: no such file or directory!"
+               return 1
+       fi
+}
+
+echo "%defattr(644,root,root,755)" > examples.files
+ifecho examples %{_examplesdir}/qt5
+for f in `find $RPM_BUILD_ROOT%{_examplesdir}/qt5 -printf "%%P "`; do
+       ifecho examples %{_examplesdir}/qt5/$f
+done
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post          -p /sbin/ldconfig
+%postun                -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Concurrent.so.?
+%attr(755,root,root) %{_libdir}/libQt5Concurrent.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Core.so.?
+%attr(755,root,root) %{_libdir}/libQt5Core.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5DBus.so.?
+%attr(755,root,root) %{_libdir}/libQt5DBus.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Gui.so.?
+%attr(755,root,root) %{_libdir}/libQt5Gui.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Network.so.?
+%attr(755,root,root) %{_libdir}/libQt5Network.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5OpenGL.so.?
+%attr(755,root,root) %{_libdir}/libQt5OpenGL.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5PrintSupport.so.?
+%attr(755,root,root) %{_libdir}/libQt5PrintSupport.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Sql.so.?
+%attr(755,root,root) %{_libdir}/libQt5Sql.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Test.so.?
+%attr(755,root,root) %{_libdir}/libQt5Test.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Widgets.so.?
+%attr(755,root,root) %{_libdir}/libQt5Widgets.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQt5Xml.so.?
+%attr(755,root,root) %{_libdir}/libQt5Xml.so.*.*
+%{_libdir}/libQt5Bootstrap.a
+%{_libdir}/libQt5OpenGLExtensions.a
+%{_libdir}/libQt5PlatformSupport.a
+
+%dir /etc/qt5
+%dir %{_qtdir}
+%dir %{_qtdir}/bin
+%attr(755,root,root) %{_qtdir}/bin/*
+%attr(755,root,root) %{_qtdir}/plugins
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libQt5Concurrent.so
+%attr(755,root,root) %{_libdir}/libQt5Core.so
+%attr(755,root,root) %{_libdir}/libQt5DBus.so
+%attr(755,root,root) %{_libdir}/libQt5Gui.so
+%attr(755,root,root) %{_libdir}/libQt5Network.so
+%attr(755,root,root) %{_libdir}/libQt5OpenGL.so
+%attr(755,root,root) %{_libdir}/libQt5PrintSupport.so
+%attr(755,root,root) %{_libdir}/libQt5Sql.so
+%attr(755,root,root) %{_libdir}/libQt5Test.so
+%attr(755,root,root) %{_libdir}/libQt5Widgets.so
+%attr(755,root,root) %{_libdir}/libQt5Xml.so
+
+%{_libdir}/libQt5Concurrent.la
+%{_libdir}/libQt5Core.la
+%{_libdir}/libQt5DBus.la
+%{_libdir}/libQt5Gui.la
+%{_libdir}/libQt5Network.la
+%{_libdir}/libQt5OpenGL.la
+%{_libdir}/libQt5PrintSupport.la
+%{_libdir}/libQt5Sql.la
+%{_libdir}/libQt5Test.la
+%{_libdir}/libQt5Widgets.la
+%{_libdir}/libQt5Xml.la
+
+%{_libdir}/libQt5Concurrent.prl
+%{_libdir}/libQt5Core.prl
+%{_libdir}/libQt5DBus.prl
+%{_libdir}/libQt5Gui.prl
+%{_libdir}/libQt5Network.prl
+%{_libdir}/libQt5OpenGL.prl
+%{_libdir}/libQt5PrintSupport.prl
+%{_libdir}/libQt5Sql.prl
+%{_libdir}/libQt5Test.prl
+%{_libdir}/libQt5Widgets.prl
+%{_libdir}/libQt5Xml.prl
+
+%{_libdir}/libQt5Bootstrap.la
+%{_libdir}/libQt5Bootstrap.prl
+%{_libdir}/libQt5OpenGLExtensions.la
+%{_libdir}/libQt5OpenGLExtensions.prl
+%{_libdir}/libQt5PlatformSupport.la
+%{_libdir}/libQt5PlatformSupport.prl
+
+%{_includedir}/qt5
+%{_libdir}/cmake/Qt5
+%{_libdir}/cmake/Qt5Concurrent
+%{_libdir}/cmake/Qt5Core
+%{_libdir}/cmake/Qt5DBus
+%{_libdir}/cmake/Qt5Gui
+%{_libdir}/cmake/Qt5Network
+%{_libdir}/cmake/Qt5OpenGL
+%{_libdir}/cmake/Qt5OpenGLExtensions
+%{_libdir}/cmake/Qt5PrintSupport
+%{_libdir}/cmake/Qt5Sql
+%{_libdir}/cmake/Qt5Test
+%{_libdir}/cmake/Qt5Widgets
+%{_libdir}/cmake/Qt5Xml
+%{_pkgconfigdir}/*.pc
+#%{_examplesdir}/qt5
+%{_docdir}/qt5-doc
+%{_qtdir}/mkspecs
+
+%files examples -f examples.files
This page took 0.559739 seconds and 4 git commands to generate.