Github messages for voidlinux
 help / color / mirror / Atom feed
* [ISSUE] FTBFS: qt5-webkit broken since bison-3.7.3
@ 2020-10-25 15:05 pullmoll
  2020-10-26 12:04 ` [ISSUE] [CLOSED] " pullmoll
  0 siblings, 1 reply; 2+ messages in thread
From: pullmoll @ 2020-10-25 15:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2306 bytes --]

New issue by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/25876

Description:
The update of `biso-3.7.3` broke the `qt5-webkit` build. It seems to be related to the automagically chosen filename for the header files with defines, i.e. the `-d` option of bison. The newer bison's choice for a name is obviously not what the perl script expects.

I tried to patch `Source/WebCore/css/makegrammar.pl` to cure that - to no avail. Here's my patch:
```
--- Source/WebCore/css/makegrammar.pl   2020-04-14 00:51:51.000000000 +0200
+++ Source/WebCore/css/makegrammar.pl   2020-10-25 14:59:39.879927464 +0100
@@ -73,7 +73,6 @@
 }

 my $fileBase = File::Spec->join($outputDir, $filename);
-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+my @bisonCommand = ($bison, "--no-lines", "--defines=$fileBase.hpp", "-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;

--- Source/WebCore/css/CSSGrammar.y.in  2020-04-14 00:51:51.000000000 +0200
+++ Source/WebCore/css/CSSGrammar.y.in  2020-10-25 15:35:20.818799854 +0100
@@ -21,7 +21,7 @@
  *
  */

-%pure-parser
+%define api.pure

 %parse-param { CSSParser* parser }
 %lex-param { CSSParser* parser }
```
Now the previously missing `XPathGrammar.hpp` is created now yet the file `CSSGrammar.h` is still missing and the build fails with:
```
In file included from /builddir/qtwebkit-opensource-src-5.212/Source/WebCore/css/CSSAllInOne.cpp:69:
/builddir/qtwebkit-opensource-src-5.212/Source/WebCore/css/CSSParser.cpp:11161:10: fatal error: CSSGrammar.h
: No such file or directory
11161 | #include "CSSGrammar.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
```

Note: I also tried `--defines=$fileBase.cpp.h` which is an alternative name for the input file which is read and wrapped in `makegrammar.pl` a few lines below the patch. I also tried with and without changing the obsolete `%pure-parser` to `%define api.pure`.

If anyone has a better knowledge of bison/yacc and how to fix the perl script please help fixing this issue.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ISSUE] [CLOSED] FTBFS: qt5-webkit broken since bison-3.7.3
  2020-10-25 15:05 [ISSUE] FTBFS: qt5-webkit broken since bison-3.7.3 pullmoll
@ 2020-10-26 12:04 ` pullmoll
  0 siblings, 0 replies; 2+ messages in thread
From: pullmoll @ 2020-10-26 12:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2306 bytes --]

Closed issue by pullmoll on void-packages repository

https://github.com/void-linux/void-packages/issues/25876

Description:
The update of `bison-3.7.3` broke the `qt5-webkit` build. It seems to be related to the automagically chosen filename for the header files with defines, i.e. the `-d` option of bison. The newer bison's choice for a name is obviously not what the perl script expects.

I tried to patch `Source/WebCore/css/makegrammar.pl` to cure that - to no avail. Here's my patch:
```
--- Source/WebCore/css/makegrammar.pl   2020-04-14 00:51:51.000000000 +0200
+++ Source/WebCore/css/makegrammar.pl   2020-10-25 14:59:39.879927464 +0100
@@ -73,7 +73,6 @@
 }

 my $fileBase = File::Spec->join($outputDir, $filename);
-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp");
+my @bisonCommand = ($bison, "--no-lines", "--defines=$fileBase.hpp", "-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;

--- Source/WebCore/css/CSSGrammar.y.in  2020-04-14 00:51:51.000000000 +0200
+++ Source/WebCore/css/CSSGrammar.y.in  2020-10-25 15:35:20.818799854 +0100
@@ -21,7 +21,7 @@
  *
  */

-%pure-parser
+%define api.pure

 %parse-param { CSSParser* parser }
 %lex-param { CSSParser* parser }
```
Now the previously missing `XPathGrammar.hpp` is created yet the file `CSSGrammar.h` is still missing and the build fails with:
```
In file included from /builddir/qtwebkit-opensource-src-5.212/Source/WebCore/css/CSSAllInOne.cpp:69:
/builddir/qtwebkit-opensource-src-5.212/Source/WebCore/css/CSSParser.cpp:11161:10: fatal error: CSSGrammar.h
: No such file or directory
11161 | #include "CSSGrammar.h"
      |          ^~~~~~~~~~~~~~
compilation terminated.
```

Note: I also tried `--defines=$fileBase.cpp.h` which is an alternative name for the input file which is read and wrapped in `makegrammar.pl` a few lines below the patch. I also tried with and without changing the obsolete `%pure-parser` to `%define api.pure`.

If anyone has a better knowledge of bison/yacc and how to fix the perl script please help fixing this issue.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-10-26 12:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-25 15:05 [ISSUE] FTBFS: qt5-webkit broken since bison-3.7.3 pullmoll
2020-10-26 12:04 ` [ISSUE] [CLOSED] " pullmoll

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).