git: 50e1b669d76a - main - devel/libnotify: fix build with lld 17 (take 2)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 26 Nov 2023 18:24:55 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/ports/commit/?id=50e1b669d76a12aab4bc9646261cd426847dc825
commit 50e1b669d76a12aab4bc9646261cd426847dc825
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-11-26 18:09:08 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-11-26 18:21:23 +0000
devel/libnotify: fix build with lld 17 (take 2)
The fix for bug 274108 broke running the notify-send command, resulting
in:
ld-elf.so.1: /usr/local/lib/libglib-2.0.so.0: Undefined symbol "environ"
This is because libnotify uses the same linker version script for both
its libnotify.so shared library and for its notify-send executable.
The linker version script places all symbols that do not begin with
"notify_" into the local scope, making them effectively hidden. This is
fine for a shared library, but not for an executable, since it will also
hide the symbols "environ" and "__progname", which are required for most
programs.
Fix it by not using the linker version script for the notify-send
executable, so no required symbols are hidden.
PR: 275104, 274108
MFH: 2023Q4
---
devel/libnotify/files/patch-libnotify_meson.build | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/devel/libnotify/files/patch-libnotify_meson.build b/devel/libnotify/files/patch-libnotify_meson.build
new file mode 100644
index 000000000000..18b4cdc232a0
--- /dev/null
+++ b/devel/libnotify/files/patch-libnotify_meson.build
@@ -0,0 +1,18 @@
+--- libnotify/meson.build.orig 2023-02-17 21:20:15 UTC
++++ libnotify/meson.build
+@@ -46,7 +46,6 @@ notify_dep = declare_dependency(
+ dependencies: libnotify_deps,
+ compile_args: libnotify_cflags,
+ sources: headers + [enum_types[1]] + [marshal[1]],
+- link_args: libnotify_ldflags,
+ )
+
+ libnotify_lib = shared_library(LIBNAME,
+@@ -55,6 +54,7 @@ libnotify_lib = shared_library(LIBNAME,
+ version: '@0@.@1@.@2@'.format(LT_CURRENT, LT_REVISION, LT_AGE),
+ soversion: LT_CURRENT,
+ install: true,
++ link_args: libnotify_ldflags,
+ )
+
+ libnotify_dep = declare_dependency(