Notification time stamped 2022-10-22 16:58:29 UTC
From c567583c7abddcd4fb554eccd9e17b8cdfede39c Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
Date: Oct 22 2022 16:58:13 +0000
Subject: Update to 6.05, now demo using GTK3
---
diff --git a/sources b/sources
index 59a8f50..28de36a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (xscreensaver-6.04.tar.gz) =
7e8f01853b3d9252ce0120894db7dd4fa3cd19114602a09aa770ec750e2f3742585ca4daf19b009e97386f8c0e3cc89330fe760148c6388f41de8cc1f48f8071
+SHA512 (xscreensaver-6.05.1.tar.gz) =
c659a769ff71020b9f96b7e707bd1bcc667eb304179305d56b1be45eed095d650a8aa019890a0c5d444672f9dd68516c99c53b0df94cd96196d7f30a24b987e3
diff --git a/xscreensaver-5.35-webcollage-default-nonet.patch
b/xscreensaver-5.35-webcollage-default-nonet.patch
deleted file mode 100644
index 21bf54e..0000000
--- a/xscreensaver-5.35-webcollage-default-nonet.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From b04424419b281e608bac2a600bf7aab0c65b164a Mon Sep 17 00:00:00 2001
-From: XScreenSaver owners <xscreensaver-owner(a)fedoraproject.org>
-Date: Tue, 24 Mar 2020 13:29:14 +0900
-Subject: [PATCH] # Change webcollage not to access to net # Also see bug
- 472061
-
----
- hacks/config/webcollage.xml | 7 ++++++-
- hacks/webcollage.man | 5 +++++
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/hacks/config/webcollage.xml b/hacks/config/webcollage.xml
-index c26ea98..da312fa 100644
---- a/hacks/config/webcollage.xml
-+++ b/hacks/config/webcollage.xml
-@@ -30,8 +30,8 @@
- <string id="filter" _label="Per-image filter program"
arg="-filter %"/>
- <string id="filter2" _label="Overall filter program"
arg="-filter2 %"/>
- <file id="dictionary" _label="Dictionary file"
arg="-dictionary %"/>
-- <file id="dir" _label="Image directory" arg="-directory
%"/>
- -->
-+ <file id="dir" _label="Image directory" arg="-directory
%"/>
-
- <xscreensaver-updater />
-
-@@ -51,6 +51,11 @@ Please act accordingly.
-
- See also
https://www.jwz.org/webcollage/
-
-+NOTE:
-+Webcollage on Fedora does not connect to internet by default
-+and uses image files on your local disk. If you want webcollage to
-+search for image files on net, use webcollage.original .
-+
- Written by Jamie Zawinski; 1999.
- </_description>
- </screensaver>
-diff --git a/hacks/webcollage.man b/hacks/webcollage.man
-index 82bf5d7..7860d2e 100644
---- a/hacks/webcollage.man
-+++ b/hacks/webcollage.man
-@@ -178,6 +178,11 @@ the given directory.
- .TP 8
- .B \-fps
- Display the current frame rate and CPU load (MacOS only).
-+.SH NOTES FOR FEDORA USER
-+Webcollage on Fedora uses '-directory' option by default, so it
-+.B does not connect to internet
-+and uses image files on your local disk. If you want webcollage to
-+search for image files on net, use webcollage.original .
- .SH ENVIRONMENT
- .PP
- .TP 8
---
-2.25.2
-
diff --git a/xscreensaver-6.00-0005-blurb-show-1-100-sec-on-linux.patch
b/xscreensaver-6.00-0005-blurb-show-1-100-sec-on-linux.patch
deleted file mode 100644
index 219d696..0000000
--- a/xscreensaver-6.00-0005-blurb-show-1-100-sec-on-linux.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 6c6c990727caa881b7b3f045dfaa0a167d347507 Mon Sep 17 00:00:00 2001
-From: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
-Date: Tue, 4 May 2021 09:58:54 +0900
-Subject: [PATCH] blurb: show 1/100 sec on linux
-
----
- driver/blurb.c | 24 +++++++++++++++++++++++-
- 1 file changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/driver/blurb.c b/driver/blurb.c
-index d732a9b..010923b 100644
---- a/driver/blurb.c
-+++ b/driver/blurb.c
-@@ -28,8 +28,23 @@ blurb (void)
- struct tm tm;
- time_t now;
- int i;
-+#ifdef __linux__
-+ struct timespec tp;
-+ unsigned int sec_per_100 = 0;
-+#endif
-+
-+#ifdef __linux__
-+ if ( (clock_gettime(CLOCK_REALTIME_COARSE, &tp)) == 0 )
-+ {
-+ now = tp.tv_sec;
-+ sec_per_100 = tp.tv_nsec / 10000000; /* 10^9 / 10^7 */
-+ }
-+ else
-+#endif
-+ {
-+ now = time ((time_t *) 0);
-+ }
-
-- now = time ((time_t *) 0);
- localtime_r (&now, &tm);
- i = strlen (progname);
- if (i > 40) i = 40;
-@@ -44,6 +59,13 @@ blurb (void)
- buf[i++] = ':';
- buf[i++] = '0' + (tm.tm_sec >= 10 ? tm.tm_sec/10 : 0);
- buf[i++] = '0' + (tm.tm_sec % 10);
-+
-+#ifdef __linux__
-+ buf[i++] = '.';
-+ buf[i++] = '0' + (sec_per_100 >= 10 ? sec_per_100/10 : 0);
-+ buf[i++] = '0' + (sec_per_100 % 10);
-+#endif
-+
- buf[i] = 0;
- return buf;
- }
---
-2.31.1
-
diff --git
a/xscreensaver-6.04-0001-watchdog_timer-don-t-relaunch-hacks-when-unblanking.patch
b/xscreensaver-6.04-0001-watchdog_timer-don-t-relaunch-hacks-when-unblanking.patch
deleted file mode 100644
index cd571ce..0000000
--- a/xscreensaver-6.04-0001-watchdog_timer-don-t-relaunch-hacks-when-unblanking.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 82d71c1371dd15acd04088bd1a1b9827bb461765 Mon Sep 17 00:00:00 2001
-From: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
-Date: Wed, 31 Aug 2022 16:11:34 +0900
-Subject: [PATCH] watchdog_timer: don't relaunch hacks when unblanking
-
-Currently, when gfx receives SIGTERM and then executing xt_sigterm_handler,
-after killing remaining hacks by kill_screenhack, sometimes watchdog_timer
-seems called and hacks are relauched. These hacks remains unkilled even after
-the parent gfx dies (immediately), and they becomes children of init, no
-longer handled by xscreensaver side.
-
-As a workaround, when gfx receives SIGTERM and is going to die, mark so
-in saver_info struct data, and watchdog_timer checks saver_info data and
-will not going to relaunch hacks when seeing the mark.
----
- driver/subprocs.c | 4 ++++
- driver/types.h | 1 +
- driver/windows.c | 10 +++++++++-
- 3 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/driver/subprocs.c b/driver/subprocs.c
-index 6e522d3..9cef60c 100644
---- a/driver/subprocs.c
-+++ b/driver/subprocs.c
-@@ -461,6 +461,10 @@ xt_sigterm_handler (XtPointer data, XtSignalId *id)
- fprintf (stderr, "%s: %s: unblanking\n", blurb(),
- signal_name (sigterm_received));
-
-+ /* mark this process now terminating, so that watchdog_time won't
-+ relaunch hacks with race condition */
-+ si->terminating_p = True;
-+
- /* Kill before unblanking, to stop drawing as soon as possible. */
- for (i = 0; i < si->nscreens; i++)
- {
-diff --git a/driver/types.h b/driver/types.h
-index 8fa7c8e..cee25fe 100644
---- a/driver/types.h
-+++ b/driver/types.h
-@@ -146,6 +146,7 @@ struct saver_info {
- been received; set to N if SELECT or DEMO N
- has been received. (This is kind of nasty.)
- */
-+ Bool terminating_p; /* Whether the saver (gfx) is now terminating or not */
- };
-
-
-diff --git a/driver/windows.c b/driver/windows.c
-index c92486a..b6576cc 100644
---- a/driver/windows.c
-+++ b/driver/windows.c
-@@ -959,7 +959,7 @@ watchdog_timer (XtPointer closure, XtIntervalId *id)
- {
- saver_info *si = (saver_info *) closure;
- saver_preferences *p = &si->prefs;
-- Bool running_p, on_p;
-+ Bool running_p, on_p, terminating_p;
-
- /* If the DPMS settings on the server have changed, change them back to
- what ~/.xscreensaver says they should be. */
-@@ -972,6 +972,7 @@ watchdog_timer (XtPointer closure, XtIntervalId *id)
-
- running_p = any_screenhacks_running_p (si);
- on_p = monitor_powered_on_p (si->dpy);
-+ terminating_p = si->terminating_p;
- if (running_p && !on_p)
- {
- int i;
-@@ -983,6 +984,13 @@ watchdog_timer (XtPointer closure, XtIntervalId *id)
- kill_screenhack (&si->screens[i]);
- /* Do not clear current_hack here. */
- }
-+ else if (terminating_p)
-+ {
-+ /* Server (gfx) is now terminating (with unblanking screen).
-+ killing remaining hacks should have done beforehand.
-+ Don't do anything here.
-+ */
-+ }
- else if (!running_p && on_p)
- {
- /* If the hack number is set but no hack is running, it is because the
---
-2.37.2
-
diff --git a/xscreensaver-6.05-0001-demo-Gtk.c-main-enable-localization-again.patch
b/xscreensaver-6.05-0001-demo-Gtk.c-main-enable-localization-again.patch
new file mode 100644
index 0000000..e31cf0c
--- /dev/null
+++ b/xscreensaver-6.05-0001-demo-Gtk.c-main-enable-localization-again.patch
@@ -0,0 +1,31 @@
+From 8e78268b11e76648a2d7924bb5ed402e9f926a85 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
+Date: Sun, 23 Oct 2022 01:03:21 +0900
+Subject: [PATCH] demo-Gtk.c/main: enable localization again
+
+Even if demo-Gtk.c switched to use g_application_run(), for localization
+gettext stuff must be called.
+---
+ driver/demo-Gtk.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
+index 442dac1..404fc88 100644
+--- a/driver/demo-Gtk.c
++++ b/driver/demo-Gtk.c
+@@ -5094,6 +5094,12 @@ main (int argc, char *argv[])
+ if (s) progname = s+1;
+ g_log_set_default_handler (g_logger, NULL);
+ g_log_set_writer_func (g_other_logger, NULL, NULL);
++# ifdef ENABLE_NLS
++ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
++ textdomain (GETTEXT_PACKAGE);
++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++# endif /* ENABLE_NLS */
++
+ return g_application_run (G_APPLICATION (xscreensaver_app_new()),
+ argc, argv);
+ }
+--
+2.38.1
+
diff --git a/xscreensaver-6.05-webcollage-default-nonet.patch
b/xscreensaver-6.05-webcollage-default-nonet.patch
new file mode 100644
index 0000000..0376ead
--- /dev/null
+++ b/xscreensaver-6.05-webcollage-default-nonet.patch
@@ -0,0 +1,55 @@
+From 585252a63804d1cea0271fe29ef33476d1127a4f Mon Sep 17 00:00:00 2001
+From: XScreenSaver owners <xscreensaver-owner(a)fedoraproject.org>
+Date: Sat, 22 Oct 2022 23:48:23 +0900
+Subject: [PATCH] # Change webcollage not to access to net # Also see bug
+ 472061
+
+---
+ hacks/config/webcollage.xml | 7 +++++++
+ hacks/webcollage.man | 5 +++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/hacks/config/webcollage.xml b/hacks/config/webcollage.xml
+index a2acab7..1db7aa5 100644
+--- a/hacks/config/webcollage.xml
++++ b/hacks/config/webcollage.xml
+@@ -26,6 +26,8 @@
+ </vgroup>
+ </hgroup>
+
++ <file id="dir" _label="Image directory" arg="-directory
%"/>
++
+ <xscreensaver-updater />
+
+ <_description>
+@@ -44,6 +46,11 @@ Please act accordingly.
+
+ See also
https://www.jwz.org/webcollage/
+
++NOTE:
++Webcollage on Fedora does not connect to internet by default
++and uses image files on your local disk. If you want webcollage to
++search for image files on net, use webcollage.original .
++
+ Written by Jamie Zawinski; 1999.
+ </_description>
+ </screensaver>
+diff --git a/hacks/webcollage.man b/hacks/webcollage.man
+index 85255b5..fadcd20 100644
+--- a/hacks/webcollage.man
++++ b/hacks/webcollage.man
+@@ -176,6 +176,11 @@ the given directory.
+ .TP 8
+ .B \-\-fps
+ Display the current frame rate and CPU load (MacOS only).
++.SH NOTES FOR FEDORA USER
++Webcollage on Fedora uses '-directory' option by default, so it
++.B does not connect to internet
++and uses image files on your local disk. If you want webcollage to
++search for image files on net, use webcollage.original .
+ .SH ENVIRONMENT
+ .PP
+ .TP 8
+--
+2.38.1
+
diff --git a/xscreensaver.spec b/xscreensaver.spec
index 5d1fcaf..cbfd96a 100644
--- a/xscreensaver.spec
+++ b/xscreensaver.spec
@@ -1,6 +1,7 @@
%define name xscreensaver
-%define mainversion 6.04
+%define mainversion 6.05
+%define extratarver 1
#%%define beta_ver b2
%undefine beta_ver
@@ -11,7 +12,7 @@
%define split_getimage 1
%endif
-%define fedora_rel 2
+%define fedora_rel 1
%global use_clang_as_cc 0
%global use_clang_analyze 0
@@ -73,7 +74,7 @@ Release:
%{?beta_ver:0.}%{fedora_rel}%{?beta_ver:.%beta_ver}%{?dist}%{fl
Epoch: 1
License: MIT
URL:
http://www.jwz.org/xscreensaver/
-Source0:
http://www.jwz.org/xscreensaver/xscreensaver-%{mainversion}%{?beta_ver}.t...
+Source0:
http://www.jwz.org/xscreensaver/xscreensaver-%{mainversion}%{?beta_ver}%{...
%if %{modular_conf}
Source10: update-xscreensaver-hacks
%endif
@@ -92,9 +93,9 @@ Patch1:
xscreensaver-5.45-0001-barcode-glsnake-sanitize-the-names-of-mo
## Patches already sent to the upsteam
## Patches which must be discussed with upstream
# See bug 472061
-Patch21: xscreensaver-5.35-webcollage-default-nonet.patch
-# watchdog_timer: don't relaunch hacks when unblanking
-Patch101:
xscreensaver-6.04-0001-watchdog_timer-don-t-relaunch-hacks-when-unblanking.patch
+Patch21: xscreensaver-6.05-webcollage-default-nonet.patch
+# demo-Gtk.c/main: enable localization again
+Patch501: xscreensaver-6.05-0001-demo-Gtk.c-main-enable-localization-again.patch
# misc: kill gcc warn_unused_result warnings
Patch3607: xscreensaver-5.36-0007-misc-kill-gcc-warn_unused_result-warnings.patch
# Fedora specific
@@ -102,8 +103,6 @@ Patch3607:
xscreensaver-5.36-0007-misc-kill-gcc-warn_unused_result-warning
Patch10001:
xscreensaver-6.00-0001-screensaver_id-search-parenthesis-first-for-searchin.patch
# dialog.c: window_init: show more version string
Patch10003:
xscreensaver-6.00-0003-dialog.c-window_init-show-more-version-string.patch
-# blurb: show 1/100 sec on linux
-Patch10005: xscreensaver-6.00-0005-blurb-show-1-100-sec-on-linux.patch
#
# gcc warning cleanup
# Some cppcheck cleanup
@@ -176,11 +175,13 @@ BuildRequires: libXt-devel
BuildRequires: libXxf86vm-devel
# XScreenSaver 5.31
BuildRequires: libXft-devel
-BuildRequires: gtk2-devel
+BuildRequires: pkgconfig(gtk+-3.0) >= 2.22.0
+BuildRequires: pkgconfig(gmodule-2.0)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(gio-2.0)
# Write explicitly below, especially
# for F-23 gdk_pixbuf package splitting
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
-BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0)
BuildRequires: libjpeg-devel
BuildRequires: libglade2-devel
%if 0%{?support_setcap} >= 1
@@ -229,7 +230,7 @@ Summary: An enhanced set of screensavers
# Does not available on EPEL7
BuildRequires: desktop-backgrounds-basic
%else
-BuildRequires: gnome-backgrounds
+BuildRequires: gnome-backgrounds
%endif
Requires: %{name}-base = %{epoch}:%{version}-%{release}
%if %{split_getimage}
@@ -376,12 +377,11 @@ find . -name \*.c -exec chmod ugo-x {} \;
%__cat %PATCH1 | %__git am
%__cat %PATCH21 | %__git am
-%__cat %PATCH101 | %__git am
+%__cat %PATCH501 | %__git am
#%%__cat %PATCH3607 | %__git am
%__cat %PATCH10001 | %__git am
%__cat %PATCH10003 | %__git am
-%__cat %PATCH10005 | %__git am
#%%__cat %PATCH13501 | %%__git am
@@ -579,6 +579,8 @@ export PATH=$(pwd):$PATH
# xdg-open
ln -sf /bin/true xdg-open
popd
+# gtk-update-icon-cache
+ln -sf /bin/true gtk-update-icon-cache
# Set optflags first
%set_build_flags
@@ -619,6 +621,9 @@ export CC="${CC} -fanalyzer"
%global _smp_mflags -j1
%endif
+# Show 1/100sec on blurb
+export CFLAGS="$CFLAGS -DBLURB_CENTISECONDS"
+
CONFIG_OPTS="--prefix=%{_prefix} --with-pam --without-shadow
--without-kerberos"
CONFIG_OPTS="$CONFIG_OPTS --without-setuid-hacks"
CONFIG_OPTS="$CONFIG_OPTS --with-text-file=%{default_text}"
@@ -676,8 +681,13 @@ pushd po
make generate_potfiles_in
cp -p POTFILES.in ..
# Workaround for ui file
+ # 6.05
+ sed -i ../POTFILES.in POTFILES.in POTFILES \
+ -e 's|driver/xscreensaver.ui|driver/demo.ui\ndriver/prefs.ui|'
+ sed -i Makefile \
+ -e 's|../../driver/xscreensaver.ui \\|../../driver/demo.ui
\\\n\t../../driver/prefs.ui \\|'
sed -i ../POTFILES.in POTFILES.in POTFILES \
- -e '\@xscreensaver\.ui(a)s|^\([ \t]*\)\(.*\)$|\1[type: gettext/glade]\2|'
+ -e '\@driver/.*\.ui(a)s|^\([ \t]*\)\(.*\)$|\1[type: gettext/glade]\2|'
make xscreensaver.pot srcdir=..
( export srcdir=.. ; make update-po )
rm -f ../POTFILES_in
@@ -707,8 +717,9 @@ fi
# Workaround end
# From 5.45: temporary workaround for installation issue
-# From 6.00: temporary workaround for installation issue
-cp -p ../driver/xscreensaver.ui driver/
+# From 6.00, 6.05: temporary workaround for installation issue
+# From 6.05: yet another one
+cp -p ../driver/*ui ../driver/gresource.xml driver/
cp -a ../hacks/fonts hacks
%if 0%{?use_clang_analyze} < 1
@@ -783,6 +794,12 @@ cd $archdir
archdir=`sh ./config.guess`
cd $archdir
+# Same as %%build
+export PATH=/usr/bin:$PATH
+pushd TMPBINDIR/
+export PATH=$(pwd):$PATH
+popd
+
rm -rf ${RPM_BUILD_ROOT}
# We have to make sure these directories exist,
@@ -814,6 +831,7 @@ desktop-file-install --vendor "" --delete-original \
list_files() {
echo "%%defattr(-,root,root,-)"
make -s install_prefix=${RPM_BUILD_ROOT} INSTALL=true "$@" \
+ | sed -e '\@gtk-update-icon-cache@d' \
| sed -n -e 's@.* \(/[^ ]*\)$@\1@p' \
| sed -e "s@^${RPM_BUILD_ROOT}@@" \
-e "s@/[a-z][a-z]*/\.\./@/(a)" \
@@ -1168,6 +1186,9 @@ exit 0
%endif
%changelog
+* Sat Oct 22 2022 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1:6.05-1
+- Update to 6.05, now demo using GTK3
+
* Wed Aug 31 2022 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1:6.04-2
- watchdog_timer: don't relaunch hacks when unblanking
https://src.fedoraproject.org/rpms/xscreensaver/c/c567583c7abddcd4fb554ec...