aboutsummaryrefslogtreecommitdiff
path: root/Mk/Uses/display.mk
blob: d8ed976b5bff3354b672c8cb743681dd26f29a15 (plain) (blame)
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
# Feature:	display
# Usage:	USES=display or USES=display:ARGS
# Valid ARGS:	install (default, implicit), any target
# 
# Except the target where the DISPLAY is needed
#
# MAINTAINER: x11@FreeBSD.org

.if !defined(_INCLUDE_USES_DISPLAY_MK)
_INCLUDE_USES_DISPLAY_MK=	yes

.  if empty(display_ARGS)
display_ARGS=	install
.  endif

.  if !defined(DISPLAY)
BUILD_DEPENDS+=	Xvfb:x11-servers/xorg-vfbserver \
	${LOCALBASE}/share/fonts/misc/8x13O.pcf.gz:x11-fonts/xorg-fonts-miscbitmaps \
	${LOCALBASE}/share/fonts/misc/fonts.alias:x11-fonts/font-alias \
	${LOCALBASE}/share/X11/xkb/rules/base:x11/xkeyboard-config \
	xkbcomp:x11/xkbcomp

XVFBPORT!=	port=0; while test -S /tmp/.X11-unix/X$${port} ; do port=$$(( port + 1 )) ; done ; ${ECHO_CMD} $$port
XVFBPIDFILE=	/tmp/.xvfb-${XVFBPORT}.pid
MAKE_ENV+=	DISPLAY=":${XVFBPORT}"

_USES_${display_ARGS}+=	290:start-display 860:stop-display
start-display:
	daemon -p ${XVFBPIDFILE} Xvfb :${XVFBPORT}

stop-display:
	pkill -15 -F ${XVFBPIDFILE}

.  endif
.endif