# $NetBSD: Makefile.common,v 1.89 2024/04/12 14:28:44 micha Exp $ # # used by x11/xlockmore/Makefile # used by x11/xlockmore-lite/Makefile DISTNAME= xlockmore-5.77 CATEGORIES= x11 MASTER_SITES= http://sillycycle.com/xlock/ EXTRACT_SUFX= .tar.xz MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= https://sillycycle.com/xlockmore.html # Similar to BSD license, but uses different words (see xlockmore.spec) LICENSE= 2-clause-bsd .include "../../mk/bsd.prefs.mk" # The curl User-Agent is blocked with code 406 .if ${FETCH_USING} == "curl" FETCH_USING= manual .endif DISTINFO_FILE?= ${.CURDIR}/../../x11/xlockmore/distinfo PATCHDIR?= ${.CURDIR}/../../x11/xlockmore/patches PLIST_SRC?= ${.CURDIR}/../../x11/xlockmore/PLIST FILESDIR?= ${.CURDIR}/../../x11/xlockmore/files PKG_OPTIONS_VAR= PKG_OPTIONS.xlockmore PKG_SUPPORTED_OPTIONS= xlockmore-allow-root xlockmore-dpms pam .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+= autoconf autoreconf bash xmkmf XLOCK_MODULEDIR= ${PREFIX}/lib/X11/xlock/modules DEFINES+= -DDEF_MODULEPATH="\"${XLOCK_MODULEDIR}\"" CPPFLAGS+= ${DEFINES} CXXFLAGS+= ${DEFINES} # Variable RANDOM is used (a POSIX shell is not sufficient) CONFIG_SHELL= bash 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+= --without-esound CONFIGURE_ARGS+= --enable-appdefaultdir=${PREFIX}/lib/X11/app-defaults CONFIGURE_ENV+= ac_cv_x_app_defaults=${PREFIX}/lib/X11/app-defaults/XLock OWN_DIRS+= ${PREFIX}/lib/X11/app-defaults CONF_FILES+= ${EGDIR}/app-defaults/XLock ${PREFIX}/lib/X11/app-defaults/XLock .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 .else . if ${X11_TYPE} != "native" || !exists(${X11BASE}/lib${LIBABISUFFIX}/libXdpms.a) BUILDLINK_TRANSFORM+= l:Xdpms:Xext . endif DPMS_ENV= no_dpms= ac_dpms_includes=${BUILDLINK_PREFIX.xorgproto}/include ac_dpms_libraries=${BUILDLINK_PREFIX.libXext}/lib CONFIGURE_ENV+= ac_cv_path_dpms=${DPMS_ENV:Q} .endif .if empty(PKG_OPTIONS:Mxlockmore-allow-root) CONFIGURE_ARGS+= --disable-allow-root .endif .if !empty(PKG_OPTIONS:Mpam) . include "../../mk/pam.buildlink3.mk" CONFIGURE_ARGS+= --enable-pam --enable-bad-pam . if ${OPSYS} == "NetBSD" # needed to read shadow passwords DEPENDS+= pam-pwauth_suid-[0-9]*:../../security/pam-pwauth_suid . endif .else CONFIGURE_ARGS+= --disable-pam # # 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 .endif EGDIR= ${PREFIX}/share/examples/xlock MESSAGE_SUBST+= EGDIR=${EGDIR:Q} INSTALLATION_DIRS+= ${EGDIR}/pam.d INSTALLATION_DIRS+= share/doc/xlockmore # XXX framework bug: while we don't need it, this would kill # the inherited full dependency #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/xorgproto/buildlink3.mk" XINERAMA_ENV= no_xenerama= ac_xinerama_includes=${BUILDLINK_PREFIX.libXinerama}/include ac_xinerama_libraries=${BUILDLINK_PREFIX.libXinerama}/lib CONFIGURE_ENV+= ac_cv_path_xinerama=${XINERAMA_ENV:Q} # Modify paths in application defaults SUBST_CLASSES+= adef SUBST_STAGE.adef= pre-configure SUBST_MESSAGE.adef= Preparing paths in xlock/XLock.ad file ... SUBST_FILES.adef= xlock/XLock.ad SUBST_SED.adef= -e 's|/usr/lib/|${PREFIX}/lib/|g' SUBST_SED.adef+= -e 's|/usr/local/share/|${PREFIX}/share/|g' # Set the default xlock mode/screensaver. # XLOCK_DEFAULT_MODE can be defined by the user in mk.conf SUBST_CLASSES+= mode SUBST_STAGE.mode= pre-configure SUBST_MESSAGE.mode= Preparing default mode in xlock/XLock.ad file ... SUBST_FILES.mode= xlock/XLock.ad SUBST_SED.mode= -e 's|^\(XLock.mode:[ ]*\).*|\1${XLOCK_DEFAULT_MODE}|' # Configure INSTALL.pkgsrc (formerly displayed as MESSAGE) SUBST_CLASSES+= install SUBST_STAGE.install= post-configure SUBST_MESSAGE.install= Preparing INSTALL.pkgsrc file ... SUBST_FILES.install= ${WRKDIR}/INSTALL.pkgsrc SUBST_VARS.install= PREFIX SUBST_VARS.install+= EGDIR post-patch: ${CP} ${FILESDIR}/INSTALL.pkgsrc ${WRKDIR} pre-configure: cd ${WRKSRC} && autoreconf -vif post-install: ${INSTALL_DATA} ${FILESDIR}/pam-xlock-NetBSD \ ${DESTDIR}${EGDIR}/pam.d/xlock-NetBSD ${INSTALL_DATA} ${WRKDIR}/INSTALL.pkgsrc \ ${DESTDIR}${PREFIX}/share/doc/xlockmore/INSTALL.pkgsrc