[Bug 276746] www/firefox: fix build with libc++ 18

2024-04-19 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #10 from Dimitry Andric  ---
(In reply to commit-hook from comment #9)
Thanks for applying those patches Christoph, I had completely overlooked that
these ports were also broken. Apologies!

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-04-18 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #9 from commit-h...@freebsd.org ---
A commit in branch 2024Q2 references this bug:

URL:
https://cgit.FreeBSD.org/ports/commit/?id=6db914e6b2eb3721cf881a39d72fabf4ff1005ed

commit 6db914e6b2eb3721cf881a39d72fabf4ff1005ed
Author: Christoph Moench-Tegeder 
AuthorDate: 2024-04-18 23:04:07 +
Commit: Christoph Moench-Tegeder 
CommitDate: 2024-04-18 23:05:58 +

www/firefox-esr: fix linking with libc++18

copied from www/firefox

PR: 276746
(cherry picked from commit 16543701d7d98630a94e10adeffb8785aa4aa3c9)

 www/firefox-esr/files/patch-bug1874059 (new) | 25 +
 1 file changed, 25 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-04-18 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #8 from commit-h...@freebsd.org ---
A commit in branch 2024Q2 references this bug:

URL:
https://cgit.FreeBSD.org/ports/commit/?id=edd17465bb010cc0cd0aff492ea657f6c90f4601

commit edd17465bb010cc0cd0aff492ea657f6c90f4601
Author: Christoph Moench-Tegeder 
AuthorDate: 2024-04-18 23:03:17 +
Commit: Christoph Moench-Tegeder 
CommitDate: 2024-04-18 23:06:04 +

mail/thunderbird: fix linking with libc++18

copied from www/firefox

PR: 276746
(cherry picked from commit 560d828e45df62eb4c0e87364f36b7932b10f944)

 mail/thunderbird/files/patch-bug1874059 (new) | 25 +
 1 file changed, 25 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-04-18 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #7 from commit-h...@freebsd.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/ports/commit/?id=16543701d7d98630a94e10adeffb8785aa4aa3c9

commit 16543701d7d98630a94e10adeffb8785aa4aa3c9
Author: Christoph Moench-Tegeder 
AuthorDate: 2024-04-18 23:04:07 +
Commit: Christoph Moench-Tegeder 
CommitDate: 2024-04-18 23:05:29 +

www/firefox-esr: fix linking with libc++18

copied from www/firefox

PR: 276746

 www/firefox-esr/files/patch-bug1874059 (new) | 25 +
 1 file changed, 25 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-04-18 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #6 from commit-h...@freebsd.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/ports/commit/?id=560d828e45df62eb4c0e87364f36b7932b10f944

commit 560d828e45df62eb4c0e87364f36b7932b10f944
Author: Christoph Moench-Tegeder 
AuthorDate: 2024-04-18 23:03:17 +
Commit: Christoph Moench-Tegeder 
CommitDate: 2024-04-18 23:05:29 +

mail/thunderbird: fix linking with libc++18

copied from www/firefox

PR: 276746

 mail/thunderbird/files/patch-bug1874059 (new) | 25 +
 1 file changed, 25 insertions(+)

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-02-12 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

Christoph Moench-Tegeder  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|In Progress |Closed

--- Comment #5 from Christoph Moench-Tegeder  ---
There you are: ports 7659a22057

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-02-06 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

Christoph Moench-Tegeder  changed:

   What|Removed |Added

 Status|New |In Progress
 CC||c...@freebsd.org

--- Comment #4 from Christoph Moench-Tegeder  ---
The first part is already in Firefox 123 which I'll merge early next week (as
the RC drops), and at that occasion I'll lift the second part, too.

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-01-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

Antonio Mays  changed:

   What|Removed |Added

 CC||darrylko...@gmail.com

--- Comment #3 from Antonio Mays  ---
eems to work here, on 13-CURRENT:

trasz@v2:~ % java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
trasz@v2:~ % /usr/local/linux-oracle-jdk1.8.0/bin/java -version
java version "1.8.0_231"
https://littlerunmo.com/
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

Are you still able to reproduce this?

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-01-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #2 from Dimitry Andric  ---
See also https://bugzilla.mozilla.org/1874059

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-01-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

Dimitry Andric  changed:

   What|Removed |Added

 Blocks||276104


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276104
[Bug 276104] [exp-run] Against llvm-18-update branch on GitHub
-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-01-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

--- Comment #1 from Dimitry Andric  ---
Created attachment 248090
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=248090=edit
www/firefox: fix build with libc++ 18

-- 
You are receiving this mail because:
You are the assignee for the bug.


[Bug 276746] www/firefox: fix build with libc++ 18

2024-01-31 Thread bugzilla-noreply
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746

Bug ID: 276746
   Summary: www/firefox: fix build with libc++ 18
   Product: Ports & Packages
   Version: Latest
  Hardware: Any
OS: Any
Status: New
  Severity: Affects Some People
  Priority: ---
 Component: Individual Port(s)
  Assignee: ge...@freebsd.org
  Reporter: d...@freebsd.org
 Flags: maintainer-feedback?(ge...@freebsd.org)
  Assignee: ge...@freebsd.org

This fixes two problems in www/firefox related to libc++ 18:
* rust-bindgen problems with tuple definitions
* visibility issues caused by gcc_hidden.h

The first problem is that rust-bindgen uses some tricks to generate
bindings for C++ components, but gets confused by some new constructs in
libc++ 18 headers, causing it to generate faulty binding code.

This is described more fully in ;
in the mean time, upstream committed
 to fix it.

The second problem is that the firefox build uses a rather brute force
technique to suppress visibility of unwanted symbols in their shared
libraries: they include a file config/gcc_hidden.h in front of almost
every source file.

This file contains nothing but a line containing "#pragma GCC visibility
push(hidden)", forcing everything after it to have hidden visibility.
This causes link errors with libc++ 18 and later, similar to:

  ld.lld: error: undefined hidden symbol: std::__1::basic_string, std::__1::allocator>::append(char const*,
unsigned long)

The issue is described more fully in
, but upstream has
not been able to decide if it is really a problem on their end, or if
they want to support the use case at all.

A better way to fix this is by using the more usual -fvisibility command
line flags, which are similar in effect, but do not override extern
declarations such as the ones in libc++ headers (see also
).

This is achieved by patching build/moz.configure/toolchain.configure, to
use the -fvisibility=hidden and -fvisibility-inlines-hidden flags on
FreeBSD in addition to Darwin. I am considering also sending this
upstream.

-- 
You are receiving this mail because:
You are the assignee for the bug.


maintainer-feedback requested: [Bug 276746] www/firefox: fix build with libc++ 18

2024-01-31 Thread bugzilla-noreply
Bugzilla Automation  has asked freebsd-gecko (Nobody)
 for maintainer-feedback:
Bug 276746: www/firefox: fix build with libc++ 18
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276746



--- Description ---
This fixes two problems in www/firefox related to libc++ 18:
* rust-bindgen problems with tuple definitions
* visibility issues caused by gcc_hidden.h

The first problem is that rust-bindgen uses some tricks to generate
bindings for C++ components, but gets confused by some new constructs in
libc++ 18 headers, causing it to generate faulty binding code.

This is described more fully in <https://bugzilla.mozilla.org/1873379>;
in the mean time, upstream committed
<https://hg.mozilla.org/mozilla-central/rev/9e96d1447f6c> to fix it.

The second problem is that the firefox build uses a rather brute force
technique to suppress visibility of unwanted symbols in their shared
libraries: they include a file config/gcc_hidden.h in front of almost
every source file.

This file contains nothing but a line containing "#pragma GCC visibility
push(hidden)", forcing everything after it to have hidden visibility.
This causes link errors with libc++ 18 and later, similar to:

  ld.lld: error: undefined hidden symbol: std::__1::basic_string, std::__1::allocator>::append(char const*,
unsigned long)

The issue is described more fully in
<https://github.com/llvm/llvm-project/issues/79027>, but upstream has
not been able to decide if it is really a problem on their end, or if
they want to support the use case at all.

A better way to fix this is by using the more usual -fvisibility command
line flags, which are similar in effect, but do not override extern
declarations such as the ones in libc++ headers (see also
<https://gcc.gnu.org/wiki/Visibility#line-91>).

This is achieved by patching build/moz.configure/toolchain.configure, to
use the -fvisibility=hidden and -fvisibility-inlines-hidden flags on
FreeBSD in addition to Darwin. I am considering also sending this
upstream.