Wednesday, November 25, 2020

Re: [ld.bfd] Unbreak x11/gnome/gucharmap

On Wed, Nov 25, 2020 at 10:39:33PM +0100, Charlene Wendling wrote:
> On Wed, 25 Nov 2020 16:20:38 -0500
> Brad Smith wrote:
>
> > On Wed, Nov 25, 2020 at 11:39:49AM +0100, Charlene Wendling wrote:
> > > Hi,
> > >
> > > > http://build-failures.rhaalovely.net/sparc64/2020-11-17/x11/gnome/gucharmap.log
> > > (same thing on macppc)
> > >
> > > This new version of gucharmap "requires" the -Bsymbolic-functions
> > > linker flag. Bypassing the check allows to build gucharmap.
> > >
> > > I didn't bump REVISION; this changes nothing on amd64 and it has
> > > never been built on ld.bfd archs.
> > >
> > > The runtime is fine on macppc.
> > >
> > > Comments/feedback are welcome,
> > >
> > > Charl??ne.
> > >
> > > [0] https://bin.charlenew.xyz/gucharmap.log
> >
> > I was looking at this yesterday. I just had not sent the diff out yet.
>
> I was committing the fix while you sending that mail. I'm pretty
> sure that upstream would prefer your fix to mine.

Just FYI this was part of a bigger diff I had to remove the workaround
for lld. I previously had a similar diff to the autoconf based ports for
gucharmap and then it switched from autoconf to meson. It also included
devel/vte but that was removed.



Index: www/libcroco/Makefile
===================================================================
RCS file: /home/cvs/ports/www/libcroco/Makefile,v
retrieving revision 1.35
diff -u -p -u -p -r1.35 Makefile
--- www/libcroco/Makefile 16 May 2020 18:46:55 -0000 1.35
+++ www/libcroco/Makefile 30 Oct 2020 20:31:05 -0000
@@ -6,6 +6,7 @@ COMMENT= generic CSS parsing library fo

GNOME_PROJECT= libcroco
GNOME_VERSION= 0.6.13
+REVISION= 0

SHARED_LIBS += croco-0.6 4.0 # 3.1

@@ -27,7 +28,10 @@ LIB_DEPENDS= devel/glib2 \

CONFIGURE_STYLE= gnu

+.include <bsd.port.arch.mk>
+.if !${PROPERTIES:Mlld}
# error: -Bsymbolic-functions requested but not supported by ld
CONFIGURE_ARGS += --disable-Bsymbolic
+.endif

.include <bsd.port.mk>
Index: x11/gnome/gucharmap/Makefile
===================================================================
RCS file: /home/cvs/ports/x11/gnome/gucharmap/Makefile,v
retrieving revision 1.128
diff -u -p -u -p -r1.128 Makefile
--- x11/gnome/gucharmap/Makefile 8 Nov 2020 07:42:26 -0000 1.128
+++ x11/gnome/gucharmap/Makefile 25 Nov 2020 23:35:42 -0000
@@ -4,6 +4,7 @@ COMMENT= Unicode character map for the

GNOME_PROJECT= gucharmap
GNOME_VERSION= 13.0.4
+REVISION= 0

SHARED_LIBS += gucharmap_2_90 7.0 # 7.0

@@ -32,5 +33,11 @@ RUN_DEPENDS = devel/gsettings-desktop-s
LIB_DEPENDS= x11/gtk+3,-main

CONFIGURE_ARGS += -Ducd_path=${LOCALBASE}/share/unicode/ucd/
+
+.include <bsd.port.arch.mk>
+.if !${PROPERTIES:Mlld}
+# ERROR: Assert failed: -Wl,-Bsymbolic-functions is required but not supported
+CONFIGURE_ARGS += -Dsymbolic_functions=false
+.endif

.include <bsd.port.mk>
Index: x11/gnome/gucharmap/patches/patch-meson_build
===================================================================
RCS file: /home/cvs/ports/x11/gnome/gucharmap/patches/patch-meson_build,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 patch-meson_build
--- x11/gnome/gucharmap/patches/patch-meson_build 25 Nov 2020 21:19:51 -0000 1.2
+++ x11/gnome/gucharmap/patches/patch-meson_build 25 Nov 2020 23:36:25 -0000
@@ -1,8 +1,7 @@
$OpenBSD: patch-meson_build,v 1.2 2020/11/25 21:19:51 cwen Exp $

-Hunk #1: ERROR: C shared or static library 'dl' not found
-Hunk #2: fix the build on ld.bfd archs, where the -Bsymbolic-functions
- linker flag is not supported
+- ERROR: C shared or static library 'dl' not found
+- ERROR: Assert failed: -Wl,-Bsymbolic-functions is required but not supported

Index: meson.build
--- meson.build.orig
@@ -26,17 +25,27 @@ Index: meson.build
# Compiler flags

compiler_flags_common = [
-@@ -226,8 +214,11 @@ linker_flags = [
- ]
+@@ -221,14 +209,16 @@ add_project_arguments(global_cflags, language: 'c',)

- foreach flag: linker_flags
+ # Linker flags
+
+-linker_flags = [
+- '-Wl,-Bsymbolic-functions'
+-]
++if get_option('symbolic_functions')
++ linker_flags = [
++ '-Wl,-Bsymbolic-functions'
++ ]
+
+-foreach flag: linker_flags
- assert(cc.has_link_argument(flag), flag + ' is required but not supported')
- add_project_link_arguments(flag, language: 'c',)
-+ if cc.has_link_argument(flag)
+-endforeach
++ foreach flag: linker_flags
++ assert(cc.has_link_argument(flag), flag + ' is required but not supported')
+ add_project_link_arguments(flag, language: 'c',)
-+ else
-+ message(flag + ' is not supported')
-+ endif
- endforeach
++ endforeach
++endif

# Dependencies
+
Index: x11/gnome/gucharmap/patches/patch-meson_options_txt
===================================================================
RCS file: x11/gnome/gucharmap/patches/patch-meson_options_txt
diff -N x11/gnome/gucharmap/patches/patch-meson_options_txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ x11/gnome/gucharmap/patches/patch-meson_options_txt 25 Nov 2020 19:28:01 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+ERROR: Assert failed: -Wl,-Bsymbolic-functions is required but not supported
+
+Index: meson_options.txt
+--- meson_options.txt.orig
++++ meson_options.txt
+@@ -61,3 +61,10 @@ option(
+ value: true,
+ description: 'Enable Vala bindings',
+ )
++
++option(
++ 'symbolic_functions',
++ type: 'boolean',
++ value: true,
++ description: 'Enable bind defined function symbols locally',
++)
Index: x11/gnome/librsvg/Makefile
===================================================================
RCS file: /home/cvs/ports/x11/gnome/librsvg/Makefile,v
retrieving revision 1.177
diff -u -p -u -p -r1.177 Makefile
--- x11/gnome/librsvg/Makefile 21 Nov 2020 09:09:24 -0000 1.177
+++ x11/gnome/librsvg/Makefile 25 Nov 2020 23:32:59 -0000
@@ -5,6 +5,7 @@ COMMENT= SAX-based render library for S
GNOME_PROJECT= librsvg
STABLE_VERSION= 2.50.2
OLD_VERSION= 2.40.21
+REVISION= 0
DISTFILES= librsvg-${STABLE_VERSION}${EXTRACT_SUFX}:0 \
librsvg-${OLD_VERSION}${EXTRACT_SUFX}:1

@@ -57,8 +58,11 @@ LIB_DEPENDS += devel/pango \
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS= --disable-tools

+.include <bsd.port.arch.mk>
+.if !${PROPERTIES:Mlld}
# error: -Bsymbolic-functions requested but not supported by ld
CONFIGURE_ARGS += --disable-Bsymbolic
+.endif

post-install:
rm ${PREFIX}/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.{a,la}

No comments:

Post a Comment