aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Retornaz <gentoo@retornaz.com>2021-01-17 21:57:40 +0100
committerQuentin Retornaz <gentoo@retornaz.com>2021-01-26 01:21:45 +0100
commitac6a18b744f6d52ee18077026b13336f3bea179b (patch)
treecffe37bd09887a6867e7883c9019b1b8a7fabfc5 /www-client
parentsys-boot/vboot-utils: new package (diff)
downloadlibressl-ac6a18b744f6d52ee18077026b13336f3bea179b.tar.gz
libressl-ac6a18b744f6d52ee18077026b13336f3bea179b.tar.bz2
libressl-ac6a18b744f6d52ee18077026b13336f3bea179b.zip
www-client/w3mmee: new package
Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Quentin Retornaz <gentoo@retornaz.com>
Diffstat (limited to 'www-client')
-rw-r--r--www-client/w3mmee/Manifest1
-rw-r--r--www-client/w3mmee/files/w3mmee-boehm-gc.patch11
-rw-r--r--www-client/w3mmee/files/w3mmee-gcc-10.patch17
-rw-r--r--www-client/w3mmee/files/w3mmee-gcc-4.4.patch11
-rw-r--r--www-client/w3mmee/files/w3mmee-gcc-4.5.patch15
-rw-r--r--www-client/w3mmee/files/w3mmee-glibc-2.14.patch31
-rw-r--r--www-client/w3mmee/files/w3mmee-openssl-1.1.patch92
-rw-r--r--www-client/w3mmee/files/w3mmee-rc_name.patch11
-rw-r--r--www-client/w3mmee/files/w3mmee-time.patch32
-rw-r--r--www-client/w3mmee/files/w3mmee-tinfo.patch11
-rw-r--r--www-client/w3mmee/files/w3mmee-w3mman.patch21
-rw-r--r--www-client/w3mmee/metadata.xml8
-rw-r--r--www-client/w3mmee/w3mmee-0.3.2_p24-r12.ebuild157
13 files changed, 418 insertions, 0 deletions
diff --git a/www-client/w3mmee/Manifest b/www-client/w3mmee/Manifest
new file mode 100644
index 0000000..494f60c
--- /dev/null
+++ b/www-client/w3mmee/Manifest
@@ -0,0 +1 @@
+DIST w3mmee-p24-23.tar.gz 697342 BLAKE2B cdfd5752a29ee486ccb4cb174ac68aa2b93c818a088e28a8938ef308030b4baac69645e5adcf86361297f79b2473de483917f523bdd0cda0f6d0d93cc0755534 SHA512 fa74b9124e0790461ea7936411f89265c8a367326bf1bba7a5ea5f4abf748197e0926847f9860ec8d35e97f0e53bcdc69821fdd9d741fc8b18b5e11211aa3271
diff --git a/www-client/w3mmee/files/w3mmee-boehm-gc.patch b/www-client/w3mmee/files/w3mmee-boehm-gc.patch
new file mode 100644
index 0000000..d9bafa0
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-boehm-gc.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -1503,7 +1503,7 @@ if [ -n "$gclib" -a -n "$gcinclude" ]; then
+ #include <gc.h>
+ main()
+ {
+- extern unsigned GC_version;
++ unsigned GC_version = GC_get_version();
+ printf("%d%02d%03d\n",(GC_version>>16)&0xff,(GC_version>>8)&0xff,GC_version&0xff);
+ }
+ EOF
diff --git a/www-client/w3mmee/files/w3mmee-gcc-10.patch b/www-client/w3mmee/files/w3mmee-gcc-10.patch
new file mode 100644
index 0000000..262be51
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-gcc-10.patch
@@ -0,0 +1,17 @@
+--- a/fm.h
++++ b/fm.h
+@@ -1191,12 +1191,12 @@
+ global TextList *mimetypes_list;
+ global char *mailcap_files init("0, " USER_MAILCAP ", 0, " SYS_MAILCAP ", 1, " GLOBAL_MAILCAP);
+ global char *mimetypes_files init(USER_MIMETYPES ", " SYS_MIMETYPES);
+-global TextList mailcap_entries;
++extern TextList mailcap_entries;
+
+ global struct mailcap **UserBrowsecap init(NULL);
+ global TextList *browsecap_list;
+ global char *browsecap_files init(USER_BROWSECAP ", " SYS_BROWSECAP);
+-global TextList browsecap_entries;
++extern TextList browsecap_entries;
+
+ global TextList *fileToDelete;
+
diff --git a/www-client/w3mmee/files/w3mmee-gcc-4.4.patch b/www-client/w3mmee/files/w3mmee-gcc-4.4.patch
new file mode 100644
index 0000000..e724244
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-gcc-4.4.patch
@@ -0,0 +1,11 @@
+--- a/indep.c
++++ b/indep.c
+@@ -14,7 +14,7 @@
+ {
+ #ifdef HAVE_STRTOLL
+ return strtoll(s, NULL, base);
+-#elif HAVE_STRTOQ
++#elif defined(HAVE_STRTOQ)
+ return strtoq(s, NULL, base);
+ #else
+ int minus, digit;
diff --git a/www-client/w3mmee/files/w3mmee-gcc-4.5.patch b/www-client/w3mmee/files/w3mmee-gcc-4.5.patch
new file mode 100644
index 0000000..3e7d1aa
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-gcc-4.5.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/317815
+
+Author: Kacper Kowalik <xarthisius.kk@gmail.com>
+
+--- a/configure
++++ b/configure
+@@ -2636,7 +2636,7 @@
+ fi
+
+ cat >do_mk_btri.sh <<END_OF_DO_MK_BTRI
+-$dcpp "\$1" | sed -n "/^[ ]*[\\"'%]/p" | $mk_btri_cmd
++$dcpp -P "\$1" | sed -n "/^[ ]*[\\"'%]/p" | $mk_btri_cmd
+ END_OF_DO_MK_BTRI
+
+ cat >TABMakefile <<END_OF_TABMAKEFILE1
diff --git a/www-client/w3mmee/files/w3mmee-glibc-2.14.patch b/www-client/w3mmee/files/w3mmee-glibc-2.14.patch
new file mode 100644
index 0000000..7a2b0d9
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-glibc-2.14.patch
@@ -0,0 +1,31 @@
+--- a/istream.c
++++ b/istream.c
+@@ -132,7 +132,7 @@ newFileStream(FILE *f, void (*closep)())
+ stream = New(struct input_stream);
+ init_base_stream(stream, STREAM_BUF_SIZE);
+ stream->type = IST_FILE;
+- stream->handle.file = New(struct file_handle);
++ stream->handle.file = New(struct afile_handle);
+ stream->handle.file->f = f;
+
+ if (closep)
+--- a/istream.h
++++ b/istream.h
+@@ -20,7 +20,7 @@ struct stream_buffer {
+
+ typedef struct stream_buffer *StreamBuffer;
+
+-struct file_handle {
++struct afile_handle {
+ FILE *f;
+ void (*close)(FILE *);
+ };
+@@ -121,7 +121,7 @@ struct tee_handle {
+ union input_handle {
+ void *gen;
+ int fd;
+- struct file_handle *file;
++ struct afile_handle *file;
+ struct delimited_handle *delimited;
+ Str str;
+ #ifdef USE_SSL
diff --git a/www-client/w3mmee/files/w3mmee-openssl-1.1.patch b/www-client/w3mmee/files/w3mmee-openssl-1.1.patch
new file mode 100644
index 0000000..8d7087c
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-openssl-1.1.patch
@@ -0,0 +1,92 @@
+--- a/configure
++++ b/configure
+@@ -1230,7 +1230,7 @@
+ def_param format_nice n
+ def_param id_ext y
+ def_param use_bufinfo y
+-def_param use_egd y
++def_param use_egd n
+ def_param enable_remove_trailingspaces n
+ def_param menu_thin_frame n
+ def_param emacs_like_lineedit $include_opt
+--- a/istream.c
++++ b/istream.c
+@@ -770,7 +770,11 @@
+ gn = sk_GENERAL_NAME_value(alt, i);
+
+ if (gn->type == GEN_DNS) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ char *sn = ASN1_STRING_data(gn->d.ia5);
++#else
++ char *sn = ASN1_STRING_get0_data(gn->d.ia5);
++#endif
+ int sl = ASN1_STRING_length(gn->d.ia5);
+
+ if (!seen_dnsname)
+--- a/url.c
++++ b/url.c
+@@ -20,8 +20,8 @@
+ #include "regex.h"
+
+ #ifdef USE_SSL
+-#ifndef SSLEAY_VERSION_NUMBER
+-#include <crypto.h> /* SSLEAY_VERSION_NUMBER may be here */
++#ifndef OPENSSL_VERSION_NUMBER
++#include <crypto.h> /* OPENSSL_VERSION_NUMBER may be here */
+ #endif
+ #include <err.h>
+ #endif
+@@ -126,7 +126,7 @@
+ ssl_accept_this_site(NULL);
+ }
+
+-#if SSLEAY_VERSION_NUMBER >= 0x00905100
++#if OPENSSL_VERSION_NUMBER >= 0x00905100
+ #include <rand.h>
+ static void
+ init_PRNG()
+@@ -154,7 +154,7 @@
+ if (file)
+ RAND_write_file(file);
+ }
+-#endif /* SSLEAY_VERSION_NUMBER >= 0x00905100 */
++#endif /* OPENSSL_VERSION_NUMBER >= 0x00905100 */
+
+ static SSL *
+ openSSLHandle(int sock, char *hostname, char **p_cert)
+@@ -188,12 +188,16 @@
+ #endif /* defined(USE_SSL_VERIFY) */
+ if (ssl_ctx == NULL) {
+ int option;
+-#if SSLEAY_VERSION_NUMBER < 0x0800
++#if OPENSSL_VERSION_NUMBER < 0x0800
+ ssl_ctx = SSL_CTX_new();
+ X509_set_default_verify_paths(ssl_ctx->cert);
+-#else /* SSLEAY_VERSION_NUMBER >= 0x0800 */
++#else /* OPENSSL_VERSION_NUMBER >= 0x0800 */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ SSLeay_add_ssl_algorithms();
+ SSL_load_error_strings();
++#else
++ OPENSSL_init_ssl(0, NULL);
++#endif
+ if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method())))
+ goto eend;
+ option = SSL_OP_ALL;
+@@ -233,13 +237,13 @@
+ if (SSL_CTX_load_verify_locations(ssl_ctx, ssl_ca_file, ssl_ca_path))
+ #endif /* defined(USE_SSL_VERIFY) */
+ SSL_CTX_set_default_verify_paths(ssl_ctx);
+-#endif /* SSLEAY_VERSION_NUMBER >= 0x0800 */
++#endif /* OPENSSL_VERSION_NUMBER >= 0x0800 */
+ }
+ handle = SSL_new(ssl_ctx);
+ SSL_set_fd(handle, sock);
+-#if SSLEAY_VERSION_NUMBER >= 0x00905100
++#if OPENSSL_VERSION_NUMBER >= 0x00905100
+ init_PRNG();
+-#endif /* SSLEAY_VERSION_NUMBER >= 0x00905100 */
++#endif /* OPENSSL_VERSION_NUMBER >= 0x00905100 */
+ if (SSL_connect(handle) > 0) {
+ Str serv_cert = ssl_get_certificate(handle, hostname);
+ if (serv_cert) {
diff --git a/www-client/w3mmee/files/w3mmee-rc_name.patch b/www-client/w3mmee/files/w3mmee-rc_name.patch
new file mode 100644
index 0000000..a16a7b9
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-rc_name.patch
@@ -0,0 +1,11 @@
+--- a/rc_name.mk_btri.h
++++ b/rc_name.mk_btri.h
+@@ -2,7 +2,7 @@
+
+ #define STRING_LITERAL(x) # x
+ #undef def_rcsect_begin
+-#define def_rcsect_begin(n) STRING_LITERAL(* ## n), &sections[secti_ ## n]
++#define def_rcsect_begin(n) STRING_LITERAL(*n), &sections[secti_ ## n]
+
+ #undef def_rcsect_end
+ #define def_rcsect_end(n)
diff --git a/www-client/w3mmee/files/w3mmee-time.patch b/www-client/w3mmee/files/w3mmee-time.patch
new file mode 100644
index 0000000..c63d654
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-time.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/586258
+
+Author: kouyu <ckyoog@gmail.com>
+
+--- a/terms.c
++++ b/terms.c
+@@ -305,11 +305,7 @@
+ struct timeval *tout)
+ {
+ static struct timeval polltv = {
+-#if CLOCKS_PER_SEC > 1
+- 0, 1000000 / CLOCKS_PER_SEC
+-#else
+- 0, 10000
+-#endif
++ 0, CLOCKS_PER_SEC > 1 ? 1000000 / CLOCKS_PER_SEC : 10000
+ };
+ int m;
+ struct timeval tv;
+@@ -779,11 +775,7 @@
+ #endif
+
+ static struct timeval display_delta = {
+-#if CLOCKS_PER_SEC > 1
+- 0, 1000000 / CLOCKS_PER_SEC,
+-#else
+- 0, 10000
+-#endif
++ 0, CLOCKS_PER_SEC > 1 ? 1000000 / CLOCKS_PER_SEC : 10000
+ };
+
+ static int
diff --git a/www-client/w3mmee/files/w3mmee-tinfo.patch b/www-client/w3mmee/files/w3mmee-tinfo.patch
new file mode 100644
index 0000000..c29f43a
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-tinfo.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -1354,7 +1354,7 @@ main()
+ EOF
+
+ if [ -z "$dtermlib" ]; then
+- TERM_LIBS='termcap termlib terminfo mytinfo curses ncurses'
++ TERM_LIBS='termcap termlib terminfo mytinfo curses ncurses tinfo'
+
+ for lib in $TERM_LIBS; do
+ for tlibdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib $prefix/lib; do
diff --git a/www-client/w3mmee/files/w3mmee-w3mman.patch b/www-client/w3mmee/files/w3mmee-w3mman.patch
new file mode 100644
index 0000000..dd66919
--- /dev/null
+++ b/www-client/w3mmee/files/w3mmee-w3mman.patch
@@ -0,0 +1,21 @@
+--- a/scripts/w3mman/w3mman.in
++++ b/scripts/w3mman/w3mman.in
+@@ -1,7 +1,7 @@
+ #!@PERL@
+
+ @W3M = split(' ', '@W3M@');
+-$ENV{'MAN'} = '@MAN@';
++$ENV{'MAN'} = 'env LC_MESSAGES=${LC_MESSAGES:-${LC_ALL:-${LANG}}} LANG=C @MAN@';
+ $SCRIPT = 'file:///$LIB/w3mman2html.cgi';
+
+ sub usage {
+--- a/scripts/w3mman/w3mman2html.cgi.in
++++ b/scripts/w3mman/w3mman2html.cgi.in
+@@ -1,6 +1,6 @@
+ #!@PERL@
+
+-$MAN = $ENV{'MAN'} || '@MAN@';
++$MAN = $ENV{'MAN'} || 'env LC_MESSAGES=${LC_MESSAGES:-${LC_ALL:-${LANG}}} LANG=C @MAN@';
+ $QUERY = $ENV{'QUERY_STRING'} || $ARGV[0];
+ $SCRIPT_NAME = $ENV{'SCRIPT_NAME'} || $0;
+ $CGI = "file://$SCRIPT_NAME";
diff --git a/www-client/w3mmee/metadata.xml b/www-client/w3mmee/metadata.xml
new file mode 100644
index 0000000..6f2ca22
--- /dev/null
+++ b/www-client/w3mmee/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/www-client/w3mmee/w3mmee-0.3.2_p24-r12.ebuild b/www-client/w3mmee/w3mmee-0.3.2_p24-r12.ebuild
new file mode 100644
index 0000000..df9a5b2
--- /dev/null
+++ b/www-client/w3mmee/w3mmee-0.3.2_p24-r12.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit alternatives multilib toolchain-funcs
+
+MY_PV="${PV##*_}-23"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A variant of w3m with support for multiple character encodings"
+HOMEPAGE="http://pub.ks-and-ks.ne.jp/prog/w3mmee/"
+SRC_URI="http://pub.ks-and-ks.ne.jp/prog/pub/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="w3m"
+KEYWORDS="amd64 ppc x86"
+IUSE="gpm libressl nls ssl"
+
+DEPEND=">=dev-libs/boehm-gc-7.2
+ dev-libs/libmoe
+ dev-lang/perl
+ sys-libs/ncurses:0=
+ sys-libs/zlib
+ gpm? ( sys-libs/gpm )
+ nls? ( sys-devel/gettext )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )"
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-boehm-gc.patch
+ "${FILESDIR}"/${PN}-gcc-4.4.patch
+ "${FILESDIR}"/${PN}-gcc-4.5.patch
+ "${FILESDIR}"/${PN}-gcc-10.patch
+ "${FILESDIR}"/${PN}-glibc-2.14.patch
+ "${FILESDIR}"/${PN}-openssl-1.1.patch
+ "${FILESDIR}"/${PN}-rc_name.patch
+ "${FILESDIR}"/${PN}-time.patch
+ "${FILESDIR}"/${PN}-tinfo.patch
+ "${FILESDIR}"/${PN}-w3mman.patch
+)
+DOCS=( ChangeLog NEWS{,.mee} README )
+HTML_DOCS=( 00INCOMPATIBLE.html )
+
+src_prepare() {
+ default
+
+ sed -i "s:/lib\([^a-z$]\):/$(get_libdir)\1:g" configure
+ sed -i "/^AR=/s:ar:$(tc-getAR):" XMakefile
+}
+
+src_configure() {
+ local myconf=(
+ -locale_dir=$(usex nls "${EPREFIX}/usr/share/locale" '(NONE)')
+ )
+ local myuse=(
+ display_code=E
+ system_code=E
+ use_ansi_color=y
+ use_cookie=y
+ use_history=y
+ use_mouse=$(usex gpm y n)
+ )
+
+ if use ssl; then
+ myconf+=(
+ --ssl-includedir="${EPREFIX}/usr/include/openssl"
+ --ssl-libdir="${EPREFIX}/usr/$(get_libdir)"
+ )
+ myuse+=(
+ use_digest_auth=y
+ use_ssl=y
+ use_ssl_verify=y
+ )
+ else
+ myuse+=( use_ssl=n )
+ fi
+ # bug #678910
+ myuse+=( use_image=n )
+
+ cat <<-EOF >> config.param
+ lang=MANY
+ accept_lang=en
+ EOF
+
+ env CC=$(tc-getCC) "${myuse[@]}" ./configure \
+ -nonstop \
+ -prefix="${EPREFIX}/usr" \
+ -suffix=mee \
+ -auxbindir="${EPREFIX}/usr/$(get_libdir)/${PN}" \
+ -libdir="${EPREFIX}/usr/$(get_libdir)/${PN}/cgi-bin" \
+ -helpdir="${EPREFIX}/usr/share/${PN}" \
+ -mandir="${EPREFIX}/usr/share/man" \
+ -sysconfdir="${EPREFIX}/etc/${PN}" \
+ -model=custom \
+ -libmoe="${EPREFIX}/usr/$(get_libdir)" \
+ -mb_h="${EPREFIX}/usr/include/moe" \
+ -mk_btri="${EPREFIX}/usr/libexec/moe" \
+ -cflags="${CFLAGS}" \
+ -ldflags="${LDFLAGS}" \
+ "${myconf[@]}" \
+ || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ einstalldocs
+
+ # w3mman and manpages conflict with those from w3m
+ mv "${ED}"/usr/share/man/man1/w3m{,mee}.1 || die
+ mv "${ED}"/usr/share/man/ja/man1/w3m{,mee}.1 || die
+
+ docinto html/en
+ dodoc doc/*.html
+ rm -f doc/*.html
+ docinto en
+ dodoc doc/{HISTORY,README,keymap,menu}*
+
+ docinto html/ja
+ dodoc doc-jp/*.html
+ rm -f doc-jp/*.html
+ docinto ja
+ dodoc doc-jp/{HISTORY,README,keymap,menu}*
+}
+
+pkg_postinst() {
+ w3m_alternatives
+ einfo
+ einfo "If you want to render multilingual text, please refer to"
+ einfo "/usr/share/doc/${PF}/en/README.mee or"
+ einfo "/usr/share/doc/${PF}/jp/README.mee"
+ einfo "and set W3MLANG variable respectively."
+ einfo
+}
+
+pkg_postrm() {
+ w3m_alternatives
+}
+
+w3m_alternatives() {
+ if [[ ! -f /usr/bin/w3m ]]; then
+ alternatives_makesym /usr/bin/w3m \
+ /usr/bin/w3m{m17n,mee}
+ alternatives_makesym /usr/bin/w3mman \
+ /usr/bin/w3m{man-m17n,meeman}
+ alternatives_makesym /usr/share/man/ja/man1/w3m.1.gz \
+ /usr/share/man/ja/man1/w3m{m17n,mee}.1.gz
+ alternatives_makesym /usr/share/man/man1/w3m.1.gz \
+ /usr/share/man/man1/w3m{m17n,mee}.1.gz
+ alternatives_makesym /usr/share/man/man1/w3mman.1.gz \
+ /usr/share/man/man1/w3m{man-m17n,meeman}.1.gz
+ fi
+}