aboutsummaryrefslogtreecommitdiff
path: root/x11/xscreensaver/Makefile
blob: 9b1544c78b821a5ec1abf9335822e77b6584c528 (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
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
# Created by: dom@myrddin.demon.co.uk

PORTNAME=	xscreensaver
PORTVERSION=	5.44
CATEGORIES=	x11
MASTER_SITES=	http://www.jwz.org/xscreensaver/

MAINTAINER=	zeising@FreeBSD.org
COMMENT=	Save your screen while you entertain your cat

LICENSE=	MIT

RUN_DEPENDS=	p5-libwww>0:www/p5-libwww \
		giftopnm:graphics/netpbm
LIB_DEPENDS=	libgle.so:graphics/gle \
		libfontconfig.so:x11-fonts/fontconfig \
		libfreetype.so:print/freetype2

CONFLICTS=	xscreensaver-gnome-[0-9]* xscreensaver-gnome-hacks-[0-9]*

USES=		autoreconf gettext gl gmake gnome jpeg localbase:ldflags perl5 \
		pkgconfig xorg
USE_GL=		gl glu
USE_GNOME=	cairo gdkpixbuf2 gtk20 intltool libglade2 libxml2
USE_PERL5=	run
USE_XORG=	ice sm x11 xext xi xinerama xmu xrandr xrender xpm xt xxf86vm
USE_CSTD=	gnu99

GNU_CONFIGURE=	yes
CONFIGURE_ENV+=	PERL="${PERL}"
CONFIGURE_ARGS=	--with-gtk --with-gl --with-gle --with-pixbuf --with-xpm \
		--with-jpeg=${LOCALBASE} --with-xshm-ext --with-xdbe-ext \
		--with-hackdir=${PREFIX}/bin/xscreensaver-hacks/ \
		--with-configdir=${PREFIX}/share/xscreensaver/config/ \
		--with-x-app-defaults=${PREFIX}/lib/X11/app-defaults/ \
		--with-dpms-ext --with-xinerama-ext --with-xf86vmode-ext \
		--with-xf86gamma-ext --with-randr-ext --without-kerberos \
		--without-setuid-hacks --enable-locking
MAKE_ARGS+=	install_prefix=${STAGEDIR}
MAKE_JOBS_UNSAFE=yes

OPTIONS_DEFINE=	PAM SETUID_HACKS FIREF NLS NSFW XAOS1 XDALI XEARTH \
		XFT XMOUN XPLANET XSNOW
OPTIONS_DEFAULT=PAM XFT
OPTIONS_SUB=	yes

PAM_CONFIGURE_WITH=		pam

SETUID_HACKS_DESC=		Install sonar hack suid so it can ping

FIREF_DESC=			Add extra port x11/fireflies
FIREF_RUN_DEPENDS=		${LOCALBASE}/bin/xscreensaver-hacks/fireflies:x11/fireflies

NLS_USES=			gettext-runtime
NLS_CONFIGURE_ENABLE=		nls

NSFW_DESC=			Include material that is Not Safe For Work

XAOS1_DESC=			Add extra port graphics/xaos
XAOS1_RUN_DEPENDS=		xaos:graphics/xaos

XDALI_DESC=			Add extra port x11-clocks/xdaliclock
XDALI_RUN_DEPENDS=		xdaliclock:x11-clocks/xdaliclock

XFT_CONFIGURE_WITH=		xft
XFT_USE=			XORG=xft

XEARTH_DESC=			Add extra port astro/xearth
XEARTH_RUN_DEPENDS=		xearth:astro/xearth

XMOUN_DESC=			Add extra port graphics/xmountains
XMOUN_RUN_DEPENDS=		xmountains:graphics/xmountains

XPLANET_DESC=			Add extra port astro/xplanet
XPLANET_RUN_DEPENDS=		xplanet:astro/xplanet

XSNOW_DESC=			Add extra port x11/xsnow
XSNOW_RUN_DEPENDS=		xsnow:x11/xsnow

SUB_FILES=	xscreensaver-blank.desktop xscreensaver-lock.desktop \
		xscreensaver-start.desktop xscreensaver-stop.desktop

post-patch:
	${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' \
			-e 's|pkg_config --list-all|pkg_config --help|' \
			${WRKSRC}/configure.in
	${REINPLACE_CMD} -e "s|/etc/pam.d|${PREFIX}/etc/pam.d|g" \
		${WRKSRC}/driver/passwd-pam.c \
		${WRKSRC}/driver/xscreensaver.man
	${CP} ${FILESDIR}/xscreensaver.pam \
		${WRKSRC}/driver/xscreensaver.pam.in

post-patch-NSFW-off:
	${REINPLACE_CMD} -e 's|Dick Pix|Stuff|' ${WRKSRC}/hacks/bsod.c
	${REINPLACE_CMD} -e 's|dick pics|data, etc.|' ${WRKSRC}/hacks/bsod.c

post-install:
	${INSTALL_DATA} ${FILESDIR}/x*.xml ${STAGEDIR}${DATADIR}/config/
	${INSTALL_DATA} ${WRKDIR}/*.desktop ${STAGEDIR}${PREFIX}/share/applications/
	${RM} ${STAGEDIR}${PREFIX}/etc/pam.d/xscreensaver.pam

.include <bsd.port.mk>