commit: f311f22b27bf4a70aaa5e28491e3867acceca366 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Wed Jan 27 08:28:29 2021 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Wed Jan 27 08:28:42 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f311f22b
www-client/lynx: use cert trust store for USE=gnutls lynx[gnutls] uses gnutls openssl compatibility API. The compatibility API is not intended to be a close implementation. Specifically it does not configure any default SSL stores and just uses NULL by default (no store). The change embeds default trust store path matching Gentoo's gnutls (and openssl) default: /etc/ssl/certs/ca-certificates.crt Reported-by: Thomas Deutschmann Closes: https://bugs.gentoo.org/604526 Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> www-client/lynx/lynx-2.9.0_pre6-r1.ebuild | 105 ++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/www-client/lynx/lynx-2.9.0_pre6-r1.ebuild b/www-client/lynx/lynx-2.9.0_pre6-r1.ebuild new file mode 100644 index 00000000000..cdd4dff446f --- /dev/null +++ b/www-client/lynx/lynx-2.9.0_pre6-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +case ${PV} in + *_pre*) MY_P="${PN}${PV/_pre/dev.}" ;; + *_rc*) MY_P="${PN}${PV/_rc/pre.}" ;; + *_p*|*) MY_P="${PN}${PV/_p/rel.}" ;; +esac + +DESCRIPTION="An excellent console-based web browser with ssl support" +HOMEPAGE="https://lynx.invisible-island.net/" +SRC_URI="https://invisible-mirror.net/archives/lynx/tarballs/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="bzip2 cjk gnutls idn ipv6 nls ssl unicode libressl" + +RDEPEND=" + sys-libs/ncurses:0=[unicode?] + sys-libs/zlib + nls? ( virtual/libintl ) + ssl? ( + !gnutls? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + gnutls? ( + dev-libs/libgcrypt:0= + >=net-libs/gnutls-2.6.4:= + ) + ) + bzip2? ( app-arch/bzip2 ) + idn? ( net-dns/libidn:0= ) +" + +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + virtual/pkgconfig" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${FILESDIR}"/${PN}-2.8.6-mint.patch + "${FILESDIR}"/${PN}-2.8.9_p1-parallel.patch +) + +src_configure() { + local myconf=( + --enable-nested-tables + --enable-cgi-links + --enable-persistent-cookies + --enable-prettysrc + --enable-nsl-fork + --enable-file-upload + --enable-read-eta + --enable-color-style + --enable-scrollbar + --enable-included-msgs + --enable-externs + --with-zlib + $(use_enable nls) + $(use_enable idn idna) + $(use_enable ipv6) + $(use_enable cjk) + $(use_enable unicode japanese-utf8) + $(use_with bzip2 bzlib) + --with-screen=$(usex unicode ncursesw ncurses) + ) + if use ssl; then + myconf+=( + --with-$(usex gnutls gnutls ssl)="${EPREFIX}/usr" + ) + fi + + econf "${myconf[@]}" + + # Compared to openssl gnutls-openssl API does not use + # default trust store: bug #604526. + sed -e \ + "s|#define SSL_CERT_FILE NULL|#define SSL_CERT_FILE \"${EPREFIX}/etc/ssl/certs/ca-certificates.crt\"|" \ + -i userdefs.h || die +} + +src_compile() { + # generating translation files in parallel is currently broken + use nls && emake -C po -j1 + emake +} + +src_install() { + emake install DESTDIR="${D}" + + sed -i "s|^HELPFILE.*$|HELPFILE:file://localhost/usr/share/doc/${PF}/lynx_help/lynx_help_main.html|" \ + "${ED}"/etc/lynx.cfg || die "lynx.cfg not found" + if use unicode ; then + sed -i '/^#CHARACTER_SET:/ c\CHARACTER_SET:utf-8' \ + "${ED}"/etc/lynx.cfg || die "lynx.cfg not found" + fi + + dodoc CHANGES COPYHEADER PROBLEMS README + dodoc -r docs lynx_help +}