~cypheon/pkgsrc-wip

43f2711028e61b0ecb68ff7d2b7832559f43f7f9 — Michael Baeuerle 2 years ago 446c596
xlockmore: Update to 5.67

Changelog:
http://sillycycle.com/xlock/xlockmore.README
M Makefile => Makefile +1 -0
@@ 5939,6 5939,7 @@ SUBDIR+=	xine-plugin
SUBDIR+=	xinetd
SUBDIR+=	xinput_calibrator
SUBDIR+=	xinvaders3d
SUBDIR+=	xlockmore
SUBDIR+=	xlossage-git
SUBDIR+=	xmail
SUBDIR+=	xmakemol

A xlockmore/DESCR => xlockmore/DESCR +12 -0
@@ 0,0 1,12 @@
xlock locks the X server until the user enters their password at the
keyboard.  While xlock is running, all new server connections are
refused. The screen saver is disabled.  The mouse cursor is turned
off. The screen is blanked and a changing pattern is put on the
screen.  If a key or a mouse button is pressed then the user is
prompted for the password of the user who started xlock.

If the correct password is typed, then the screen is unlocked and the
X server is restored.  When typing the password, Control-U and
Control-H are active as kill and erase respectively.  To return to the
locked screen, click in the small icon version of the changing
pattern.

A xlockmore/MESSAGE => xlockmore/MESSAGE +18 -0
@@ 0,0 1,18 @@
===========================================================================
$NetBSD: MESSAGE,v 1.1 2012/03/28 20:21:46 drochner Exp $

If xlockmore is built with the "pam" option:
In order to make unlocking work, you need to add an
xlock file to your pam configuration directory (usually
/etc/pam.d).  You can find a sample file in:
	${EGDIR}/pam.d/xlock-NetBSD
On  NetBSD, the "pam_pwauth_suid.so" module can be used to authenticate
against a shadow password database. Note that use of this module might
allow programs with your privileges to get a copy of your plaintext
password as typed in for unlocking. The advantage is that with that
module, the suid bit of the
	${PREFIX}/bin/xlock
executable can be removed.
Per default, xlockmore is installed setuid root. Since this is a
relatively complex program, there is the risk of other exploits.
===========================================================================

A xlockmore/Makefile => xlockmore/Makefile +35 -0
@@ 0,0 1,35 @@
# $NetBSD: Makefile,v 1.155 2021/10/09 15:35:12 nia Exp $

PKGREVISION= 33
.include "Makefile.common"

COMMENT=	Like the XLock session-locker/screensaver, but with more

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

CONFIGURE_ARGS+=	--with-opengl
CONFIGURE_ARGS+=	--with-mesa
CONFIGURE_ARGS+=	--without-ftgl
CONFIGURE_ARGS+=	--without-ttf
XPM_ENV=		no_xpm= xpm_includes=${BUILDLINK_PREFIX.libXpm}/include xpm_libraries=${BUILDLINK_PREFIX.libXpm}/lib
CONFIGURE_ENV+=		ac_cv_path_xpm=${XPM_ENV:Q}
OPENGL_ENV=		no_opengl= ac_opengl_includes=${BUILDLINK_PREFIX.MesaLib}/include ac_opengl_libraries=${BUILDLINK_PREFIX.MesaLib}/lib
CONFIGURE_ENV+=		ac_cv_path_opengl=${OPENGL_ENV:Q}
MESA_ENV=		no_mesa= ac_mesa_includes=${BUILDLINK_PREFIX.MesaLib}/include ac_mesa_libraries=${BUILDLINK_PREFIX.MesaLib}/lib
CONFIGURE_ENV+=		ac_cv_path_mesa=${MESA_ENV:Q}
#BUILDLINK_TRANSFORM+=	l:MesaGL:GL
#BUILDLINK_TRANSFORM+=	l:MesaGLU:GLU
XEXT_ENV=		no_ext= ac_ext_includes=${BUILDLINK_PREFIX.xorgproto}/include ac_ext_libraries=${BUILDLINK_PREFIX.libXext}/lib
CONFIGURE_ENV+=		ac_cv_path_ext=${XEXT_ENV:Q}

PLIST_SUBST+=	LITE=""

USE_TOOLS+=	pkg-config

.include "../../graphics/ImageMagick/buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
.include "../../x11/libXpm/buildlink3.mk"
.include "../../x11/gtk2/buildlink3.mk"

.include "../../mk/bsd.pkg.mk"

A xlockmore/Makefile.common => xlockmore/Makefile.common +141 -0
@@ 0,0 1,141 @@
# $NetBSD$
#
# used by ../../x11/xlockmore/Makefile
# used by ../../x11/xlockmore-lite/Makefile

DISTNAME=	xlockmore-5.67
CATEGORIES=	x11
MASTER_SITES=	http://sillycycle.com/xlock/
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://sillycycle.com/xlockmore.html

DISTINFO_FILE?=		${.CURDIR}/../../wip/xlockmore/distinfo
PATCHDIR?=		${.CURDIR}/../../wip/xlockmore/patches
PLIST_SRC?=		${.CURDIR}/../../wip/xlockmore/PLIST
FILESDIR?=		${.CURDIR}/../../wip/xlockmore/files
MESSAGE_SRC?=		${.CURDIR}/../../wip/xlockmore/MESSAGE

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

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+=		xmkmf

#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+=	--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

# 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}

# 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
	${INSTALL_DATA} ${FILESDIR}/pam-xlock-NetBSD \
	    ${DESTDIR}${EGDIR}/pam.d/xlock-NetBSD

A xlockmore/PLIST => xlockmore/PLIST +12 -0
@@ 0,0 1,12 @@
@comment $NetBSD$
bin/play.sh
${LITE}bin/xglock
bin/xlock
man/man1/xlock.1
share/examples/xlock/app-defaults/XLock
share/examples/xlock/pam.d/xlock-NetBSD
share/xlock/sounds/complete.au
share/xlock/sounds/identify-please.au
share/xlock/sounds/not-programmed.au
share/xlock/sounds/thank-you.au
${LITE}share/xlock/xglockrc

A xlockmore/TODO => xlockmore/TODO +4 -0
@@ 0,0 1,4 @@
[X] Modify patches for new version
[ ] License is missing
[ ] Check paths in "patch-xlock_XLock.ad"
[ ] Use SUBST framework for "Makefile.common"

A xlockmore/distinfo => xlockmore/distinfo +11 -0
@@ 0,0 1,11 @@
$NetBSD: distinfo,v 1.58 2021/10/26 11:34:51 nia Exp $

SHA1 (xlockmore-5.67.tar.xz) = e4d7ce5d840d1e6a3aaef701a33d2bf616de157a
RMD160 (xlockmore-5.67.tar.xz) = 5ae56d3d26f8d8978f81c263ba75f2bf6bdb455b
SHA512 (xlockmore-5.67.tar.xz) = d32ae6c11c9e2389a563b91f970c93d0e67028ac6406038985a416404679aaf7d6e15551d1cf4387d71f851a90d2a02a0a328c0af57265c839edfe40dfffaa65
Size (xlockmore-5.67.tar.xz) = 2000040 bytes
SHA1 (patch-config.cygport) = 8564137487d7b9289ef61434552fd684ee54e1f3
SHA1 (patch-configure) = 2b8588a62c702c321ce4a96a9536aaa4959c6694
SHA1 (patch-modes_Makefile.in) = 0a927c8927bd5c24eabb0078651b3813eea9227a
SHA1 (patch-xglock_Makefile.in) = e5f3bf2054d4e7ea18d13c04f6bd94457d574ad1
SHA1 (patch-xlock_XLock.ad) = b3d76fe6de1e0cd1eee9c6d3116dae8399d61707

A xlockmore/files/pam-xlock-NetBSD => xlockmore/files/pam-xlock-NetBSD +17 -0
@@ 0,0 1,17 @@
# $NetBSD: pam-xlock-NetBSD,v 1.1 2012/03/28 20:21:46 drochner Exp $
#
# PAM configuration for the "xlock" service
#

# auth
#auth		sufficient	pam_pwauth_suid.so
auth		include		system

# account
account		include		system

# session
session		include		system

# password
password	include		system

A xlockmore/patches/patch-config.cygport => xlockmore/patches/patch-config.cygport +21 -0
@@ 0,0 1,21 @@
$NetBSD$

Fix unportable syntax in shell script.

--- config.cygport.orig	2019-12-05 00:56:37.000000000 +0000
+++ config.cygport
@@ -4,12 +4,12 @@ PWD=`pwd`
 #NAME=${DIR}
 NAME=xlockmore
 GROUP=${NAME}
-if test "$1" == ""; then
+if test "$1" = ""; then
 	VERSION=`grep VERSION xlock/version.h | sed 's/^.*"\(.*\)"/\1/'`
 	RELEASE=1
 else
 	VERSION=$1
-	if test "$2" == ""; then
+	if test "$2" = ""; then
 		RELEASE=1
 	else
 		RELEASE=$2

A xlockmore/patches/patch-configure => xlockmore/patches/patch-configure +45 -0
@@ 0,0 1,45 @@
$NetBSD$

Do not modify LDFLAGS here.

--- configure.orig	2020-06-04 14:43:47.000000000 +0000
+++ configure
@@ -10831,10 +10831,10 @@ $as_echo "#define LESS_THAN_AIX3_2 1" >>
         dirname=`which gcc`
         dirname=`dirname $dirname`
         dirname=`dirname $dirname`/lib
-	if test "$dirname" != "/lib"; then
-  	    XLOCK_LDFLAGS="${XLOCK_LDFLAGS}:$dirname"
-  	    XMLOCK_LDFLAGS="${XMLOCK_LDFLAGS}:$dirname"
-	fi
+#	if test "$dirname" != "/lib"; then
+#	    XLOCK_LDFLAGS="${XLOCK_LDFLAGS}:$dirname"
+#	    XMLOCK_LDFLAGS="${XMLOCK_LDFLAGS}:$dirname"
+#	fi
     fi
     case "${canonical}" in
       *-*-freebsd* )
@@ -10894,6 +10894,8 @@ _ACEOF
 if test "x$ac_cv_header_elf_h" = xyes; then :
 
 $as_echo "#define HAVE_SHADOW 1" >>confdefs.h
+XLOCKLDFLAGS="${COMPILER_RPATH_FLAG}${XLOCK_LDFLAGS}"
+XMLOCKLDFLAGS="${COMPILER_RPATH_FLAG}${XMLOCK_LDFLAGS}"
 
 fi
 
@@ -11004,10 +11006,10 @@ $as_echo "#define SVR4 1" >>confdefs.h
         dirname=`which gcc`
         dirname=`dirname $dirname`
         dirname=`dirname $dirname`/lib
-	if test "$dirname" != "/lib"; then
-  	    XLOCK_LDFLAGS="${XLOCK_LDFLAGS}:$dirname"
-  	    XMLOCK_LDFLAGS="${XMLOCK_LDFLAGS}:$dirname"
-	fi
+#	if test "$dirname" != "/lib"; then
+#	    XLOCK_LDFLAGS="${XLOCK_LDFLAGS}:$dirname"
+#	    XMLOCK_LDFLAGS="${XMLOCK_LDFLAGS}:$dirname"
+#	fi
     fi
     XLOCKLDFLAGS="-R${XLOCK_LDFLAGS}"
     XMLOCKLDFLAGS="-R${XMLOCK_LDFLAGS}"

A xlockmore/patches/patch-modes_Makefile.in => xlockmore/patches/patch-modes_Makefile.in +44 -0
@@ 0,0 1,44 @@
$NetBSD$

Honour LDFLAGS.
Use INSTALL properly.

--- modes/Makefile.in.orig	2020-10-05 02:36:51.000000000 +0000
+++ modes/Makefile.in
@@ -345,7 +345,7 @@ CFLAGS = @CFLAGS@
 CXXFLAGS = @CXXFLAGS@
 #CFLAGS = -O
 #CFLAGS = -g
-XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG)
+XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG) @LDFLAGS@
 XLIBS = @XLIBS@
 XLOCKLIBS = $(MODULELIB) @XLOCKLIBS@
 
@@ -633,10 +633,10 @@ install : install-program install-man in
 
 install-program : xlock
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
-	$(INSTALL_PROGRAM) $(INSTPGMFLAGS) $(UTILOBJDIR)xlock$(E) $(DESTDIR)$(bindir)
-	@MODULES@mkdir -p $(DEF_MODULEPATH)
-	@MODULES@cp *.xlk $(DEF_MODULEPATH)
-	@MODULES@cp glx/*.xlk $(DEF_MODULEPATH)
+	$(INSTALL_PROGRAM) $(UTILOBJDIR)xlock$(E) $(DESTDIR)$(bindir)
+	@MODULES@mkdir -p $(DESTDIR)$(DEF_MODULEPATH)
+	@MODULES@cp *.xlk $(DESTDIR)$(DEF_MODULEPATH)
+	@MODULES@cp glx/*.xlk $(DESTDIR)$(DEF_MODULEPATH)
 
 install-man :
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)
@@ -644,9 +644,10 @@ install-man :
 
 install-ad :
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(xapploaddir)
-	$(INSTALL_DATA) $(UTILDIR)XLock.ad $(DESTDIR)$(xapploaddir)/XLock
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)${datarootdir}/examples/xlock/app-defaults
+	$(INSTALL_DATA) $(UTILDIR)XLock.ad $(DESTDIR)${datarootdir}/examples/xlock/app-defaults/XLock
 	@FORTUNE@sed 's;^XLock.program: fortune;XLock.program: $(FORTUNE);' $(UTILDIR)XLock.ad > $(UTILOBJDIR)XLock.ad.tmp 
-	@FORTUNE@$(INSTALL_DATA) $(UTILOBJDIR)XLock.ad.tmp $(DESTDIR)$(xapploaddir)/XLock
+	@FORTUNE@$(INSTALL_DATA) $(UTILOBJDIR)XLock.ad.tmp $(DESTDIR)${datarootdir}/examples/xlock/app-defaults/XLock
 	@FORTUNE@rm -f $(UTILOBJDIR)XLock.ad.tmp
 
 install-sound :

A xlockmore/patches/patch-xglock_Makefile.in => xlockmore/patches/patch-xglock_Makefile.in +15 -0
@@ 0,0 1,15 @@
$NetBSD$

Honour LDFLAGS.

--- xglock/Makefile.in.orig	2010-04-19 13:34:35.000000000 +0000
+++ xglock/Makefile.in
@@ -93,7 +93,7 @@ XGLOCKINC = @XGLOCKINC@ -I.. -I$(top_src
 CFLAGS = @GTK_CFLAGS@ @CFLAGS@
 #CFLAGS = -O
 #CFLAGS = -g
-XGLOCKLDFLAGS = @XGLOCKLDFLAGS@
+XGLOCKLDFLAGS = @XGLOCKLDFLAGS@ @LDFLAGS@
 XLIBS = @XLIBS@
 XGLOCKLIBS = @XGLOCKLIBS@
 #If you have purify, and want to use it, uncomment this definition or

A xlockmore/patches/patch-xlock_XLock.ad => xlockmore/patches/patch-xlock_XLock.ad +43 -0
@@ 0,0 1,43 @@
$NetBSD$

Disable fortune.
Fix paths for pkgsrc.

--- xlock/XLock.ad.orig	2019-05-30 01:30:03.000000000 +0000
+++ xlock/XLock.ad
@@ -67,12 +67,12 @@ XLock.left3d: Red
 XLock.both3d: Magenta
 
 ! For marquee & nose modes
-XLock.program: fortune -s
+!XLock.program: fortune -s
 !XLock.program: fortune -o
 !XLock.program: fortune -s
 !XLock.program: fortune
 !XLock.program: /usr/games/fortune -o
-!XLock.program: /usr/games/fortune -s
+XLock.program: /usr/games/fortune -s
 !XLock.program: /usr/games/fortune
 !XLock.program: finger
 !XLock.messagesfile: fortune.dat
@@ -85,7 +85,7 @@ XLock.messagefont: -*-times-*-*-*-*-18-*
 ! For modes with images
 !XLock.*.bitmap: bitmaps/m-xlock.xbm
 !XLock.*.bitmap: pixmaps/m-xlock.xpm
-!XLock.*.bitmap: /usr/lib/X11/xlock/bitmaps
+!XLock.*.bitmap: /usr/pkg/lib/X11/xlock/bitmaps
 
 ! For mailbox check application
 !XLock.mailCmd: /usr/ucb/mail -e
@@ -851,9 +851,9 @@ XLock.text3d.delay: 100000
 !XLock.text3d.cycles: 1
 !XLock.text3d.size: 1
 XLock.text3d.saturation: 1.0
-!XLock.text3d.ttfont: /usr/lib/X11/xlock/fonts/arial.ttf
+!XLock.text3d.ttfont: /usr/pkg/lib/X11/xlock/fonts/arial.ttf
 ! Directory of only *.ttf fonts. symbol.ttf and wingding.ttf should be excluded
-!XLock.text3d.ttfont: /usr/lib/X11/xlock/fonts/
+!XLock.text3d.ttfont: /usr/pkg/lib/X11/xlock/fonts/
 XLock.text3d.extrusion: 25.0
 XLock.text3d.rot_amplitude: 1.0
 XLock.text3d.rot_frequency: 0.001