# $NetBSD: Makefile.common,v 1.57 2009/11/02 11:51:43 asau Exp $
#
# This Makefile.common is included by:
#
#	x11/xlockmore/Makefile
#	x11/xlockmore-lite/Makefile
#
# If these packages are updated, please remember to reset any PKGREVISIONs
# in those Makefiles.

DISTNAME=	xlockmore-5.29.1
CATEGORIES=	x11
MASTER_SITES=	ftp://ftp.tux.org/pub/tux/bagleyd/xlockmore/${DISTNAME}/ \
		ftp://ibiblio.org/pub/Linux/X11/screensavers/
EXTRACT_SUFX=	.tar.bz2

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://www.tux.org/~bagleyd/xlockmore.html

CONFLICTS+=	xlockmore-[0-9]* xlockmore-lite-[0-9]*

DISTINFO_FILE?=		${.CURDIR}/../xlockmore/distinfo
PATCHDIR?=		${.CURDIR}/../xlockmore/patches
PLIST_SRC?=		${.CURDIR}/../xlockmore/PLIST

PKG_DESTDIR_SUPPORT=	user-destdir
PKG_INSTALLATION_TYPES=	overwrite pkgviews

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

PKG_OPTIONS_VAR=	PKG_OPTIONS.xlockmore
PKG_SUPPORTED_OPTIONS=	xlockmore-allow-root xlockmore-dpms
.if ${OPSYS} == "NetBSD"
PKG_SUPPORTED_OPTIONS+=	oss
.endif
PKG_SUGGESTED_OPTIONS=	xlockmore-allow-root xlockmore-dpms
PKG_OPTIONS_LEGACY_VARS+=XLOCK_DISABLE_ALLOW_ROOT:-xlockmore-allow-root
PKG_OPTIONS_LEGACY_VARS+=XLOCK_NO_DPMS:-xlockmore-dpms

.include "../../mk/bsd.options.mk"

USE_LANGUAGES=		c c++
USE_TOOLS+=		xmkmf
USE_X11BASE=		YES

XLOCK_SOUNDDIR=		${PREFIX}/lib/X11/xlock/sounds
XLOCK_MODULEDIR=	${PREFIX}/lib/X11/xlock/modules

DEFINES+=		-DDEF_MODULEPATH="\"${XLOCK_MODULEDIR}\""
CPPFLAGS+=		${DEFINES}
CXXFLAGS+=		${DEFINES}

GNU_CONFIGURE=		YES
CONFIGURE_ARGS+=	--without-motif
CONFIGURE_ARGS+=	--without-editres
CONFIGURE_ARGS+=	--without-dtsaver
CONFIGURE_ARGS+=	--without-rplay
CONFIGURE_ARGS+=	--without-nas
CONFIGURE_ARGS+=	--without-gtk
CONFIGURE_ARGS+=	--enable-appdefaultdir=${PREFIX}/lib/X11/app-defaults

.if ${OPSYS} == "NetBSD"
XLOCK_AUDIOPLAY?=	/usr/bin/audioplay
CONFIGURE_ARGS+=	--enable-def-play=${XLOCK_AUDIOPLAY:Q}
.endif

.if empty(PKG_OPTIONS:Mxlockmore-dpms)
CONFIGURE_ARGS+=	--without-dpms
.endif

.if empty(PKG_OPTIONS:Mxlockmore-allow-root)
CONFIGURE_ARGS+=	--disable-allow-root
.endif

#
# Special permissions of bin/xlock if any.
#
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD" || \
    ${OPSYS} == "DragonFly" || ${OPSYS} == "SunOS"
SPECIAL_PERMS+=	bin/xlock ${SETUID_ROOT_PERMS}
.elif ${OPSYS} == "Linux"
# setgid shadow should be enough for modern Linux
SPECIAL_PERMS+=	bin/xlock ${REAL_ROOT_USER} shadow 2511
.endif

BUILDLINK_DEPMETHOD.libXt?=	build

.include "../../x11/libICE/buildlink3.mk"
.include "../../x11/libSM/buildlink3.mk"
.include "../../x11/libX11/buildlink3.mk"
.include "../../x11/libXext/buildlink3.mk"
.include "../../x11/libXinerama/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
.include "../../x11/xextproto/buildlink3.mk"

# Set the complete paths to the sound files and set the default xlock
# mode/screensaver.
#
post-patch:
	cd ${WRKSRC}/xlock;						\
	${MV} -f XLock.ad XLock.ad.presed;				\
	${SED}	-e "s|/usr/lib/|${PREFIX}/lib/|g"			\
		XLock.ad.presed > XLock.ad;				\
	${RM} -f XLock.ad.presed
.if defined(XLOCK_DEFAULT_MODE) && !empty(XLOCK_DEFAULT_MODE)
	cd ${WRKSRC}/xlock;						\
	${MV} -f XLock.ad XLock.ad.presed;				\
	${SED} -e "s|^\(XLock.mode:[ 	]*\).*|\1${XLOCK_DEFAULT_MODE}|" \
		XLock.ad.presed > XLock.ad;				\
	${RM} -f XLock.ad.presed
.endif

post-install:
	${INSTALL_DATA_DIR} ${DESTDIR}${XLOCK_SOUNDDIR}
	cd ${WRKSRC}/sounds;						\
	for file in *.au; do						\
		${INSTALL_DATA} $$file ${DESTDIR}${XLOCK_SOUNDDIR};	\
	done