From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/elinks/files/, www-client/elinks/
Date: Mon, 3 Jul 2023 15:16:08 +0000 (UTC) [thread overview]
Message-ID: <1688397356.dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869.sam@gentoo> (raw)
commit: dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 3 15:15:11 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 3 15:15:56 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dfefaa45
www-client/elinks: fix build w/ perl-5.38
Closes: https://bugs.gentoo.org/909042
Thanks-to: Azamat H. Hackimov <azamat.hackimov <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
www-client/elinks/elinks-0.16.1.1-r2.ebuild | 172 +++++++++++++++++++++
.../elinks/files/elinks-0.16.1.1-perl-5.38.patch | 62 ++++++++
2 files changed, 234 insertions(+)
diff --git a/www-client/elinks/elinks-0.16.1.1-r2.ebuild b/www-client/elinks/elinks-0.16.1.1-r2.ebuild
new file mode 100644
index 000000000000..16b07eae2f9b
--- /dev/null
+++ b/www-client/elinks/elinks-0.16.1.1-r2.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+LUA_COMPAT=( lua5-{1,2,3,4} luajit )
+
+inherit meson lua-single python-any-r1
+
+DESCRIPTION="Advanced and well-established text-mode web browser"
+HOMEPAGE="http://elinks.or.cz/"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rkd77/felinks"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rkd77/elinks/releases/download/v${PV}/${P}.tar.xz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bittorrent brotli bzip2 debug finger ftp gopher gpm gnutls guile idn"
+IUSE+=" javascript lua lzma +mouse nls nntp perl samba ssl test tre unicode X xml zlib zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.2:=[unicode(+)]
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( >=app-arch/bzip2-1.0.2 )
+ gpm? (
+ >=sys-libs/gpm-1.20.0-r5
+ )
+ guile? ( >=dev-scheme/guile-1.6.4-r1[deprecated] )
+ idn? ( net-dns/libidn:= )
+ javascript? (
+ dev-cpp/libxmlpp:5.0
+ dev-lang/mujs:=
+ )
+ lua? ( ${LUA_DEPS} )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ samba? ( net-fs/samba )
+ ssl? (
+ !gnutls? ( dev-libs/openssl:= )
+ gnutls? ( net-libs/gnutls:= )
+ )
+ tre? ( dev-libs/tre )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+ xml? ( >=dev-libs/expat-1.95.4 )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ test? (
+ net-dns/libidn
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.16.1.1-perl-5.38.patch
+)
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+ -Dhtmldoc=false
+ -Dpdfdoc=false
+ -D88-colors=true
+ -D256-colors=true
+ $(meson_use bittorrent)
+ $(meson_use brotli)
+ $(meson_use bzip2 bzlib)
+ $(usex debug '-Ddebug=true' '-Dfastmem=true')
+ $(meson_use finger)
+ $(meson_use ftp)
+ -Dfsp=false
+ -Dgemini=false
+ $(meson_use nls gettext)
+ $(meson_use gopher)
+ $(meson_use gpm)
+ $(meson_use guile)
+ -Dgssapi=false
+ -Dhtml-highlight=true
+ $(meson_use idn)
+ $(meson_use javascript mujs)
+ -Dipv6=true
+ -Dleds=true
+ -Dlibev=false
+ -Dlibevent=false
+ -Dluapkg=$(usex lua ${ELUA:-0} '')
+ $(meson_use lzma)
+ $(meson_use mouse)
+ #-Dmujs=false
+ $(meson_use nls)
+ $(meson_use nntp)
+ $(meson_use perl)
+ -Dpython=false
+ -Dquickjs=false
+ -Druby=false
+ $(meson_use samba smb)
+ -Dsm-scripting=false
+ -Dspidermonkey=false
+ -Dterminfo=true
+ $(meson_use test)
+ $(meson_use tre)
+ -Dtrue-color=true
+ $(meson_use xml xbel)
+ $(meson_use X x)
+ $(meson_use zlib)
+ $(meson_use zstd)
+ )
+
+ if use ssl ; then
+ if use gnutls ; then
+ emesonargs+=( -Dgnutls=true )
+ else
+ emesonargs+=( -Dopenssl=true)
+ fi
+ else
+ emesonargs+=( -Dgnutls=false -Dopenssl=false )
+ fi
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ insinto /etc/elinks
+ newins contrib/keybind-full.conf keybind-full.sample
+ newins contrib/keybind.conf keybind.conf.sample
+
+ dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README SITES THANKS TODO doc/*.*
+ docinto contrib ; dodoc contrib/{README,colws.diff,elinks[-.]vim*}
+ docinto contrib/lua ; dodoc contrib/lua/{*.lua,elinks-remote}
+ docinto contrib/conv ; dodoc contrib/conv/*.*
+ docinto contrib/guile ; dodoc contrib/guile/*.scm
+
+ # elinks uses an internal copy of gettext which ships files that may
+ # collide with the system's gettext (https://bugs.gentoo.org/635090)
+ rm -f "${ED}"/usr/{share/locale/locale,lib/charset}.alias || die
+}
+
+pkg_postinst() {
+ elog "You may want to convert your html.cfg and links.cfg of"
+ elog "Links or older ELinks versions to the new ELinks elinks.conf"
+ elog "using ${EROOT}/usr/share/doc/${PF}/contrib/conv/conf-links2elinks.pl"
+ elog
+ elog "Please have a look at ${EROOT}/etc/elinks/keybind-full.sample and"
+ elog "${EROOT}/etc/elinks/keybind.conf.sample for some bindings examples."
+ elog
+ elog "You will have to set your TERM variable to 'xterm-256color'"
+ elog "to be able to use 256 colors in elinks."
+}
diff --git a/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch b/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch
new file mode 100644
index 000000000000..08808a8eaf51
--- /dev/null
+++ b/www-client/elinks/files/elinks-0.16.1.1-perl-5.38.patch
@@ -0,0 +1,62 @@
+https://bugs.gentoo.org/909042
+https://github.com/rkd77/elinks/pull/243
+https://github.com/rkd77/elinks/commit/9b3cbca0fb493dc5be44649991dfdf30b746f153
+
+[rebased for 0.16.x]
+
+From 393bf23a2683971a72217839657bb2945a36ee54 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Mon, 3 Jul 2023 14:12:22 +0300
+Subject: [PATCH] Fix compilation with Perl 5.38
+
+Perl now includes own `struct object` which clashes with elinks
+implementation. Renamed `struct object` to `struct elinks_object` to
+avoid it.
+
+Bug: https://bugs.gentoo.org/909042
+--- a/src/main/object.h
++++ b/src/main/object.h
+@@ -11,7 +11,7 @@ extern "C" {
+ #define DEBUG_REFCOUNT
+ #endif
+
+-struct object {
++struct elinks_object {
+ int refcount;
+ #ifdef CONFIG_DEBUG
+ char *name;
+@@ -20,10 +20,10 @@ struct object {
+
+ #define OBJECT_HEAD(type) \
+ LIST_HEAD(type); \
+- struct object object
++ struct elinks_object object
+
+ struct object_head {
+- OBJECT_HEAD(struct object *);
++ OBJECT_HEAD(struct elinks_object *);
+ };
+
+ #ifdef DEBUG_REFCOUNT
+--- a/src/protocol/uri.c
++++ b/src/protocol/uri.c
+@@ -1578,7 +1578,7 @@ struct uri_cache_entry {
+
+ struct uri_cache {
+ struct hash *map;
+- struct object object;
++ struct elinks_object object;
+ };
+
+ static struct uri_cache uri_cache;
+--- a/src/protocol/uri.h
++++ b/src/protocol/uri.h
+@@ -89,7 +89,7 @@ struct uri {
+ unsigned int form:1; /* URI originated from form */
+
+ /* Usage count object. */
+- struct object object;
++ struct elinks_object object;
+ };
+
+ enum uri_errno {
next reply other threads:[~2023-07-03 15:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-03 15:16 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-01-24 2:28 [gentoo-commits] repo/gentoo:master commit in: www-client/elinks/files/, www-client/elinks/ Sam James
2023-12-28 2:19 Sam James
2022-10-13 19:56 Sam James
2020-08-07 17:58 Sam James
2017-10-22 16:55 Patrice Clement
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=1688397356.dfefaa456bd69bc14e3a1c2c6c1b0cc19c6b0869.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.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