Blame mingw-python-qt5.spec

0626210
%{?mingw_package_header}
0626210
0626210
# Disable debuginfo subpackages and debugsource packages for now to use old logic
0626210
%undefine _debugsource_packages
0626210
%undefine _debuginfo_subpackages
0626210
0626210
# Override the __debug_install_post argument as this package
0626210
# contains both native as well as cross compiled binaries
0626210
%global __debug_install_post %%{mingw_debug_install_post}; %{_rpmconfigdir}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_find_debuginfo_opts} "%{_builddir}/%%{?buildsubdir}" %{nil}
0626210
0626210
447c66f
%global host_py3_dir %{_builddir}/host-py3-%{name}-%{version}-%{release}
447c66f
%global win32_py3_dir %{_builddir}/mingw32-py3-%{name}-%{version}-%{release}
447c66f
%global win64_py3_dir %{_builddir}/mingw64-py3-%{name}-%{version}-%{release}
0626210
0626210
%global pkgname python-qt5
e30abe7
%global qt_ver 5.13.2
a6aec6a
d762fe3
# Workaround "error: create archive failed: cpio: write failed - Cannot allocate memory"
d762fe3
# https://bugzilla.redhat.com/show_bug.cgi?id=1729382
d762fe3
%global _smp_build_nthreads 2
d762fe3
a2040db
#define pre dev1805251538
0626210
0626210
Name:           mingw-%{pkgname}
0626210
Summary:        MinGW Windows PyQt5
57bfdcc
Version:        5.13.2
f619408
Release:        3%{?pre:.%pre}%{?dist}
0626210
0626210
# GPLv2 exceptions(see GPL_EXCEPTIONS*.txt)
0626210
License:        (GPLv3 or GPLv2 with exceptions) and BSD
0626210
Url:            http://www.riverbankcomputing.com/software/pyqt/
57bfdcc
Source0:        https://www.riverbankcomputing.com/static/Downloads/PyQt5/%{version}/PyQt5-%{version}%{?pre:.%pre}.tar.gz
0626210
# Hack in WS_WIN instead of WS_X11 in sip-flags
e9f6963
Patch0:         PyQt5_wswin.patch
a2040db
# Tweak configure for cross build
e9f6963
Patch1:         PyQt5_configure.patch
a6aec6a
0626210
77495c7
BuildRequires:  gcc-c++
77495c7
BuildRequires:  make
447c66f
BuildRequires:  python3-devel
447c66f
BuildRequires:  python3-pyqt5-sip
447c66f
BuildRequires:  python3-sip-devel
77495c7
0626210
BuildRequires:  qt5-qtbase-devel >= %{qt_ver}
6dd818e
BuildRequires:  qt5-qtlocation-devel >= %{qt_ver}
6dd818e
BuildRequires:  qt5-qtmultimedia-devel >= %{qt_ver}
6dd818e
BuildRequires:  qt5-qtsensors-devel >= %{qt_ver}
a2040db
BuildRequires:  qt5-qtserialport-devel >= %{qt_ver}
0626210
BuildRequires:  qt5-qtsvg-devel >= %{qt_ver}
0626210
BuildRequires:  qt5-qttools-devel >= %{qt_ver}
b0f6fb3
BuildRequires:  qt5-qtwebkit-devel
0626210
BuildRequires:  qt5-qtxmlpatterns-devel >= %{qt_ver}
053f779
BuildRequires:  qt5-qtwebchannel-devel >= %{qt_ver}
0626210
004cf8b
BuildRequires:  mingw32-filesystem >= 102
0626210
BuildRequires:  mingw32-gcc-c++
447c66f
BuildRequires:  mingw32-python3
0626210
BuildRequires:  mingw32-qt5-qtbase >= %{qt_ver}
6dd818e
BuildRequires:  mingw32-qt5-qtlocation >= %{qt_ver}
6dd818e
BuildRequires:  mingw32-qt5-qtmultimedia >= %{qt_ver}
6dd818e
BuildRequires:  mingw32-qt5-qtsensors >= %{qt_ver}
a2040db
BuildRequires:  mingw32-qt5-qtserialport >= %{qt_ver}
0626210
BuildRequires:  mingw32-qt5-qtsvg >= %{qt_ver}
0626210
BuildRequires:  mingw32-qt5-qttools >= %{qt_ver}
b0f6fb3
BuildRequires:  mingw32-qt5-qtwebkit
0626210
BuildRequires:  mingw32-qt5-qtxmlpatterns >= %{qt_ver}
053f779
BuildRequires:  mingw32-qt5-qtwebchannel >= %{qt_ver}
447c66f
BuildRequires:  mingw32-python3-pyqt5-sip
0626210
004cf8b
BuildRequires:  mingw64-filesystem >= 102
0626210
BuildRequires:  mingw64-gcc-c++
447c66f
BuildRequires:  mingw64-python3
0626210
BuildRequires:  mingw64-qt5-qtbase >= %{qt_ver}
6dd818e
BuildRequires:  mingw64-qt5-qtlocation >= %{qt_ver}
6dd818e
BuildRequires:  mingw64-qt5-qtmultimedia >= %{qt_ver}
6dd818e
BuildRequires:  mingw64-qt5-qtsensors >= %{qt_ver}
a2040db
BuildRequires:  mingw64-qt5-qtserialport >= %{qt_ver}
0626210
BuildRequires:  mingw64-qt5-qtsvg >= %{qt_ver}
0626210
BuildRequires:  mingw64-qt5-qttools >= %{qt_ver}
b0f6fb3
BuildRequires:  mingw64-qt5-qtwebkit
0626210
BuildRequires:  mingw64-qt5-qtxmlpatterns >= %{qt_ver}
447c66f
BuildRequires:  mingw64-python3-pyqt5-sip
053f779
BuildRequires:  mingw64-qt5-qtwebchannel >= %{qt_ver}
053f779
0626210
0626210
%description
0626210
MinGW Windows PyQt5
0626210
447c66f
%package -n mingw32-python3-qt5
447c66f
Summary:       MinGW Windows Python3-Qt5
447c66f
Requires:      qt5-qtbase >= %{qt_ver}
447c66f
Requires:      sip
447c66f
Requires:      mingw32-qt5-qtbase >= %{qt_ver}
447c66f
Requires:      mingw32-qt5-qttools >= %{qt_ver}
447c66f
Requires:      mingw32-python3-pyqt5-sip
447c66f
447c66f
%description -n mingw32-python3-qt5
447c66f
MinGW Windows Python3-Qt5
447c66f
447c66f
447c66f
%package -n mingw64-python3-qt5
447c66f
Summary:       MinGW Windows Python3-Qt5
447c66f
Requires:      qt5-qtbase >= %{qt_ver}
447c66f
Requires:      sip
447c66f
Requires:      mingw64-qt5-qtbase >= %{qt_ver}
447c66f
Requires:      mingw64-qt5-qttools >= %{qt_ver}
447c66f
Requires:      mingw64-python3-pyqt5-sip
447c66f
447c66f
%description -n mingw64-python3-qt5
447c66f
MinGW Windows Python3-Qt5
447c66f
0626210
0626210
%{?mingw_debug_package}
0626210
0626210
0626210
%prep
57bfdcc
%setup -q -n PyQt5-%{version}%{?pre:.%pre}
447c66f
3a0ae22
for dir in %{host_py3_dir}; do
447c66f
rm -rf $dir
447c66f
cp -a . $dir
447c66f
pushd $dir
e9f6963
%patch0 -p1
0626210
popd
447c66f
done
0626210
3a0ae22
for dir in %{win32_py3_dir} %{win64_py3_dir}; do
447c66f
rm -rf $dir
447c66f
cp -a . $dir
447c66f
pushd $dir
e9f6963
%patch1 -p1
447c66f
popd
447c66f
done
447c66f
0626210
0626210
%build
447c66f
pushd %{host_py3_dir}
447c66f
%{__python3} configure.py \
447c66f
  --assume-shared \
447c66f
  --confirm-license \
447c66f
  --qmake=%{_qt5_qmake} \
447c66f
  --no-qsci-api \
447c66f
  --verbose
447c66f
%make_build
447c66f
popd
447c66f
447c66f
pushd %{win32_py3_dir}
447c66f
mingw32-python3 configure.py \
0626210
  --assume-shared \
0626210
  --confirm-license \
447c66f
  --sip=/usr/bin/mingw32-sip \
447c66f
  --qmake=%{mingw32_qmake_qt5} \
0626210
  --no-qsci-api \
0626210
  --verbose
447c66f
%mingw32_make %{?_smp_mflags}
447c66f
popd
0626210
447c66f
pushd %{win64_py3_dir}
447c66f
mingw64-python3 configure.py \
447c66f
  --assume-shared \
447c66f
  --confirm-license \
447c66f
  --sip=/usr/bin/mingw64-sip \
447c66f
  --qmake=%{mingw64_qmake_qt5} \
447c66f
  --no-qsci-api \
447c66f
  --verbose
447c66f
%mingw64_make %{?_smp_mflags}
447c66f
popd
0626210
0626210
0626210
%install
447c66f
make install INSTALL_ROOT=%{buildroot} -C %{host_py3_dir}
447c66f
%mingw32_make install INSTALL_ROOT=%{buildroot} -C %{win32_py3_dir}
447c66f
%mingw64_make install INSTALL_ROOT=%{buildroot} -C %{win64_py3_dir}
0626210
3a0ae22
# Ensure so's are executable, else they are ignored by the debuginfo extractor
3a0ae22
find %{buildroot} -type f -name '*.so' -exec chmod +x {} \;
0626210
0626210
# Move native build to host libs
447c66f
mkdir -p %{buildroot}%{_prefix}/%{mingw32_target}/lib/python%{mingw32_python3_version}/site-packages/
447c66f
mkdir -p %{buildroot}%{_prefix}/%{mingw64_target}/lib/python%{mingw32_python3_version}/site-packages/
447c66f
cp -a %{buildroot}%{python3_sitearch}/PyQt5 %{buildroot}%{_prefix}/%{mingw32_target}/lib/python%{mingw32_python3_version}/site-packages/PyQt5
447c66f
cp -a %{buildroot}%{python3_sitearch}/PyQt5 %{buildroot}%{_prefix}/%{mingw64_target}/lib/python%{mingw32_python3_version}/site-packages/PyQt5
0626210
0626210
# Remove pylupdate, pyuic and pyrcc shell scripts
0626210
rm -f %{buildroot}%{mingw32_bindir}/py{lupdate,rcc,uic}5
0626210
rm -f %{buildroot}%{mingw64_bindir}/py{lupdate,rcc,uic}5
0626210
0626210
# Remove unused stuff
0626210
rm -rf %{buildroot}%{_libdir}
0626210
rm -rf %{buildroot}%{_bindir}
0626210
rm -rf %{buildroot}%{_datadir}
0626210
004cf8b
# Exclude debug files from the main files (note: the debug files are only created after %%install, so we can't search for them directly)
004cf8b
find %{buildroot}%{mingw32_prefix} | grep -E '.(exe|dll|pyd)$' | sed 's|^%{buildroot}\(.*\)$|%%exclude \1.debug|' > mingw32-%{pkgname}.debugfiles
004cf8b
find %{buildroot}%{mingw64_prefix} | grep -E '.(exe|dll|pyd)$' | sed 's|^%{buildroot}\(.*\)$|%%exclude \1.debug|' > mingw64-%{pkgname}.debugfiles
0626210
0626210
447c66f
%files -n mingw32-python3-qt5 -f mingw32-%{pkgname}.debugfiles
447c66f
%license LICENSE
447c66f
%{_prefix}/%{mingw32_target}/lib/python%{mingw32_python3_version}/site-packages/PyQt5/
447c66f
%{mingw32_python3_sitearch}/PyQt5/
447c66f
%{mingw32_python3_sitearch}/PyQt5-%{version}.dist-info/
447c66f
%{mingw32_libdir}/qt5/plugins/designer/pyqt5.dll
447c66f
%{mingw32_libdir}/qt5/plugins/PyQt5/
447c66f
%{mingw32_datadir}/sip/PyQt5
447c66f
447c66f
447c66f
%files -n mingw64-python3-qt5 -f mingw64-%{pkgname}.debugfiles
447c66f
%license LICENSE
447c66f
%{_prefix}/%{mingw64_target}/lib/python%{mingw32_python3_version}/site-packages/PyQt5/
447c66f
%{mingw64_python3_sitearch}/PyQt5/
447c66f
%{mingw64_python3_sitearch}/PyQt5-%{version}.dist-info/
0626210
%{mingw64_libdir}/qt5/plugins/designer/pyqt5.dll
0626210
%{mingw64_libdir}/qt5/plugins/PyQt5/
0626210
%{mingw64_datadir}/sip/PyQt5
0626210
447c66f
0626210
%changelog
f619408
* Tue Dec 17 2019 Sandro Mani <manisandro@gmail.com> - 5.13.2-3
f619408
- Rebuild (qt5)
f619408
2ef271c
* Thu Dec 12 2019 Sandro Mani <manisandro@gmail.com> - 5.13.2-2
2ef271c
- Rebuild (qt5)
2ef271c
57bfdcc
* Tue Nov 05 2019 Sandro Mani <manisandro@gmail.com> - 5.13.2-1
57bfdcc
- Update to 5.13.2
57bfdcc
627361e
* Tue Oct 08 2019 Sandro Mani <manisandro@gmail.com> - 5.13.1-2
627361e
- Rebuild (Changes/Mingw32GccDwarf2)
627361e
e9f6963
* Tue Oct 01 2019 Sandro Mani <manisandro@gmail.com> - 5.13.1-1
e9f6963
- Update to 5.13.1
e9f6963
053f779
* Fri Sep 27 2019 Sandro Mani <manisandro@gmail.com> - 5.13.0-3
053f779
- Rebuild (python 3.8, qt 5.12.5)
053f779
200076b
* Wed Aug 28 2019 Sandro Mani <manisandro@gmail.com> - 5.13.0-2
200076b
- Rebuild (qt5-qtwebkit)
200076b
3a0ae22
* Mon Aug 05 2019 Sandro Mani <manisandro@gmail.com> - 5.13.0-1
3a0ae22
- Update to 5.13.0
3a0ae22
1309813
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.12.3-4
1309813
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
1309813
ee301f5
* Sun Jul 21 2019 Sandro Mani <manisandro@gmail.com> - 5.12.3-3
ee301f5
- Actually apply patch
ee301f5
3b2322f
* Fri Jul 19 2019 Sandro Mani <manisandro@gmail.com> - 5.12.3-2
3b2322f
- Backport python2 fix
3b2322f
95a8614
* Thu Jul 18 2019 Sandro Mani <manisandro@gmail.com> - 5.12.3-1
95a8614
- Update to 5.12.3
95a8614
f980463
* Tue May 07 2019 Sandro Mani <manisandro@gmail.com> - 5.12.2-1
f980463
- Update to 5.12.2
f980463
447c66f
* Wed May 01 2019 Sandro Mani <manisandro@gmail.com> - 5.12.1-2
447c66f
- Add python3 subpackages
447c66f
0a99abe
* Sat Apr 20 2019 Sandro Mani <manisandro@gmail.com> - 5.12.1-1
0a99abe
- Update to 5.12.1
0a99abe
2291588
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.11.3-3
2291588
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
2291588
ca032a4
* Tue Jan 15 2019 Sandro Mani <manisandro@gmail.com> - 5.11.3-2
ca032a4
- Rebuild for qt5-5.11.3
ca032a4
0a3ae74
* Thu Oct 04 2018 Sandro Mani <manisandro@gmail.com> - 5.11.3-1
0a3ae74
- Update to 5.11.3
0a3ae74
6b8faaa
* Mon Sep 24 2018 Sandro Mani <manisandro@gmail.com> - 5.11.2-5
6b8faaa
- Bump qt_ver
6b8faaa
9654d34
* Sun Sep 23 2018 Sandro Mani <manisandro@gmail.com> - 5.11.2-4
9654d34
- Rebuild for qt5-5.11.2
9654d34
4b9c4e3
* Tue Jul 31 2018 Sandro Mani <manisandro@gmail.com> - 5.11.2-3
4b9c4e3
- Fix incorrect requires
4b9c4e3
1edd446
* Sun Jul 29 2018 Sandro Mani <manisandro@gmail.com> - 5.11.2-2
1edd446
- Require private PyQt5 sip modules
1edd446
a2040db
* Fri Jul 20 2018 Sandro Mani <manisandro@gmail.com> - 5.11.2-1
a2040db
- Update to 5.11.2
a2040db
- Enable qtserialport bindings
a2040db
ef16c37
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.10.2-0.3.dev1805251538
ef16c37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
ef16c37
4c54140
* Thu Jun 21 2018 Sandro Mani <manisandro@gmail.com> - 5.10.2-0.2.dev1805251538
4c54140
- Rebuild for qt5-5.11.1
4c54140
a6aec6a
* Fri Jun 01 2018 Sandro Mani <manisandro@gmail.com> - 5.10.2-0.1.dev1805251538
a6aec6a
- Update to 5.10.2.dev1805251538
a6aec6a
2b15a68
* Wed Mar 07 2018 Sandro Mani <manisandro@gmail.com> - 5.10.1-1
2b15a68
- Update to 5.10.1
2b15a68
77495c7
* Mon Feb 19 2018 Sandro Mani <manisandro@gmail.com> - 5.10-5
77495c7
- Add missing BR: gcc-c++, make
77495c7
1e09c4b
* Sat Feb 17 2018 Sandro Mani <manisandro@gmail.com> - 5.10-4
1e09c4b
- Bump qt_ver to 5.10.1
1e09c4b
a5becfe
* Fri Feb 16 2018 Sandro Mani <manisandro@gmail.com> - 5.10-3
a5becfe
- Rebuild for qt5-5.10.1
a5becfe
f384eef
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.10-2
f384eef
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f384eef
3d083b6
* Wed Jan 24 2018 Sandro mani <manisandro@gmail.com> - 5.10-1
3d083b6
- Update to 5.10
3d083b6
cc2fa8b
* Mon Jan 08 2018 Sandro Mani <manisandro@gmail.com> - 5.9.2-3
cc2fa8b
- Support Qt5 newer than just 5.9.3 (+5.9.4,5.10.0,5.10.1)
cc2fa8b
196ea0f
* Thu Dec 21 2017 Sandro Mani <manisandro@gmail.com> - 5.9.2-2
196ea0f
- Rebuild for qt5-5.10.0
196ea0f
56f6d41
* Mon Nov 27 2017 Sandro Mani <manisandro@gmail.com> - 5.9.2-1
56f6d41
- Update to 5.9.2
56f6d41
b8ee76d
* Sat Nov 04 2017 Sandro Mani <manisandro@gmail.com> - 5.9.1-1
b8ee76d
- Update to 5.9.1
b8ee76d
6dd818e
* Wed Oct 11 2017 Sandro Mani <manisandro@gmail.com> - 5.9-6
6dd818e
- Also build qtlocation, qtmultimedia and qtsensor bindings
6dd818e
d2a6a34
* Wed Oct 11 2017 Jan Grulich <jgrulich@redhat.com> - 5.9-5
d2a6a34
- Bump qt_ver to 5.9.2
d2a6a34
004cf8b
* Tue Sep 19 2017 Sandro Mani <manisandro@gmail.com> - 5.9-4
004cf8b
- Rebuild (mingw-filesystem)
004cf8b
0626210
* Tue Sep 05 2017 Sandro Mani <manisandro@gmail.com> - 5.9-3
0626210
- Require mingw{32,64}-qt5-qttools for directory ownership
0626210
0626210
* Wed Aug 09 2017 Sandro Mani <manisandro@gmail.com> - 5.9-2
0626210
- Bump qt_ver to 5.9.1
0626210
0626210
* Tue Jul 11 2017 Sandro Mani <manisandro@gmail.com> - 5.9-1
0626210
- Update to 5.9
0626210
0626210
* Sat May 06 2017 Sandro Mani <manisandro@gmail.com> - 5.8.2-1
0626210
- Initial package