Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dg0yt:3rd-party:qt-5.5.1
mingw-libqt5-qtbase
mingw-libqt5-qtbase.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mingw-libqt5-qtbase.spec of Package mingw-libqt5-qtbase
# # spec file for package mingw-libqt5-qtbase # # Copyright 2015 Kai Pastor <dg0yt@darc.de> # # Based on 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. %if ! 0%{__isa_bits} %ifarch x86_64 %define __isa_bits 64 %else %define __isa_bits 32 %endif %endif %define mingw mingw%{__isa_bits} %{expand:%{_%{mingw}_package_header}} %define mingw_package_header_debug \ %{expand:%{_%{mingw}_package_header_debug}} %define mingw_configure %{expand:%{_%{mingw}_configure}} %define mingw_make %{expand:%{_%{mingw}_make}} %define mingw_target %{expand:%{_%{mingw}_target}} %define mingw_prefix %{expand:%{_%{mingw}_prefix}} %define mingw_bindir %{expand:%{_%{mingw}_bindir}} %define mingw_includedir %{expand:%{_%{mingw}_includedir}} %define mingw_libdir %{expand:%{_%{mingw}_libdir}} %define mingw_datadir %{expand:%{_%{mingw}_datadir}} %define mingw_docdir %{expand:%{_%{mingw}_docdir}} %define mingw_sysconfdir %{expand:%{_%{mingw}_sysconfdir}} %global qt_module qtbase #%%global pre beta1 %global source_folder %{qt_module}-opensource-src-%{version}%{?pre:-%pre} Name: mingw-libqt5-%{qt_module} Version: 5.5.1 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.io/ Source0: %{qt_module}-opensource-src-%{version}%{?pre:-%pre}.tar.xz Source1: qt.conf Patch1: qt5-workaround-pkgconfig-install-issue.patch Patch2: qt5-dont-add-resource-files-to-qmake-libs.patch Patch3: qt5-prevent-debug-library-names-in-pkgconfig-files.patch Patch4: qt5-qmake-implib-dll-a.patch Patch6: qt5-dont-search-ssleay.diff Patch100: qt5-use-win32-g++-mkspecs-profile.patch Patch102: qt5-add-angle-support.patch #Patch103: qt5-use-external-angle-library.patch Patch104: qt5-qtbase-fix-linking-against-static-pcre.patch Patch105: qt5-dont-build-host-libs-static.patch Patch106: qt5-enable-rpath-for-host-tools.patch Patch107: qt5-use-system-zlib-in-host-libs.patch Patch1001: qt5-rename-icuin-lib.patch #Patch1002: qt5-dont-use-winflex.patch Patch1003: qt5-qt5main-name-fix.patch #Patch1008: qt5-gcc5.patch Patch2001: qt5-post-5.5.1-QTBUG-48203.patch BuildRequires: binutils BuildRequires: bison BuildRequires: dos2unix BuildRequires: flex BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: %{mingw}-cross-binutils BuildRequires: %{mingw}-cross-gcc BuildRequires: %{mingw}-cross-gcc-c++ BuildRequires: %{mingw}-cross-pkg-config BuildRequires: %{mingw}-filesystem BuildRequires: %{mingw}-libjpeg-devel BuildRequires: %{mingw}-libpng-devel BuildRequires: %{mingw}-libtiff-devel BuildRequires: %{mingw}-pcre-devel BuildRequires: %{mingw}-sqlite-devel BuildRequires: %{mingw}-win_iconv-devel BuildRequires: %{mingw}-zlib-devel #BuildRequires: %%{mingw}-libharfbuzz-devel #BuildRequires: %%{mingw}-glib2-devel #BuildRequires: %%{mingw}-libintl-devel BuildRequires: xz BuildRequires: zip BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %mingw_package_header_debug #!BuildIgnore: post-build-checks %description -n mingw-libqt5-%{qt_module} This is a meta-package. %package -n %{mingw}-cross-libqt5-qmake Summary: Qt5 for native tools Group: Development/Libraries %description -n %{mingw}-cross-libqt5-qmake This package contains the build environment for cross compiling applications with the MinGW Qt Library and cross-compiler. %package -n %{mingw}-libqt5-%{qt_module} Summary: Qt5 for Windows build environment Group: Development/Libraries BuildArch: noarch %description -n %{mingw}-libqt5-%{qt_module} 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 %{mingw}-libqt5-%{qt_module}-devel Summary: Qt5 for Windows build environment Group: Development/Libraries Requires: %{mingw}-libqt5-%{qt_module} = %{version}-%{release} BuildArch: noarch %description -n %{mingw}-libqt5-%{qt_module}-devel Contains the files required to get various Qt tools built which are part of the mingw-qt5-qttools package %package -n %{mingw}-libqt5-%{qt_module}-debug Summary: Debug information for package %{mingw}-libqt5-%{qt_module}-debug Group: Development/Debug BuildArch: noarch %description -n %{mingw}-libqt5-%{qt_module}-debug This package provides debug information for package %{mingw}-libqt5-%{qt_module}-debug. Debug information is useful when developing applications that use this package or when debugging this package. %prep %setup -q -n %{source_folder} cp -p %SOURCE1 . # Note: some patches don't have a -b argument here # This was done on purpose as the Qt build infrastructure # automatically copies the entire mkspecs folder to # the RPM_BUILD_ROOT. To prevent patch backups from # appearing in the resulting RPMs we have to avoid # using the -b argument here while applying patches %patch1 -p0 -b .pkgconfig %patch2 -p1 -b .res %patch3 -p1 -b .pkgconfig_debug %patch4 -p1 -b .qmake_implib %patch6 -p1 %patch100 -p1 #%%patch101 %patch102 -p0 -b .angle #%%patch103 -p0 -b .external_angle %patch104 -p1 -b .pcre %patch105 %patch106 -p1 %patch107 -p1 -b .host_system_zlib #%%patch110 -p1 -b .no_angle_opengl_tester %patch1001 -p1 #%%patch1002 -p1 %patch1003 -p1 #%%patch1008 -p1 #%%patch1009 -p1 %patch2001 -p1 # Make sure the Qt5 build system uses our external ANGLE library ## Disabled in OBS as long as there's no external ANGLE package rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,KHR} # As well as our external PCRE library rm -rf src/3rdparty/pcre %build # Generic configure arguments qt_configure_args_generic="\ -xplatform win32-g++ -optimized-qmake \ -verbose \ -opensource \ -confirm-license \ -force-pkg-config \ -force-debug-info \ -audio-backend \ -system-zlib \ -system-libpng \ -system-libjpeg \ -system-sqlite \ -no-fontconfig \ -iconv \ -no-openssl \ -system-proxies \ -no-glib \ -no-gtkstyle \ -no-icu \ -no-sql-odbc \ -release \ -nomake examples \ -opengl desktop \ -no-dbus \ -make tools" qt_configure_args_win="\ -hostprefix %{_prefix}/%{mingw_target} \ -hostbindir %{_prefix}/%{mingw_target}/bin/qt5 \ -hostdatadir %{mingw_datadir}/qt5 \ -prefix %{mingw_prefix} \ -bindir %{mingw_bindir} \ -archdatadir %{mingw_datadir}/qt5 \ -datadir %{mingw_datadir}/qt5 \ -docdir %{mingw_docdir}/qt5 \ -examplesdir %{mingw_datadir}/qt5/examples \ -headerdir %{mingw_includedir}/qt5 \ -libdir %{mingw_libdir} \ -plugindir %{mingw_libdir}/qt5/plugins \ -sysconfdir %{mingw_sysconfdir} \ -translationdir %{mingw_datadir}/qt5/translations \ -device-option CROSS_COMPILE=%{mingw_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 ############################################################################### # Win32 # # 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 ../%{source_folder}/configure \ -shared \ $qt_configure_args_win $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}/%%{mingw_target}/lib and # %%{prefix}/%%{mingw64_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}/%{mingw_target}/lib" '@@g %{buildroot}%{mingw_datadir}/qt5/mkspecs/qconfig.pri # Rename qtmain.a to a non-conflicting file name # The updated filename is already set correctly in the bundled mkspecs profiles mv %{buildroot}%{mingw_libdir}/libqtmain.a %{buildroot}%{mingw_libdir}/libqt5main.a # The .dll's are installed in both %%{mingw_bindir} and %%{mingw_libdir} # One copy of the .dll's is sufficient rm -f %{buildroot}%{mingw_libdir}/*.dll # Drop all the files which we don't need rm -f %{buildroot}%{mingw_libdir}/*.prl rm -f %{buildroot}%{_prefix}/%{mingw_target}/lib/libQt5Bootstrap.la rm -f %{buildroot}%{_prefix}/%{mingw_target}/lib/libQt5Bootstrap*.prl rm -rf %{buildroot}%{_prefix}/%{mingw_target}/lib/pkgconfig # drop all dbus debug symbols rm -rf %{buildroot}%{_prefix}/lib/debug # Add qtchooser support mkdir -p %{buildroot}%{_sysconfdir}/xdg/qtchooser echo "%{_prefix}/%{mingw_target}/bin/qt5" > %{buildroot}%{_sysconfdir}/xdg/qtchooser/%{mingw}-qt5.conf echo "%{mingw_prefix}" >> %{buildroot}%{_sysconfdir}/xdg/qtchooser/%{mingw}-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}/%{mingw_target}/bin for tool in qmake moc rcc uic qdoc qdbuscpp2xml qdbusxml2cpp syncqt.pl; do ln -s ../%{mingw_target}/bin/qt5/$tool %{buildroot}%{_bindir}/%{mingw_target}-$tool-qt5 done ln -s %{mingw_target}-qmake-qt5 %{buildroot}%{_bindir}/%{mingw}-qmake-qt5 # install qt.conf for correct install pathes on runtime cp ../%{source_folder}/qt.conf %{buildroot}/%{mingw_bindir} %post -n %{mingw}-cross-libqt5-qmake -p /sbin/ldconfig %postun -n %{mingw}-cross-libqt5-qmake -p /sbin/ldconfig %files -n %{mingw}-libqt5-%{qt_module} %defattr(-, root, root) %{mingw_bindir}/Qt5*.dll %{mingw_bindir}/qt.conf %{mingw_libdir}/qt5/ %exclude %{mingw_libdir}/qt5/*/*/*.debug %files -n %{mingw}-libqt5-%{qt_module}-devel %defattr(-, root, root) %{mingw_libdir}/libQt5*.a %{mingw_libdir}/libqt*.a %{mingw_libdir}/pkgconfig/*.pc %{mingw_libdir}/cmake/ %{mingw_includedir}/qt5/ %{mingw_docdir}/qt5/ %files -n %{mingw}-cross-libqt5-qmake %defattr(-, root, root) %doc LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.PREVIEW.COMMERCIAL %{_bindir}/*-qt5 %{_prefix}/%{mingw_target}/bin/qt5/ %{_prefix}/%{mingw_target}/lib/libQt5Bootstrap*.so* %{mingw_datadir}/qt5/ # qtchooser %dir %{_sysconfdir}/xdg/qtchooser/ # not editable config files, so not using %%config here %{_sysconfdir}/xdg/qtchooser/%{mingw}-qt5.conf %files -n %{mingw}-libqt5-%{qt_module}-debug -f %_builddir/%{mingw}-debugfiles.list %defattr(-,root,root) %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