git: 3b3c562e9f4b - main - x11/wscreensaver: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Fri, 08 Dec 2023 10:27:39 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3b3c562e9f4b675074632f9c94302a51919818ef

commit 3b3c562e9f4b675074632f9c94302a51919818ef
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-02-22 01:15:58 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-12-08 10:27:37 +0000

    x11/wscreensaver: add new port
    
    This is an experimental fork of xscreensaver which makes it possible to run
    some of the hacks as animated wallpapers on Wayland compositors that support
    wlr-layer-shell.
    
    With swaylock-plugin, it is possible to use these as backgrounds for a
    lock screen on some Wayland compositors as well.
    
    Note: this is a very rough work in progress, so don't be surprised if half of
    the compiled hacks fail to run, or render incorrectly.
    
    https://git.sr.ht/~mstoeckl/wscreensaver
---
 x11/Makefile               |   1 +
 x11/wscreensaver/Makefile  |  36 +++++++
 x11/wscreensaver/distinfo  |   3 +
 x11/wscreensaver/pkg-descr |   9 ++
 x11/wscreensaver/pkg-plist | 233 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 282 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index 0b3d68feb7e9..0007b88f529d 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -476,6 +476,7 @@
     SUBDIR += wob
     SUBDIR += wofi
     SUBDIR += workrave
+    SUBDIR += wscreensaver
     SUBDIR += wshowkeys
     SUBDIR += wtype
     SUBDIR += wvkbd
diff --git a/x11/wscreensaver/Makefile b/x11/wscreensaver/Makefile
new file mode 100644
index 000000000000..e183d9e1fda2
--- /dev/null
+++ b/x11/wscreensaver/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	wscreensaver
+DISTVERSION=	s20230221
+DISTVERSIONSUFFIX=	-0-g59b6211b
+CATEGORIES=	x11 wayland
+MASTER_SITES=	https://git.sr.ht/~mstoeckl/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Fork of xscreensaver to draw animated wallpapers on Wayland
+WWW=		https://git.sr.ht/~mstoeckl/wscreensaver
+
+LICENSE=	MIT
+
+LIB_DEPENDS=	libwayland-egl.so:graphics/wayland
+
+USES=		gl gnome meson perl5 pkgconfig
+USE_GL=		egl glesv2 glu
+USE_GNOME=	gdkpixbuf2
+USE_PERL5=	build # pre-build (bin2c)
+WRKSRC_SUBDIR=	wayland
+CFLAGS+=	-Wno-incompatible-function-pointer-types # clang
+LDFLAGS+=	-lpthread # XXX dependency('threads')
+
+post-patch:
+# Skip configure
+	@${SED} '/@SET_MAKE@/d; s,@srcdir@,.,; s,@top_srcdir@,../..,' \
+		${WRKSRC:H}/hacks/images/Makefile.in \
+		>${WRKSRC:H}/hacks/images/Makefile
+# Avoid package conflict
+	@${REINPLACE_CMD} -e "s/'xscreensaver-'/'${PORTNAME}-'/" \
+		${WRKSRC}/meson.build
+
+pre-build:
+# Meson doesn't generate *_png.h yet
+	@${SETENV} ${MAKE_ENV} ${BSDMAKE} -C ${WRKSRC:H}/hacks/images
+
+.include <bsd.port.mk>
diff --git a/x11/wscreensaver/distinfo b/x11/wscreensaver/distinfo
new file mode 100644
index 000000000000..6d1b7b4ece8c
--- /dev/null
+++ b/x11/wscreensaver/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1677028558
+SHA256 (wscreensaver-s20230221-0-g59b6211b.tar.gz) = 21b9e1bd168457b8749217c7047f81d7324e8ef70e40a8e8d8807e782e074479
+SIZE (wscreensaver-s20230221-0-g59b6211b.tar.gz) = 26406133
diff --git a/x11/wscreensaver/pkg-descr b/x11/wscreensaver/pkg-descr
new file mode 100644
index 000000000000..876c14dfe5cb
--- /dev/null
+++ b/x11/wscreensaver/pkg-descr
@@ -0,0 +1,9 @@
+This is an experimental fork of xscreensaver which makes it possible to run
+some of the hacks as animated wallpapers on Wayland compositors that support
+wlr-layer-shell.
+
+With swaylock-plugin, it is possible to use these as backgrounds for a
+lock screen on some Wayland compositors as well.
+
+Note: this is a very rough work in progress, so don't be surprised if half of
+the compiled hacks fail to run, or render incorrectly.
diff --git a/x11/wscreensaver/pkg-plist b/x11/wscreensaver/pkg-plist
new file mode 100644
index 000000000000..753acbf3920f
--- /dev/null
+++ b/x11/wscreensaver/pkg-plist
@@ -0,0 +1,233 @@
+bin/wscreensaver-abstractile
+bin/wscreensaver-ant
+bin/wscreensaver-antinspect
+bin/wscreensaver-antmaze
+bin/wscreensaver-antspotlight
+bin/wscreensaver-apollonian
+bin/wscreensaver-atlantis
+bin/wscreensaver-attraction
+bin/wscreensaver-atunnel
+bin/wscreensaver-barcode
+bin/wscreensaver-beats
+bin/wscreensaver-binaryhorizon
+bin/wscreensaver-binaryring
+bin/wscreensaver-blaster
+bin/wscreensaver-blinkbox
+bin/wscreensaver-blitspin
+bin/wscreensaver-blocktube
+bin/wscreensaver-boing
+bin/wscreensaver-bouboule
+bin/wscreensaver-bouncingcow
+bin/wscreensaver-boxed
+bin/wscreensaver-boxfit
+bin/wscreensaver-braid
+bin/wscreensaver-bsod
+bin/wscreensaver-bubble3d
+bin/wscreensaver-bubbles
+bin/wscreensaver-bumps
+bin/wscreensaver-cage
+bin/wscreensaver-carousel
+bin/wscreensaver-ccurve
+bin/wscreensaver-celtic
+bin/wscreensaver-circuit
+bin/wscreensaver-cityflow
+bin/wscreensaver-companioncube
+bin/wscreensaver-coral
+bin/wscreensaver-covid19
+bin/wscreensaver-crackberg
+bin/wscreensaver-critical
+bin/wscreensaver-crumbler
+bin/wscreensaver-crystal
+bin/wscreensaver-cube21
+bin/wscreensaver-cubenetic
+bin/wscreensaver-cubestack
+bin/wscreensaver-cubestorm
+bin/wscreensaver-cubetwist
+bin/wscreensaver-cubicgrid
+bin/wscreensaver-cwaves
+bin/wscreensaver-cynosure
+bin/wscreensaver-dangerball
+bin/wscreensaver-decayscreen
+bin/wscreensaver-deco
+bin/wscreensaver-deepstars
+bin/wscreensaver-demon
+bin/wscreensaver-discoball
+bin/wscreensaver-discrete
+bin/wscreensaver-distort
+bin/wscreensaver-dnalogo
+bin/wscreensaver-drift
+bin/wscreensaver-endgame
+bin/wscreensaver-energystream
+bin/wscreensaver-engine
+bin/wscreensaver-epicycle
+bin/wscreensaver-eruption
+bin/wscreensaver-esper
+bin/wscreensaver-etruscanvenus
+bin/wscreensaver-euler2d
+bin/wscreensaver-fadeplot
+bin/wscreensaver-fiberlamp
+bin/wscreensaver-filmleader
+bin/wscreensaver-fireworkx
+bin/wscreensaver-flag
+bin/wscreensaver-flame
+bin/wscreensaver-flipflop
+bin/wscreensaver-flipscreen3d
+bin/wscreensaver-flow
+bin/wscreensaver-flurry
+bin/wscreensaver-forest
+bin/wscreensaver-fuzzyflakes
+bin/wscreensaver-galaxy
+bin/wscreensaver-gears
+bin/wscreensaver-geodesic
+bin/wscreensaver-geodesicgears
+bin/wscreensaver-gflux
+bin/wscreensaver-gibson
+bin/wscreensaver-glblur
+bin/wscreensaver-glcells
+bin/wscreensaver-gleidescope
+bin/wscreensaver-glforestfire
+bin/wscreensaver-glhanoi
+bin/wscreensaver-glitchpeg
+bin/wscreensaver-glknots
+bin/wscreensaver-glmatrix
+bin/wscreensaver-glschool
+bin/wscreensaver-glslideshow
+bin/wscreensaver-glsnake
+bin/wscreensaver-goop
+bin/wscreensaver-grav
+bin/wscreensaver-gravitywell
+bin/wscreensaver-greynetic
+bin/wscreensaver-halftone
+bin/wscreensaver-halo
+bin/wscreensaver-helix
+bin/wscreensaver-hexadrop
+bin/wscreensaver-hexstrut
+bin/wscreensaver-hextrail
+bin/wscreensaver-hilbert
+bin/wscreensaver-hopalong
+bin/wscreensaver-hydrostat
+bin/wscreensaver-hyperball
+bin/wscreensaver-hypercube
+bin/wscreensaver-hypertorus
+bin/wscreensaver-hypnowheel
+bin/wscreensaver-ifs
+bin/wscreensaver-imsmap
+bin/wscreensaver-interaggregate
+bin/wscreensaver-intermomentary
+bin/wscreensaver-jigglypuff
+bin/wscreensaver-jigsaw
+bin/wscreensaver-juggle
+bin/wscreensaver-juggler3d
+bin/wscreensaver-julia
+bin/wscreensaver-kaleidescope
+bin/wscreensaver-kaleidocycle
+bin/wscreensaver-klein
+bin/wscreensaver-laser
+bin/wscreensaver-lcdscrub
+bin/wscreensaver-lightning
+bin/wscreensaver-lisa
+bin/wscreensaver-lissie
+bin/wscreensaver-lmorph
+bin/wscreensaver-lockward
+bin/wscreensaver-loop
+bin/wscreensaver-marbling
+bin/wscreensaver-marching
+bin/wscreensaver-maze
+bin/wscreensaver-maze3d
+bin/wscreensaver-memscroller
+bin/wscreensaver-menger
+bin/wscreensaver-metaballs
+bin/wscreensaver-mirrorblob
+bin/wscreensaver-moebius
+bin/wscreensaver-moebiusgears
+bin/wscreensaver-moire
+bin/wscreensaver-morph3d
+bin/wscreensaver-mountain
+bin/wscreensaver-munch
+bin/wscreensaver-nakagin
+bin/wscreensaver-nerverot
+bin/wscreensaver-noof
+bin/wscreensaver-pacman
+bin/wscreensaver-pedal
+bin/wscreensaver-peepers
+bin/wscreensaver-penetrate
+bin/wscreensaver-penrose
+bin/wscreensaver-petri
+bin/wscreensaver-photopile
+bin/wscreensaver-pinion
+bin/wscreensaver-pipes
+bin/wscreensaver-polyhedra
+bin/wscreensaver-polyominoes
+bin/wscreensaver-polytopes
+bin/wscreensaver-pong
+bin/wscreensaver-projectiveplane
+bin/wscreensaver-providence
+bin/wscreensaver-pulsar
+bin/wscreensaver-pyro
+bin/wscreensaver-qix
+bin/wscreensaver-quasicrystal
+bin/wscreensaver-queens
+bin/wscreensaver-raverhoop
+bin/wscreensaver-rdbomb
+bin/wscreensaver-ripples
+bin/wscreensaver-rocks
+bin/wscreensaver-romanboy
+bin/wscreensaver-rorschach
+bin/wscreensaver-rotor
+bin/wscreensaver-rotzoomer
+bin/wscreensaver-rubik
+bin/wscreensaver-rubikblocks
+bin/wscreensaver-sballs
+bin/wscreensaver-scooter
+bin/wscreensaver-shadebobs
+bin/wscreensaver-sierpinski
+bin/wscreensaver-sierpinski3d
+bin/wscreensaver-skytentacles
+bin/wscreensaver-slidescreen
+bin/wscreensaver-slip
+bin/wscreensaver-speedmine
+bin/wscreensaver-sphere
+bin/wscreensaver-sphereeversion
+bin/wscreensaver-spheremonics
+bin/wscreensaver-spiral
+bin/wscreensaver-splodesic
+bin/wscreensaver-spotlight
+bin/wscreensaver-sproingies
+bin/wscreensaver-squiral
+bin/wscreensaver-squirtorus
+bin/wscreensaver-stairs
+bin/wscreensaver-starfish
+bin/wscreensaver-stonerview
+bin/wscreensaver-strange
+bin/wscreensaver-substrate
+bin/wscreensaver-superquadrics
+bin/wscreensaver-surfaces
+bin/wscreensaver-swirl
+bin/wscreensaver-t3d
+bin/wscreensaver-tangram
+bin/wscreensaver-tessellimage
+bin/wscreensaver-testx11
+bin/wscreensaver-thornbird
+bin/wscreensaver-timetunnel
+bin/wscreensaver-topblock
+bin/wscreensaver-triangle
+bin/wscreensaver-tronbit
+bin/wscreensaver-truchet
+bin/wscreensaver-twang
+bin/wscreensaver-unicrud
+bin/wscreensaver-unknownpleasures
+bin/wscreensaver-vermiculate
+bin/wscreensaver-vfeedback
+bin/wscreensaver-vines
+bin/wscreensaver-voronoi
+bin/wscreensaver-wander
+bin/wscreensaver-whirlwindwarp
+bin/wscreensaver-worm
+bin/wscreensaver-wormhole
+bin/wscreensaver-xanalogtv
+bin/wscreensaver-xflame
+bin/wscreensaver-xjack
+bin/wscreensaver-xlyap
+bin/wscreensaver-xrayswarm
+bin/wscreensaver-xspirograph
+bin/wscreensaver-zoom