diff --git a/xblast-128.png b/xblast-128.png new file mode 100644 index 0000000..7428ede Binary files /dev/null and b/xblast-128.png differ diff --git a/xblast-2.10.4-fcommon-fix.patch b/xblast-2.10.4-fcommon-fix.patch new file mode 100644 index 0000000..33ac8f2 --- /dev/null +++ b/xblast-2.10.4-fcommon-fix.patch @@ -0,0 +1,24 @@ +diff -up xblast-2.10.4/cfg_control.h~ xblast-2.10.4/cfg_control.h +--- xblast-2.10.4/cfg_control.h~ 2006-02-09 22:21:23.000000000 +0100 ++++ xblast-2.10.4/cfg_control.h 2020-02-19 22:48:34.041292637 +0100 +@@ -29,7 +29,7 @@ + #define NUM_KEYB_CONTROLS 2 + + /* constant assignment of control to event type */ +-const XBEventCode keyEventType[NUM_KEYB_CONTROLS]; ++extern const XBEventCode keyEventType[NUM_KEYB_CONTROLS]; + + /* ingame controls for editing*/ + typedef struct +diff -up xblast-2.10.4/network.h~ xblast-2.10.4/network.h +--- xblast-2.10.4/network.h~ 2006-02-10 16:07:42.000000000 +0100 ++++ xblast-2.10.4/network.h 2020-02-17 23:47:58.022504923 +0100 +@@ -105,7 +105,7 @@ typedef enum + #define TEAM_UNDEF 252 + + /* team color assignment */ +-const XBColor teamColors[NUM_XBTS]; ++extern const XBColor teamColors[NUM_XBTS]; + + /* results of game config receive/create */ + typedef enum diff --git a/xblast-2.10.4-font-config-fix.patch b/xblast-2.10.4-font-config-fix.patch new file mode 100644 index 0000000..8b699f5 --- /dev/null +++ b/xblast-2.10.4-font-config-fix.patch @@ -0,0 +1,62 @@ +diff -up xblast-2.10.4/atom.c~ xblast-2.10.4/atom.c +--- xblast-2.10.4/atom.c~ 2006-02-09 22:21:22.000000000 +0100 ++++ xblast-2.10.4/atom.c 2022-07-16 17:36:05.151322538 +0200 +@@ -168,6 +168,7 @@ XBAtom atomRight; + XBAtom atomRightKeyboard; + XBAtom atomScrambleDel; + XBAtom atomScrambleDraw; ++XBAtom atomSDL; + XBAtom atomSelect; + XBAtom atomServer; + XBAtom atomShape; +@@ -373,6 +374,7 @@ InitDefaultAtoms (void) + atomRightKeyboard = GUI_StringToAtom ("rightKeyboard"); + atomScrambleDel = GUI_StringToAtom ("scrambleDel"); + atomScrambleDraw = GUI_StringToAtom ("scrambleDraw"); ++ atomSDL = GUI_StringToAtom ("sdl"); + atomSelect = GUI_StringToAtom ("select"); + atomServer = GUI_StringToAtom ("server"); + atomShape = GUI_StringToAtom ("shape"); +diff -up xblast-2.10.4/atom.h~ xblast-2.10.4/atom.h +--- xblast-2.10.4/atom.h~ 2006-02-09 22:21:22.000000000 +0100 ++++ xblast-2.10.4/atom.h 2022-07-16 17:36:05.687320493 +0200 +@@ -163,6 +163,7 @@ extern XBAtom atomRight; + extern XBAtom atomRightKeyboard; + extern XBAtom atomScrambleDel; + extern XBAtom atomScrambleDraw; ++extern XBAtom atomSDL; + extern XBAtom atomSelect; + extern XBAtom atomServer; + extern XBAtom atomShape; +diff -up xblast-2.10.4/sdl_config.c~ xblast-2.10.4/sdl_config.c +--- xblast-2.10.4/sdl_config.c~ 2006-02-09 22:21:24.000000000 +0100 ++++ xblast-2.10.4/sdl_config.c 2022-07-16 17:36:30.294228033 +0200 +@@ -149,7 +149,7 @@ GetColorConfig (void) + void + GUI_LoadConfig (void) + { +- dbGui = DB_Create (DT_Config, atomX11); ++ dbGui = DB_Create (DT_Config, atomSDL); + assert (dbGui != NULL); + if (DB_Load (dbGui)) { + return; +diff -up xblast-2.10.4/x11_config.c~ xblast-2.10.4/x11_config.c +--- xblast-2.10.4/x11_config.c~ 2006-02-09 22:21:25.000000000 +0100 ++++ xblast-2.10.4/x11_config.c 2022-07-16 17:33:34.640897215 +0200 +@@ -101,6 +101,16 @@ GetFontConfig (void) + DB_GetEntryString (section, atomSmall, &cfgFont.small); + DB_GetEntryString (section, atomMedium, &cfgFont.medium); + DB_GetEntryString (section, atomLarge, &cfgFont.large); ++ /* ++ * detect old SDL version which saved its settings (which ++ * are invalid for x11) to x11.cfg, in this case fall back ++ * to the default font settings. ++ */ ++ if (!strcmp (cfgFont.small, "14")) { ++ memcpy (&cfgFont, &defaultFontConfig, sizeof (CFGFont)); ++ StoreFontConfig (&cfgFont); ++ DB_Store (dbGui); ++ } + } + return &cfgFont; + } /* GetFontConfig */ diff --git a/xblast-2.10.4-sdl-fixes.patch b/xblast-2.10.4-sdl-fixes.patch index ae83e05..091d575 100644 --- a/xblast-2.10.4-sdl-fixes.patch +++ b/xblast-2.10.4-sdl-fixes.patch @@ -16,7 +16,7 @@ const CFGFont *cfgFont; const CFGColor *cfgColor; - char *fontName = "Vera.ttf"; -+ char *fontName = "/usr/share/fonts/dejavu/DejaVuSans.ttf"; ++ char *fontName = "/usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf"; /* * Initialize SDL_ttf library diff --git a/xblast-32.png b/xblast-32.png new file mode 100644 index 0000000..b78b612 Binary files /dev/null and b/xblast-32.png differ diff --git a/xblast-48.png b/xblast-48.png new file mode 100644 index 0000000..901418d Binary files /dev/null and b/xblast-48.png differ diff --git a/xblast.appdata.xml b/xblast.appdata.xml new file mode 100644 index 0000000..9406cdb --- /dev/null +++ b/xblast.appdata.xml @@ -0,0 +1,40 @@ + + + xblast.desktop + CC0-1.0 + GPL-2.0+ + XBlast + Lay bombs and Blast the other players of the field + +

+ XBlast is a multi-player arcade game where the "purpose" is to Blast + the other players of the gamefield by laying bombs close to them. + While at the same time you must avoid being blown up yourself. +

+

+ The game can be played with at least two players and up to six players. +

+

+ The game comes with many different types of bombs, player upgrades, + levels, etc. +

+
+ http://xblast.sourceforge.net/ + + http://freexbresse.free.fr/xblast/pics/levyb/lev66.gif + http://freexbresse.free.fr/xblast/pics/levyb/lev22.gif + http://freexbresse.free.fr/xblast/pics/levyb/lev09.gif + http://freexbresse.free.fr/xblast/pics/levyb/lev43.gif + + jwrdegoede_at_fedoraproject.org + + mild + + + + +

Latest stable xblast release

+
+
+
+
diff --git a/xblast.desktop b/xblast.desktop index cf538b9..4f237b0 100644 --- a/xblast.desktop +++ b/xblast.desktop @@ -1,5 +1,4 @@ [Desktop Entry] -Encoding=UTF-8 Name=XBlast Comment=Lay bombs and Blast the other players of the field Exec=xblast diff --git a/xblast.png b/xblast.png deleted file mode 100644 index e4ccd4c..0000000 Binary files a/xblast.png and /dev/null differ diff --git a/xblast.rpmlintrc b/xblast.rpmlintrc new file mode 100644 index 0000000..bb1a0dc --- /dev/null +++ b/xblast.rpmlintrc @@ -0,0 +1,6 @@ +# There is a generic xblast manpage in the -common pkg +addFilter("W: no-manual-page-for-binary x.*") +# There are docs in the shared (and required) -common pkg +addFilter("W: no-documentation") +# meh +addFilter("E: incorrect-fsf-address.*") diff --git a/xblast.spec b/xblast.spec index c6262d4..2f8cc13 100644 --- a/xblast.spec +++ b/xblast.spec @@ -1,58 +1,60 @@ Name: xblast Version: 2.10.4 -Release: 22%{?dist} +Release: 43%{?dist} Summary: Lay bombs and Blast the other players of the field (SDL version) -Group: Amusements/Games -License: GPLv2+ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later URL: http://xblast.sourceforge.net Source0: http://downloads.sourceforge.net/xblast/xblast-%{version}.tar.gz -Source1: xblast.png +Source1: xblast.sh Source2: xblast.desktop -Source3: xblast.sh +Source3: xblast-32.png +Source4: xblast-48.png +Source5: xblast-128.png +Source6: xblast.appdata.xml Patch0: xblast-2.10.4-sdl-fixes.patch Patch1: xblast-2.10.4-manpage.patch +Patch2: xblast-2.10.4-fcommon-fix.patch +Patch3: xblast-2.10.4-font-config-fix.patch +BuildRequires: gcc make BuildRequires: libXt-devel gettext gawk desktop-file-utils SDL_gfx-devel BuildRequires: SDL_image-devel SDL_ttf-devel SDL_mixer-devel SDL_net-devel +BuildRequires: libappstream-glib Requires: %{name}-data >= 2.10.0, %{name}-common = %{version}-%{release} -Requires: /usr/share/fonts/dejavu/DejaVuSans.ttf +Requires: font(dejavusans) Provides: %{name}-engine = %{version}-%{release} %description -This is the new SDL version of XBlast, a multiplayer game where the "purpose" -is to Blast the other players of the gamefield by laying bombs close to them. +This is the new SDL version of XBlast, a multi-player game where the "purpose" +is to Blast the other players of the game-field by laying bombs close to them. While at the same time you must avoid being blown up yourself. %package x11 Summary: Lay bombs and Blast the other players of the field (X11 version) -Group: Amusements/Games Requires: %{name}-data >= 2.10.0, %{name}-common = %{version}-%{release} Requires: xorg-x11-fonts-ISO8859-1-75dpi Provides: %{name}-engine = %{version}-%{release} %description x11 -This is the original X11 version of XBlast, a multiplayer game where the -"purpose" is to Blast the other players of the gamefield by laying bombs close +This is the original X11 version of XBlast, a multi-player game where the +"purpose" is to Blast the other players of the game-field by laying bombs close to them. While at the same time you must avoid being blown up yourself. %package common Summary: Files common to both the X11 and SDL version of XBlast -Group: Amusements/Games Requires: %{name}-engine = %{version}-%{release}, hicolor-icon-theme %description common -Files common to both the X11 and SDL version of XBlast, a multiplayer game -where the "purpose" is to Blast the other players of the gamefield by laying +Files common to both the X11 and SDL version of XBlast, a multi-player game +where the "purpose" is to Blast the other players of the game-field by laying bombs close to the other player. %prep -%setup -q -%patch0 -p1 -z .sdl -%patch1 -p1 -z .man +%autosetup -p1 sed -i 's|$(game_datadir)/locale|%{_datadir}/locale|g' Makefile.in - # stop rpmlint from complaining about executable source files in the -debuginfo chmod -x chat.* version.c # stop autoxxx from rerunning because of strange timestamps in the tarbal @@ -77,32 +79,27 @@ make install localedir=%{_datadir}/locale DESTDIR=$RPM_BUILD_ROOT mv $RPM_BUILD_ROOT%{_bindir}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}-x11 install -m 755 xblast-sdl $RPM_BUILD_ROOT%{_bindir} -install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/%{name} +install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6 install -m 644 %{name}.man $RPM_BUILD_ROOT%{_mandir}/man6/%{name}.6 # below is the desktop file and icon stuff. mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -desktop-file-install \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ - %{SOURCE2} +desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE2} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps -install -p -m 644 %{SOURCE1} \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps - - -%post common -touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun common -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/icons/hicolor &>/dev/null - gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans common -gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps +install -p -m 644 %{SOURCE3} \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png +install -p -m 644 %{SOURCE4} \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png +install -p -m 644 %{SOURCE5} \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png +mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata +install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/appdata +appstream-util validate-relax --nonet \ + $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml %files @@ -113,14 +110,84 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{_bindir}/xbsndsrv %files -f %{name}.lang common -%doc AUTHORS ChangeLog COPYING README NEWS +%doc AUTHORS README +%license COPYING %{_bindir}/%{name} %{_mandir}/man6/%{name}.6.gz -%{_datadir}/icons/hicolor/48x48/apps/%{name}.png +%{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 2.10.4-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 2.10.4-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jul 26 2024 Miroslav Suchý - 2.10.4-41 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 2.10.4-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 2.10.4-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 2.10.4-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.10.4-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.10.4-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 16 2022 Hans de Goede - 2.10.4-35 +- Fix xblast-x11 crashing with BadFont error after using xblast-sdl (#2107144) + +* Sat Jan 22 2022 Fedora Release Engineering - 2.10.4-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 2.10.4-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 2.10.4-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 2.10.4-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Mar 4 2020 Hans de Goede - 2.10.4-30 +- Fix xblast not starting because of dejavu-sans-fonts path changes +- Replace 128x128 icon with a better version +- Add 32x32 and 48x48 icons for cases where we need a lower res icon + +* Wed Feb 19 2020 Hans de Goede - 2.10.4-29 +- Fix FTBFS (rhbz#1800265) +- Replace icon with 128x128 pixel version +- Add appdata +- Change font Requires to font(dejavusans) instead of a file-path (rhbz#1731705) + +* Fri Jan 31 2020 Fedora Release Engineering - 2.10.4-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2.10.4-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2.10.4-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 2.10.4-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2.10.4-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 18 2018 Igor Gnatenko - 2.10.4-23 +- Remove obsolete scriptlets + * Thu Aug 03 2017 Fedora Release Engineering - 2.10.4-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild