From 8f33fbcc2a85defbabe80d5d2c9e5370959450d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Sat, 22 May 2021 03:51:24 -0300 Subject: [PATCH 1/5] ldc: update to 1.26.0. Also move to llvm12 and add llvm-unwind-devel to depends, since it's required by some packages when building things with ldc. Forcing linking against libunwind from llvm is necessary, otherwise the resulting runtime is underlinked and fails to find the unw_* symbols it needs. Argument taken from Alpine: https://gitlab.alpinelinux.org/alpine/aports/-/blob/aaaa982c682d6c5655d8b89538c18e05bd6443e6/community/ldc/APKBUILD --- common/shlibs | 10 +++++----- srcpkgs/ldc/template | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/common/shlibs b/common/shlibs index 221babe952c104..666da46e048127 100644 --- a/common/shlibs +++ b/common/shlibs @@ -2161,11 +2161,11 @@ libFcitx5Config.so.6 libfcitx5-5.0.5_1 libFcitx5GClient.so.2 fcitx5-gtk-5.0.4_1 libFcitx5Qt5DBusAddons.so.1 fcitx5-qt5-5.0.3_1 libFcitx5Qt5WidgetsAddons.so.2 fcitx5-qt5-5.0.3_1 -libdruntime-ldc-debug-shared.so.94 ldc-runtime-1.24.0_1 -libdruntime-ldc-shared.so.94 ldc-runtime-1.24.0_1 -libphobos2-ldc-shared.so.94 ldc-runtime-1.24.0_1 -libphobos2-ldc-debug-shared.so.94 ldc-runtime-1.24.0_1 -libldc-jit.so.94 ldc-runtime-1.24.0_1 +libdruntime-ldc-debug-shared.so.96 ldc-runtime-1.26.0_1 +libdruntime-ldc-shared.so.96 ldc-runtime-1.26.0_1 +libphobos2-ldc-shared.so.96 ldc-runtime-1.26.0_1 +libphobos2-ldc-debug-shared.so.96 ldc-runtime-1.26.0_1 +libldc-jit.so.96 ldc-runtime-1.26.0_1 libmarblewidget-qt5.so.28 marble5-17.12.2_1 libastro.so.2 marble5-17.12.2_1 libparrot.so.6.9.0 parrot-6.9.0_1 diff --git a/srcpkgs/ldc/template b/srcpkgs/ldc/template index 45d5c7f7be071c..3964943305845b 100644 --- a/srcpkgs/ldc/template +++ b/srcpkgs/ldc/template @@ -1,27 +1,32 @@ # Template file for 'ldc' pkgname=ldc -version=1.24.0 -revision=2 +version=1.26.0 +revision=1 wrksrc="ldc-${version}-src" build_style=cmake configure_args=" -DINCLUDE_INSTALL_DIR=/usr/include/dlang/ldc -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo - -DBASH_COMPLETION_COMPLETIONSDIR=/usr/share/bash-completion" + -DBASH_COMPLETION_COMPLETIONSDIR=/usr/share/bash-completion + -DC_SYSTEM_LIBS='unwind;m;pthread;rt;dl'" conf_files="/etc/ldc2.conf" -hostmakedepends="dmd llvm11 perl pkg-config" -makedepends="libcurl-devel libffi-devel ncurses-devel zlib-devel" -depends="ldc-runtime" +hostmakedepends="dmd llvm12 perl pkg-config" +makedepends="libcurl-devel libffi-devel ncurses-devel zlib-devel + llvm-libunwind-devel" +depends="ldc-runtime llvm-libunwind-devel" +checkdepends="python3 tzdata" short_desc="Portable D programming language compiler based on LLVM" maintainer="Auri " license="BSD-3-Clause, BSL-1.0" homepage="https://wiki.dlang.org/LDC" changelog="https://raw.githubusercontent.com/ldc-developers/ldc/master/CHANGELOG.md" distfiles="https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz" -checksum=fd9561ade916e9279bdcc166cf0e4836449c24e695ab4470297882588adbba3c +checksum=c18f4c76869f0196b459dcd6196c7eaea1b097cc422cf3771de394f6c0ef7474 nopie=yes nocross="dmd compilation fails on cross" +# tests timeout on musl; also require unpackaged python3-lit +make_check=no post_install() { vlicense LICENSE From 816cfa99e0e8f8857962ff71d47a4bed8a5d86bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Tue, 25 May 2021 16:04:35 -0300 Subject: [PATCH 2/5] gstreamer1: remove libunwind support. Pretty printing backtraces isn't extremely useful most of the time and can be done in a much better way via a proper debugger. Furthermore, and the motivation for this, having libunwind in gstreamer1 leads to gtkd being linked against two libunwind impls, one via gstreamer1 (libunwind) and the other via ldc-runtime (llvm-libunwind). --- srcpkgs/gstreamer1/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/gstreamer1/template b/srcpkgs/gstreamer1/template index 4e4f8aadb3bd85..8532268d9ed8aa 100644 --- a/srcpkgs/gstreamer1/template +++ b/srcpkgs/gstreamer1/template @@ -1,7 +1,7 @@ # Template file for 'gstreamer1' pkgname=gstreamer1 version=1.18.4 -revision=1 +revision=2 wrksrc="gstreamer-${version}" build_style=meson build_helper="gir" @@ -10,7 +10,7 @@ configure_args="-Dptp-helper-permissions=capabilities -Dintrospection=$(vopt_if gir enabled disabled)" hostmakedepends="gettext pkg-config flex python3 docbook-xsl glib-devel libcap-progs" -makedepends="libxml2-devel libglib-devel gtk+3-devel libcap-devel libunwind-devel +makedepends="libxml2-devel libglib-devel gtk+3-devel libcap-devel bash-completion" checkdepends="gsl-devel gmp-devel valgrind-devel" short_desc="Core GStreamer libraries and elements (1.x)" From 8fd0b025b2cf3de4ddb6dba38f3771fedd6cf049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Sat, 22 May 2021 23:49:22 -0300 Subject: [PATCH 3/5] gtkd: revbump for ldc-1.26.0. --- srcpkgs/gtkd/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/gtkd/template b/srcpkgs/gtkd/template index ab6f17ea1e7654..7f280b4887037b 100644 --- a/srcpkgs/gtkd/template +++ b/srcpkgs/gtkd/template @@ -1,7 +1,7 @@ # Template file for 'gtkd' pkgname=gtkd version=3.9.0 -revision=4 +revision=5 wrksrc="GtkD-${version}" build_style=gnu-makefile make_build_args="LDFLAGS='-linker=bfd' DC=ldc2" From dd870737c7b69c2c7319fa0ee5d975e011571f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Sat, 22 May 2021 23:49:22 -0300 Subject: [PATCH 4/5] onedrive: revbump for ldc-1.26.0. --- srcpkgs/onedrive/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/onedrive/template b/srcpkgs/onedrive/template index e8237ccf0cb2e5..deadd000f55b38 100644 --- a/srcpkgs/onedrive/template +++ b/srcpkgs/onedrive/template @@ -1,7 +1,7 @@ # Template file for 'onedrive' pkgname=onedrive version=2.4.10 -revision=1 +revision=2 build_style=gnu-configure configure_args="DC=ldc2" hostmakedepends="ldc pkg-config" From 659fa6638331138f46c92ca09939b7af45f81ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Nogueira?= Date: Sat, 22 May 2021 23:49:22 -0300 Subject: [PATCH 5/5] tilix: revbump for ldc-1.26.0. Remove libunwind-devel so it builds with llvm-libunwind (which is already linked to the D runtime and we don't want symbol mismatches). This required patching meson.build so it could use a library without pkgconfig files. Also disable LTO, which was causing linking failures. --- srcpkgs/tilix/patches/llvm-unwind.patch | 30 +++++++++++++++++++++++++ srcpkgs/tilix/template | 6 +++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/tilix/patches/llvm-unwind.patch diff --git a/srcpkgs/tilix/patches/llvm-unwind.patch b/srcpkgs/tilix/patches/llvm-unwind.patch new file mode 100644 index 00000000000000..dbc7b3eaa5cae4 --- /dev/null +++ b/srcpkgs/tilix/patches/llvm-unwind.patch @@ -0,0 +1,30 @@ +Use find_library instead of dependency so llvm-libunwind can be used, +since it doesn't ship a pkg-config file. + +diff --git a/meson.build b/meson.build +index 448e262..1a8ebfb 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,11 +1,12 @@ + project( +- 'Tilix', 'd', ++ 'Tilix', ['c','d'], + version: '1.9.4', + license: 'MPL-2.0', + meson_version: '>= 0.52' + ) + + compiler = meson.get_compiler('d') ++cc = meson.get_compiler('c') + if compiler.get_id() == 'llvm' + d_extra_args = ['-vcolumns'] + d_link_args = [] +@@ -100,7 +101,7 @@ sources_dir = include_directories('source/') + gtkd_dep = dependency('gtkd-3', version: '>=3.8.5') + vted_dep = dependency('vted-3', version: '>=3.8.5') + xlib_dep = dependency('x11') +-libunwind_dep = dependency('libunwind') ++libunwind_dep = cc.find_library('libunwind') + libsecret_dep = dependency('libsecret-1', required: false) + + subdir('po') diff --git a/srcpkgs/tilix/template b/srcpkgs/tilix/template index 9383a1ce436da8..952643b213fc73 100644 --- a/srcpkgs/tilix/template +++ b/srcpkgs/tilix/template @@ -1,11 +1,12 @@ # Template file for 'tilix' pkgname=tilix version=1.9.4 -revision=1 +revision=2 build_style=meson +configure_args="-Db_lto=false" hostmakedepends="automake gettext-devel gdk-pixbuf glib-devel ldc po4a pkg-config librsvg tar AppStream" -makedepends="dconf-devel gtkd-devel libglib-devel libvted-devel libX11-devel libunwind-devel" +makedepends="dconf-devel gtkd-devel libglib-devel libvted-devel libX11-devel" depends="gsettings-desktop-schemas vte3" checkdepends="$depends" short_desc="Tiling terminal emulator for Linux" @@ -14,6 +15,7 @@ license="MPL-2.0" homepage="https://gnunn1.github.io/tilix-web/" distfiles="https://github.com/gnunn1/${pkgname}/archive/${version}.tar.gz" checksum=2a9482770391d11d5edc8351d426c700c2cc6c194a30391ef2ae25bb7095b59b +patch_args=-Np1 pre_configure() { case "$XBPS_TARGET_MACHINE" in