%global scintilla_ver 3.5.4
# bootstrapping -python
#global bootstrap 1
%if ! 0%{?bootstrap}
%global python2 1
%global python3 1
%endif
%global qt5 1
Summary: A Scintilla port to Qt
Name: qscintilla
Version: 2.9.2
Release: 5%{?dist}
License: GPLv3
Url: http://www.riverbankcomputing.com/software/qscintilla/
%if 0%{?snap:1}
Source0: http://www.riverbankcomputing.com/static/Downloads/QScintilla2/QScintilla_gpl-%{version}-snapshot-%{snap}.tar.gz
%else
Source0: http://downloads.sf.net/pyqt/QScintilla_gpl-%{version}.tar.gz
%endif
## Upstreamable patches
# make qt5 build parallel-installable
Patch2: QScintilla_gpl-2.9.2-qt5.patch
BuildRequires: pkgconfig(QtDesigner) pkgconfig(QtGui) pkgconfig(QtScript) pkgconfig(QtXml)
%if 0%{?qt5}
BuildRequires: pkgconfig(Qt5Designer) pkgconfig(Qt5Gui) pkgconfig(Qt5Widgets)
%endif
Provides: bundled(scintilla) = %{scintilla_ver}
%description
QScintilla is a port of Scintilla to the Qt GUI toolkit.
%{?scintilla_ver:This version of QScintilla is based on Scintilla v%{scintilla_ver}.}
%package devel
Summary: QScintilla Development Files
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: qt4-devel
%description devel
%{summary}.
%if 0%{?python2}
%package -n python2-qscintilla
Summary: QScintilla python2 bindings
BuildRequires: PyQt4-devel
BuildRequires: sip-devel >= 3.16
Obsoletes: qscintilla-python < 2.9.2-2
Provides: qscintilla-python = %{version}-%{release}
Provides: python2-PyQt4-Qsci = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: PyQt4
%{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
%description -n python2-qscintilla
%{summary}.
%package -n python2-qscintilla-devel
Summary: Development files for QScintilla python2 bindings
Obsoletes: qscintilla-python-devel < 2.9.2-2
Provides: qscintilla-python-devel = %{version}-%{release}
Requires: PyQt4-devel
BuildArch: noarch
%description -n python2-qscintilla-devel
%{summary}.
%endif
%if 0%{?python3}
%package -n python3-qscintilla
Summary: QScintilla python3 bindings
BuildRequires: python3-PyQt4-devel
BuildRequires: sip-devel >= 3.16
Provides: %{name}-python3 = %{version}-%{release}
Provides: python3-PyQt5-Qsci = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3-PyQt4
%{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
%description -n python3-qscintilla
%{summary}.
%package -n python3-qscintilla-devel
Summary: Development files for QScintilla python3 bindings
Provides: %{name}-python3-devel = %{version}-%{release}
Requires: python3-PyQt4-devel
BuildArch: noarch
%description -n python3-qscintilla-devel
%{summary}.
%endif
%if 0%{?qt5}
%package qt5
Summary: A Scintilla port to Qt5
# consider tightening to = if we can confirm use of private api -- rex
%{?_qt5:Requires: %{_qt5}%{?_isa} >= %{_qt5_version}}
%description qt5
%{summary}.
%package qt5-devel
Summary: QScintilla Development Files
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
Requires: qt5-qtbase-devel
%description qt5-devel
%{summary}.
%if 0%{?python3}
%package -n python3-qscintilla-qt5
Summary: QScintilla-qt5 python3 bindings
BuildRequires: python3-qt5
BuildRequires: python3-qt5-devel
BuildRequires: sip-devel >= 3.16
Provides: %{name}-qt5-python3 = %{version}-%{release}
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
Requires: python3-qt5%{?pyqt5_version: = %{pyqt5_version}}
%{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
%description -n python3-qscintilla-qt5
%{summary}.
%package -n python3-qscintilla-qt5-devel
Summary: Development files for QScintilla-qt5 python3 bindings
Provides: %{name}-qt5-python3-devel = %{version}-%{release}
Requires: python-qt5-devel
BuildArch: noarch
%description -n python3-qscintilla-qt5-devel
%{summary}.
%endif
%endif
%prep
%setup -q -n QScintilla_gpl-%{version}%{?snap:-snapshot-%{snap}}
%patch2 -p1 -b .qt5
%build
PATH=%{_qt4_bindir}:$PATH; export PATH
cp -a Qt4Qt5 Qt4/
pushd Qt4
%{qmake_qt4} qscintilla.pro
make %{?_smp_mflags}
popd
# set QMAKEFEATURES to ensure just built lib/feature is found
QMAKEFEATURES=`pwd`/Qt4/features; export QMAKEFEATURES
cp -a designer-Qt4Qt5 designer-Qt4/
pushd designer-Qt4
%{qmake_qt4} designer.pro INCLUDEPATH+=../Qt4 LIBS+=-L../Qt4
make %{?_smp_mflags}
popd
%if 0%{?python2}
cp -a Python Python2-qt4
pushd Python2-qt4
%{__python2} \
configure.py \
--no-timestamp \
--qsci-incdir=../Qt4 --qsci-libdir=../Qt4
make %{?_smp_mflags}
popd
%endif
%if 0%{?python3}
cp -a Python Python3-qt4
pushd Python3-qt4
%{__python3} \
configure.py \
--no-timestamp \
--pyqt-sipdir=/usr/share/python3-sip/PyQt4 \
--qsci-incdir=../Qt4 --qsci-libdir=../Qt4 \
--sip=/usr/bin/python3-sip
make %{?_smp_mflags}
popd
%endif
%if 0%{?qt5}
PATH=%{_qt5_bindir}:$PATH; export PATH
cp -a Qt4Qt5 Qt5/
pushd Qt5
%{qmake_qt5} qscintilla.pro
make %{?_smp_mflags}
popd
# set QMAKEFEATURES to ensure just built lib/feature is found
QMAKEFEATURES=`pwd`/Qt5/features; export QMAKEFEATURES
cp -a designer-Qt4Qt5 designer-Qt5/
pushd designer-Qt5
%{qmake_qt5} designer.pro INCLUDEPATH+=../Qt5 LIBS+=-L../Qt5
make %{?_smp_mflags}
popd
%if 0%{?python3}
cp -a Python Python3-qt5
pushd Python3-qt5
%{__python3} \
configure.py \
--no-timestamp \
--pyqt=PyQt5 \
--pyqt-sipdir=/usr/share/python3-sip/PyQt5 \
--qsci-incdir=../Qt5 --qsci-libdir=../Qt5 \
--sip=/usr/bin/python3-sip
make %{?_smp_mflags}
popd
%endif
%endif
%install
make -C Qt4 install INSTALL_ROOT=%{buildroot}
make -C designer-Qt4 install INSTALL_ROOT=%{buildroot}
%if 0%{?python2}
make -C Python2-qt4 install DESTDIR=%{buildroot} INSTALL_ROOT=%{buildroot}
test -x %{buildroot}%{python2_sitearch}/PyQt4/Qsci.so || \
chmod a+x %{buildroot}%{python2_sitearch}/PyQt4/Qsci.so
%endif
%if 0%{?python3}
make -C Python3-qt4 install DESTDIR=%{buildroot} INSTALL_ROOT=%{buildroot}
test -x %{buildroot}%{python3_sitearch}/PyQt4/Qsci.so || \
chmod a+x %{buildroot}%{python3_sitearch}/PyQt4/Qsci.so
%endif
%if 0%{?qt5}
make -C Qt5 install INSTALL_ROOT=%{buildroot}
make -C designer-Qt5 install INSTALL_ROOT=%{buildroot}
%if 0%{?python3}
make -C Python3-qt5 install DESTDIR=%{buildroot} INSTALL_ROOT=%{buildroot}
test -x %{buildroot}%{python3_sitearch}/PyQt5/Qsci.so || \
chmod a+x %{buildroot}%{python3_sitearch}/PyQt5/Qsci.so
%endif
%endif
%find_lang qscintilla --with-qt
grep "%{_qt4_translationdir}" qscintilla.lang > qscintilla-qt4.lang
grep "%{_qt5_translationdir}" qscintilla.lang > qscintilla-qt5.lang
# unpackaged files
%if !0%{?python2}
rm -rfv %{buildroot}%{_qt4_datadir}/qsci/
%endif
%if !0%{?python3}
rm -rfv %{buildroot}%{_qt5_datadir}/qsci/
%endif
%check
# verify python module(s) permissions and libqscintilla2 linkage
# https://bugzilla.redhat.com/show_bug.cgi?id=1104559
%if 0%{?python2}
ldd %{buildroot}%{python2_sitearch}/PyQt4/Qsci.so | grep libqscintilla2 || exit 1
test -x %{buildroot}%{python2_sitearch}/PyQt4/Qsci.so
%endif
%if 0%{?python3}
ldd %{buildroot}%{python3_sitearch}/PyQt4/Qsci.so | grep libqscintilla2 || exit 1
test -x %{buildroot}%{python2_sitearch}/PyQt4/Qsci.so
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f qscintilla-qt4.lang
%doc NEWS README
%license LICENSE
%{_qt4_libdir}/libqscintilla2.so.12*
%{_qt4_plugindir}/designer/libqscintillaplugin.so
%files devel
%doc doc/html-Qt4Qt5 doc/Scintilla example-Qt4Qt5
%{_qt4_headerdir}/Qsci/
%{_qt4_libdir}/libqscintilla2.so
%{_qt4_datadir}/mkspecs/features/qscintilla2.prf
%if 0%{?python2}
%files -n python2-qscintilla
%{python2_sitearch}/PyQt4/Qsci.*
%{_qt4_datadir}/qsci/
%files -n python2-qscintilla-devel
%{_datadir}/sip/PyQt4/Qsci/
%endif
%if 0%{?python3}
%files -n python3-qscintilla
%{python3_sitearch}/PyQt4/Qsci.*
%{_qt4_datadir}/qsci/
%files -n python3-qscintilla-devel
%{_datadir}/python3-sip/PyQt4/Qsci/
%endif
%if 0%{?qt5}
%files qt5 -f qscintilla-qt5.lang
%doc NEWS README
%license LICENSE
%{_qt5_libdir}/libqscintilla2-qt5.so.12*
%{_qt5_plugindir}/designer/libqscintillaplugin.so
%files qt5-devel
%doc doc/html-Qt4Qt5 doc/Scintilla example-Qt4Qt5
%{_qt5_headerdir}/Qsci/
%{_qt5_libdir}/libqscintilla2-qt5.so
%{_qt5_archdatadir}/mkspecs/features/qscintilla2.prf
%if 0%{?python3}
%files -n python3-qscintilla-qt5
%{python3_sitearch}/PyQt5/Qsci.*
%{_qt5_datadir}/qsci/
%files -n python3-qscintilla-qt5-devel
%{_datadir}/python3-sip/PyQt5/Qsci/
%endif
%endif
%changelog
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.2-5
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Thu Apr 28 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.9.2-4
- rebuild (python-qt5)
* Wed Apr 20 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.9.2-3
- rebuild (qt)
* Mon Apr 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.9.2-2
- support bootstapping
- rename qscintilla-python => python2-qscintilla
- Provides: python(2|3)-PyQt(4|5)-Qsci
* Mon Apr 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.9.2-1
- qscintilla-2.9.2
* Wed Apr 13 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.9.1-6
- rebuild (sip), Provides: python2-qscintilla(-devel)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Nov 11 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.1-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Thu Nov 05 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9.1-3
- python3-qscintilla-qt5: use python3-qt5 consistently
* Wed Oct 28 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9.1-2
- rebuild (python-qt5)
* Sat Oct 24 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9.1-1
- qscintilla-2.9.1
* Tue Sep 08 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9-5
- -python-qt5: tighten python-qt5 dep (#1260876)
* Tue Jun 16 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9-4
- fix libqscintillaplugin.so linkage (#1231721)
* Sun Apr 26 2015 Rex Dieter <rdieter@fedoraproject.org> - 2.9-3
- use %%qmake_qt4 macroo
- Qt5 qscintilla2.prf is installed in bad location (#1215380)
* Thu Apr 23 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9-2
- Provides: bundled(scintilla) = 3.5.4
* Mon Apr 20 2015 Rex Dieter <rdieter@fedoraproject.org> 2.9-1
- 2.9
* Wed Feb 18 2015 Orion Poplawski <orion@cora.nwra.com> - 2.8.4-3
- Rebuild for gcc 5 C++11
* Sun Dec 28 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.4-2
- enable -qt5 support
* Mon Sep 15 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.4-1
- QScintiall-2.8.4
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 03 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.3-1
- QScintiall-2.8.3
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.3-0.3.9b7b5393f228
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Jun 04 2014 Rex Dieter <rdieter@fedoraproject.org> - 2.8.3-0.2.9b7b5393f228
- QScintilla-gpl-2.8.3-snapshot-9b7b5393f228
- python: explicitly set QMAKEFEATURES (bug #1104559)
* Mon Jun 02 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.3-0.1.f7b1c9821894
- QScintiall-2.8.3-f7b1c9821894 snapshot (2.8.2 FTBFS)
* Wed May 28 2014 Kalev Lember <kalevlember@gmail.com> - 2.8.1-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Mon Mar 17 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.1-3
- enable python3 bindings (#1065223)
* Mon Mar 17 2014 Rex Dieter <rdieter@fedoraproject.org> 2.8.1-2
- designer plugin: Undefined reference to QsciScintilla::QsciScintilla... (#1077146)
* Sun Mar 16 2014 Rex Dieter <rdieter@fedoraproject.org> - 2.8.1-1
- QScintilla-2.8.1
- Provides: python-qscintilla
- experimental qt5/python3 support (not enabled yet)
* Fri Nov 08 2013 Rex Dieter <rdieter@fedoraproject.org> 2.8-1
- QScintilla-2.8
* Wed Oct 16 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.2-3
- rebuild (PyQt4), refresh incpath patch
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jun 18 2013 Rex Dieter <rdieter@fedoraproject.org> - 2.7.2-1
- QScintilla-2.7.2
- prune changelog
* Mon Jun 17 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.1-2
- rebuild (sip)
* Sun Mar 03 2013 Rex Dieter <rdieter@fedoraproject.org> 2.7.1-1
- 2.7.1
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Dec 17 2012 Rex Dieter <rdieter@fedoraproject.org> 2.7-1
- 2.7
* Mon Oct 01 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.2-3
- rebuild (sip)
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jun 22 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.2-1
- 2.6.2
* Sat Feb 11 2012 Rex Dieter <rdieter@fedoraproject.org> 2.6.1-1
- 2.6.1
- pkgconfig-style deps
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Fri Dec 23 2011 Rex Dieter <rdieter@fedoraproject.org> 2.6-2
- rebuild (sip/PyQt4)
* Sat Dec 03 2011 Rex Dieter <rdieter@fedoraproject.org> 2.6-1
- 2.6
* Fri Nov 11 2011 Rex Dieter <rdieter@fedoraproject.org> 2.5.1-2
- rebuild (sip)
* Fri May 06 2011 Rex Dieter <rdieter@fedoraproject.org> 2.5.1-1
- 2.5.1
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Dec 24 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4.6-1
- 2.4.6
* Thu Sep 09 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4.5-1
- 2.4.5
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Wed Jul 14 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4.4-1
- 2.4.4
* Thu Mar 18 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4.3-1
- 2.4.3
* Thu Jan 21 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4.2-1
- 2.4.2
* Fri Jan 15 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4.1-1
- 2.4.1
- pyqt4_version 4.7
* Thu Jan 07 2010 Rex Dieter <rdieter@fedoraproject.org> - 2.4-10
- rebuild (sip)
* Fri Nov 27 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-9
- -python: Requires: sip-api(%%_sip_api_major) >= %%_sip_api
- -python-devel: Requires: sip-devel
* Mon Nov 23 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-8
- rebuild (for qt-4.6.0-rc1, f13+)
* Wed Nov 11 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-7
- pyqt4_version 4.6.1
* Wed Oct 21 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-6
- autocomplete_popup patch
* Fri Oct 16 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-5
- rebuild (PyQt4)
* Tue Aug 11 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-4
- -python-devel: make noarch, drop dep on -python
* Sat Aug 08 2009 Rex Dieter <rdieter@fedoraproject.org - 2.4-3
- include designer plugin in main pkg, Obsoletes: qscintilla-designer
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Jun 17 2009 Rex Dieter <rdieter@fedoraproject.org> - 2.4-1
- QScintilla-gpl-2.4
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.3.2-2
- Rebuild for Python 2.6
* Mon Nov 17 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.3.2-1
- Qscintilla-gpl-2.3.2
- soname bump 4->5
* Mon Nov 10 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.3.1-1
- Qscintilla-gpl-2.3.1
* Mon Sep 22 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.3-1
- Qscintilla-gpl-2.3
- scintilla_ver is missing (#461777)
* Fri Jul 18 2008 Dennis Gilmore <dennis@ausil.us> - 2.2-3
- rebuild for newer PyQT4
- fix #449423 properly
* Fri Jul 18 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.2-2
- fix build (#449423)
* Mon May 05 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.2-1
- Qscintilla-gpl-2.2
- License: GPLv3 or GPLv2 with exceptions
* Thu Feb 14 2008 Rex Dieter <rdieter@fedoraproject.org> - 2.1-4
- use %%_qt4_* macros (preparing for qt4 possibly moving %%_qt4_datadir)
- -python: fix Requires
- -python-devel: new pkg
- omit Obsoletes: PyQt-qscintilla
(leave that to PyQt, that can get the versioning right)
* Mon Jan 28 2008 Dennis Gilmore <dennis@ausil.us> - 2.1-3
- fix typo in Obsoletes: on python package
* Mon Jan 28 2008 Dennis Gilmore <dennis@ausil.us> - 2.1-2
- remove dumb require on di from qscintilla-python
* Mon Jan 28 2008 Dennis Gilmore <dennis@ausil.us> - 2.1-1
- update to 2.1 branch