%{?mingw_package_header}
%global pkgname qscintilla
%global scintilla_ver 3.5.4
Name: mingw-%{pkgname}
Summary: MinGW Windows %{pkgname} library
Version: 2.11.2
Release: 3%{?dist}
BuildArch: noarch
License: GPLv3
Url: http://www.riverbankcomputing.com/software/qscintilla/
Source0: https://www.riverbankcomputing.com/static/Downloads/QScintilla/%{version}/QScintilla_gpl-%{version}.tar.gz
# Tweak python bindings configure script for mingw
Patch0: qscintilla_configure.patch
BuildRequires: mingw32-filesystem >= 102
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-python2
BuildRequires: mingw32-qt5-qtbase
BuildRequires: mingw32-qt5-qtscript
BuildRequires: mingw32-qt5-qttools
BuildRequires: mingw32-python2-qt5
BuildRequires: mingw64-filesystem >= 102
BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-python2
BuildRequires: mingw64-qt5-qtbase
BuildRequires: mingw64-qt5-qtscript
BuildRequires: mingw64-qt5-qttools
BuildRequires: mingw64-python2-qt5
Provides: bundled(scintilla) = %{scintilla_ver}
%description
MinGW Windows %{pkgname} library.
%package -n mingw32-%{pkgname}-qt5
Summary: MinGW Windows %{pkgname}-qt5 library
%description -n mingw32-%{pkgname}-qt5
MinGW Windows %{pkgname}-qt5 library.
%package -n mingw32-python2-%{pkgname}-qt5
Summary: MinGW Windows %{pkgname}-qt5 Python 2 bindings
Requires: mingw32-%{pkgname}-qt5 = %{version}-%{release}
Requires: mingw32-python2-qt5
%description -n mingw32-python2-%{pkgname}-qt5
MinGW Windows %{pkgname}-qt5 Python 2 bindings.
%package -n mingw64-%{pkgname}-qt5
Summary: MinGW Windows %{pkgname}-qt5 library
%description -n mingw64-%{pkgname}-qt5
MinGW Windows %{pkgname}-qt5 library.
%package -n mingw64-python2-%{pkgname}-qt5
Summary: MinGW Windows %{pkgname}-qt5 Python 2 bindings
Requires: mingw64-%{pkgname}-qt5 = %{version}-%{release}
Requires: mingw64-python2-qt5
%description -n mingw64-python2-%{pkgname}-qt5
MinGW Windows %{pkgname}-qt5 Python 2 bindings.
%{?mingw_debug_package}
%prep
%autosetup -p1 -n QScintilla_gpl-%{version}
%build
cp -a Qt4Qt5 Qt5/
pushd Qt5
%mingw_qmake_qt5 ../qscintilla.pro
%mingw_make %{?_smp_mflags}
popd
# Python2
cp -a Python Qt5_Python2_win32
pushd Qt5_Python2_win32
%{mingw32_python2} configure.py \
--pyqt=PyQt5 \
--sip=/usr/bin/mingw32-sip \
--qmake=%{mingw32_qmake_qt5} \
--qsci-incdir=../Qt5 --qsci-libdir=../Qt5/build_win32/release \
--verbose
%mingw32_make %{?_smp_mflags}
popd
cp -a Python Qt5_Python2_win64
pushd Qt5_Python2_win64
%{mingw64_python2} configure.py \
--pyqt=PyQt5 \
--sip=/usr/bin/mingw64-sip \
--qmake=%{mingw64_qmake_qt5} \
--qsci-incdir=../Qt5 --qsci-libdir=../Qt5/build_win64/release \
--verbose
%mingw64_make %{?_smp_mflags}
popd
%install
pushd Qt5
%mingw_make install INSTALL_ROOT=%{buildroot}
popd
%mingw32_make install INSTALL_ROOT=%{buildroot} -C Qt5_Python2_win32
%mingw64_make install INSTALL_ROOT=%{buildroot} -C Qt5_Python2_win64
%find_lang qscintilla --with-qt
grep "%{mingw32_datadir}/qt5/translations" qscintilla.lang > mingw32-qscintilla-qt5.lang
grep "%{mingw64_datadir}/qt5/translations" qscintilla.lang > mingw64-qscintilla-qt5.lang
# Fix library names and installation folders
mkdir -p %{buildroot}%{mingw32_bindir}
mv %{buildroot}%{mingw32_libdir}/qscintilla2_qt5.dll %{buildroot}%{mingw32_bindir}/qscintilla2_qt5.dll
mkdir -p %{buildroot}%{mingw64_bindir}
mv %{buildroot}%{mingw64_libdir}/qscintilla2_qt5.dll %{buildroot}%{mingw64_bindir}/qscintilla2_qt5.dll
# Exclude debug files from the main files (note: the debug files are only created after %%install, so we can't search for them directly)
find %{buildroot}%{mingw32_prefix} | grep -E '.(exe|dll|pyd)$' | sed 's|^%{buildroot}\(.*\)$|%%exclude \1.debug|' > mingw32-%{pkgname}.debugfiles
find %{buildroot}%{mingw64_prefix} | grep -E '.(exe|dll|pyd)$' | sed 's|^%{buildroot}\(.*\)$|%%exclude \1.debug|' > mingw64-%{pkgname}.debugfiles
%files -n mingw32-%{pkgname}-qt5 -f mingw32-qscintilla-qt5.lang -f mingw32-%{pkgname}.debugfiles
%license LICENSE
%{mingw32_bindir}/qscintilla2_qt5.dll
%{mingw32_libdir}/libqscintilla2_qt5.dll.a
%{mingw32_includedir}/qt5/Qsci/
%{mingw32_datadir}/qt5/mkspecs/features/qscintilla2.prf
%files -n mingw32-python2-%{pkgname}-qt5 -f mingw32-%{pkgname}.debugfiles
%{mingw32_python2_sitearch}/PyQt5/Qsci.py*
%{mingw32_python2_sitearch}/QScintilla-%{version}.dist-info/
%{mingw32_datadir}/qt5/qsci/
%{mingw32_datadir}/sip/PyQt5/Qsci
%files -n mingw64-%{pkgname}-qt5 -f mingw64-qscintilla-qt5.lang -f mingw64-%{pkgname}.debugfiles
%license LICENSE
%{mingw64_bindir}/qscintilla2_qt5.dll
%{mingw64_libdir}/libqscintilla2_qt5.dll.a
%{mingw64_includedir}/qt5/Qsci/
%{mingw64_datadir}/qt5/mkspecs/features/qscintilla2.prf
%files -n mingw64-python2-%{pkgname}-qt5 -f mingw64-%{pkgname}.debugfiles
%{mingw64_python2_sitearch}/PyQt5/Qsci.py*
%{mingw64_python2_sitearch}/QScintilla-%{version}.dist-info/
%{mingw64_datadir}/qt5/qsci/
%{mingw64_datadir}/sip/PyQt5/Qsci
%changelog
* Mon Jul 22 2019 Sandro Mani <manisandro@gmail.com> - 2.11.2-3
- Update to 2.11.2
* Thu May 02 2019 Sandro Mani <manisandro@gmail.com> - 2.11.1-2
- Fix debug file in non-debug subpackage
- Add python3 subpackages
- Drop Qt4 build support
* Mon Feb 18 2019 Sandro Mani <manisandro@gmail.com> - 2.11.1-1
- Update to 2.11.1
* Wed Feb 13 2019 Sandro Mani <manisandro@gmail.com> - 2.11-1
- Update to 2.11
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Oct 04 2018 Sandro Mani <manisandro@gmail.com> - 2.10.8-1
- Update to 2.10.8
* Tue Jul 31 2018 Sandro Mani <manisandro@gmail.com> - 2.10.7-1
- Update to 2.10.7
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Apr 17 2018 Sandro Mani <manisandro@gmail.com> - 2.10.4-1
- Update to 2.10.4
* Thu Mar 08 2018 Sandro Mani <manisandro@gmail.com> - 2.10.3-1
- Update to 2.10.3
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Nov 25 2017 Sandro Mani <manisandro@gmail.com> - 2.10.2-1
- Update to 2.10.2
* Sat Sep 09 2017 Sandro Mani <manisandro@gmail.com> - 2.10.1-3
- Rebuild (mingw-filesystem)
* Wed Sep 06 2017 Sandro Mani <manisandro@gmail.com> - 2.10.1-2
- Disable qt4 build by default
* Thu Aug 10 2017 Sandro Mani <manisandro@gmail.com> - 2.10.1-1
- Update to 2.10.1
* Tue May 09 2017 Sandro Mani <manisandro@gmail.com> - 2.10.0-2
- Add Qt5 python bindings
* Thu Apr 20 2017 Sandro Mani <manisandro@gmail.com> - 2.10.0-1
- Update to 2.10.0
* Tue Jan 17 2017 Sandro Mani <manisandro@gmail.com> - 2.9.4-1
- Update to 2.9.4
* Fri Jan 22 2016 Sandro Mani <manisandro@gmail.com> - 2.9.1-1
- Update to 2.9.1
* Thu Aug 13 2015 Sandro Mani <manisandro@gmail.com> - 2.9-2
- Enable python bindings
* Fri Jun 26 2015 Sandro Mani <manisandro@gmail.com> - 2.9-1
- Initial package