[oe] [PATCH] Adding support for xscreensaver-5.39

Parthiban Nallathambi pn at denx.de
Wed Jun 6 08:12:40 UTC 2018


- This patch enables the support for xscreensaver 5.39 version
- xscreensaver.service created for the system with systemd

Signed-off-by: Parthiban Nallathambi <pn at denx.de>
---
 .../xscreensaver/files/fix-buildscripts.patch      | 116 +++++++++
 .../xscreensaver/files/tweak-app-defaults.patch    | 273 +++++++++++++++++++++
 .../xscreensaver/files/xscreensaver.service        |  14 ++
 .../xscreensaver/xscreensaver_5.39.bb              |  25 ++
 4 files changed, 428 insertions(+)
 create mode 100644 meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
 create mode 100644 meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch
 create mode 100755 meta-oe/recipes-graphics/xscreensaver/files/xscreensaver.service
 create mode 100644 meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb

diff --git a/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch b/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
new file mode 100644
index 000000000..3a50eff83
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
@@ -0,0 +1,116 @@
+--- xscreensaver-5.39.orig/configure.in
++++ xscreensaver-5.39/configure.in
+@@ -14,6 +14,9 @@
+ #
+ ###############################################################################
+ 
++includedir=''
++libdir=''
++
+ AH_TOP([
+ /* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
+  *
+@@ -422,12 +425,12 @@
+ 
+   OBJCC="$CC"
+ 
+-  AC_MSG_CHECKING([whether the compiler works on ANSI C])
+-  AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
+-     AC_MSG_RESULT(yes),
+-     AC_MSG_RESULT(no)
+-     AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
+-     AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
++#  AC_MSG_CHECKING([whether the compiler works on ANSI C])
++#  AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
++#     AC_MSG_RESULT(yes),
++#     AC_MSG_RESULT(no)
++#     AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
++#     AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
+ 
+   if test -n "$GCC"; then
+     AC_MSG_RESULT(Turning on gcc compiler warnings.)
+--- xscreensaver-5.39.orig/Makefile.in
++++ xscreensaver-5.39/Makefile.in
+@@ -6,7 +6,7 @@
+ VPATH		= @srcdir@
+ 
+ SHELL		= /bin/sh
+-SUBDIRS 	= utils jwxyz hacks/images hacks hacks/glx driver po
++SUBDIRS 	= utils jwxyz hacks/images hacks driver
+ SUBDIRS2	= $(SUBDIRS) OSX android
+ TARFILES	= README README.hacking README.VMS INSTALL \
+ 		  configure configure.in Makefile.in config.h.in \
+--- xscreensaver-5.39.orig/driver/Makefile.in
++++ xscreensaver-5.39/driver/Makefile.in
+@@ -10,7 +10,7 @@
+ top_srcdir	= @top_srcdir@
+ top_builddir	= ..
+ 
+-install_prefix	=
++install_prefix	= ${DESTDIR}
+ prefix		= @prefix@
+ exec_prefix	= @exec_prefix@
+ bindir		= @bindir@
+@@ -221,7 +221,7 @@
+ SCRIPTS_1	= xscreensaver-getimage-file xscreensaver-getimage-video \
+ 		  xscreensaver-text
+ SCRIPTS_OSX	= xscreensaver-getimage-desktop
+-SCRIPTS		= $(SCRIPTS_1) @SCRIPTS_OSX@
++#SCRIPTS		= $(SCRIPTS_1) @SCRIPTS_OSX@
+ 
+ HDRS		= XScreenSaver_ad.h XScreenSaver_Xm_ad.h \
+ 		  xscreensaver.h prefs.h remote.h exec.h \
+--- xscreensaver-5.39.orig/hacks/Makefile.in
++++ xscreensaver-5.39/hacks/Makefile.in
+@@ -10,7 +10,7 @@
+ top_srcdir	= @top_srcdir@
+ top_builddir	= ..
+ 
+-install_prefix	=
++install_prefix	= ${DESTDIR}
+ prefix		= @prefix@
+ exec_prefix	= @exec_prefix@
+ bindir		= @bindir@
+@@ -122,7 +122,7 @@
+ 		  asm6502.c abstractile.c lcdscrub.c hexadrop.c \
+ 		  tessellimage.c delaunay.c recanim.c binaryring.c \
+ 		  webcollage-cocoa.m webcollage-helper-cocoa.m testx11.c
+-SCRIPTS		= vidwhacker webcollage ljlatest
++#SCRIPTS		= vidwhacker webcollage ljlatest
+ 
+ # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
+ # but that are not shipped with xscreensaver itself.
+@@ -163,7 +163,13 @@
+ 		  lcdscrub.o hexadrop.o tessellimage.o delaunay.o recanim.o \
+ 		  binaryring.o testx11.o
+ 
+-EXES		= attraction blitspin bouboule braid decayscreen deco \
++EXES		= fontglide
++JPEG_EXES	= webcollage-helper
++
++RETIRED_EXES	= ant bubbles critical flag forest hyperball hypercube laser \
++		  lightning lisa lissie lmorph rotor sphere spiral t3d vines \
++		  whirlygig worm xsublim juggle testx11 \
++		  attraction blitspin bouboule braid decayscreen deco \
+ 		  drift flame galaxy grav greynetic halo \
+ 		  helix hopalong ifs imsmap julia kaleidescope \
+ 		  maze moire noseguy pedal \
+@@ -179,17 +185,12 @@
+ 		  speedmine vermiculate twang apollonian euler2d \
+ 		  polyominoes thornbird  fluidballs anemone halftone \
+ 		  metaballs eruption popsquares barcode piecewise cloudlife \
+-		  fontglide apple2 xanalogtv pong  wormhole \
++		  apple2 xanalogtv pong  wormhole \
+ 		  pacman fuzzyflakes anemotaxis memscroller substrate \
+ 		  intermomentary fireworkx fiberlamp boxfit interaggregate \
+ 		  celtic cwaves m6502 abstractile lcdscrub hexadrop \
+ 		  tessellimage binaryring \
+ 		  @JPEG_EXES@
+-JPEG_EXES	= webcollage-helper
+-
+-RETIRED_EXES	= ant bubbles critical flag forest hyperball hypercube laser \
+-		  lightning lisa lissie lmorph rotor sphere spiral t3d vines \
+-		  whirlygig worm xsublim juggle testx11
+ 
+ HACK_OBJS_1	= fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
+ 		  $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o \
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch b/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch
new file mode 100644
index 000000000..099a0b2f4
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch
@@ -0,0 +1,273 @@
+--- xscreensaver-5.39.orig/driver/XScreenSaver.ad.in
++++ xscreensaver-5.39/driver/XScreenSaver.ad.in
+@@ -29,7 +29,7 @@
+ ! /* (xrdb prevention kludge: whole file)
+ 
+ *mode:			random
+-*timeout:		0:10:00
++*timeout:		0:15:00
+ *cycle:			0:10:00
+ *lockTimeout:		0:00:00
+ *passwdTimeout:		0:00:30
+@@ -38,7 +38,7 @@
+ *dpmsStandby:		2:00:00
+ *dpmsSuspend:		2:00:00
+ *dpmsOff:		4:00:00
+-*grabDesktopImages:	True
++*grabDesktopImages:	False
+ *grabVideoFrames:	False
+ *chooseRandomImages:	@DEFAULT_IMAGES_P@
+ ! This can be a local directory name, or the URL of an RSS or Atom feed.
+@@ -48,11 +48,11 @@
+ *lock:			False
+ *verbose:		False
+ *timestamp:		True
+-*fade:			True
++*fade:			False
+ *unfade:		False
+ *fadeSeconds:		0:00:03
+ *fadeTicks:		20
+-*splash:		True
++*splash:		False
+ *splashDuration:	0:00:05
+ *visualID:		default
+ *captureStderr: 	True
+@@ -158,236 +158,8 @@
+ ! screen savers interactively.
+ !
+ *programs:								      \
+-				maze -root				    \n\
+- at GL_KLUDGE@ GL: 				superquadrics -root			    \n\
+-				attraction -root			    \n\
+-				blitspin -root				    \n\
+-				greynetic -root				    \n\
+-				helix -root				    \n\
+-				hopalong -root				    \n\
+-				imsmap -root				    \n\
+--				noseguy -root				    \n\
+--				pyro -root				    \n\
+-				qix -root				    \n\
+--				rocks -root				    \n\
+-				rorschach -root				    \n\
+-				decayscreen -root			    \n\
+-				flame -root				    \n\
+-				halo -root				    \n\
+-				slidescreen -root			    \n\
+-				pedal -root				    \n\
+-				bouboule -root				    \n\
+--				braid -root				    \n\
+-				coral -root				    \n\
+-				deco -root				    \n\
+-				drift -root				    \n\
+--				fadeplot -root				    \n\
+-				galaxy -root				    \n\
+-				goop -root				    \n\
+-				grav -root				    \n\
+-				ifs -root				    \n\
+- at GL_KLUDGE@ GL: 				jigsaw -root				    \n\
+-				julia -root				    \n\
+--				kaleidescope -root			    \n\
+- at GL_KLUDGE@ GL: 				moebius -root				    \n\
+-				moire -root				    \n\
+- at GL_KLUDGE@ GL: 				morph3d -root				    \n\
+-				mountain -root				    \n\
+-				munch -root				    \n\
+-				penrose -root				    \n\
+- at GL_KLUDGE@ GL: 				pipes -root				    \n\
+-				rd-bomb -root				    \n\
+- at GL_KLUDGE@ GL: 				rubik -root				    \n\
+--				sierpinski -root			    \n\
+-				slip -root				    \n\
+- at GL_KLUDGE@ GL: 				sproingies -root			    \n\
+-				starfish -root				    \n\
+-				strange -root				    \n\
+-				swirl -root				    \n\
+-				triangle -root				    \n\
+-				xjack -root				    \n\
+-				xlyap -root				    \n\
+- at GL_KLUDGE@ GL: 				atlantis -root				    \n\
+-				bsod -root				    \n\
+- at GL_KLUDGE@ GL: 				bubble3d -root				    \n\
+- at GL_KLUDGE@ GL: 				cage -root				    \n\
+--				crystal -root				    \n\
+-				cynosure -root				    \n\
+-				discrete -root				    \n\
+-				distort -root				    \n\
+-				epicycle -root				    \n\
+-				flow -root				    \n\
+- at GL_KLUDGE@ GL: 				glplanet -root				    \n\
+-				interference -root			    \n\
+-				kumppa -root				    \n\
+- at GL_KLUDGE@ GL: 				lament -root				    \n\
+-				moire2 -root				    \n\
+- at GL_KLUDGE@ GL: 				sonar -root				    \n\
+- at GL_KLUDGE@ GL: 				stairs -root				    \n\
+-				truchet -root				    \n\
+--				vidwhacker -root			    \n\
+-				blaster -root				    \n\
+-				bumps -root				    \n\
+-				ccurve -root				    \n\
+-				compass -root				    \n\
+-				deluxe -root				    \n\
+--				demon -root				    \n\
+- at GLE_KLUDGE@ GL: 				extrusion -root				    \n\
+--				loop -root				    \n\
+-				penetrate -root				    \n\
+-				petri -root				    \n\
+-				phosphor -root				    \n\
+- at GL_KLUDGE@ GL: 				pulsar -root				    \n\
+-				ripples -root				    \n\
+-				shadebobs -root				    \n\
+- at GL_KLUDGE@ GL: 				sierpinski3d -root			    \n\
+-				spotlight -root				    \n\
+-				squiral -root				    \n\
+-				wander -root				    \n\
+--				webcollage -root			    \n\
+-				xflame -root				    \n\
+-				xmatrix -root				    \n\
+- at GL_KLUDGE@ GL: 				gflux -root				    \n\
+--				nerverot -root				    \n\
+-				xrayswarm -root				    \n\
+-				xspirograph -root			    \n\
+- at GL_KLUDGE@ GL: 				circuit -root				    \n\
+- at GL_KLUDGE@ GL: 				dangerball -root			    \n\
+-- GL: 				dnalogo -root				    \n\
+- at GL_KLUDGE@ GL: 				engine -root				    \n\
+- at GL_KLUDGE@ GL: 				flipscreen3d -root			    \n\
+- at GL_KLUDGE@ GL: 				gltext -root				    \n\
+- at GL_KLUDGE@ GL: 				menger -root				    \n\
+- at GL_KLUDGE@ GL: 				molecule -root				    \n\
+-				rotzoomer -root				    \n\
+-				speedmine -root				    \n\
+- at GL_KLUDGE@ GL: 				starwars -root				    \n\
+- at GL_KLUDGE@ GL: 				stonerview -root			    \n\
+-				vermiculate -root			    \n\
+-				whirlwindwarp -root			    \n\
+-				zoom -root				    \n\
+-				anemone -root				    \n\
+-				apollonian -root			    \n\
+- at GL_KLUDGE@ GL: 				boxed -root				    \n\
+- at GL_KLUDGE@ GL: 				cubenetic -root				    \n\
+- at GL_KLUDGE@ GL: 				endgame -root				    \n\
+-				euler2d -root				    \n\
+-				fluidballs -root			    \n\
+- at GL_KLUDGE@ GL: 				flurry -root				    \n\
+-- GL: 				glblur -root				    \n\
+- at GL_KLUDGE@ GL: 				glsnake -root				    \n\
+-				halftone -root				    \n\
+- at GL_KLUDGE@ GL: 				juggler3d -root				    \n\
+- at GL_KLUDGE@ GL: 				lavalite -root				    \n\
+--				polyominoes -root			    \n\
+- at GL_KLUDGE@ GL: 				queens -root				    \n\
+-- GL: 				sballs -root				    \n\
+- at GL_KLUDGE@ GL: 				spheremonics -root			    \n\
+--				thornbird -root				    \n\
+-				twang -root				    \n\
+-- GL: 				antspotlight -root			    \n\
+-				apple2 -root				    \n\
+- at GL_KLUDGE@ GL: 				atunnel -root				    \n\
+-				barcode -root				    \n\
+- at GL_KLUDGE@ GL: 				blinkbox -root				    \n\
+- at GL_KLUDGE@ GL: 				blocktube -root				    \n\
+- at GL_KLUDGE@ GL: 				bouncingcow -root			    \n\
+-				cloudlife -root				    \n\
+- at GL_KLUDGE@ GL: 				cubestorm -root				    \n\
+-				eruption -root				    \n\
+- at GL_KLUDGE@ GL: 				flipflop -root				    \n\
+- at GL_KLUDGE@ GL: 				flyingtoasters -root			    \n\
+-				fontglide -root				    \n\
+- at GL_KLUDGE@ GL: 				gleidescope -root			    \n\
+- at GL_KLUDGE@ GL: 				glknots -root				    \n\
+- at GL_KLUDGE@ GL: 				glmatrix -root				    \n\
+-- GL: 				glslideshow -root			    \n\
+- at GL_KLUDGE@ GL: 				hypertorus -root			    \n\
+-- GL: 				jigglypuff -root			    \n\
+-				metaballs -root				    \n\
+- at GL_KLUDGE@ GL: 				mirrorblob -root			    \n\
+-				piecewise -root				    \n\
+- at GL_KLUDGE@ GL: 				polytopes -root				    \n\
+-				pong -root				    \n\
+-				popsquares -root			    \n\
+- at GL_KLUDGE@ GL: 				surfaces -root				    \n\
+-				xanalogtv -root				    \n\
+-				abstractile -root			    \n\
+-				anemotaxis -root			    \n\
+-- GL: 				antinspect -root			    \n\
+-				fireworkx -root				    \n\
+-				fuzzyflakes -root			    \n\
+-				interaggregate -root			    \n\
+-				intermomentary -root			    \n\
+-				memscroller -root			    \n\
+- at GL_KLUDGE@ GL: 				noof -root				    \n\
+-				pacman -root				    \n\
+- at GL_KLUDGE@ GL: 				pinion -root				    \n\
+- at GL_KLUDGE@ GL: 				polyhedra -root				    \n\
+-- GL: 				providence -root			    \n\
+-				substrate -root				    \n\
+-				wormhole -root				    \n\
+-- GL: 				antmaze -root				    \n\
+- at GL_KLUDGE@ GL: 				boing -root				    \n\
+-				boxfit -root				    \n\
+- at GL_KLUDGE@ GL: 				carousel -root				    \n\
+-				celtic -root				    \n\
+- at GL_KLUDGE@ GL: 				crackberg -root				    \n\
+- at GL_KLUDGE@ GL: 				cube21 -root				    \n\
+-				fiberlamp -root				    \n\
+- at GL_KLUDGE@ GL: 				fliptext -root				    \n\
+- at GL_KLUDGE@ GL: 				glhanoi -root				    \n\
+- at GL_KLUDGE@ GL: 				tangram -root				    \n\
+- at GL_KLUDGE@ GL: 				timetunnel -root			    \n\
+- at GL_KLUDGE@ GL: 				glschool -root				    \n\
+- at GL_KLUDGE@ GL: 				topblock -root				    \n\
+- at GL_KLUDGE@ GL: 				cubicgrid -root				    \n\
+-				cwaves -root				    \n\
+- at GL_KLUDGE@ GL: 				gears -root				    \n\
+- at GL_KLUDGE@ GL: 				glcells -root				    \n\
+- at GL_KLUDGE@ GL: 				lockward -root				    \n\
+-				m6502 -root				    \n\
+- at GL_KLUDGE@ GL: 				moebiusgears -root			    \n\
+- at GL_KLUDGE@ GL: 				voronoi -root				    \n\
+- at GL_KLUDGE@ GL: 				hypnowheel -root			    \n\
+- at GL_KLUDGE@ GL: 				klein -root				    \n\
+--				lcdscrub -root				    \n\
+- at GL_KLUDGE@ GL: 				photopile -root				    \n\
+- at GL_KLUDGE@ GL: 				skytentacles -root			    \n\
+- at GL_KLUDGE@ GL: 				rubikblocks -root			    \n\
+- at GL_KLUDGE@ GL: 				companioncube -root			    \n\
+- at GL_KLUDGE@ GL: 				hilbert -root				    \n\
+- at GL_KLUDGE@ GL: 				tronbit -root				    \n\
+- at GL_KLUDGE@ GL: 				geodesic -root				    \n\
+-				hexadrop -root				    \n\
+- at GL_KLUDGE@ GL: 				kaleidocycle -root			    \n\
+- at GL_KLUDGE@ GL: 				quasicrystal -root			    \n\
+- at GL_KLUDGE@ GL: 				unknownpleasures -root			    \n\
+-				binaryring -root			    \n\
+- at GL_KLUDGE@ GL: 				cityflow -root				    \n\
+- at GL_KLUDGE@ GL: 				geodesicgears -root			    \n\
+- at GL_KLUDGE@ GL: 				projectiveplane -root			    \n\
+- at GL_KLUDGE@ GL: 				romanboy -root				    \n\
+-				tessellimage -root			    \n\
+- at GL_KLUDGE@ GL: 				winduprobot -root			    \n\
+- at GL_KLUDGE@ GL: 				splitflap -root				    \n\
+- at GL_KLUDGE@ GL: 				cubestack -root				    \n\
+- at GL_KLUDGE@ GL: 				cubetwist -root				    \n\
+- at GL_KLUDGE@ GL: 				discoball -root				    \n\
+- at GL_KLUDGE@ GL: 				dymaxionmap -root			    \n\
+- at GL_KLUDGE@ GL: 				energystream -root			    \n\
+- at GL_KLUDGE@ GL: 				hexstrut -root				    \n\
+- at GL_KLUDGE@ GL: 				hydrostat -root				    \n\
+- at GL_KLUDGE@ GL: 				raverhoop -root				    \n\
+- at GL_KLUDGE@ GL: 				splodesic -root				    \n\
+- at GL_KLUDGE@ GL: 				unicrud -root				    \n\
+- at GL_KLUDGE@ GL: 				esper -root				    \n\
+- at GL_KLUDGE@ GL: 				vigilance -root				    \n\
+- at GL_KLUDGE@ GL: 				crumbler -root				    \n\
+- at GL_KLUDGE@ GL: 				maze3d -root				    \n\
+- at GL_KLUDGE@ GL: 				peepers -root				    \n\
+- at GL_KLUDGE@ GL: 				razzledazzle -root			    \n
+-
++-				fontglide -root -program "date +'%F %H:%M %z'"				    \n\
++				gifview --window $XSCREENSAVER_WINDOW /usr/share/logo/bosch-black.gif			    \n
+ 
+ 
+ !=============================================================================
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/xscreensaver.service b/meta-oe/recipes-graphics/xscreensaver/files/xscreensaver.service
new file mode 100755
index 000000000..17dfe75ef
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/xscreensaver.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Xscreensaver service
+PartOf=xserver-nodm.service
+After=xserver-nodm.service
+
+[Service]
+ExecStart=/usr/bin/xscreensaver
+Environment="DISPLAY=:0"
+User=xuser
+Restart=always
+RestartSec=1
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
new file mode 100644
index 000000000..6b17f9b09
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
@@ -0,0 +1,25 @@
+SUMMARY = "X screen saver and locker"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=e141ab5822fb2d43694e1e47b59fc0df"
+SRC_URI = "https://www.jwz.org/xscreensaver/xscreensaver-${PV}.tar.gz"
+SRC_URI[md5sum] = "a5da62b91271f4e8afcc73d44697364b"
+SRC_URI[sha256sum] = "48ce1880f18b5321182be0c033aeceb5ec5628a1505b9d1ff69dbf06093c2426"
+
+SRC_URI += " \
+	file://xscreensaver.service \
+	file://fix-buildscripts.patch \
+	file://tweak-app-defaults.patch \
+	"
+
+DEPENDS = "intltool-native libx11 libxext libxt libxft glib-2.0-native bc-native"
+# These are only needed as part of the stopgap screensaver implementation:
+RDEPENDS_${PN} += "xserver-nodm-init gifview liberation-fonts"
+
+inherit systemd perlnative pkgconfig gettext autotools-brokensep
+
+do_install_append() {
+    install -D ${WORKDIR}/xscreensaver.service ${D}${systemd_unitdir}/system/xscreensaver.service
+}
+
+FILES_${PN} += "${datadir}/X11/app-defaults/XScreenSaver"
+SYSTEMD_SERVICE_${PN} = "xscreensaver.service"
-- 
2.14.4




More information about the Openembedded-devel mailing list