Github messages for voidlinux
 help / color / mirror / Atom feed
From: ericonr <ericonr@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] ldc: update to 1.26.0.
Date: Tue, 25 May 2021 21:08:15 +0200	[thread overview]
Message-ID: <20210525190815.G9plMuB0H5nkQksVm6jY1PA8lLE7B7UBwJmoqLAtr7o@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-31062@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 2600 bytes --]

There is an updated pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages ldc
https://github.com/void-linux/void-packages/pull/31062

ldc: update to 1.26.0.
Also move to llvm12.

@q66

It ends up underlinked, because when I try building corecollector with it I get:

```
Project version: 0.3.5
Error relocating /usr/lib/libdruntime-ldc-shared.so.96: unw_init_local: symbol not found
Error relocating /usr/lib/libdruntime-ldc-shared.so.96: unw_get_proc_name: symbol not found
Error relocating /usr/lib/libdruntime-ldc-shared.so.96: unw_step: symbol not found
Error relocating /usr/lib/libdruntime-ldc-shared.so.96: unw_getcontext: symbol not found
Error relocating /usr/lib/libdruntime-ldc-shared.so.96: unw_get_proc_info: symbol not found

meson.build:1:0: ERROR: Executables created by D compiler ldc2 are not runnable.
```

But running with `LD_PRELOAD=/usr/lib/libunwind.so.1` after installing `llvm-libunwind` makes meson not complain.

Alpine seems to be doing a trick to build with `libunwind` (https://git.alpinelinux.org/aports/tree/community/ldc/APKBUILD): `-DC_SYSTEM_LIBS="unwind;m;pthread;rt;dl"`, which we can probably just appropriate.

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/31062.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ldc-31062.patch --]
[-- Type: text/x-diff, Size: 9142 bytes --]

From 8f33fbcc2a85defbabe80d5d2c9e5370959450d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
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 221babe952c1..666da46e0481 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 45d5c7f7be07..396494330584 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 <me@aurieh.me>"
 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?= <erico.erc@gmail.com>
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 4e4f8aadb3bd..8532268d9ed8 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?= <erico.erc@gmail.com>
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 ab6f17ea1e76..7f280b488703 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?= <erico.erc@gmail.com>
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 e8237ccf0cb2..deadd000f55b 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?= <erico.erc@gmail.com>
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 000000000000..dbc7b3eaa5ca
--- /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 9383a1ce436d..952643b213fc 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

  parent reply	other threads:[~2021-05-25 19:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-22  6:55 [PR PATCH] " ericonr
2021-05-22 11:13 ` q66
2021-05-22 18:49 ` [PR PATCH] [Updated] " ericonr
2021-05-22 19:00 ` ericonr
2021-05-22 20:17 ` q66
2021-05-22 23:12 ` ericonr
2021-05-23  2:29 ` [PR PATCH] [Updated] " ericonr
2021-05-23  2:53 ` ericonr
2021-05-23  3:22 ` ericonr
2021-05-23  3:23 ` ericonr
2021-05-23  3:36 ` ericonr
2021-05-23  4:23 ` ericonr
2021-05-23 15:01 ` aurieh
2021-05-25 19:08 ` ericonr [this message]
2021-05-25 23:19 ` aurieh
2021-05-26  0:11 ` ericonr
2021-05-26  3:12 ` [PR PATCH] [Merged]: " ericonr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210525190815.G9plMuB0H5nkQksVm6jY1PA8lLE7B7UBwJmoqLAtr7o@z \
    --to=ericonr@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).