summaryrefslogtreecommitdiffstats
path: root/sysutils/jfbterm/Makefile
blob: 86d695e6a0090f0359742b7a9d7df8837e2b6760 (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
# Created by: nrg milk <bsdports@gmail.com>
# $FreeBSD$

PORTNAME=	jfbterm
PORTVERSION=	0.6.1
DISTVERSIONPREFIX=FreeBSD-
PORTREVISION=	6
CATEGORIES=	sysutils
MASTER_SITES=	http://www.ac.auone-net.jp/~baba/jfbterm/

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Multilingual terminal emulator for framebuffer

LICENSE=	BSD2CLAUSE
LICENSE_FILE=	${WRKSRC}/COPYING

ONLY_FOR_ARCHS=	i386 amd64
ONLY_FOR_ARCHS_REASON=	requires VESA support in kernel

MAKEFILE=	${FILESDIR}/BSDmakefile
MAKE_ENV+=	VERSION=${PORTVERSION} GUNZIP=${GUNZIP_CMD:N-*}
PLIST_SUB+=	TERMCAP_ADD_RECORD="@exec ${TERMCAP_ADD_RECORD:S,^${PREFIX},%D,}" \
		TERMCAP_DEL_RECORD="@unexec ${TERMCAP_DEL_RECORD}" \
		TIC="@exec ${TIC} ${TERMINFO_FILE:S,^${PREFIX},%D,} 2>/dev/null || ${TRUE}"

CAP_MKDB?=	/usr/bin/cap_mkdb
TIC?=		${LOCALBASE}/bin/tic
TERMINFO_FILE?=	${PREFIX}/share/misc/jfbterm.terminfo

OPTIONS_DEFINE=		ICONV PNG SETUID TERMCAP UNIFONT
OPTIONS_DEFAULT=	ICONV PNG SETUID TERMCAP UNIFONT
PNG_DESC=		Splash .png support
SETUID_DESC=		Install jfbterm with setuid bit set
TERMCAP_DESC=		Add entry to termcap(5) file
UNIFONT_DESC=		Install pan-unicode font

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MSETUID}
PLIST_SUB+=	SETUID=""
.else
PLIST_SUB+=	SETUID="@comment "
.endif

ONLY_FOR_ARCHS+=amd64

.if !defined(INSTALL_AS_USER)
TERMCAP_FILE?=	/usr/share/misc/termcap
.else
TERMCAP_FILE?=	~/.termcap
.endif

.if ${PORT_OPTIONS:MICONV}
USES+=		iconv
.else
MAKE_ENV+=	WITHOUT_ICONV=
.endif

.if ${PORT_OPTIONS:MPNG}
. if !defined(NO_SHARED)
LIB_DEPENDS+=	libpng.so:${PORTSDIR}/graphics/png
. else
BUILD_DEPENDS+=	${LOCALBASE}/lib/libpng.a:${PORTSDIR}/graphics/png
. endif
.else
MAKE_ENV+=	WITHOUT_PNG=
.endif

.if ${PORT_OPTIONS:MTERMCAP}
TERMCAP_ADD_RECORD=	\
	${ECHO_CMD} '\# begin of jfbterm.termcap' \
		>>${TERMCAP_FILE}; \
	${CAT} ${PREFIX}/share/misc/jfbterm.termcap \
		>>${TERMCAP_FILE}; \
	${ECHO_CMD} '\# end of jfbterm.termcap' \
		>>${TERMCAP_FILE}; \
	if [ -f ${TERMCAP_FILE}.db ]; then \
		${CAP_MKDB} ${TERMCAP_FILE}; \
	fi
TERMCAP_DEL_RECORD=	\
	${REINPLACE_CMD} -i '' '/^\# begin of jfbterm\.termcap/, \
		/^\# end of jfbterm\.termcap/d' \
		${TERMCAP_FILE}; \
	if [ -f ${TERMCAP_FILE}.db ]; then \
		${CAP_MKDB} ${TERMCAP_FILE}; \
	fi
.else
TERMCAP_ADD_RECORD=	${DO_NADA}
TERMCAP_DEL_RECORD=	${DO_NADA}
.endif

.if ${PORT_OPTIONS:MUNIFONT}
RUN_DEPENDS+=	${LOCALBASE}/lib/X11/fonts/local/unifont.pcf.gz:${PORTSDIR}/x11-fonts/gnu-unifont
.endif

post-extract:	.SILENT
	cd ${WRKSRC} && ${RM} -f \
		aclocal.m4 config.* configure install-sh \
		missing mkinstalldirs stamp-h* Makefile Makefile.in
	${CP} ${WRKSRC}/jfbterm.conf.sample.FreeBSD \
		${WRKSRC}/jfbterm.conf.sample

post-patch:
	${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \
		-e 's|\(share\)/jfbterm/\(fonts\)|\1/misc/\2|' \
		${WRKSRC}/*.[0-9] ${WRKSRC}/*.conf.sample
.if !${PORT_OPTIONS:MTERMCAP}
	${REINPLACE_CMD} '/^term/s/:.*/: xterm/' \
		${WRKSRC}/jfbterm.conf.sample
.endif

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/jfbterm ${STAGEDIR}${PREFIX}/bin
	${INSTALL_DATA} ${WRKSRC}/jfbterm.conf.sample \
		${STAGEDIR}${PREFIX}/etc
	${INSTALL_MAN} ${WRKSRC}/jfbterm.1 \
		${STAGEDIR}${MANPREFIX}/man/man1
	${INSTALL_MAN} ${WRKSRC}/jfbterm.conf.5 \
		${STAGEDIR}${MANPREFIX}/man/man5
	${INSTALL_DATA} ${WRKSRC}/termcap.jfbterm \
		${STAGEDIR}${PREFIX}/share/misc/jfbterm.termcap
	${INSTALL_DATA} ${WRKSRC}/terminfo.jfbterm \
		${STAGEDIR}${PREFIX}/share/misc/jfbterm.terminfo
	@${MKDIR} ${STAGEDIR}${PREFIX}/share/misc/fonts
	${INSTALL_DATA} ${WRKSRC}/fonts/*.pcf.gz \
		${STAGEDIR}${PREFIX}/share/misc/fonts

.include <bsd.port.mk>
OpenPOWER on IntegriCloud