summaryrefslogtreecommitdiff
path: root/www/lynx/Makefile
blob: 6f6979477393c2583e7964ca89fa4630eaac2772 (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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# $NetBSD: Makefile,v 1.37 2001/02/17 17:22:13 wiz Exp $
#

DISTNAME=		lynx2.8.3rel.1
PKGNAME=		lynx-2.8.3.1
CATEGORIES=		www
MASTER_SITES=		http://lynx.isc.org/current/ \
			http://lynx.isc.org/po/ \
			http://www.iro.umontreal.ca/contrib/po/teams/PO/
EXTRACT_SUFX=		.tar.bz2		# This is redundant, but it pulls in
DISTFILES+=		lynx2.8.3rel.1.tar.bz2	# the dependence on bzip2, if needed.
DISTFILES+=		lynx-2.8.3.rel1.cs.po
DISTFILES+=		lynx-2.8.4.da.po
DISTFILES+=		lynx-2.8.3.rel1.de.po
DISTFILES+=		lynx-2.8.3.rel1.ja.po
DISTFILES+=		lynx-2.8.3.rel1.nl.po
DISTFILES+=		lynx-2.8.3.rel1.pt_BR.po
DISTFILES+=		lynx-2.8.3.rel1.ru.po
DISTFILES+=		lynx-2.8.3.rel1.sl.po

PATCH_SITES=		http://www.flora.org/lynx-dev/html/month072000/
PATCHFILES=		gz00000.gz
PATCH_SITES+=		http://www.moxienet.com/lynx/
PATCHFILES+= 		lynx-283-ssl.patch.gz
PATCH_DIST_STRIP=	-p1

MAINTAINER=		fb@enteract.com
HOMEPAGE=		http://lynx.browser.org/
COMMENT=		Alphanumeric display oriented World-Wide Web Client

BUILD_DEPENDS+=		msgfmt:../../devel/gettext

USE_LIBINTL=		yes

DIST_SUBDIR=		lynx
EXTRACT_ONLY=		${DISTFILES:M*.tar.bz2}
WRKSRC=			${WRKDIR}/lynx2-8-3

GNU_CONFIGURE=		yes
USE_SSL=		yes
INSTALL_TARGET=		install-bin install-man install-cfg install-help install-doc
MAKEFILE=       	makefile

BUILD_DEFS+=		LYNX_SCREEN_LIB USE_SOCKS USE_INET6

# For nls/gettext
CONFIGURE_ARGS+=	--enable-nls
CONFIGURE_ARGS+=	--with-nls-datadir=${PREFIX}/share
CONFIGURE_ARGS+=	--without-included-gettext

# Note: --enable-{default-colors,scrollbar} are simply ignored
# for certain settings of --with-screen.
CONFIGURE_ARGS+=	--with-screen=${LYNX_SCREEN_LIB}
CONFIGURE_ARGS+=	--enable-default-colors
CONFIGURE_ARGS+=	--enable-scrollbar

# Install gzip'ed help files to ${PREFIX}/share/lynx
CONFIGURE_ARGS+=	--libdir="${PREFIX}/share/lynx"
CONFIGURE_ARGS+=	--enable-gzip-help --with-zlib

# Miscellaneous
CONFIGURE_ARGS+=	--enable-externs
CONFIGURE_ARGS+=	--enable-source-cache

# Experimental features
CONFIGURE_ARGS+=	--enable-file-upload
CONFIGURE_ARGS+=	--enable-justify-elts
CONFIGURE_ARGS+=	--enable-prettysrc
CONFIGURE_ARGS+=	--enable-read-eta

post-extract:
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.cs.po \
	  ${WRKSRC}/po/cs.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.4.da.po \
	  ${WRKSRC}/po/da.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.de.po \
	  ${WRKSRC}/po/de.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.ja.po \
	  ${WRKSRC}/po/ja.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.nl.po \
	  ${WRKSRC}/po/nl.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.pt_BR.po \
	  ${WRKSRC}/po/pt_BR.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.ru.po \
	  ${WRKSRC}/po/ru.po
	${CP} ${DISTDIR}/${DIST_SUBDIR}/lynx-2.8.3.rel1.sl.po \
	  ${WRKSRC}/po/sl.po

post-configure:
	(${ECHO}; \
	${ECHO} '#undef LYNX_CFG_FILE'; \
	${ECHO} '#define LYNX_CFG_FILE "${PREFIX}/etc/lynx.cfg"'; \
	${ECHO} '#undef LYNX_LSS_FILE'; \
	${ECHO} '#define LYNX_LSS_FILE "${PREFIX}/etc/lynx.lss"') \
	    >> ${WRKSRC}/userdefs.h
	(${ECHO}; \
	${ECHO} 'SSL_LIBS= ${SSLLIBS} -ltermcap'; \
	${ECHO} 'SSL_DEFINES= -DUSE_SSL ${SSLINCS}') \
	    >> ${WRKSRC}/makefile
	(${ECHO}; \
	${ECHO} 'INTLLIB= -L${LOCALBASE}/lib -lintl'; \
	${ECHO} 'INTLDIR_CPPFLAGS= -I${LOCALBASE}/include') \
	    >> ${WRKSRC}/src/makefile

post-install:
	${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/lynx
	if [ ! -f ${PREFIX}/etc/lynx.cfg ]; then \
	    ${CP} ${PREFIX}/share/lynx/lynx.cfg ${PREFIX}/etc/; \
	fi
	if [ ! -f ${PREFIX}/etc/lynx.lss ]; then \
	    ${CP} ${PREFIX}/share/lynx/lynx_doc/samples/lynx.lss ${PREFIX}/etc/; \
	fi

.include "../../mk/bsd.prefs.mk"

# Pick a terminal library. Choice affects support for colors, mouse,
# "color styles", and more. No library supports all features.
LYNX_SCREEN_LIB?=	slang
.if (${LYNX_SCREEN_LIB} == slang)
DEPENDS+=		libslang-*:../../devel/libslang
CONFIGURE_ENV+=		LIBS="-lm -ltermcap"
.elif (${LYNX_SCREEN_LIB} == ncurses)
DEPENDS+=		ncurses-*:../../devel/ncurses
CONFIGURE_ARGS+=	--enable-color-style
.elif (${LYNX_SCREEN_LIB} != curses)
pre-configure:
	@${ECHO} '****************************************************'
	@${ECHO} '* Invalid value for LYNX_SCREEN_LIB. Please choose *'
	@${ECHO} '* one of "slang", "ncurses", or "curses"!          *'
	@${ECHO} '****************************************************'
	@${FALSE}

.endif

# Include SOCKS firewall support, if desired.
.if defined(USE_SOCKS) && (${USE_SOCKS} == 4 || ${USE_SOCKS} == 5)
.if (${LYNX_SCREEN_LIB} == slang)
pre-configure:
	@${ECHO} '******************************************************'
	@${ECHO} '* Socks may not be enabled together with the "slang" *'
	@${ECHO} '* screen library. If socks support is desired,       *'
	@${ECHO} '* please also set LYNX_SCREEN_LIB to one of "curses" *'
	@${ECHO} '* or "ncurses"!                                      *'
	@${ECHO} '******************************************************'
	@${FALSE}

.endif
.if ${USE_SOCKS} == 4
CONFIGURE_ARGS+= 	--with-socks
DEPENDS+=		socks4-2.2:../../net/socks4
.else
CONFIGURE_ARGS+= 	--with-socks5
DEPENDS+=		socks5-1.0.2:../../net/socks5
.endif
.endif

# Do IPV6 on systems which can support it.
# XXX this clause works only for 1.5, not for current
.if defined(USE_INET6) && ${USE_INET6} == YES
CPPFLAGS+=	-DINET6
.endif
# current needs below
#CONFIGURE_ENV+=CPPFLAGS="${CPPFLAGS}"

.include "../../mk/bsd.pkg.mk"

# "USE_SSL", set above, pulls in the openssl package, if needed, and
# "sets SSLBASE", which we use here to tell the package where it needs
# to look for SSL libs and includes.
.if (${SSLBASE} == /usr)
SSLLIBS=	-lssl -lcrypto
SSLINCS=	-I/usr/include/openssl
.else
SSLLIBS=	-L${SSLBASE}/lib -Wl,-R${SSLBASE}/lib -lssl -lcrypto
SSLINCS=	-I${SSLBASE}/include -I${SSLBASE}/include/openssl
.endif