%global commit0 fdc29c79eb6f3228897cfb713e047bf1d9a48198 %global date0 20160229 %global srcname qutepart %global sum Code editor widget %global desc_common \ Qutepart is a code editor widget for PyQt. Features: \ - Syntax highlighting for 196 languages. \ - Smart indentation for many languages. \ - Line numbers. \ - Bookmarks. \ - Advanced edit operations. \ - Matching braces highlighting. \ - Autocompletion based on document content. \ - Marking too long lines with red line. \ - Rectangular selection and copy-paste. \ - Linter marks support. # python3 is default in Fedoras, python2 still for EPEL %if 0%{?fedora} %bcond_without python3 %bcond_with python2 %else %bcond_with python3 %bcond_without python2 %endif Name: python-%{srcname} Version: 2.2.3 Release: 1.%{date0}git%(c=%{commit0}; echo ${c:0:7})%{?dist} Summary: %{sum} License: LGPLv2+ URL: https://github.com/hlamer/%{srcname} Source0: %{url}/archive/%{commit0}.tar.gz#/%{srcname}-%{commit0}.tar.gz #v%{version}.tar.gz#/%{srcname}-%{version}.tar.gz BuildRequires: pcre-devel Requires: pcre BuildRequires: PyQt4 Requires: PyQt4 BuildRequires: python2-devel >= 2.7 BuildRequires: python-setuptools BuildRequires: python-sphinx %if 0%{with python3} BuildRequires: python3-qt5 Requires: python3-qt5 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-sphinx %endif BuildRequires: xorg-x11-server-Xvfb %description %{desc_common} %package -n python2-%{srcname} Summary: %{sum} %{?python_provide:%python_provide python2-%{srcname}} %description -n python2-%{srcname} %{desc_common} %package -n python3-%{srcname} Summary: %{sum} %{?python_provide:%python_provide python3-%{srcname}} %if 0%{?fedora} >= 24 Obsoletes: python2-%{srcname} %endif %description -n python3-%{srcname} %{desc_common} %prep %setup -q -n %{srcname}-%{commit0} %if 0%{with python3} mkdir py3 find -mindepth 1 -maxdepth 1 -not -name py3 |xargs cp -pr -tpy3 pushd py3 # FIXME dirty hacks to prevent gcc errors cause of c-api change in python3 #sed -i /ob_type/d %{srcname}/syntax/cParser.c #sed -i -r 's,PyString_AsString\((.*)\).*;,\1;,' %{srcname}/syntax/cParser.c # disable PyQt5 mocking for sphinx sed -i -r 's,(MOCK_MODULES = \[).*\],\1],' doc/source/conf.py # disable sloppy tests pushd tests #rm test_bookmarks.py #rm test_bracket_hlighter.py #rm test_completion.py #rm test_edit.py popd popd # py3 %endif %build %if %{with python2} # we need CFLAGS for internal gcc call, py2_build sets them %py2_build pushd doc sphinx-build source html popd %endif %if 0%{with python3} pushd py3 %py3_build pushd doc sphinx-build-3 source html popd popd %endif # E: non-standard-executable-perm find -name \*.so |xargs chmod 0755 # W: hidden-file-or-dir find -name html -exec rm -r '{}'/.buildinfo '{}'/.doctrees \; %install %if %{with python2} %py2_install %endif %if 0%{with python3} pushd py3 %py3_install popd %endif %check # ignore those really weird "fatal warnings" from dbus to not confuse tests export DBUS_FATAL_WARNINGS=0 %if %{with python2} pushd tests # do some fake X xvfb-run %{__python2} run_all.py popd %endif %if 0%{with python3} pushd py3/tests xvfb-run -a %{__python3} run_all.py %endif %if %{with python2} %files -n python2-%{srcname} %license LICENSE %doc README.md ChangeLog todo.txt %doc doc/html/ %{python2_sitearch}/%{srcname}* %endif %if 0%{with python3} %files -n python3-%{srcname} %license LICENSE %doc README.md ChangeLog todo.txt %doc py3/doc/html/ %{python3_sitearch}/%{srcname}* %endif %changelog * Wed Mar 02 2016 Raphael Groner - 2.2.3-1.20160229gitfdc29c7 - use upstream master as post-release * Sun Feb 28 2016 Raphael Groner - 2.2.3-1 - new version - use main version for python3, get rid of py3 patches - obsolete python2 package in Fedora 24+ * Sat Feb 27 2016 Raphael Groner - 2.2.2-6 - rebuild to validate dependencies (bug with librsvg-2.so.2) * Thu Feb 04 2016 Fedora Release Engineering - 2.2.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Nov 12 2015 Kalev Lember - 2.2.2-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Fri Nov 06 2015 Raphael Groner - 2.2.2-3 - add subpackages for python versioning - experimental python3 support * Mon Oct 19 2015 Raphael Groner - 2.2.2-2 - take over from Jairo Llopis - cleanup generally - use LGPLv2 with "or later" - add more documentation files - execute tests - fix permissions - use new python macros - use virtual provides of python2 module * Fri Aug 28 2015 Jairo Llopis 2.2.2-1 - New upstream version. * Wed Aug 26 2015 Jairo Llopis 2.2.0-7 - Fix some permissions. - Remove Spanish descriptions, for easier maintenance. * Mon May 4 2015 Jairo Llopis 2.2.0-6 - Fix license macro in SPEC. - Fix a couple of redundancies in SPEC. * Thu Apr 30 2015 Jairo Llopis 2.2.0-5 - New upstream version. - Clear SPEC redundancies. - Force usage of Python 2 macros in SPEC. * Fri Feb 6 2015 Jairo Llopis 2.1.0-4 - New upstream version. - Update descriptions and dependencies to match upstream SPEC. - Remove support for Fedora < 20. * Mon Jul 7 2014 Jairo Llopis 1.3.0-3 - New upstream version. - Fix typo. * Fri Oct 25 2013 Jairo Llopis 1.1.0-2 - Fix comments. - Fix translation. - Fix CFLAGS when building. - Fix license. * Sun Sep 8 2013 Jairo Llopis 1.1.0-1 - Initial release.