On Sun, Nov 10, 2019 at 05:02:58PM +0100, Charlene Wendling wrote:
>
> > http://build-failures.rhaalovely.net/sparc64/2019-11-07/devel/vte3.log
>
> Upstream has already a fix for it [0]. During the final linking i've
> found out that there are some X11-related undefined references, so i
> have added proper LDFLAGS to MODGNOME_LDFLAGS (that already includes
> `-L${LOCALBASE}/lib'), as many x11/gnome/* ports do.
>
> REVISION bump is unneeded, this vte3 version never built on base-gcc
> archs and nothing changes on base-clang one.
>
> It builds fine on macppc [1], i tried to build and run x11/sakura,
> without issues as well.
>
> Comments/feedback are welcome,
>
> Charlène.
>
>
> [0]
> https://gitlab.gnome.org/GNOME/vte/commit/347f7dd9b1c11244156bfb593866306c735cb06a
> [1] https://bin.charlenew.xyz/vte3_sakura.tgz
OK
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/vte3/Makefile,v
> retrieving revision 1.99
> diff -u -p -u -p -r1.99 Makefile
> --- Makefile 1 Nov 2019 20:19:16 -0000 1.99
> +++ Makefile 10 Nov 2019 15:34:31 -0000
> @@ -44,6 +44,14 @@ TEST_DEPENDS= shells/bash
>
> SUBST_VARS += API_V
>
> +.include <bsd.port.arch.mk>
> +.if !${PROPERTIES:Mlld}
> +# -Bsymbolic-functions is not supported by ld.bfd
> +CONFIGURE_ARGS += -D_b_symbolic_functions=false
> +# Fix X11-related undefined references errors
> +MODGNOME_LDFLAGS += -L${X11BASE}/lib
> +.endif
> +
> # XXX: https://bugzilla.gnome.org/show_bug.cgi?id=675987
> post-install:
> rm -r ${WRKINST}${SYSCONFDIR}/profile.d
> Index: patches/patch-meson_build
> ===================================================================
> RCS file: patches/patch-meson_build
> diff -N patches/patch-meson_build
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-meson_build 10 Nov 2019 15:34:31 -0000
> @@ -0,0 +1,35 @@
> +$OpenBSD$
> +
> +Allow building on ld.bfd archs, from upstream:
> +https://gitlab.gnome.org/GNOME/vte/commit/347f7dd9b1c11244156bfb593866306c735cb06a
> +
> +Index: meson.build
> +--- meson.build.orig
> ++++ meson.build
> +@@ -354,15 +354,21 @@ add_project_arguments(global_cxxflags, language: 'cpp'
> + # Linker flags
> +
> + linker_flags = [
> +- '-Wl,-Bsymbolic-functions'
> ++ [ '-Wl,-Bsymbolic-functions', get_option('_b_symbolic_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[0])
> ++ add_project_link_arguments(flag[0], language: 'c')
> ++ elif flag[1]
> ++ assert(false, flag[0] + ' is required but not supported')
> ++ endif
> +
> +- assert(cxx.has_link_argument(flag), flag + ' is required but not
> supported')
> +- add_project_link_arguments(flag, language: 'cpp')
> ++ if cxx.has_link_argument(flag[0])
> ++ add_project_link_arguments(flag[0], language: 'cpp')
> ++ elif flag[1]
> ++ assert(false, flag[0] + ' is required but not supported')
> ++ endif
> + endforeach
> +
> + # Dependencies
> Index: patches/patch-meson_options_txt
> ===================================================================
> RCS file: patches/patch-meson_options_txt
> diff -N patches/patch-meson_options_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-meson_options_txt 10 Nov 2019 15:34:31 -0000
> @@ -0,0 +1,24 @@
> +$OpenBSD$
> +
> +Allow building on ld.bfd archs, from upstream:
> +https://gitlab.gnome.org/GNOME/vte/commit/347f7dd9b1c11244156bfb593866306c735cb06a
> +
> +Index: meson_options.txt
> +--- meson_options.txt.orig
> ++++ meson_options.txt
> +@@ -13,6 +13,15 @@
> + # You should have received a copy of the GNU Lesser General Public License
> + # along with this library. If not, see <https://www.gnu.org/licenses/>.
> +
> ++# This option allows you to disable -Bsymbolic-functions if your linker
> ++# doesn't support it.
> ++option(
> ++ '_b_symbolic_functions',
> ++ type: 'boolean',
> ++ value: true,
> ++ description: 'Use -Bsymbolic-functions',
> ++)
> ++
> + option(
> + 'debugg', # for some reason, 'debug' is "reserved"
> + type: 'boolean',
>
--
Antoine