summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/pegtl')
-rw-r--r--dev-libs/pegtl/Manifest1
-rw-r--r--dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch29
-rw-r--r--dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch43
-rw-r--r--dev-libs/pegtl/pegtl-2.8.3-r1.ebuild32
4 files changed, 105 insertions, 0 deletions
diff --git a/dev-libs/pegtl/Manifest b/dev-libs/pegtl/Manifest
index a37630ae7ddb..11b322f3689d 100644
--- a/dev-libs/pegtl/Manifest
+++ b/dev-libs/pegtl/Manifest
@@ -1 +1,2 @@
+DIST pegtl-2.8.3.tar.gz 201531 BLAKE2B 093d1b5f7d1f95fa00abdae9c24d24ba9ffd8510d6512c3460374f19b12d50403c19301645c5f6fc4d697cc687079c5b0d23c32b5775b30fbf05a154aeec2c19 SHA512 9f7644b86741dfe61716bbc43b2ea0a02cfc21eaf229c47cc71a49e2f08bf2c1ff37d2b2242a1bcf518b1893be6b82c27b0e9010a1b47ef8df87ffd90d280f71
DIST pegtl-3.2.0.tar.gz 233138 BLAKE2B 9be2cfcd90249fd57e08944533cb336f0617957c5571ef3d5371aa6da756a350ccb192b6e4e35da22b7b4e88b07e42f54eb5296c496a6b0feb544269a490f928 SHA512 3ec457e37d87d95f3a89c550abbf611a1ce094c2f05f6d23086e70079a9cabddb4c75e9121e764ad1768845a39e62ab49ca658ffed0f09d0e9a0e36501a162ae
diff --git a/dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch b/dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch
new file mode 100644
index 000000000000..140e1f5cfbb8
--- /dev/null
+++ b/dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch
@@ -0,0 +1,29 @@
+--- a/CMakeLists.txt 2020-04-22 19:43:00.000000000 +0200
++++ b/CMakeLists.txt 2020-12-27 00:00:15.886046938 +0100
+@@ -78,4 +78,3 @@
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pegtl-config-version.cmake DESTINATION ${PEGTL_INSTALL_CMAKE_DIR})
+ install(DIRECTORY include/ DESTINATION ${PEGTL_INSTALL_INCLUDE_DIR})
+-install(FILES LICENSE DESTINATION ${PEGTL_INSTALL_DOC_DIR})
+--- a/src/test/pegtl/CMakeLists.txt 2020-04-22 19:43:00.000000000 +0200
++++ b/src/test/pegtl/CMakeLists.txt 2020-12-27 00:07:19.122766830 +0100
+@@ -123,7 +123,7 @@
+ if(MSVC)
+ target_compile_options(${exename} PRIVATE /W4 /WX /utf-8)
+ else()
+- target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow -Werror)
++ target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow)
+ endif()
+ if(ANDROID)
+ add_test(NAME ${exename} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../.. COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_RESOURCES=src/test/pegtl/data;src/test/pegtl/file_data.txt;Makefile" -DTEST_RESOURCES_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../../.. -DUNITTEST=${CMAKE_CURRENT_BINARY_DIR}/${exename} -DTEST_PARAMETER=-all -P ${CMAKE_CURRENT_SOURCE_DIR}/ExecuteOnAndroid.cmake)
+--- a/src/example/pegtl/CMakeLists.txt 2020-04-22 19:43:00.000000000 +0200
++++ b/src/example/pegtl/CMakeLists.txt 2020-12-27 00:07:32.970832890 +0100
+@@ -48,7 +48,7 @@
+ if(MSVC)
+ target_compile_options(${exename} PRIVATE /W4 /WX /utf-8)
+ else()
+- target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow -Werror)
++ target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow)
+ endif()
+ endforeach(examplesourcefile)
+
diff --git a/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch b/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch
new file mode 100644
index 000000000000..ef418e44254e
--- /dev/null
+++ b/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch
@@ -0,0 +1,43 @@
+From a3a292c2ba66bf09b4adc4cee8fcdfb1b1386067 Mon Sep 17 00:00:00 2001
+From: Daniel Frey <d.frey@gmx.de>
+Date: Mon, 11 May 2020 22:19:31 +0200
+Subject: [PATCH] Repair warning from GCC 10
+
+* Backported patch thx to Fedora.
+
+---
+ include/tao/pegtl/contrib/rep_one_min_max.hpp | 21 +++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/include/tao/pegtl/contrib/rep_one_min_max.hpp b/include/tao/pegtl/contrib/rep_one_min_max.hpp
+index 7ec4639e..ee0a3782 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 >
+ inline constexpr bool enable_control< rep_one_min_max< Min, Max, C > > = false;
+
diff --git a/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild b/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild
new file mode 100644
index 000000000000..207b474188a1
--- /dev/null
+++ b/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Header-only library for creating parsers according to Parsing Expression Grammar"
+HOMEPAGE="https://github.com/taocpp/PEGTL"
+SRC_URI="https://github.com/taocpp/PEGTL/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/PEGTL-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch"
+ "${FILESDIR}/${P}-gcc-10.patch" # bug 733678
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DPEGTL_INSTALL_CMAKE_DIR="$(get_libdir)/cmake/${PN}"
+ -DPEGTL_INSTALL_DOC_DIR="share/doc/${PF}"
+ )
+ cmake_src_configure
+}