diff --git a/foobillard-c99.patch b/foobillard-c99.patch new file mode 100644 index 0000000..f393fe3 --- /dev/null +++ b/foobillard-c99.patch @@ -0,0 +1,15 @@ +Avoid an implicit int to improve compatibility with future compilers. + +diff --git a/src/billmove.c b/src/billmove.c +index 447e31a6736fddf7..0182dc2bcad87998 100644 +--- a/src/billmove.c ++++ b/src/billmove.c +@@ -409,7 +409,7 @@ void record_move_log_event( enum event_type event, + } + + +-int my_rand(nr) ++int my_rand(int nr) + { + return rand()%nr; + } diff --git a/foobillard-configure-c99.patch b/foobillard-configure-c99.patch new file mode 100644 index 0000000..267547a --- /dev/null +++ b/foobillard-configure-c99.patch @@ -0,0 +1,18 @@ +Fix generic C99 compatibility issue in autoconf output. Newer autoconf +versions no longer generate this C fragment. + +diff --git a/configure b/configure +index 3caa19b115998588..fa9ee347ab4d20b9 100755 +--- a/configure ++++ b/configure +@@ -3555,8 +3555,8 @@ main () + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) +- exit(2); +- exit (0); ++ return 2; ++ return 0; + } + _ACEOF + rm -f conftest$ac_exeext diff --git a/foobillard.spec b/foobillard.spec index 290966d..db34bf9 100644 --- a/foobillard.spec +++ b/foobillard.spec @@ -1,10 +1,10 @@ Name: foobillard Version: 3.0a -Release: 36%{?dist} +Release: 52%{?dist} Summary: OpenGL billard game -License: GPLv2 +License: GPL-2.0-only URL: http://foobillard.sunsite.dk/ # Based on http://foobillard.sunsite.dk/dnl/foobillard-3.0a.tar.gz Source0: foobillard-3.0a-hobbled.tar.bz2 @@ -13,11 +13,15 @@ Source2: hobble-foobillard.sh Patch0: foobillard-3.0a-nonv.patch Patch1: foobillard-3.0a-no-fonts.patch Patch2: foobillard-3.0a-clothtex.patch +Patch3: foobillard-configure-c99.patch +Patch4: foobillard-c99.patch +Patch5: pointer-types.patch Requires: dejavu-sans-fonts BuildRequires: gcc BuildRequires: SDL-devel ImageMagick alsa-lib-devel BuildRequires: freetype-devel libpng-devel perl-interpreter zlib-devel freeglut-devel BuildRequires: libGL-devel libGLU-devel libX11-devel libXaw-devel libXi-devel +BuildRequires: make %description FooBillard is an attempt to create a free OpenGL-billard for Linux. @@ -26,16 +30,20 @@ FooBillard is still under development but the main physics is implemented. %prep %setup -q -n foobillard-3.0a -%patch0 -p1 -%patch1 -p1 -b .no-fonts -%patch2 -p0 -b .clothtex +%patch -P 0 -p1 +%patch -P 1 -p1 -b .no-fonts +%patch -P 2 -p0 -b .clothtex +%patch -P 3 -p1 +%patch -P 4 -p1 +%patch -P 5 -p0 %build iconv -f iso-8859-1 -t utf-8 < ChangeLog > _ mv _ ChangeLog -./configure --prefix=%{_prefix} --disable-nvidia --enable-SDL CFLAGS="${RPM_OPT_FLAGS} -DUSE_SOUND" +./configure --prefix=%{_prefix} --disable-nvidia --enable-SDL CFLAGS="${RPM_OPT_FLAGS} -DUSE_SOUND -std=gnu17" LDFLAGS="${RPM_LD_FLAGS}" make %{?_smp_mflags} -convert -resize 48 data/foobillard.png foobillard.png +convert -resize 48x48 -background transparent -gravity center -extent 48x48 data/foobillard.png foobillard.png +convert -resize 256x256 -background transparent -gravity center -extent 256x256 data/foobillard.png foobillard-256x256.png %install @@ -51,6 +59,9 @@ install -D -p -m 644 foobillard.png \ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps install -p -m 644 foobillard.png \ %{buildroot}%{_datadir}/icons/hicolor/48x48/apps +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps +install -p -m 644 foobillard-256x256.png \ + %{buildroot}%{_datadir}/icons/hicolor/256x256/apps @@ -62,10 +73,60 @@ install -p -m 644 foobillard.png \ %{_datadir}/foobillard %{_datadir}/pixmaps/foobillard.png %{_datadir}/icons/hicolor/48x48/apps/* +%{_datadir}/icons/hicolor/256x256/apps/* %{_mandir}/man6/* %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 3.0a-52 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 3.0a-51 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 3.0a-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Feb 05 2024 Gwyn Ciesla - 3.0a-49 +- Patch for stricter flags + +* Wed Jan 24 2024 Fedora Release Engineering - 3.0a-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 3.0a-47 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 3.0a-46 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Mar 08 2023 Gwyn Ciesla - 3.0a-45 +- migrated to SPDX license + +* Thu Jan 19 2023 Fedora Release Engineering - 3.0a-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 20 2022 Florian Weimer - 3.0a-43 +- Port to C99 (#2155183) + +* Fri Dec 09 2022 Kalev Lember - 3.0a-42 +- Make sure the installed icon is square +- Install an additional 256x256 px sized icon + +* Thu Jul 21 2022 Fedora Release Engineering - 3.0a-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 3.0a-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 3.0a-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Apr 02 2021 Kalev Lember - 3.0a-38 +- Honor LDFLAGS from the build system + +* Tue Jan 26 2021 Fedora Release Engineering - 3.0a-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 3.0a-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/pointer-types.patch b/pointer-types.patch new file mode 100644 index 0000000..e35ae24 --- /dev/null +++ b/pointer-types.patch @@ -0,0 +1,34 @@ +--- src/billard3d.c~ 2004-04-23 20:20:49.000000000 -0500 ++++ src/billard3d.c 2024-02-05 15:51:12.482203297 -0600 +@@ -5100,7 +5100,7 @@ + + #if __BYTE_ORDER == __BIG_ENDIAN + { +- char *snd=ball_ball_snd.data; ++ char *snd=(char *)ball_ball_snd.data; + for(i=0;itobj, 0.0, 0.0, -1.0 ); +- gluTessCallback(tessdata->tobj, GLU_TESS_BEGIN, glBegin); +- gluTessCallback(tessdata->tobj, GLU_TESS_VERTEX, my_Vertex_cb); ++ gluTessCallback(tessdata->tobj, GLU_TESS_BEGIN, (_GLUfuncptr)glBegin); ++ gluTessCallback(tessdata->tobj, GLU_TESS_VERTEX, (_GLUfuncptr)my_Vertex_cb); + gluTessCallback(tessdata->tobj, GLU_TESS_END, glEnd); + +- funcs.move_to = cb_tess_move_to; +- funcs.line_to = cb_tess_line_to; +- funcs.conic_to = cb_tess_conic_to; +- funcs.cubic_to = cb_tess_cubic_to; ++ funcs.move_to = (FT_Outline_MoveToFunc)cb_tess_move_to; ++ funcs.line_to = (FT_Outline_LineToFunc)cb_tess_line_to; ++ funcs.conic_to = (FT_Outline_ConicToFunc)cb_tess_conic_to; ++ funcs.cubic_to = (FT_Outline_CubicToFunc)cb_tess_cubic_to; + funcs.shift = 0; + funcs.delta = 0; + gluTessBeginPolygon(tessdata->tobj, NULL);