Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rhabacker:branches:windows:mingw:win32:Qt511
mingw32-libqt5-qtbase
mingw32-libqt5-qtbase.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mingw32-libqt5-qtbase.spec of Package mingw32-libqt5-qtbase
# # spec file for package mingw32-libqt5-qtbase # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # #%%global pre beta1 %global platform_win32 win32-g++-cross %global source_folder qtbase-everywhere-src-%{version}%{?pre:-%pre} %define _major_version 5 %define _minor_version 11 %define _patch_version 1 Name: mingw32-libqt5-qtbase-meta Version: %{_major_version}.%{_minor_version}.%{_patch_version} Release: 0 Summary: Qt5 for Windows - QtBase component License: GPL-3.0 or SUSE-LGPL-2.1-with-digia-exception-1.1 Group: Development/Libraries Url: http://www.qt-project.org/ Source0: http://download.qt.io/archive/qt/%{_major_version}.%{_minor_version}/%{version}/submodules/qtbase-everywhere-src-%{version}%{?pre:-%pre}.tar.xz Source1: qt.conf Patch0: 0001-If-present-load-qt5.conf-otherwise-load-qt.conf.patch Patch1: 0001-qt-5.11-qmake-compile-fix.patch Patch2: qt5-prevent-debug-library-names-in-pkgconfig-files.patch Patch3: 0001-Generate-import-libraries-with-dll.a-postfix.patch Patch4: 0001-rename-qtmain-to-qt5main-to-be-different-to-Qt4.patch Patch5: 0001-Fix-GLES-library-names.patch Patch6: 0001-Add-qmake-variable-QMAKE_LIBS_POST-to-be-able-to-appen.patch Patch07: 0001-qt-5.11-fix-finding-icu.patch Patch8: 0001-Use-unix-path-layout-on-Windows-too-to-match-Framework.patch Patch9: add-support-for-qt.conf-at-dll-location.patch #Patch10: 0001-Add-support-for-plurals-with-floating-values.patch # https://phabricator.kde.org/D2545#69186 Patch12: qdbus-manager-quit-5.7.patch Patch13: 0001-Use-lib-prefix-for-shared-libraries-and-module-on-Wind.patch Patch14: 0001-Add-support-for-cross-compiling-qmake.patch Patch15: pkconf-cross-compile.patch Patch16: 0001-gcc-9-compile-fix.patch Patch17: 0001-add-lssp-to-mingw-compile.patch Patch18: 0001-fix-building-qmake-on-tumbleweed.patch # does not work #Patch19: 0001-Fix-install-of-targets-located-in-subdir-like-releas.patch # not tested yet #Patch20: 0001-add-qtconf-settings.patch BuildRequires: binutils BuildRequires: bison BuildRequires: dos2unix BuildRequires: flex BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: mingw32-angleproject-devel BuildRequires: mingw32-cross-binutils BuildRequires: mingw32-cross-gcc BuildRequires: mingw32-cross-gcc-c++ BuildRequires: mingw32-cross-pkgconf BuildRequires: mingw32-dbus-1-devel BuildRequires: mingw32-filesystem BuildRequires: mingw32-libicu-devel BuildRequires: mingw32-libjpeg-devel BuildRequires: mingw32-libopenssl-devel BuildRequires: mingw32-libpng-devel BuildRequires: mingw32-libtiff-devel BuildRequires: mingw32-mysql-connector-c-devel BuildRequires: mingw32-pcre-devel BuildRequires: mingw32-sqlite-devel BuildRequires: mingw32-zlib-devel BuildRequires: mingw32-libharfbuzz-devel BuildRequires: mingw32-glib2-devel BuildRequires: mingw32-libintl-devel BuildRequires: xz BuildRequires: zip BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %{_mingw32_package_header_debug} #!BuildIgnore: post-build-checks %description This is a meta-package. %package -n mingw32-cross-libqt5-qmake Summary: Qt5 for native tools Group: Development/Libraries %description -n mingw32-cross-libqt5-qmake This package contains the build environment for cross compiling applications with the MinGW Qt Library and cross-compiler. %package -n mingw32-libqt5-qtbase Summary: Qt5 for Windows build environment Group: Development/Libraries #Requires: mingw32-libqt5-qttools-lrelease # for network ssl support Requires: mingw32-libopenssl BuildArch: noarch %description -n mingw32-libqt5-qtbase This package contains the Qt software toolkit for developing cross-platform applications. This is the Windows version of Qt, for use in conjunction with the MinGW cross-compiler. %package -n mingw32-libqt5-qtbase-devel Summary: Qt5 for Windows build environment Group: Development/Libraries Requires: mingw32-libqt5-qtbase = %{version}-%{release} Requires: mingw32-angleproject-devel Requires: mingw32-cross-libqt5-qmake = %{version}-%{release} Requires: mingw32-libqt5-common-devel Requires: mingw32-cross-gcc-c++ Provides: mingw32-libqt5-qtbase-private-headers-devel Provides: mingw32-libQt5Core-private-headers-devel Provides: mingw32-libQt5Gui-private-headers-devel BuildArch: noarch %description -n mingw32-libqt5-qtbase-devel Contains the files required to get various Qt tools built which are part of the mingw-qt5-qttools package %_mingw32_debug_package %prep %setup -q -n %{source_folder} cp -p %SOURCE1 . %autopatch -p1 %build # Generic configure arguments qt_configure_args_generic="\ -xplatform win32-g++ \ -optimized-qmake \ -verbose \ -opensource \ -confirm-license \ -force-pkg-config \ -force-debug-info \ -system-zlib \ -system-harfbuzz \ -system-libpng \ -system-libjpeg \ -system-sqlite \ -no-fontconfig \ -openssl-linked \ -no-cups \ -no-glib \ -icu \ -release \ -nomake examples \ -opengl es2 \ -dbus-linked \ -make tools" qt_configure_args_win32="\ -hostprefix %{_prefix}/%{_mingw32_target} \ -hostbindir %{_prefix}/%{_mingw32_target}/bin/qt5 \ -hostdatadir %{_mingw32_datadir}/qt5 \ -prefix %{_mingw32_prefix} \ -bindir %{_mingw32_bindir} \ -archdatadir %{_mingw32_datadir}/qt5 \ -datadir %{_mingw32_datadir}/qt5 \ -docdir %{_mingw32_docdir}/qt5 \ -examplesdir %{_mingw32_datadir}/qt5/examples \ -headerdir %{_mingw32_includedir}/qt5 \ -libdir %{_mingw32_libdir} \ -plugindir %{_mingw32_libdir}/qt5/plugins \ -sysconfdir %{_mingw32_sysconfdir} \ -translationdir %{_mingw32_datadir}/qt5/translations \ -device-option CROSS_COMPILE=%{_mingw32_target}-" # RPM automatically sets the environment variable PKG_CONFIG_PATH # to point to the native pkg-config files, but while cross compiling # we don't want to have this environment variable set unset PKG_CONFIG_PATH export PKG_CONFIG="%{_mingw32_target}-pkgconf" # synq qt headers; required for cross building qmake mkdir .git # The LD_LIBRARY_PATH override is needed because libQt5Bootstrap is a shared # library which various compiled tools (like moc) use. As the libQt5Bootstrap # library isn't installed at this point yet, we have to workaround this rm -rf ../build_release_shared_win32 mkdir ../build_release_shared_win32 pushd ../build_release_shared_win32 MAKEFLAGS=%{?_smp_mflags} ../%{source_folder}/configure \ -shared \ $qt_configure_args_win32 $qt_configure_args_generic LD_LIBRARY_PATH=`pwd`/lib make %{?_smp_mflags} popd %install make install -C ../build_release_shared_win32$BUILDDIR INSTALL_ROOT=%{buildroot} # The mingw gcc compiler assumes that %%{_prefix}/%%{_mingw32_target}/lib and # %%{prefix}/%%{mingw32_target}/lib are paths which need to be searched # during linking for cross-compiled libraries. As this isn't intended and # introduces unwanted side effects (related to building mingw-qt5-qttools) # remove the reference to it sed -i s@'"%{_prefix}/%{_mingw32_target}/lib" '@@g %{buildroot}%{_mingw32_datadir}/qt5/mkspecs/qconfig.pri # Drop all the files which we don't need rm -f %{buildroot}%{_mingw32_libdir}/*.prl rm -f %{buildroot}%{_prefix}/%{_mingw32_target}/lib/libQt5Bootstrap.la rm -f %{buildroot}%{_prefix}/%{_mingw32_target}/lib/libQt5Bootstrap*.prl rm -rf %{buildroot}%{_prefix}/%{_mingw32_target}/lib/pkgconfig # Add qtchooser support mkdir -p %{buildroot}%{_sysconfdir}/xdg/qtchooser echo "%{_prefix}/%{_mingw32_target}/bin/qt5" > %{buildroot}%{_sysconfdir}/xdg/qtchooser/mingw32-qt5.conf echo "%{_mingw32_prefix}" >> %{buildroot}%{_sysconfdir}/xdg/qtchooser/mingw32-qt5.conf # Manually install qmake and other native tools so we don't depend anymore on # the version of the native Qt and also fix issues as illustrated at # http://stackoverflow.com/questions/6592931/building-for-windows-under-linux-using-qt-creator # # Also make sure the tools can be found by CMake mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_prefix}/%{_mingw32_target}/bin for tool in qmake moc rcc uic qdoc qdbuscpp2xml qdbusxml2cpp syncqt.pl; do ln -s ../%{_mingw32_target}/bin/qt5/$tool %{buildroot}%{_bindir}/%{_mingw32_target}-$tool-qt5 done ln -s %{_mingw32_target}-qmake-qt5 %{buildroot}%{_bindir}/mingw32-qmake-qt5 # install qt.conf for correct install pathes on runtime cp ../%{source_folder}/qt.conf %{buildroot}/%{_mingw32_bindir}/qt5.conf %post -n mingw32-cross-libqt5-qmake -p /sbin/ldconfig %postun -n mingw32-cross-libqt5-qmake -p /sbin/ldconfig %files -n mingw32-libqt5-qtbase %defattr(-, root, root) %{_mingw32_bindir}/libQt5*.dll %{_mingw32_bindir}/qt5.conf %{_mingw32_libdir}/qt5/ %exclude %{_mingw32_libdir}/qt5/*/*/*.debug %files -n mingw32-libqt5-qtbase-devel %defattr(-, root, root) %{_mingw32_bindir}/qmake.exe %{_mingw32_libdir}/libQt5*.a %{_mingw32_libdir}/libqt*.a %{_mingw32_libdir}/pkgconfig/*.pc %{_mingw32_libdir}/cmake/ %{_mingw32_includedir}/qt5/ %{_mingw32_docdir}/qt5/ %files -n mingw32-cross-libqt5-qmake %defattr(-, root, root) %doc LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.LGPLv3 %{_bindir}/*-qt5 %{_prefix}/%{_mingw32_target}/bin/qt5/ %{_prefix}/%{_mingw32_target}/lib/libQt5Bootstrap.a %{_mingw32_datadir}/qt5/ # qtchooser %dir %{_sysconfdir}/xdg/qtchooser/ # not editable config files, so not using %%config here %{_sysconfdir}/xdg/qtchooser/mingw32-qt5.conf %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor