From 82ae2d6f1f9326426947987fc78385b181a0004c Mon Sep 17 00:00:00 2001 From: Andrei Horodniceanu Date: Fri, 31 May 2024 16:24:27 +0300 Subject: x11-terms/tilix: backport upstream fixes - Support building with dmd and gdc - remove libunwind dependency gdc-13 support requires a more recent compiler lest it ICEs during the build. Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113125 Signed-off-by: Andrei Horodniceanu --- .../files/fix-dmd-and-gdc-build-pr-2219.patch | 37 ++++++++++++ .../tilix/files/remove-libunwind-dep-pr-2220.patch | 66 +++++++++++++++++++++ x11-terms/tilix/tilix-1.9.6-r2.ebuild | 69 ++++++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 x11-terms/tilix/files/fix-dmd-and-gdc-build-pr-2219.patch create mode 100644 x11-terms/tilix/files/remove-libunwind-dep-pr-2220.patch create mode 100644 x11-terms/tilix/tilix-1.9.6-r2.ebuild diff --git a/x11-terms/tilix/files/fix-dmd-and-gdc-build-pr-2219.patch b/x11-terms/tilix/files/fix-dmd-and-gdc-build-pr-2219.patch new file mode 100644 index 0000000..9392643 --- /dev/null +++ b/x11-terms/tilix/files/fix-dmd-and-gdc-build-pr-2219.patch @@ -0,0 +1,37 @@ +From 6c7408cd54e225684e5305a0c9d5be0809afff48 Mon Sep 17 00:00:00 2001 +From: Andrei Horodniceanu +Date: Mon, 29 Apr 2024 08:40:20 +0300 +Subject: [PATCH] meson.build: add `-allinst` when compiling with dmd or gdc, + #2210 + +This is needed to work around a bug in dmd regarding template +emissions. + +Bug: https://github.com/gnunn1/tilix/issues/2210 +Bug: https://issues.dlang.org/show_bug.cgi?id=20668 + +Signed-off-by: Andrei Horodniceanu +--- + meson.build | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 73f3ebe8..8f22061e 100644 +--- a/meson.build ++++ b/meson.build +@@ -9,8 +9,13 @@ compiler = meson.get_compiler('d') + if compiler.get_id() == 'llvm' + d_extra_args = ['-vcolumns'] + d_link_args = [] +-else +- d_extra_args = [] ++elif compiler.get_id() == 'dmd' ++ # Workaround for https://issues.dlang.org/show_bug.cgi?id=20668 ++ d_extra_args = ['-allinst'] ++ d_link_args = [] ++elif compiler.get_id() == 'gcc' ++ # Workaround for https://issues.dlang.org/show_bug.cgi?id=20668 ++ d_extra_args = ['-fall-instantiations'] + d_link_args = [] + endif + diff --git a/x11-terms/tilix/files/remove-libunwind-dep-pr-2220.patch b/x11-terms/tilix/files/remove-libunwind-dep-pr-2220.patch new file mode 100644 index 0000000..18afd18 --- /dev/null +++ b/x11-terms/tilix/files/remove-libunwind-dep-pr-2220.patch @@ -0,0 +1,66 @@ +From a7988f90dfa7950fd3ab654466e05a258ccf68e8 Mon Sep 17 00:00:00 2001 +From: Andrei Horodniceanu +Date: Fri, 31 May 2024 12:08:32 +0300 +Subject: [PATCH] meson.build: Remove libunwind dependency + +The dependency has been added in +6923ee9194523526a9d54d7be8ddcf51847b3c72 in the context of +https://github.com/gnunn1/tilix/issues/1502#issuecomment-425723007 +which was trying to diagnose issues with building using meson. + +The commit has been added so others can use it as a starting point but +it has never been removed. The dub configuration doesn't add it as a +dependency as well. + +Additionally update CI not to install it. + +Signed-off-by: Andrei Horodniceanu +--- + .github/ci/install-deps-deb.sh | 1 - + .github/workflows/build-test.yml | 1 - + meson.build | 2 -- + 3 files changed, 4 deletions(-) + +diff --git a/.github/ci/install-deps-deb.sh b/.github/ci/install-deps-deb.sh +index 0a55aa674..45b164893 100755 +--- a/.github/ci/install-deps-deb.sh ++++ b/.github/ci/install-deps-deb.sh +@@ -26,6 +26,5 @@ eatmydata apt-get install -yq \ + libgtkd-3-dev \ + librsvg2-dev \ + libsecret-1-dev \ +- libunwind-dev \ + libvted-3-dev \ + po4a +diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml +index 3e05e1372..9a1e531c4 100644 +--- a/.github/workflows/build-test.yml ++++ b/.github/workflows/build-test.yml +@@ -29,7 +29,6 @@ jobs: + libpango1.0-dev \ + librsvg2-dev \ + libsecret-1-dev \ +- libunwind-dev \ + libgtksourceview-3.0-dev \ + libpeas-dev \ + libvte-2.91-dev +diff --git a/meson.build b/meson.build +index 73f3ebe83..1d14c1046 100644 +--- a/meson.build ++++ b/meson.build +@@ -99,7 +99,6 @@ 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') + libsecret_dep = dependency('libsecret-1', required: false) + + subdir('po') +@@ -112,7 +111,6 @@ executable('tilix', + dependencies : [gtkd_dep, + vted_dep, + xlib_dep, +- libunwind_dep, + libsecret_dep], + d_args: d_extra_args, + d_module_versions: ['StdLoggerDisableTrace'], diff --git a/x11-terms/tilix/tilix-1.9.6-r2.ebuild b/x11-terms/tilix/tilix-1.9.6-r2.ebuild new file mode 100644 index 0000000..5707050 --- /dev/null +++ b/x11-terms/tilix/tilix-1.9.6-r2.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A tiling terminal emulator for Linux using GTK+ 3" +HOMEPAGE="https://gnunn1.github.io/tilix-web/" + +GITHUB_URI="https://codeload.github.com/gnunn1" +SRC_URI="${GITHUB_URI}/${PN}/tar.gz/${PV} -> ${PN}-${PV}.tar.gz" +LICENSE="MPL-2.0" + +PATCHES=( + "${FILESDIR}/fix-dmd-and-gdc-build-pr-2219.patch" + "${FILESDIR}/remove-libunwind-dep-pr-2220.patch" +) + +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="test" +RESTRICT="!test? ( test )" + +DLANG_COMPAT=( dmd-2_10{6..8} gdc-13 ldc2-1_{35..38} ) + +inherit dlang-single gnome2-utils meson optfeature + +# Older gcc ICEs due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113125 +MY_DLANG_DEPS="${DLANG_DEPS} + $(dlang_gen_cond_dep ' + >=sys-devel/gcc-13.3:13 + ' gdc-13) +" + +REQUIRED_USE=${DLANG_REQUIRED_USE} +RDEPEND=" + ${MY_DLANG_DEPS} + >=sys-devel/gettext-0.19.8.1 + $(dlang_gen_cond_dep ' + >=dev-libs/gtkd-3.10.0-r2:3[vte,${DLANG_USEDEP}] + ') + gnome-base/gsettings-desktop-schemas +" +DEPEND=${RDEPEND} +BDEPEND=" + ${MY_DLANG_DEPS} + app-text/po4a + dev-libs/appstream + test? ( dev-util/desktop-file-utils ) +" + +src_configure() { + DFLAGS="${DCFLAGS}" meson_src_configure -Dd_link_args="${DCFLAGS} ${DLANG_LDFLAGS}" +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + gnome2_schemas_update + + optfeature "Nautilus integration" "dev-python/nautilus-python" + optfeature "Password support" "app-crypt/libsecret" +} + +pkg_postrm() { + gnome2_schemas_update + xdg_desktop_database_update + xdg_icon_cache_update +} -- cgit v1.2.3-65-gdbad