summaryrefslogtreecommitdiff
blob: 74eec18f009535b74b8445bf21734571d65d40f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-client/w3m/w3m-0.5.1-r2.ebuild,v 1.5 2005/02/12 09:26:25 usata Exp $

inherit eutils

DESCRIPTION="Text based WWW browser, supports tables and frames"
HOMEPAGE="http://w3m.sourceforge.net/
	http://www.page.sannet.ne.jp/knabe/w3m/w3m.html"
PATCH_PATH="http://www.page.sannet.ne.jp/knabe/w3m/"
SRC_URI="mirror://sourceforge/w3m/${P}.tar.gz
	async? ( ${PATCH_PATH}/w3m-cvs-1.942-async-7.diff.gz )
	http://dev.gentoo.org/~usata/distfiles/${P}-cvs1.938.diff.gz"
# w3m color patch:
#	http://homepage3.nifty.com/slokar/w3m/${P}_256-005.patch.gz
# w3n canna inline patch:
#	canna? ( http://www.j10n.org/files/w3m-cvs-1.914-canna.patch )
# w3m bookmark charset patch:
#	nls? ( ${PATCH_PATH}/w3m-cvs-1.942-nls-2.diff.gz )

LICENSE="w3m"
SLOT="0"
KEYWORDS="~x86 ~alpha ~ppc ~sparc ~amd64 ~ppc64 ~ia64 ~ppc-macos"
IUSE="X gtk gtk2 imlib imlib2 xface ssl migemo gpm cjk nls lynxkeymap async"
#IUSE="canna unicode"

# canna? ( app-i18n/canna )
# 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? (
		!ppc-macos? (
			gtk? ( gtk2? ( >=x11-libs/gtk+-2 )
				!gtk2? ( >=media-libs/gdk-pixbuf-0.22.0 ) )
			!gtk? ( imlib2? ( >=media-libs/imlib2-1.1.0 )
				!imlib2? ( >=media-libs/imlib-1.9.8 ) )
		)
		ppc-macos? ( >=media-libs/imlib2-1.1.2 )
	)
	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 )"
PROVIDE="virtual/textbrowser
	virtual/w3m"

src_unpack() {
	unpack ${P}.tar.gz
	cd ${S}
	epatch ${DISTDIR}/${P}-cvs1.938.diff.gz
	epatch ${FILESDIR}/${PN}-w3mman-gentoo.diff

	use async && epatch ${DISTDIR}/w3m-cvs-1.942-async-7.diff.gz

	#epatch ${DISTDIR}/${P}_256-005.patch.gz
	#use canna && epatch ${DISTDIR}/w3m-cvs-1.914-canna.patch
}

src_compile() {

	local myconf migemo_command imagelib fb

	if use X ; then
		# fb depends on Linux
		use ppc-macos || fb=",fb"
		myconf="${myconf} --enable-image=x11${fb} $(use_enable xface)"

		if use ppc-macos ; then
			# ppc-macos doesn't support gtk2, gtk and imlib
			imagelib="imlib2"
		elif use gtk2 ; then
			imagelib="gtk2"
		elif use gtk ; then
			imagelib="gdk-pixbuf"
		elif use imlib2 ; then
			imagelib="imlib2"
		else
			imagelib="imlib"
		fi
	else	# no X
		myconf="${myconf} --enable-image=no"
		imagelib="no"
	fi

	if use migemo ; then
		migemo_command="migemo -t egrep /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 cjk ; then
		myconf="${myconf}
			--enable-japanese=E
			--with-charset=EUC-JP"
	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

	econf \
		--with-editor=/usr/bin/nano \
		--with-mailer=/bin/mail \
		--with-browser=/usr/bin/mozilla \
		--with-termlib=ncurses \
		--with-imagelib="${imagelib}" \
		--with-migemo="${migemo_command}" \
		--enable-m17n \
		--enable-unicode \
		$(use_enable gpm mouse) \
		$(use_enable ssl digest-auth) \
		$(use_with ssl) \
		$(use_enable nls) \
		${myconf} "$@" || die
		# $(use_with canna)

	# emake borked
	emake -j1 all || die "make failed"
}

src_install() {

	make DESTDIR=${D} install || die "make install failed"

	insinto /usr/share/${PN}/Bonus
	doins Bonus/*
	dodoc README NEWS TODO ChangeLog
	docinto doc-en ; dodoc doc/*
	if use cjk ; then
		docinto doc-jp ; dodoc doc-jp/*
	else
		rm -rf ${D}/usr/share/man/ja
	fi
}