commit:     ea252dd70f621703bac7172a960e4cfd5e2b7cd0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 26 23:05:46 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 26 23:46:01 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea252dd7

dev-libs/pegtl: Fix GCC-10 warning, fix cmake module install path

- Drop -Werror
- Drop superfluous LICENSE install to invalid doc dir path.

Bug: https://bugs.gentoo.org/754687
Closes: https://bugs.gentoo.org/733678
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch  | 29 ++++++++++++++++++
 dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch | 43 +++++++++++++++++++++++++++
 dev-libs/pegtl/pegtl-2.8.3-r1.ebuild          | 32 ++++++++++++++++++++
 3 files changed, 104 insertions(+)

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 00000000000..140e1f5cfbb
--- /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 00000000000..ef418e44254
--- /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 <[email protected]>
+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 00000000000..7598786994b
--- /dev/null
+++ b/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2020 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 ~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
+}

Reply via email to