summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaohiro Aota <naota@gentoo.org>2013-11-06 10:53:28 +0000
committerNaohiro Aota <naota@gentoo.org>2013-11-06 10:53:28 +0000
commite7802d47b07d5c719e12249fa5dc136120b1c69a (patch)
tree580e22b9ad0773b2dba53416f65726993847dda8 /www-client
parentVersion bump (diff)
downloadgentoo-2-e7802d47b07d5c719e12249fa5dc136120b1c69a.tar.gz
gentoo-2-e7802d47b07d5c719e12249fa5dc136120b1c69a.tar.bz2
gentoo-2-e7802d47b07d5c719e12249fa5dc136120b1c69a.zip
Fix URL schema issue. #490222
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key F8551514)
Diffstat (limited to 'www-client')
-rw-r--r--www-client/w3m/ChangeLog8
-rw-r--r--www-client/w3m/files/w3m-0.5.3-url-schema.patch91
-rw-r--r--www-client/w3m/w3m-0.5.3-r4.ebuild135
3 files changed, 233 insertions, 1 deletions
diff --git a/www-client/w3m/ChangeLog b/www-client/w3m/ChangeLog
index 1710cac88a7e..eb9769c6a2a2 100644
--- a/www-client/w3m/ChangeLog
+++ b/www-client/w3m/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for www-client/w3m
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-client/w3m/ChangeLog,v 1.80 2013/04/06 01:52:14 naota Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-client/w3m/ChangeLog,v 1.81 2013/11/06 10:53:28 naota Exp $
+
+*w3m-0.5.3-r4 (06 Nov 2013)
+
+ 06 Nov 2013; Naohiro Aota <naota@gentoo.org>
+ +files/w3m-0.5.3-url-schema.patch, +w3m-0.5.3-r4.ebuild:
+ Fix URL schema issue. #490222
*w3m-0.5.3-r3 (06 Apr 2013)
diff --git a/www-client/w3m/files/w3m-0.5.3-url-schema.patch b/www-client/w3m/files/w3m-0.5.3-url-schema.patch
new file mode 100644
index 000000000000..759e7c226c15
--- /dev/null
+++ b/www-client/w3m/files/w3m-0.5.3-url-schema.patch
@@ -0,0 +1,91 @@
+X-Git-Url: http://anonscm.debian.org/gitweb/?p=collab-maint%2Fw3m.git;a=blobdiff_plain;f=url.c;h=6dbd5d3a43c51d96adca5ce5076b72a58c9d65fe;hp=ed6062ef3cb9e60a7e712ec054bcd46b49fd504d;hb=c155b93830b353a68468fb063df67987ed284142;hpb=dbd52ac2ca59d404bdcc29c5c90bda822f2c9334
+
+diff --git a/url.c b/url.c
+index ed6062e..6dbd5d3 100644
+--- a/url.c
++++ b/url.c
+@@ -121,6 +121,7 @@ static struct table2 DefaultGuess[] = {
+ };
+
+ static void add_index_file(ParsedURL *pu, URLFile *uf);
++static char * schemeNumToName(int scheme);
+
+ /* #define HTTP_DEFAULT_FILE "/index.html" */
+
+@@ -1280,6 +1281,18 @@ getURLScheme(char **url)
+ }
+
+ static char *
++schemeNumToName(int scheme)
++{
++ int i;
++
++ for (i = 0; schemetable[i].cmdname != NULL; i++) {
++ if (schemetable[i].cmd == scheme)
++ return schemetable[i].cmdname;
++ }
++ return NULL;
++}
++
++static char *
+ otherinfo(ParsedURL *target, ParsedURL *current, char *referer)
+ {
+ Str s = Strnew();
+@@ -1603,7 +1616,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
+ pu->host != NULL && !check_no_proxy(pu->host)) {
+ hr->flag |= HR_FLAG_PROXY;
+ sock = openSocket(FTP_proxy_parsed.host,
+- schemetable[FTP_proxy_parsed.scheme].cmdname,
++ schemeNumToName(FTP_proxy_parsed.scheme),
+ FTP_proxy_parsed.port);
+ if (sock < 0)
+ return uf;
+@@ -1645,15 +1658,15 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
+ }
+ else if (pu->scheme == SCM_HTTPS) {
+ sock = openSocket(HTTPS_proxy_parsed.host,
+- schemetable[HTTPS_proxy_parsed.scheme].
+- cmdname, HTTPS_proxy_parsed.port);
++ schemeNumToName(HTTPS_proxy_parsed.scheme),
++ HTTPS_proxy_parsed.port);
+ sslh = NULL;
+ }
+ else {
+ #endif /* USE_SSL */
+ sock = openSocket(HTTP_proxy_parsed.host,
+- schemetable[HTTP_proxy_parsed.scheme].
+- cmdname, HTTP_proxy_parsed.port);
++ schemeNumToName(HTTP_proxy_parsed.scheme),
++ HTTP_proxy_parsed.port);
+ #ifdef USE_SSL
+ sslh = NULL;
+ }
+@@ -1685,8 +1698,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
+ }
+ }
+ else {
+- sock = openSocket(pu->host,
+- schemetable[pu->scheme].cmdname, pu->port);
++ sock = openSocket(pu->host, schemeNumToName(pu->scheme), pu->port);
+ if (sock < 0) {
+ *status = HTST_MISSING;
+ return uf;
+@@ -1750,7 +1762,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
+ pu->host != NULL && !check_no_proxy(pu->host)) {
+ hr->flag |= HR_FLAG_PROXY;
+ sock = openSocket(GOPHER_proxy_parsed.host,
+- schemetable[GOPHER_proxy_parsed.scheme].cmdname,
++ schemeNumToName(GOPHER_proxy_parsed.scheme),
+ GOPHER_proxy_parsed.port);
+ if (sock < 0)
+ return uf;
+@@ -1758,8 +1770,7 @@ openURL(char *url, ParsedURL *pu, ParsedURL *current,
+ tmp = HTTPrequest(pu, current, hr, extra_header);
+ }
+ else {
+- sock = openSocket(pu->host,
+- schemetable[pu->scheme].cmdname, pu->port);
++ sock = openSocket(pu->host, schemeNumToName(pu->scheme), pu->port);
+ if (sock < 0)
+ return uf;
+ if (pu->file == NULL)
diff --git a/www-client/w3m/w3m-0.5.3-r4.ebuild b/www-client/w3m/w3m-0.5.3-r4.ebuild
new file mode 100644
index 000000000000..9e4e8067017b
--- /dev/null
+++ b/www-client/w3m/w3m-0.5.3-r4.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/w3m/w3m-0.5.3-r4.ebuild,v 1.1 2013/11/06 10:53:28 naota Exp $
+
+EAPI="3"
+inherit eutils
+
+DESCRIPTION="Text based WWW browser, supports tables and frames"
+HOMEPAGE="http://w3m.sourceforge.net/"
+SRC_URI="mirror://sourceforge/w3m/${P}.tar.gz"
+
+LICENSE="w3m"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
+IUSE="X fbcon gpm gtk imlib lynxkeymap migemo nls nntp ssl unicode vanilla xface linguas_ja"
+
+# We cannot build w3m with gtk+2 w/o X because gtk+2 ebuild doesn't
+# allow us to build w/o X, so we have to give up framebuffer w3mimg....
+DEPEND=">=sys-libs/ncurses-5.2-r3
+ >=sys-libs/zlib-1.1.3-r2
+ >=dev-libs/boehm-gc-6.2
+ X? ( x11-libs/libXext x11-libs/libXdmcp )
+ gtk? (
+ vanilla? ( x11-libs/gtk+:2 )
+ !vanilla? ( x11-libs/gdk-pixbuf ) )
+ !gtk? ( imlib? ( >=media-libs/imlib2-1.1.0[X] ) )
+ xface? ( media-libs/compface )
+ gpm? ( >=sys-libs/gpm-1.19.3-r5 )
+ migemo? ( >=app-text/migemo-0.40 )
+ ssl? ( >=dev-libs/openssl-0.9.6b )"
+RDEPEND="${DEPEND}"
+DEPEND="virtual/pkgconfig
+ ${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-0.5.2-gc72.patch" \
+ "${FILESDIR}/${PN}-0.5.3-parallel-make.patch" \
+ "${FILESDIR}/${PN}-0.5.3-glibc214.patch" \
+ "${FILESDIR}/${PN}-0.5.3-underlinking.patch"
+ use vanilla || \
+ epatch "${FILESDIR}"/${PN}-0.5.3-button.patch \
+ "${FILESDIR}"/${P}-gdk-pixbuf.patch \
+ "${FILESDIR}"/${P}-input-type-default.patch \
+ "${FILESDIR}"/${P}-url-schema.patch
+ find . -name CVS -type d | xargs rm -r
+ sed -i -e "/^AR=/s/ar/$(tc-getAR)/" {.,w3mimg,libwc}/Makefile.in || die
+}
+
+src_configure() {
+ local myconf migemo_command imagelibval imageval
+
+ if use gtk ; then
+ imagelibval="gtk2"
+ elif use imlib ; then
+ imagelibval="imlib2"
+ fi
+
+ if [ ! -z "${imagelibval}" ] ; then
+ use X && imageval="${imageval}${imageval:+,}x11"
+ use X && use fbcon && imageval="${imageval}${imageval:+,}fb"
+ fi
+
+ if use migemo ; then
+ migemo_command="migemo -t egrep ${EPREFIX}/usr/share/migemo/migemo-dict"
+ else
+ migemo_command="no"
+ fi
+
+ # emacs-w3m doesn't like "--enable-m17n --disable-unicode,"
+ # so we better enable or disable both. Default to enable
+ # m17n and unicode, see bug #47046.
+ if use linguas_ja ; then
+ if use unicode ; then
+ myconf="${myconf} --enable-japanese=U"
+ else
+ myconf="${myconf} --enable-japanese=E"
+ fi
+ elif use unicode ; then
+ myconf="${myconf} --with-charset=UTF-8"
+ else
+ myconf="${myconf} --with-charset=US-ASCII"
+ fi
+
+ # lynxkeymap IUSE flag. bug #49397
+ if use lynxkeymap ; then
+ myconf="${myconf} --enable-keymap=lynx"
+ else
+ myconf="${myconf} --enable-keymap=w3m"
+ fi
+
+ local termlib=$(pkg-config ncurses --libs|sed -e 's/-l//g')
+
+ econf \
+ --with-editor="${EPREFIX}/usr/bin/vi" \
+ --with-mailer="${EPREFIX}/bin/mail" \
+ --with-browser="${EPREFIX}/usr/bin/xdg-open" \
+ --with-termlib="${termlib}" \
+ --enable-image=${imageval:-no} \
+ --with-imagelib="${imagelibval:-no}" \
+ --with-migemo="${migemo_command}" \
+ --enable-m17n \
+ --enable-unicode \
+ $(use_enable gpm mouse) \
+ $(use_enable nls) \
+ $(use_enable nntp) \
+ $(use_enable ssl digest-auth) \
+ $(use_with ssl) \
+ $(use_enable xface) \
+ ${myconf} || die
+}
+
+src_compile() {
+ # bug #362249
+ emake -j1 || die
+}
+
+src_install() {
+
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ # http://www.sic.med.tohoku.ac.jp/~satodai/w3m-dev/200307.month/3944.html
+ insinto /etc/${PN}
+ newins "${FILESDIR}/${PN}.mailcap" mailcap || die
+
+ insinto /usr/share/${PN}/Bonus
+ doins Bonus/* || die
+ dodoc README NEWS TODO ChangeLog || die
+ docinto doc-en ; dodoc doc/* || die
+ if use linguas_ja ; then
+ docinto doc-jp ; dodoc doc-jp/* || die
+ else
+ rm -rf "${ED}"/usr/share/man/ja || die
+ fi
+}