Skip to content

Commit

Permalink
dev-qt/qtwebkit: Fix build with sys-devel/bison-3.7
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/736499
Package-Manager: Portage-3.0.3, Repoman-3.0.0
Signed-off-by: Andreas Sturmlechner <[email protected]>
  • Loading branch information
a17r committed Aug 18, 2020
1 parent 5144544 commit 69e618c
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
46 changes: 46 additions & 0 deletions dev-qt/qtwebkit/files/qtwebkit-5.212.0_pre20200309-bison-3.7.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From d92b11fea65364fefa700249bd3340e0cd4c5b31 Mon Sep 17 00:00:00 2001
From: Dmitry Shachnev <[email protected]>
Date: Tue, 4 Aug 2020 21:04:06 +0300
Subject: [PATCH] Let Bison generate the header directly, to fix build with
Bison 3.7

Starting with Bison 3.7, the generated C++ file #include's the header
by default, instead of duplicating it. So we should not delete it.

Remove the code to add #ifdef guards to the header, since Bison adds
them itself since version 2.6.3.
---
Source/WebCore/css/makegrammar.pl | 21 +--------------------
1 file changed, 1 insertion(+), 20 deletions(-)

diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl
index 5d63b08102eb..9435701c7061 100644
--- a/Source/WebCore/css/makegrammar.pl
+++ b/Source/WebCore/css/makegrammar.pl
@@ -73,25 +73,6 @@
}

my $fileBase = File::Spec->join($outputDir, $filename);
-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives.
system(@bisonCommand) == 0 or die;
-
-open HEADER, ">$fileBase.h" or die;
-print HEADER << "EOF";
-#ifndef CSSGRAMMAR_H
-#define CSSGRAMMAR_H
-EOF
-
-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die;
-while (<HPP>) {
- print HEADER;
-}
-close HPP;
-
-print HEADER "#endif\n";
-close HEADER;
-
-unlink("$fileBase.cpp.h");
-unlink("$fileBase.hpp");
-
2 changes: 2 additions & 0 deletions dev-qt/qtwebkit/qtwebkit-5.212.0_pre20200309-r1.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ RDEPEND="${DEPEND}"

CHECKREQS_DISK_BUILD="16G" # bug 417307

PATCHES=( "${FILESDIR}/${P}-bison-3.7.patch" ) # bug 736499

_check_reqs() {
if [[ ${MERGE_TYPE} != binary ]] && is-flagq "-g*" && ! is-flagq "-g*0"; then
einfo "Checking for sufficient disk space to build ${PN} with debugging flags"
Expand Down

0 comments on commit 69e618c

Please sign in to comment.