From d0349ca0f4903608beca459a9db2068dab9fa6ea Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 26 Oct 2024 04:04:26 +0100 Subject: gentoo auto-resync : 26:10:2024 - 04:04:26 --- www-client/elinks/Manifest | 8 +- www-client/elinks/elinks-0.17.1.1.ebuild | 205 +++++++++++++++++++++ www-client/elinks/elinks-9999.ebuild | 21 ++- .../elinks/files/elinks-0.17.1.1-gettext.patch | 73 ++++++++ www-client/elinks/files/elinks-0.17.1.1-sftp.patch | 154 ++++++++++++++++ www-client/elinks/metadata.xml | 2 + 6 files changed, 454 insertions(+), 9 deletions(-) create mode 100644 www-client/elinks/elinks-0.17.1.1.ebuild create mode 100644 www-client/elinks/files/elinks-0.17.1.1-gettext.patch create mode 100644 www-client/elinks/files/elinks-0.17.1.1-sftp.patch (limited to 'www-client/elinks') diff --git a/www-client/elinks/Manifest b/www-client/elinks/Manifest index 4ab5ff65afa2..f905473d00dc 100644 --- a/www-client/elinks/Manifest +++ b/www-client/elinks/Manifest @@ -1,9 +1,13 @@ AUX elinks-0.16.1.1-ecmascript-implicit-declaration.patch 1092 BLAKE2B 405c7a670ac059a4772d348b2a8d904caa21992a9d0c6ce9e9e727f08815e38c58bafc412505504d0321017f692edd4dde1846de8ec9da26b2837350bd33415e SHA512 815f9f4e6623e04770a91b006f5711a3ffe408640f125e75141f3d63502821a65b1ca5bac0f8e49bb48f2910bc268f52305fc70736803f0adc744dddd60cac47 AUX elinks-0.16.1.1-perl-5.38.patch 1527 BLAKE2B 1a39c77ef9d29490c745e58998e6798dbb74faf399a50cbba32beac2b5e09ec55f047594d120c9c8db79201ef0f24633e5cd96b16a7eb9c201a061bf5372636b SHA512 64dbe341b15eea0cb0795909e745f74bee17ff6a3e38425a3fc48c5881fccf48d510ca4e2737e44e87dee9700b774a86700ec256a5fc0c6fe6540fca0ad33d2e AUX elinks-0.16.1.1-python-3.12.patch 974 BLAKE2B 65d50497cf889704ea9a4c0c23b6ee2108fd2c8312ea5be7758dc6e99d06edb57a30533b92e1893829549009c46a4cfb37e726f1a1cff203f48e5d394c1cd826 SHA512 a0b457e47762dd0c25d49d8c98f9d325e21232e431b6569c16cd9c6b989e79791bf182c1790f9193370c9abd31235ab1408c14384a70138b4e2d707f12067948 +AUX elinks-0.17.1.1-gettext.patch 1863 BLAKE2B 114cc2c7496e4278441b3f0e434552eb1f3c7ebcc13f8b62580eae7cc1a9d8a13eacee3f5e96581b4c43ecd83f47e1f8f9df244749bf42dee1e13ef38a1ded83 SHA512 398ff4b8da7d560091eb55a645128a5fd1721c46cfba52381d17749f21b323188191d523ef9ff4954193f931dfff33cbc4f166930c500bb1dcf4a8337fa379db +AUX elinks-0.17.1.1-sftp.patch 4290 BLAKE2B aa6865cb1403ebef0434b3952e7f41c7fafbd5e26204712f625e80ad751d5b7e749dd9ce0f9ac23ef80f988762e6b58dee6745a8cd0b1c799963f3ab1b440709 SHA512 740576b39faf3ca5a21a959ed73c31a35ceed7be0f8850e1d4068b22e410db99055aaaa3c9b81377d475788d990fa2504ce09e21a397114f1492424e5afcd8b9 DIST elinks-0.16.1.1.tar.xz 2037292 BLAKE2B 05578eaa7a88f0abe4472b876a1f72645d32119ce807a61962f8d24a5b444240d3b94189bf25142c0e51e2d404d5992ace07ecc23ef1316d5f3942736b265267 SHA512 49e03ff4766e29b6fd4324d226e415ca1329a84d4a44fac40ecd72186dd104de88c3e541810a008dc6f1d1ed889a45edbef159cbc6ac3860756ca21261ffec8a +DIST elinks-0.17.1.1.tar.xz 2001036 BLAKE2B 2158e7630e64977b5250d544159bff0b90953ef7d51870d5e96ce8e36858596e6341bf774ad1717ed4808859d4be316fe75587552e61a8bbfcb00a0366a85e81 SHA512 7ad78f7d6a43341ae252c29f0c338e466cbedf8b40aefa9fa1939dbc62a9c9307b0a423b17181fce3bce1364fe6b6bdb80509ed90719965de174c9258b90902f EBUILD elinks-0.16.1.1-r100.ebuild 5191 BLAKE2B 45c67d5e778020f3bdf16d320a814977855e3f0c5b98c4ba8267b2778c0b05efd1c04669325fff6667fe8ed00e724fd823f87db4908c0e4d86be04932ed09034 SHA512 d7203d99155d7dae2069a7ff24276c4046f84d52e9f4dad46f5d4f59dc0ac73df0a11672c075bed222c7b89ca89336481b79cce43f54d700b89be49632a0b0ca EBUILD elinks-0.16.1.1-r2.ebuild 4831 BLAKE2B f22e74c3057c6e61b16bbce7b8180c95b6211c727cf24991b8feea6a691875ff204aae1f1245004c97aff5dc207103ef836f3fa10e49ff121ec1703287193270 SHA512 a348da4be7064de605a0854d511c879ff0b14b30b4bc4f7e7c62241705c7d05ee3855e05177f438d963a06ea5fd79431085e097b4556c4def83918d893811c41 EBUILD elinks-0.16.1.1-r4.ebuild 4980 BLAKE2B 0838214e3b5a02be9b143c87541fdd2c5587ad85a43319b97ee05bfc7757a8296f7b248e404401e161e91920717afa8695a7f38850c4311e0266ac650b84a050 SHA512 846afba108f271d81d25a0b521842436d55bcc28eaf1f58449499c8bf56c52f1022860755e99751865936d0d15f56d449704ad6b0f1af5c545732a72ae772f7c -EBUILD elinks-9999.ebuild 5018 BLAKE2B 4b6f2fe393a19786bda5b289492c2e0735fb50b7058fe8fc6124e4d64c6c3909919880ed8f074ceabe93ae77acd653f7cbd8ad073565a06886140ed9ad5895ee SHA512 0481be0ac774472db4cdf4008e7f4fec4e26e5b328c1be8b469df5c401bf1ea3b83780d86ca25fa9153bf3e27870ec204df0ac9beeffc32408230fd987a5d13e -MISC metadata.xml 938 BLAKE2B 93a927137d89d306b73f04faad6f43714b00349810b0531e274b90d086fda7285d992734263dee5b5274857af1d615e61871d9348e0e8dc759717a7fc4332e50 SHA512 9ba6c3d9228c5f74304447d469afa2ff2984fa3d637faaee7946d442b979c6c99eab87726b4f88aef4af43c515f3105c97fc8d6d64965794bbd6c4c539ac199c +EBUILD elinks-0.17.1.1.ebuild 5342 BLAKE2B 55a7aa67585f7df0599b87a631155dff7d1c9de120975404ff394407dd2a9f042ff67894fa15d274fa64958f2a831c6a6f0a9935a64189a06871bf6781e18fe8 SHA512 ea2d7c5fefb9ee4ccddf1ac523144d0641cbc0297676d5875e243366a8268e8c43fa200259eff0e7eb53250b01282d3c709a40147ab3fb2e33a30d8f667a9770 +EBUILD elinks-9999.ebuild 5264 BLAKE2B 0553d382fe48d418c2d56d9ee68dafa8638e79b5ed2fdf2435f8b12d2c1753563e7c4c3d0583d24a97b10419ebd817b7df9764790b68fee85745a51365986d32 SHA512 f6a4fa76b05914af760d26c8146b76105a08b3670977c20c5275463b85d22572f420e68624c8506a5b6930cba392019c50367065e0221a66116e5dea8b584516 +MISC metadata.xml 1108 BLAKE2B c1606bb87c902d273a083406ed4b8aeee0a9fb3af56813fe4c9fd34bfb8aaf04a67540ef8daf193c4378810134f36784e755317fdf7fd6357e109d60c20bd756 SHA512 372652a1744438df72d47d57ac05b1f737665e991eff04fe31c5dd3d22b4694053429b71a34a72b80d1c6f60c023a89572fbad734b8b5359ee1df04e86315d55 diff --git a/www-client/elinks/elinks-0.17.1.1.ebuild b/www-client/elinks/elinks-0.17.1.1.ebuild new file mode 100644 index 000000000000..ba0f3ed2a59c --- /dev/null +++ b/www-client/elinks/elinks-0.17.1.1.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GUILE_REQ_USE="deprecated" +GUILE_COMPAT=( 2-2 3-0 ) +PYTHON_COMPAT=( python3_{10..13} ) +LUA_COMPAT=( lua5-{1,2,3,4} luajit ) + +inherit flag-o-matic guile-single meson lua-single python-single-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 ~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 gemini gopher gpm gnutls guile idn" +IUSE+=" javascript libcss lua lzma +mouse nls nntp perl python samba ssl test tre unicode X xml zlib zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + guile? ( ${GUILE_REQUIRED_USE} ) + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_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? ( ${GUILE_DEPS} ) + idn? ( net-dns/libidn2:= ) + javascript? ( + dev-cpp/libxmlpp:5.0 + dev-lang/mujs:= + ) + libcss? ( + >=dev-libs/libcss-0.9.2 + >=net-libs/libdom-0.4.2 + ) + lua? ( ${LUA_DEPS} ) + lzma? ( app-arch/xz-utils ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + 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=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) + test? ( + net-dns/libidn + ) +" + +PATCHES=( + "${FILESDIR}"/${P}-gettext.patch + "${FILESDIR}"/${P}-sftp.patch +) + +pkg_setup() { + use guile && guile-single_pkg_setup + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + use guile && guile_bump_sources +} + +src_configure() { + # 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 + -Dapidoc=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 + $(meson_use gemini) + $(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 + $(meson_use libcss) + -Dlibev=false + -Dlibevent=false + -Dluapkg=$(usex lua ${ELUA:-0} '') + $(meson_use lzma) + $(meson_use mouse) + $(meson_use nls) + $(meson_use nntp) + $(meson_use perl) + $(meson_use python) + -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.md 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 + + use guile && guile_unstrip_ccache +} + +pkg_postinst() { + elog "If upgrading from a version prior to 0.17.0, you will need to move" + elog "your configuration from ~/.elinks to \${XDG_CONFIG_HOME}/elinks" + elog + 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/elinks-9999.ebuild b/www-client/elinks/elinks-9999.ebuild index d29570aecef2..385322847846 100644 --- a/www-client/elinks/elinks-9999.ebuild +++ b/www-client/elinks/elinks-9999.ebuild @@ -5,7 +5,7 @@ EAPI=8 GUILE_REQ_USE="deprecated" GUILE_COMPAT=( 2-2 3-0 ) -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) LUA_COMPAT=( lua5-{1,2,3,4} luajit ) inherit flag-o-matic guile-single meson lua-single python-single-r1 @@ -24,8 +24,8 @@ 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 python samba ssl test tre unicode X xml zlib zstd" +IUSE="bittorrent brotli bzip2 debug finger ftp gemini gopher gpm gnutls guile idn" +IUSE+=" javascript libcss lua lzma +mouse nls nntp perl python samba ssl test tre unicode X xml zlib zstd" RESTRICT="!test? ( test )" REQUIRED_USE=" guile? ( ${GUILE_REQUIRED_USE} ) @@ -46,6 +46,10 @@ RDEPEND=" dev-cpp/libxmlpp:5.0 dev-lang/mujs:= ) + libcss? ( + >=dev-libs/libcss-0.9.2 + >=net-libs/libdom-0.4.2 + ) lua? ( ${LUA_DEPS} ) lzma? ( app-arch/xz-utils ) perl? ( dev-lang/perl:= ) @@ -70,7 +74,7 @@ BDEPEND=" virtual/pkgconfig nls? ( sys-devel/gettext ) test? ( - net-dns/libidn2 + net-dns/libidn ) " @@ -111,7 +115,7 @@ src_configure() { $(meson_use finger) $(meson_use ftp) -Dfsp=false - -Dgemini=false + $(meson_use gemini) $(meson_use nls gettext) $(meson_use gopher) $(meson_use gpm) @@ -122,12 +126,12 @@ src_configure() { $(meson_use javascript mujs) -Dipv6=true -Dleds=true + $(meson_use libcss) -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) @@ -167,7 +171,7 @@ src_install() { 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/*.* + dodoc AUTHORS BUGS ChangeLog INSTALL NEWS README.md 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/*.* @@ -181,6 +185,9 @@ src_install() { } pkg_postinst() { + elog "If upgrading from a version prior to 0.17.0, you will need to move" + elog "your configuration from ~/.elinks to \${XDG_CONFIG_HOME}/elinks" + elog 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" diff --git a/www-client/elinks/files/elinks-0.17.1.1-gettext.patch b/www-client/elinks/files/elinks-0.17.1.1-gettext.patch new file mode 100644 index 000000000000..32ab21b64cdb --- /dev/null +++ b/www-client/elinks/files/elinks-0.17.1.1-gettext.patch @@ -0,0 +1,73 @@ +commit 8a7413665f7e9a6ca135c79486f0277f0dde9f7a +Author: Witold Filipczyk +Date: Wed Sep 11 09:34:16 2024 +0200 + + [meson] Detect if gettext has _nl_msg_cat_cntr . Refs #325 + +diff --git a/config2.h.in b/config2.h.in +index 41f2552a..1e6e138d 100644 +--- a/config2.h.in ++++ b/config2.h.in +@@ -616,6 +616,9 @@ + file. */ + #mesondefine HAVE_NSS_COMPAT_OSSL_NSS_COMPAT_OSSL_H + ++/* Define to 1 if gettext has _nl_msg_cat_cntr */ ++#mesondefine HAVE_NL_MSG_CAT_CNTR ++ + /* Define if you have off_t */ + #mesondefine HAVE_OFF_T + +diff --git a/meson.build b/meson.build +index e0e4d634..572b5e0e 100644 +--- a/meson.build ++++ b/meson.build +@@ -987,6 +987,16 @@ if compiler.compiles('int a; typeof(a) b;') + conf_data.set('HAVE_TYPEOF', 1) + endif + ++if conf_data.get('CONFIG_GETTEXT') and conf_data.get('CONFIG_NLS') ++ code = '''#include ++ extern int _nl_msg_cat_cntr; ++ void main() { _nl_msg_cat_cntr = 1; } ++ ''' ++ if compiler.links(code, name: 'test') ++ conf_data.set('HAVE_NL_MSG_CAT_CNTR', 1) ++ endif ++endif ++ + conf_data.set('ICONV_CONST', true) + + sysconfdir = get_option('prefix') / get_option('sysconfdir')/'elinks' +diff --git a/src/intl/libintl.c b/src/intl/libintl.c +index f07c538d..a30d4ab8 100644 +--- a/src/intl/libintl.c ++++ b/src/intl/libintl.c +@@ -217,8 +217,12 @@ set_language(int language) + } + } + env_set("LANGUAGE", LANGUAGE, -1); +- +- _nl_msg_cat_cntr++; ++ { ++#ifdef HAVE_NL_MSG_CAT_CNTR ++ extern int _nl_msg_cat_cntr; ++ _nl_msg_cat_cntr++; ++#endif ++ } + } + + static void +diff --git a/src/intl/libintl.h b/src/intl/libintl.h +index 324fe79f..c07e6e10 100644 +--- a/src/intl/libintl.h ++++ b/src/intl/libintl.h +@@ -13,8 +13,6 @@ extern "C" { + extern struct module gettext_module; + + #ifdef CONFIG_GETTEXT +-extern int _nl_msg_cat_cntr; +- + #include + + extern int current_charset; diff --git a/www-client/elinks/files/elinks-0.17.1.1-sftp.patch b/www-client/elinks/files/elinks-0.17.1.1-sftp.patch new file mode 100644 index 000000000000..2607c90b4fbd --- /dev/null +++ b/www-client/elinks/files/elinks-0.17.1.1-sftp.patch @@ -0,0 +1,154 @@ +From 1f0ee66aecbb52f8c423128aa7e0dd35822e989c Mon Sep 17 00:00:00 2001 +From: Witold Filipczyk +Date: Mon, 27 May 2024 10:23:46 +0200 +Subject: [PATCH] [protolcols] Do not compile-in SFTP when ftp was disabled. + Refs #304 + +--- + src/protocol/curl/ftp.c | 42 +++------------------------------------- + src/protocol/curl/http.c | 42 ++++++++++++++++++++++++++++++++++++++++ + src/protocol/curl/sftp.h | 2 +- + src/protocol/protocol.c | 2 +- + 4 files changed, 47 insertions(+), 41 deletions(-) + +diff --git a/src/protocol/curl/ftp.c b/src/protocol/curl/ftp.c +index 5f3d462ac..73120a67d 100644 +--- a/src/protocol/curl/ftp.c ++++ b/src/protocol/curl/ftp.c +@@ -55,6 +55,8 @@ + #include "util/memory.h" + #include "util/string.h" + ++#ifdef CONFIG_FTP ++ + static char el_curlversion[256]; + + static void +@@ -641,45 +643,6 @@ ftp_curl_handle_error(struct connection *conn, CURLcode res) + abort_connection(conn, connection_state(S_CURL_ERROR - res)); + } + +-/* Check for completed transfers, and remove their easy handles */ +-void +-check_multi_info(GlobalInfo *g) +-{ +- //char *eff_url; +- CURLMsg *msg; +- int msgs_left; +- struct connection *conn; +- CURL *easy; +- CURLcode res; +- +- //fprintf(stderr, "REMAINING: %d\n", g->still_running); +- +- while ((msg = curl_multi_info_read(g->multi, &msgs_left))) { +- if (msg->msg == CURLMSG_DONE) { +- easy = msg->easy_handle; +- res = msg->data.result; +- curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn); +- +- if (conn->uri->protocol == PROTOCOL_HTTP || conn->uri->protocol == PROTOCOL_HTTPS) { +- http_curl_handle_error(conn, res); +- continue; +- } +- +- if (conn->uri->protocol == PROTOCOL_FTP || conn->uri->protocol == PROTOCOL_FTPES || conn->uri->protocol == PROTOCOL_SFTP) { +- ftp_curl_handle_error(conn, res); +- continue; +- } else { +- abort_connection(conn, connection_state(S_OK)); +- } +- } +- } +-#if 0 +- if (g->still_running == 0 && g->stopped) { +- event_base_loopbreak(g->evbase); +- } +-#endif +-} +- + void + ftpes_protocol_handler(struct connection *conn) + { +@@ -695,3 +658,4 @@ sftp_protocol_handler(struct connection *conn) + do_ftpes(conn); + } + } ++#endif +\ No newline at end of file +diff --git a/src/protocol/curl/http.c b/src/protocol/curl/http.c +index e2349489a..25d0eb36d 100644 +--- a/src/protocol/curl/http.c ++++ b/src/protocol/curl/http.c +@@ -505,3 +505,45 @@ http_curl_protocol_handler(struct connection *conn) + do_http(conn); + } + } ++ ++/* Check for completed transfers, and remove their easy handles */ ++void ++check_multi_info(GlobalInfo *g) ++{ ++ //char *eff_url; ++ CURLMsg *msg; ++ int msgs_left; ++ struct connection *conn; ++ CURL *easy; ++ CURLcode res; ++ ++ //fprintf(stderr, "REMAINING: %d\n", g->still_running); ++ ++ while ((msg = curl_multi_info_read(g->multi, &msgs_left))) { ++ if (msg->msg == CURLMSG_DONE) { ++ easy = msg->easy_handle; ++ res = msg->data.result; ++ curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn); ++ ++ if (conn->uri->protocol == PROTOCOL_HTTP || conn->uri->protocol == PROTOCOL_HTTPS) { ++ http_curl_handle_error(conn, res); ++ continue; ++ } ++ ++#ifdef CONFIG_FTP ++ if (conn->uri->protocol == PROTOCOL_FTP || conn->uri->protocol == PROTOCOL_FTPES || conn->uri->protocol == PROTOCOL_SFTP) { ++ ftp_curl_handle_error(conn, res); ++ continue; ++ } ++#endif ++ else { ++ abort_connection(conn, connection_state(S_OK)); ++ } ++ } ++ } ++#if 0 ++ if (g->still_running == 0 && g->stopped) { ++ event_base_loopbreak(g->evbase); ++ } ++#endif ++} +diff --git a/src/protocol/curl/sftp.h b/src/protocol/curl/sftp.h +index f9167c3fa..cdcafd572 100644 +--- a/src/protocol/curl/sftp.h ++++ b/src/protocol/curl/sftp.h +@@ -10,7 +10,7 @@ extern "C" { + + extern struct module sftp_protocol_module; + +-#if defined(CONFIG_LIBCURL) ++#if defined(CONFIG_FTP) && defined(CONFIG_LIBCURL) + extern protocol_handler_T sftp_protocol_handler; + #else + #define sftp_protocol_handler NULL +diff --git a/src/protocol/protocol.c b/src/protocol/protocol.c +index 930a4f86b..d3fae896c 100644 +--- a/src/protocol/protocol.c ++++ b/src/protocol/protocol.c +@@ -336,7 +336,7 @@ static struct module *protocol_submodules[] = { + #ifdef CONFIG_NNTP + &nntp_protocol_module, + #endif +-#if defined(CONFIG_LIBCURL) ++#if defined(CONFIG_FTP) && defined(CONFIG_LIBCURL) + &sftp_protocol_module, + #endif + #ifdef CONFIG_SMB diff --git a/www-client/elinks/metadata.xml b/www-client/elinks/metadata.xml index 3b56552ae318..2c7701cba575 100644 --- a/www-client/elinks/metadata.xml +++ b/www-client/elinks/metadata.xml @@ -12,7 +12,9 @@ Enable support for the BitTorrent protocol Enable support for the finger protocol + Enable support for the gemini protocol Enable support for the gopher protocol + Enable support for cascading style sheets via dev-libs/libcss Make elinks to grab all mouse events Enable support for regex searches via dev-libs/tre Enable support for bookmarks via dev-libs/expat -- cgit v1.2.3