diff --git a/coan.spec b/coan.spec index c3b4305..50b2af4 100644 --- a/coan.spec +++ b/coan.spec @@ -1,13 +1,23 @@ Name: coan Version: 6.0.1 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A command line tool for simplifying the pre-processor conditionals in source code Group: Development/Languages License: BSD URL: http://coan2.sourceforge.net/ Source0: http://downloads.sourceforge.net/coan2/%{name}-%{version}.tar.gz + +# https://sourceforge.net/p/coan2/bugs/92/ +Patch0: expression_parser.patch + BuildRequires: gcc-c++ BuildRequires: python2 +# Python 2 is needed for running the test suite. From Fedora 29, the +# python package no longer provides /usr/bin/python, and so we need +# this extra package for the unversioned binary. +%if 0%{fedora} >= 29 +BuildRequires: python-unversioned-command +%endif # For pod2man: BuildRequires: perl-podlators # On Fedora 23 pod2html is included in the perl package, whereas in 24 @@ -41,6 +51,7 @@ redundant #if-logic from the code. %prep %setup -q +%patch0 -p0 for i in AUTHORS LICENSE.BSD README ChangeLog ; do sed -i -e 's/\r$//' $i @@ -54,9 +65,11 @@ make %{?_smp_mflags} #some tests are broken in armv7hl - disable until upstream fixes the issue #upstream bug report: https://sourceforge.net/p/coan2/bugs/83/ #so for now we'll just allow the tests to fail -#make check || (for f in test_coan/*.log ; do cat ${f} ; done ; false) +%ifnarch %{arm} +make check || (for f in test_coan/*.log ; do cat ${f} ; done ; false) +%else make check || (for f in test_coan/*.log ; do cat ${f} ; done ; true) - +%endif %install make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" @@ -67,6 +80,11 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" %{_mandir}/man1/%{name}.1.* %changelog +* Tue Sep 18 2018 Jonathan Underwood - 6.0.1-17 +- Add patch to fix crash on Fedora 28 and later (BZ 1626440) +- Fix missing python on Fedora >=29 +- Re-enable test failures on x86_64 + * Thu Jul 12 2018 Fedora Release Engineering - 6.0.1-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/expression_parser.patch b/expression_parser.patch new file mode 100644 index 0000000..bf0c8cb --- /dev/null +++ b/expression_parser.patch @@ -0,0 +1,11 @@ +--- src/expression_parser.h.orig 2018-08-27 14:44:18.219205045 +0200 ++++ src/expression_parser.h 2018-08-27 14:58:26.954644554 +0200 +@@ -415,7 +415,7 @@ + _deletions[start] = deletion_code::non_paren; + } + if (ptrdiff_t(end) > _last_deletion) { +- _last_deletion = end; ++ _last_deletion = end - 1; + } + ++_cuts; + }