diff options
Diffstat (limited to 'www-client/elinks/elinks-9999.ebuild')
-rw-r--r-- | www-client/elinks/elinks-9999.ebuild | 191 |
1 files changed, 109 insertions, 82 deletions
diff --git a/www-client/elinks/elinks-9999.ebuild b/www-client/elinks/elinks-9999.ebuild index d5b093e3bfd6..7611b9f21af9 100644 --- a/www-client/elinks/elinks-9999.ebuild +++ b/www-client/elinks/elinks-9999.ebuild @@ -1,40 +1,51 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) -LUA_COMPAT=( lua5-{1,2} ) +PYTHON_COMPAT=( python3_{10..11} ) +LUA_COMPAT=( lua5-{1,2,3,4} luajit ) -inherit autotools git-r3 lua-single python-any-r1 - -EGIT_REPO_URI="https://github.com/rkd77/felinks" +inherit flag-o-matic 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" -KEYWORDS="" -IUSE="bittorrent brotli bzip2 debug finger ftp gopher gpm gnutls guile idn ipv6 - lua +mouse nls nntp perl ruby samba ssl tre unicode X xml zlib zstd" - +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} )" -BDEPEND="virtual/pkgconfig" + RDEPEND=" + >=sys-libs/ncurses-5.2:=[unicode(+)] brotli? ( app-arch/brotli:= ) bzip2? ( >=app-arch/bzip2-1.0.2 ) - gpm? ( >=sys-libs/ncurses-5.2:0= >=sys-libs/gpm-1.20.0-r5 ) + gpm? ( + >=sys-libs/gpm-1.20.0-r5 + ) guile? ( >=dev-scheme/guile-1.6.4-r1[deprecated] ) - idn? ( net-dns/libidn:= ) + idn? ( net-dns/libidn2:= ) + javascript? ( + dev-cpp/libxmlpp:5.0 + dev-lang/mujs:= + ) lua? ( ${LUA_DEPS} ) + lzma? ( app-arch/xz-utils ) perl? ( dev-lang/perl:= ) - ruby? ( dev-lang/ruby:* dev-ruby/rubygems:* ) samba? ( net-fs/samba ) ssl? ( - !gnutls? ( - dev-libs/openssl:0= - ) + !gnutls? ( dev-libs/openssl:= ) gnutls? ( net-libs/gnutls:= ) ) tre? ( dev-libs/tre ) @@ -44,85 +55,101 @@ RDEPEND=" ) xml? ( >=dev-libs/expat-1.95.4 ) zlib? ( >=sys-libs/zlib-1.1.4 ) - zstd? ( app-arch/zstd:= )" + zstd? ( app-arch/zstd:= ) +" DEPEND="${RDEPEND} - ${PYTHON_DEPS}" - -PATCHES=( - "${FILESDIR}"/${P}-parallel-make.patch -) - -src_unpack() { - default - git-r3_src_unpack -} - -src_prepare() { - default + X? ( x11-base/xorg-proto )" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + nls? ( sys-devel/gettext ) + test? ( + net-dns/libidn2 + ) +" - sed -i -e 's/-Werror//' configure* || die +pkg_setup() { + use lua && lua-single_pkg_setup - eautoreconf + python-any-r1_pkg_setup } src_configure() { - local myconf=( - --sysconfdir="${EPREFIX}"/etc/elinks - --enable-leds - --enable-88-colors - --enable-256-colors - --enable-true-color - --enable-html-highlight - --without-spidermonkey - $(use_with gpm) - $(use_with brotli) - $(use_with bzip2 bzlib) - $(use_with guile) - $(use_with idn) - $(use_with lua luapkg lua) - $(use_with perl) - $(use_with ruby) - $(use_with tre) - $(use_with X x) - $(use_with zlib) - $(use_with zstd) - $(use_enable bittorrent) - $(use_enable finger) - $(use_enable ftp) - $(use_enable gopher) - $(use_enable ipv6) - $(use_enable mouse) - $(use_enable nls) - $(use_enable nntp) - $(use_enable samba smb) - $(use_enable xml xbel) + # This file is severely broken w.r.t. strict-aliasing and upstream acknowledges it: + # https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/util/lists.h#L14 + # https://github.com/rkd77/elinks/blob/d05ce90b35d82109aab320b490e3ca54aa6df057/src/meson.build#L44 + # + # Although they force fno-strict-aliasing, they do so inconsistently and not for the testsuite (!!!). + # Just add it again. + # + # DO not trust the LTO either. + append-flags -fno-strict-aliasing + filter-lto + + 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 debug ; then - myconf+=( --enable-debug ) - else - myconf+=( --enable-fastmem ) - fi - if use ssl ; then if use gnutls ; then - myconf+=( --with-gnutls ) + emesonargs+=( -Dgnutls=true ) else - myconf+=( --with-openssl="${EPREFIX}"/usr ) + emesonargs+=( -Dopenssl=true) fi else - myconf+=( --without-openssl --without-gnutls ) + emesonargs+=( -Dgnutls=false -Dopenssl=false ) fi - econf "${myconf[@]}" -} - -src_compile() { - emake V=1 + meson_src_configure } src_install() { - emake V=1 DESTDIR="${D}" install + meson_src_install insinto /etc/elinks newins contrib/keybind-full.conf keybind-full.sample @@ -142,10 +169,10 @@ src_install() { 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 /usr/share/doc/${PF}/contrib/conv/conf-links2elinks.pl" + elog "using ${EROOT}/usr/share/doc/${PF}/contrib/conv/conf-links2elinks.pl" elog - elog "Please have a look at /etc/elinks/keybind-full.sample and" - elog "/etc/elinks/keybind.conf.sample for some bindings examples." + 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." |