Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

10 changed files with 231 additions and 70 deletions

View File

@ -1 +1 @@
82a824cf7c8b2eb16dc8ef2ffc270102d4e77efa SOURCES/2.7.0.tar.gz
59e30a3e0a71aa249b099ece5ddfc26b626529c2 2.8.3.tar.gz

6
.gitignore vendored
View File

@ -1 +1,5 @@
SOURCES/2.7.0.tar.gz
/1.3.1.tar.gz
/2.4.0.tar.gz
/2.8.0.tar.gz
/2.8.1.tar.gz
/2.8.3.tar.gz

View File

@ -0,0 +1,32 @@
diff --git a/include/tao/pegtl/contrib/rep_one_min_max.hpp b/include/tao/pegtl/contrib/rep_one_min_max.hpp
index 9173ad4a..2c9c25e6 100644
--- a/include/tao/pegtl/contrib/rep_one_min_max.hpp
+++ b/include/tao/pegtl/contrib/rep_one_min_max.hpp
@@ -45,6 +45,27 @@ namespace tao
}
};
+ template< unsigned Max, char C >
+ struct rep_one_min_max< 0, Max, C >
+ {
+ using analyze_t = analysis::counted< analysis::rule_type::any, 0 >;
+
+ template< typename Input >
+ static bool match( Input& in )
+ {
+ const auto size = in.size( Max + 1 );
+ std::size_t i = 0;
+ while( ( i < size ) && ( in.peek_char( i ) == C ) ) {
+ ++i;
+ }
+ if( i <= Max ) {
+ bump_help< result_on_found::success, Input, char, C >( in, i );
+ return true;
+ }
+ return false;
+ }
+ };
+
template< unsigned Min, unsigned Max, char C >
struct skip_control< rep_one_min_max< Min, Max, C > > : std::true_type
{

108
PEGTL.spec Normal file
View File

@ -0,0 +1,108 @@
%global debug_package %{nil}
Name: PEGTL
Version: 2.8.3
Release: 4%{?dist}
Summary: Parsing Expression Grammar Template Library
License: MIT
URL: https://github.com/taocpp/%{name}/
Source0: https://github.com/taocpp/%{name}/archive/%{version}.tar.gz
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: /usr/bin/make
Patch0: PEGTL-compiler-warning.patch
%description
The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency
C++11 header-only library for creating parsers according to a Parsing
Expression Grammar (PEG).
%package devel
Summary: Development files for %{name}
Provides: %{name}-static = %{version}-%{release}
Provides: %{name} = %{version}-%{release}
Requires: libstdc++-devel
%description devel
The %{name}-devel package contains C++ header files for developing
applications that use %{name}.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .compiler
%check
make
%install
install -d -m 0755 %{buildroot}%{_includedir}
pushd include/
cp -R tao/ %{buildroot}%{_includedir}
popd
%files devel
%doc README.md doc/
%license LICENSE
%{_includedir}/tao/pegtl.hpp
%{_includedir}/tao/pegtl
%changelog
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.8.3-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 2.8.3-3
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Sep 03 2020 Attila Lakatos <alakatos@redhat.com> - 2.8.3-1
- Update to 2.8.3
Resolves: rhbz#1742557
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-4
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Oct 11 2019 Orion Poplawski <orion@nwra.com> - 2.8.1-1
- Update to 2.8.1
* Wed Jul 31 2019 Daniel Kopecek <dkopecek@redhat.com> - 2.8.0-1
- Update to 2.8.0
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Mar 08 2018 Daniel Kopecek <dkopecek@redhat.com> - 2.4.0-1
- Update to 2.4.0
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jul 14 2016 Daniel Kopecek <dkopecek@redhat.com> - 1.3.1-1
- Initial package

View File

@ -1,68 +0,0 @@
%global debug_package %{nil}
Name: PEGTL
Version: 2.7.0
Release: 1%{?dist}
Summary: Parsing Expression Grammar Template Library
Group: Development/Libraries
License: MIT
URL: https://github.com/taocpp/%{name}/
Source0: https://github.com/taocpp/%{name}/archive/%{version}.tar.gz
BuildRequires: /usr/bin/make
%description
The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency
C++11 header-only library for creating parsers according to a Parsing
Expression Grammar (PEG).
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Provides: %{name}-static = %{version}-%{release}
Provides: %{name} = %{version}-%{release}
Requires: libstdc++-devel
%description devel
The %{name}-devel package contains C++ header files for developing
applications that use %{name}.
%prep
%setup -q -n %{name}-%{version}
%check
make
%install
install -d -m 0755 %{buildroot}%{_includedir}
pushd include/
cp -R tao/ %{buildroot}%{_includedir}
popd
%files devel
%doc README.md doc/
%license LICENSE
%{_includedir}/tao/pegtl.hpp
%{_includedir}/tao/pegtl
%changelog
* Wed Aug 01 2018 Daniel Kopecek <dkopecek@redhat.com> - 2.7.0-1
- Update to 2.7.0
* Wed Jul 11 2018 Daniel Kopecek <dkopecek@redhat.com> - 2.6.0-1
- Update to 2.6.0
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jul 14 2016 Daniel Kopecek <dkopecek@redhat.com> - 1.3.1-1
- Initial package

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (2.8.3.tar.gz) = 9f7644b86741dfe61716bbc43b2ea0a02cfc21eaf229c47cc71a49e2f08bf2c1ff37d2b2242a1bcf518b1893be6b82c27b0e9010a1b47ef8df87ffd90d280f71

View File

@ -0,0 +1,45 @@
// Copyright (c) 2014-2019 Dr. Colin Hirsch and Daniel Frey
// Please see LICENSE for license or visit https://github.com/taocpp/PEGTL/
#include <iostream>
#include <string>
#include <tao/pegtl.hpp>
namespace pegtl = tao::pegtl;
namespace hello
{
// clang-format off
struct prefix : pegtl::string< 'H', 'e', 'l', 'l', 'o', ',', ' ' > {};
struct name : pegtl::plus< pegtl::alpha > {};
struct grammar : pegtl::must< prefix, name, pegtl::one< '!' >, pegtl::eof > {};
// clang-format on
template< typename Rule >
struct action : pegtl::nothing<Rule>
{};
template<>
struct action< name >
{
template< typename Input >
static void apply( const Input& in, std::string& v )
{
v = in.string();
}
};
} // namespace hello
int main( int argc, char** argv )
{
if( argc > 1 ) {
std::string name;
pegtl::argv_input<> in( argv, 1 );
pegtl::parse< hello::grammar, hello::action >( in, name );
std::cout << "Good bye, " << name << "!" << std::endl;
}
}

View File

@ -0,0 +1,20 @@
#!/bin/bash
set -e
TEST_SOURCE=hello_world.cpp
TEST_TARGET="${TEST_SOURCE/\.cpp/}"
CXXFLAGS="$(rpm --eval '%{build_cxxflags}')"
LDFLAGS="$(rpm --eval '%{build_ldflags}')"
# build target using distribution-specific flags
g++ -std=c++11 $CXXFLAGS $LDFLAGS -o $TEST_TARGET $TEST_SOURCE
# test that target exists
test -f ./$TEST_TARGET
# test that target is executable
test -x ./$TEST_TARGET
# test that target runs successfully
./$TEST_TARGET "Hello, world!"

13
tests/tests.yml Normal file
View File

@ -0,0 +1,13 @@
---
- hosts: localhost
tags:
- classic
roles:
- role: standard-test-basic
tests:
- devel-usability
required_packages:
- gcc-c++
- rpm
- redhat-rpm-config
- PEGTL-devel