$ git show --format=fuller --patch-with-stat --summary f28b311f9768c599ce63ea4f5d0e9d0e062871c9
commit f28b311f9768c599ce63ea4f5d0e9d0e062871c9
Author: mandian <mandian@users.noreply.github.com>
AuthorDate: Sat Apr 8 22:50:39 2023 +0100
Commit: mandian <mandian@users.noreply.github.com>
CommitDate: Sat Apr 8 22:50:39 2023 +0100
7.0
---
.abf.yml | 1 +
fbpanel-7.0-clang.patch | 67 ++++++++++++++++++++++
...patch => fbpanel-7.0-default-applications.patch | 10 ++--
...onfig.patch => fbpanel-7.0-default-config.patch | 7 ++-
fbpanel-7.0-script-py3.patch | 43 ++++++++++++++
fbpanel-7.0-script-py310.patch | 11 ++++
fbpanel.spec | 61 ++++++++++----------
7 files changed, 163 insertions(+), 37 deletions(-)
create mode 100644 fbpanel-7.0-clang.patch
rename fbpanel-6.1-default-applications.patch => fbpanel-7.0-default-applications.patch (70%)
rename fbpanel-6.1-default-config.patch => fbpanel-7.0-default-config.patch (85%)
create mode 100644 fbpanel-7.0-script-py3.patch
create mode 100644 fbpanel-7.0-script-py310.patch
diff --git a/.abf.yml b/.abf.yml
index c972db9..1686685 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,3 @@
sources:
fbpanel-6.1.tbz2: 4ebb2e0e23cd68aef0238f10781bbf42274d32f8
+ fbpanel-7.0.tar.gz: c1306901d6c27fcb1ff8662ef5a51f8a52e7c3a8
diff --git a/fbpanel-7.0-clang.patch b/fbpanel-7.0-clang.patch
new file mode 100644
index 0000000..4c13a35
--- /dev/null
+++ b/fbpanel-7.0-clang.patch
@@ -0,0 +1,67 @@
+--- a/panel/plugin.h
++++ b/panel/plugin.h
+@@ -9,7 +9,7 @@
+ #include <stdio.h>
+ #include "panel.h"
+
+-struct _plugin_instance *stam;
++struct _plugin_instance;
+
+ typedef struct {
+ /* common */
+--- a/plugins/battery/power_supply.c
++++ b/plugins/battery/power_supply.c
+@@ -154,7 +154,7 @@ bat_new(gchar* path)
+ tmp->path = path;
+ tmp->name = NULL;
+ tmp->status = NULL;
+- tmp->capacity = -1.0d;
++ tmp->capacity = -1.0f;
+ return tmp;
+ }
+
+@@ -206,12 +206,12 @@ bat_parse(bat* bat)
+ bat->capacity = g_ascii_strtod(tmp_value, NULL);
+ } else { // for older kernels
+ tmp_value = (gchar*) g_hash_table_lookup(hash, SYS_ACPI_UEVENT_BAT_ENERGY_NOW_KEY);
+- gdouble tmp = -1.0d;
++ gdouble tmp = -1.0f;
+ if (tmp_value != NULL) { // ac off
+ tmp = g_ascii_strtod(tmp_value, NULL);
+ tmp_value = (gchar*) g_hash_table_lookup(hash, SYS_ACPI_UEVENT_BAT_ENERGY_FULL_KEY);
+- if (tmp_value != NULL && tmp > 0.0d) {
+- tmp = tmp / g_ascii_strtod(tmp_value, NULL) * 100.0d;
++ if (tmp_value != NULL && tmp > 0.0f) {
++ tmp = tmp / g_ascii_strtod(tmp_value, NULL) * 100.0f;
+ bat->capacity = tmp;
+ }
+ } else {
+@@ -219,8 +219,8 @@ bat_parse(bat* bat)
+ if (tmp_value != NULL) { // ac on
+ tmp = g_ascii_strtod(tmp_value, NULL);
+ tmp_value = (gchar*) g_hash_table_lookup(hash, SYS_ACPI_UEVENT_BAT_CHARGE_FULL_KEY);
+- if (tmp_value != NULL && tmp > 0.0d) {
+- tmp = tmp / g_ascii_strtod(tmp_value, NULL) * 100.0d;
++ if (tmp_value != NULL && tmp > 0.0f) {
++ tmp = tmp / g_ascii_strtod(tmp_value, NULL) * 100.0f;
+ bat->capacity = tmp;
+ }
+ }
+@@ -327,7 +327,7 @@ power_supply_is_ac_online(power_supply* ps)
+ extern gdouble
+ power_supply_get_bat_capacity(power_supply* ps)
+ {
+- gdouble total_bat_capacity = 0.0d;
++ gdouble total_bat_capacity = 0.0f;
+ guint bat_count = 0;
+ GSequenceIter* it;
+ bat* battery;
+@@ -335,7 +335,7 @@ power_supply_get_bat_capacity(power_supply* ps)
+ it = g_sequence_get_begin_iter(ps->bat_list);
+ while (!g_sequence_iter_is_end(it)) {
+ battery = (bat*) g_sequence_get(it);
+- if (battery->capacity > 0.0d) {
++ if (battery->capacity > 0.0f) {
+ total_bat_capacity = total_bat_capacity + battery->capacity;
+ }
+ bat_count++;
diff --git a/fbpanel-6.1-default-applications.patch b/fbpanel-7.0-default-applications.patch
similarity index 70%
rename from fbpanel-6.1-default-applications.patch
rename to fbpanel-7.0-default-applications.patch
index a4b69e7..ecec067 100644
--- a/fbpanel-6.1-default-applications.patch
+++ b/fbpanel-7.0-default-applications.patch
@@ -1,11 +1,11 @@
---- fbpanel-6.1.orig/exec/make_profile.in 2010-03-24 10:58:10.000000000 +0100
-+++ fbpanel-6.1/exec/make_profile.in 2010-11-28 17:08:36.656335297 +0100
-@@ -47,19 +47,19 @@
+--- a/exec/make_profile.in
++++ b/exec/make_profile.in
+@@ -47,19 +47,19 @@ function take_system_profile ()
[ -r "$spdir/$1" ] || return 1
local browser terminal filer
- for browser in x-www-browser firefox opera; do
-+ for browser in firefox chromium-browser seamonkey midori konqueror; do
++ for browser in firefox falkon chromium-browser seamonkey midori konqueror; do
if which $browser 2> /dev/null > /dev/null; then
opt="$opt -e s/x-www-browser/$browser/"
break
@@ -19,7 +19,7 @@
fi
done
- for filer in x-file-manager thunar pcmanfm rox; do
-+ for filer in nautilus thunar pcmanfm spacefm dolphin rox; do
++ for filer in nautilus thunar pcmanfm spacefm dolphin rox roxterm; do
if which $filer 2> /dev/null > /dev/null; then
opt="$opt -e s/x-file-manager/$filer/"
break
diff --git a/fbpanel-6.1-default-config.patch b/fbpanel-7.0-default-config.patch
similarity index 85%
rename from fbpanel-6.1-default-config.patch
rename to fbpanel-7.0-default-config.patch
index 90e3a31..a398f12 100644
--- a/fbpanel-6.1-default-config.patch
+++ b/fbpanel-7.0-default-config.patch
@@ -1,5 +1,5 @@
---- fbpanel-6.1.orig/data/config/default.in 2010-05-12 20:30:00.000000000 +0200
-+++ fbpanel-6.1/data/config/default.in 2010-11-28 17:18:07.070464321 +0100
+--- a/data/config/default.in
++++ b/data/config/default.in
@@ -141,8 +141,7 @@
type = menu
config {
@@ -40,7 +40,7 @@
- icon = gnome-session-logout
+ name = Logout
+ icon = system-log-out
- action = %%libexecdir%%/fbpanel/xlogout
+ action = @libexecdir@/xlogout
}
}
@@ -313,10 +312,6 @@
@@ -54,3 +54,4 @@
#plugin {
# type = battery
#}
+
diff --git a/fbpanel-7.0-script-py3.patch b/fbpanel-7.0-script-py3.patch
new file mode 100644
index 0000000..a2714aa
--- /dev/null
+++ b/fbpanel-7.0-script-py3.patch
@@ -0,0 +1,43 @@
+diff -urp fbpanel-7.0.py2/.config/options.py fbpanel-7.0.py3/.config/options.py
+--- fbpanel-7.0.py2/.config/options.py 2015-12-05 15:34:19.000000000 +0900
++++ fbpanel-7.0.py3/.config/options.py 2021-02-23 15:52:21.656374358 +0900
+@@ -96,5 +96,5 @@ def report():
+ str += "yes\n"
+ else:
+ str += "no\n"
+- print str,
++ print (str)
+
+diff -urp fbpanel-7.0.py2/.config/repl.py fbpanel-7.0.py3/.config/repl.py
+--- fbpanel-7.0.py2/.config/repl.py 2021-02-23 19:32:11.594999903 +0900
++++ fbpanel-7.0.py3/.config/repl.py 2021-02-23 19:39:24.314621742 +0900
+@@ -14,5 +14,5 @@ def repl_func(matchobj):
+ return matchobj.group(0)
+
+
+-print re.sub('@\w+@', repl_func, sys.stdin.read())
++print (re.sub('@\w+@', repl_func, sys.stdin.read()))
+
+diff -urp fbpanel-7.0.py2/configure fbpanel-7.0.py3/configure
+--- fbpanel-7.0.py2/configure 2021-02-23 19:32:11.595999894 +0900
++++ fbpanel-7.0.py3/configure 2021-02-23 15:57:43.341359196 +0900
+@@ -330,7 +330,11 @@ def write_config():
+ v = int(v)
+
+ smake += "%s := %s\n" % (name.upper(), str(v))
+- if type(v) == str or type(v) == unicode:
++ if sys.version_info < (3, 0):
++ unicode_type = unicode
++ else:
++ unicode_type = str
++ if type(v) == str or type(v) == unicode_type:
+ v = '"' + v + '"'
+ sc += '#define %s %s\n' % (name.upper(), str(v))
+ smake += "\n"
+@@ -498,5 +502,5 @@ if __name__ == "__main__":
+ exec(code)
+ except:
+ x.info("Can't read .config/options.py")
+- pass
++ raise
+ main()
diff --git a/fbpanel-7.0-script-py310.patch b/fbpanel-7.0-script-py310.patch
new file mode 100644
index 0000000..380cec8
--- /dev/null
+++ b/fbpanel-7.0-script-py310.patch
@@ -0,0 +1,11 @@
+--- fbpanel-7.0/configure.py310 2021-07-23 12:25:31.157003483 +0900
++++ fbpanel-7.0/configure 2021-07-23 12:27:20.679026407 +0900
+@@ -73,7 +73,7 @@ class ArgParse(argparse.ArgumentParser):
+ raise BaseException("help group %s already exists" % name)
+ self.help_groups[name] = super(ArgParse,
+ self).add_argument_group(title, description)
+- if name != 'help' and len(name.split()) == 1:
++ if name != 'help' and len(name.split()) == 1 and title is not None:
+ self.add_argument("--help-" + name, group = 'help',
+ action = 'store_true',
+ help = "Help on " + title)
diff --git a/fbpanel.spec b/fbpanel.spec
index 6f7564f..2f09fca 100644
--- a/fbpanel.spec
+++ b/fbpanel.spec
@@ -1,18 +1,21 @@
%define _disable_ld_no_undefined 1
-%define _libexecdir /usr/libexec
Summary: A lightweight X11 desktop panel
Name: fbpanel
-Version: 6.1
-Release: 4
+Version: 7.0
+Release: 1
License: LGPLv2+ and GPLv2+
Group: Graphical desktop/Other
-Url: http://fbpanel.sourceforge.net
-Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tbz2
-Patch0: fbpanel-6.1-dsofix.patch
+Url: https://github.com/aanatoly/fbpanel
+Source0: https://github.com/aanatoly/fbpanel/archive/%{version}/%{name}-%{version}.tar.gz
+# (fedora)
+Patch0: fbpanel-7.0-script-py3.patch
+Patch1: fbpanel-7.0-script-py310.patch
+Patch2: fbpanel-7.0-clang.patch
# distro specific patches
-Patch10: fbpanel-6.1-default-config.patch
-Patch11: fbpanel-6.1-default-applications.patch
+Patch10: fbpanel-7.0-default-config.patch
+Patch11: fbpanel-7.0-default-applications.patch
+
BuildRequires: pkgconfig(gdk-pixbuf-xlib-2.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(xmu)
@@ -32,25 +35,35 @@ It provides:
* ability to run many instances each with its own configuration
* modest resource usage
+%files
+%license COPYING
+%doc CHANGELOG CREDITS README.md NOTES
+%{_bindir}/%{name}
+%{_libdir}/%{name}/
+%{_datadir}/%{name}/
+%{_libexecdir}/%{name}/
+%{_mandir}/man1/%{name}.1*
+
+#---------------------------------------------------------------------------
+
%prep
-%setup -q
-%patch0 -p1 -b .dsofix
-%patch10 -p1 -b .default-config
-%patch11 -p1 -b .default-applications
+%autosetup -p1
%build
-%setup_compile_flags
+%before_configure
# this script is really ugly and doesn't work with configure macro
./configure \
--prefix=%{_prefix} \
- --libdir=%{_libdir} \
- --libexecdir=%{_libexecdir} \
+ --libdir=%{_libdir}/%{name} \
+ --libexecdir=%{_libexecdir}/%{name} \
--sysconfdir=%{_sysconfdir} \
- --localstatedir=%{_localstatedir}
-%make cflagsx="%{optflags}"
+ --localstatedir=%{_localstatedir} \
+ --datadir=%{_datadir}/%{name} \
+ --mandir=%{_mandir}/man1
+%make_build cflagsx="%{optflags}"
%install
-%makeinstall_std
+%make_install
# man page
install -Dpm 644 data/man/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1
@@ -67,15 +80,5 @@ mv %{buildroot}%{_datadir}/%{name}/images/gnome-session-reboot.png \
# volume plugin is not working and prevents starting of fbpanel, lets remove it.
# https://sourceforge.net/tracker/?func=detail&aid=3121295&group_id=66031&atid=513125
-rm %{buildroot}%{_libdir}/%{name}/volume.so
-
-%files
-%doc CHANGELOG COPYING CREDITS README NOTES
-%{_bindir}/%{name}
-%{_libdir}/%{name}/
-%{_datadir}/%{name}/
-%{_mandir}/man1/%{name}.1.*
-%{_libexecdir}/fbpanel/
-
-
+rm %{buildroot}%{_libdir}/%{name}/libvolume.so