mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-19 12:03:02 -04:00
gui-apps/wscreensaver: new package, add 9999
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
Clang 16 does not allow implicit function declarations by default.
|
||||
When xscreensaver is compiled normally for X11, the function gettimeofday()
|
||||
is included via the header file X11/Xos.h.
|
||||
However, if X11 is not used and HAVE_JXYZ is used instead, we end up with a missing
|
||||
declaration for that function. I think upstream forgot to include the file here, he
|
||||
has done it for string.h though, which is a similar case.
|
||||
|
||||
Pascal Jäger <pascal.jaeger@leimstift.de> (2023-12-13)
|
||||
|
||||
--- a/hacks/screenhackI.h
|
||||
+++ b/hacks/screenhackI.h
|
||||
@@ -71,6 +71,7 @@
|
||||
#ifdef HAVE_JWXYZ
|
||||
# include "jwxyz.h"
|
||||
# include <string.h> /* X11/Xos.h brings this in. */
|
||||
+# include <sys/time.h>
|
||||
#else /* real X11 */
|
||||
# include <X11/Xlib.h>
|
||||
# include <X11/Xutil.h>
|
||||
11
gui-apps/wscreensaver/files/xscreensaver-5.31-pragma.patch
Normal file
11
gui-apps/wscreensaver/files/xscreensaver-5.31-pragma.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/hacks/memscroller.c
|
||||
+++ b/hacks/memscroller.c
|
||||
@@ -307,7 +307,7 @@
|
||||
-- sbrk(2) man page on BSD systems, as of 1995 or so.
|
||||
*/
|
||||
#ifdef HAVE_SBRK
|
||||
-# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) /* gcc >= 4.2 */
|
||||
+# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) /* gcc >= 4.6 */
|
||||
/* Don't print "warning: 'sbrk' is deprecated". */
|
||||
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
# endif
|
||||
16
gui-apps/wscreensaver/files/xscreensaver-5.45-gcc.patch
Normal file
16
gui-apps/wscreensaver/files/xscreensaver-5.45-gcc.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -468,11 +468,11 @@
|
||||
|
||||
AC_DEFUN([AC_CHECK_GCC_ARG],
|
||||
[if test -n "$GCC"; then
|
||||
- AC_CACHE_CHECK([whether gcc accepts [$2]],
|
||||
+ AC_CACHE_CHECK([whether [$CC] accepts [$2]],
|
||||
ac_cv_gcc_accepts_[$1],
|
||||
[rm -rf conftest.$ac_ext
|
||||
touch conftest.$ac_ext
|
||||
- if ( ( gcc -c [$2] conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
|
||||
+ if ( ( $CC -c [$2] conftest.$ac_ext -o/dev/null >/dev/null ) 2>&1 | \
|
||||
grep unrecognized >/dev/null ); then
|
||||
ac_cv_gcc_accepts_[$1]=no
|
||||
else
|
||||
47
gui-apps/wscreensaver/files/xscreensaver-6.01-gentoo.patch
Normal file
47
gui-apps/wscreensaver/files/xscreensaver-6.01-gentoo.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
--- a/driver/XScreenSaver.ad.in
|
||||
+++ b/driver/XScreenSaver.ad.in
|
||||
@@ -31,21 +31,21 @@
|
||||
*mode: random
|
||||
*timeout: 0:10:00
|
||||
*cycle: 0:10:00
|
||||
-*lockTimeout: 0:00:00
|
||||
+*lockTimeout: 0:30:00
|
||||
*passwdTimeout: 0:00:30
|
||||
-*dpmsEnabled: False
|
||||
+*dpmsEnabled: True
|
||||
*dpmsQuickoffEnabled: False
|
||||
*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.
|
||||
*imageDirectory: @DEFAULT_IMAGE_DIRECTORY@
|
||||
*nice: 10
|
||||
*memoryLimit: 0
|
||||
-*lock: False
|
||||
+*lock: True
|
||||
*verbose: False
|
||||
*fade: True
|
||||
*unfade: True
|
||||
@@ -62,7 +62,7 @@
|
||||
*textLiteral: XScreenSaver
|
||||
*textFile: @DEFAULT_TEXT_FILE@
|
||||
*textProgram: fortune
|
||||
-*textURL: https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss
|
||||
+*textURL: https://planet.gentoo.org/rss20.xml
|
||||
|
||||
! This is what the "Settings" button on the splash screen runs.
|
||||
*demoCommand: xscreensaver-settings
|
||||
@@ -103,7 +103,8 @@
|
||||
|
||||
|
||||
! The strftime(3) format string for printing the time on the password dialog.
|
||||
-*dateFormat: %I:%M %p, %a %b %e
|
||||
+!*dateFormat: %I:%M %p, %a %b %e
|
||||
+*dateFormat: %x %X
|
||||
! DD MMM:
|
||||
! *dateFormat: %I:%M %p, %e %b (%a)
|
||||
! 12 hour time only:
|
||||
22
gui-apps/wscreensaver/metadata.xml
Normal file
22
gui-apps/wscreensaver/metadata.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>pascal.jaeger@leimstift.de</email>
|
||||
<name>Pascal Jaeger</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Wscreensaver is an attempt to compile the screensaver collection
|
||||
form Xscreensaver as animated backgrounds for Wayland.
|
||||
wscreensaver is not a standalone program like xscreensaver.
|
||||
Each indiviual screensaver is a standalane binary, that can be usid
|
||||
in other programs such a <pkg>gui-apps/swaylock-plugin</pkg> or
|
||||
standalone as an animated background.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="sourcehut">~mstoeckl/wscreensaver</remote-id>
|
||||
<maintainer status="active">
|
||||
<name>Manuel Stoeckl</name>
|
||||
</maintainer>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
74
gui-apps/wscreensaver/wscreensaver-9999.ebuild
Normal file
74
gui-apps/wscreensaver/wscreensaver-9999.ebuild
Normal file
@@ -0,0 +1,74 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic git-r3 meson
|
||||
|
||||
DESCRIPTION="Xscreensaver screensavers ported to wayland"
|
||||
HOMEPAGE="https://git.sr.ht/~mstoeckl/wscreensaver"
|
||||
|
||||
EGIT_REPO_URI="https://git.sr.ht/~mstoeckl/${PN}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
dev-libs/wayland
|
||||
media-libs/glu
|
||||
media-libs/libglvnd
|
||||
x11-libs/gdk-pixbuf:2
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
media-libs/libpng
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/intltool
|
||||
sys-devel/bc
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/xscreensaver-5.31-pragma.patch
|
||||
"${FILESDIR}"/xscreensaver-6.01-gentoo.patch
|
||||
"${FILESDIR}"/xscreensaver-5.45-gcc.patch
|
||||
"${FILESDIR}"/wscreensaver-fix-implicit-function-decl-when-JWXYZ.patch
|
||||
)
|
||||
|
||||
# see https://bugs.gentoo.org/898328
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( getspnam_shadow )
|
||||
|
||||
src_configure() {
|
||||
econf
|
||||
cd wayland
|
||||
local S="$S"/wayland
|
||||
# Will write a patch later and send it to upstream.
|
||||
# For now accept it.
|
||||
append-cflags -Wno-error=incompatible-function-pointer-types
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
local S="$S"/wayland
|
||||
meson_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local filename
|
||||
local S="${WORKDIR}/wscreensaver-${PV}-build"
|
||||
insinto /usr/lib64/misc/"${PN}"
|
||||
for file in "${S}"/*; do
|
||||
# exclude all files that have a contain a . e.g. have a file extension
|
||||
# or contain the word meson-
|
||||
filename=$(basename "${file}")
|
||||
if [[ "${filename}" != *.* && "${filename}" != *meson-* ]]; then
|
||||
doins "${file}"
|
||||
fperms +x /usr/lib64/misc/"${PN}"/"${filename}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
Reference in New Issue
Block a user