diff --git a/.gitignore b/.gitignore index 04aa4be..3976a2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ allegro-4.2.3.tar.gz /allegro-4.4.2.tar.gz +/allegro-4.4.3.tar.gz +/allegro-4.4.3.1.tar.gz diff --git a/allegro-4.2.3-pack-formatstring.patch b/allegro-4.2.3-pack-formatstring.patch deleted file mode 100644 index ea6188f..0000000 --- a/allegro-4.2.3-pack-formatstring.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up allegro-4.2.3/tools/pack.c~ allegro-4.2.3/tools/pack.c ---- allegro-4.2.3/tools/pack.c~ 2006-05-20 16:49:58.000000000 +0200 -+++ allegro-4.2.3/tools/pack.c 2010-12-30 11:20:42.425231307 +0100 -@@ -42,7 +42,7 @@ static void err(char *s1, char *s2) - printf(": %s", s1); - - if (s2) -- printf(s2); -+ printf("%s", s2); - - printf("\n"); - diff --git a/allegro-4.4.2-compat-fix-aliases.patch b/allegro-4.4.2-compat-fix-aliases.patch new file mode 100644 index 0000000..88164cb --- /dev/null +++ b/allegro-4.4.2-compat-fix-aliases.patch @@ -0,0 +1,27 @@ +--- a/include/allegro/alcompat.h ++++ b/include/allegro/alcompat.h +@@ -40,6 +40,24 @@ + #endif + #endif + ++ #ifdef ALLEGRO_FIX_ALIASES ++ AL_ALIAS(fixed fadd(fixed x, fixed y), fixadd(x, y)) ++ AL_ALIAS(fixed fsub(fixed x, fixed y), fixsub(x, y)) ++ AL_ALIAS(fixed fmul(fixed x, fixed y), fixmul(x, y)) ++ AL_ALIAS(fixed fdiv(fixed x, fixed y), fixdiv(x, y)) ++ AL_ALIAS(int fceil(fixed x), fixceil(x)) ++ AL_ALIAS(int ffloor(fixed x), fixfloor(x)) ++ AL_ALIAS(fixed fcos(fixed x), fixcos(x)) ++ AL_ALIAS(fixed fsin(fixed x), fixsin(x)) ++ AL_ALIAS(fixed ftan(fixed x), fixtan(x)) ++ AL_ALIAS(fixed facos(fixed x), fixacos(x)) ++ AL_ALIAS(fixed fasin(fixed x), fixasin(x)) ++ AL_ALIAS(fixed fatan(fixed x), fixatan(x)) ++ AL_ALIAS(fixed fatan2(fixed y, fixed x), fixatan2(y, x)) ++ AL_ALIAS(fixed fsqrt(fixed x), fixsqrt(x)) ++ AL_ALIAS(fixed fhypot(fixed x, fixed y), fixhypot(x, y)) ++ #endif ++ + #endif /* !defined ALLEGRO_SRC */ + + diff --git a/allegro-4.4.2-doc-install.patch b/allegro-4.4.2-doc-install.patch deleted file mode 100644 index 06f138c..0000000 --- a/allegro-4.4.2-doc-install.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up allegro-4.4.2/docs/CMakeLists.txt~ allegro-4.4.2/docs/CMakeLists.txt ---- allegro-4.4.2/docs/CMakeLists.txt~ 2009-10-31 00:05:30.000000000 +0100 -+++ allegro-4.4.2/docs/CMakeLists.txt 2011-07-12 11:24:06.604309215 +0200 -@@ -8,7 +8,7 @@ if(NOT WANT_DOCS OR CMAKE_CROSSCOMPILING - return() - endif() - --set(DOCDIR "doc" CACHE STRING "Install docs into $DOCDIR/allegro-$VERSION") -+set(DOCDIR "share/doc" CACHE STRING "Install docs into $DOCDIR/allegro-$VERSION") - set(ACTUAL_DOC_DIR "${DOCDIR}/allegro-${ALLEGRO_VERSION}") - - add_executable(makedoc -@@ -156,7 +156,7 @@ endif(UNIX) - # - - option(WANT_DOCS_MAN "Generate man pages" on) --set(MANDIR "man" CACHE STRING "Install man pages into this directory") -+set(MANDIR "share/man" CACHE STRING "Install man pages into this directory") - - if(WANT_DOCS_MAN) - set(man_out ${CMAKE_CURRENT_BINARY_DIR}/man/allegro_init.3) -@@ -187,7 +187,7 @@ endif(WANT_DOCS_MAN) - option(WANT_DOCS_INFO "Generate Info document" on) - find_program(MAKEINFO NAMES makeinfo) - mark_as_advanced(MAKEINFO) --set(INFODIR "info" CACHE STRING "Install Info docs into this directory") -+set(INFODIR "share/info" CACHE STRING "Install Info docs into this directory") - - if(WANT_DOCS_INFO AND MAKEINFO) - set(texi_out ${CMAKE_CURRENT_BINARY_DIR}/texi/allegro.texi) diff --git a/allegro-4.4.2-doc-noversion.patch b/allegro-4.4.2-doc-noversion.patch index b75d7ac..38b3f9d 100644 --- a/allegro-4.4.2-doc-noversion.patch +++ b/allegro-4.4.2-doc-noversion.patch @@ -7,8 +7,8 @@ diff -up allegro-4.4.2/docs/CMakeLists.txt~ allegro-4.4.2/docs/CMakeLists.txt -set(DOCDIR "doc" CACHE STRING "Install docs into $DOCDIR/allegro-$VERSION") -set(ACTUAL_DOC_DIR "${DOCDIR}/allegro-${ALLEGRO_VERSION}") -+set(DOCDIR "share/doc" CACHE STRING "Install docs into $DOCDIR/allegro") -+set(ACTUAL_DOC_DIR "${DOCDIR}/allegro") ++set(DOCDIR "doc" CACHE STRING "Install docs into $DOCDIR") ++set(ACTUAL_DOC_DIR "${DOCDIR}") add_executable(makedoc src/makedoc/makedoc.c diff --git a/allegro-4.4.2-dynamic-addons.patch b/allegro-4.4.2-dynamic-addons.patch deleted file mode 100644 index 262c763..0000000 --- a/allegro-4.4.2-dynamic-addons.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up allegro-4.4.2/CMakeLists.txt~ allegro-4.4.2/CMakeLists.txt ---- allegro-4.4.2/CMakeLists.txt~ 2011-03-25 00:18:50.000000000 +0100 -+++ allegro-4.4.2/CMakeLists.txt 2011-07-12 11:03:07.975383245 +0200 -@@ -907,11 +907,7 @@ option(WANT_LOADPNG "Enable loadpng" on) - option(WANT_LOGG "Enable logg" on) - option(WANT_JPGALLEG "Enable JPGAlleg" on) - --if(WANT_FRAMEWORKS) -- set(ADDON_LINKAGE SHARED) --else() -- set(ADDON_LINKAGE STATIC) --endif() -+set(ADDON_LINKAGE SHARED) - - if(WANT_ALLEGROGL) - add_subdirectory(addons/allegrogl) diff --git a/allegro-4.4.3-dat2c-buffer-overflow.patch b/allegro-4.4.3-dat2c-buffer-overflow.patch new file mode 100644 index 0000000..118fd4d --- /dev/null +++ b/allegro-4.4.3-dat2c-buffer-overflow.patch @@ -0,0 +1,32 @@ +tools/dat2c: Fix a buffer overlow + +When prefix is set and datafile_name is not set then +strlen(prefix) + 6 bytes are necessary, not strlen(prefix) 5, +because then we get: "$(prefix)_data\0" which requires 6 bytes +extra for "_data\0". + +This fixes dat2c crashing like this: + + dat2c mbdata.dat -o mbdata.c -h mbdata.h -p mb -g + *** buffer overflow detected ***: terminated + make: *** [Makefile:45: mbdata.c] Aborted (core dumped) + +When compiled with a recent gcc version + a high FORTIFY_SOURCE setting. + +Link: https://bugzilla.redhat.com/show_bug.cgi?id=2225996 +diff -up allegro-4.4.3.1/tools/dat2c.c~ allegro-4.4.3.1/tools/dat2c.c +--- allegro-4.4.3.1/tools/dat2c.c~ 2019-03-04 02:30:11.000000000 +0100 ++++ allegro-4.4.3.1/tools/dat2c.c 2023-07-26 20:12:52.250765448 +0200 +@@ -1641,9 +1641,10 @@ int do_conversion(struct dat2c *dat2c) + int result = 0; + char *prefixed_name = 0; + +- prefixed_name = malloc(5 + ++ /* 2 for '_' + '\0' */ ++ prefixed_name = malloc(2 + + (dat2c->prefix ? (signed)strlen(dat2c->prefix) : 0) + +- (dat2c->datafile_name ? (signed)strlen(dat2c->datafile_name) : 0)); ++ (dat2c->datafile_name ? (signed)strlen(dat2c->datafile_name) : 4)); + if (!prefixed_name) + out_of_memory(); + sprintf(prefixed_name, "%s%s%s", diff --git a/allegro-4.4.3-datafile-double-free.patch b/allegro-4.4.3-datafile-double-free.patch new file mode 100644 index 0000000..9958b7c --- /dev/null +++ b/allegro-4.4.3-datafile-double-free.patch @@ -0,0 +1,14 @@ +Fix double free in load_file_object + +unload_datafile already calls _AL_FREE. +diff -up allegro-4.4.3/src/datafile.c~ allegro-4.4.3/src/datafile.c +--- allegro-4.4.3/src/datafile.c~ 2019-02-25 23:33:13.000000000 +0100 ++++ allegro-4.4.3/src/datafile.c 2019-02-25 23:39:39.320622137 +0100 +@@ -1348,7 +1348,6 @@ static void *load_file_object(PACKFILE * + /* gracefully handle failure */ + if (failed) { + unload_datafile(dat); +- _AL_FREE(dat); + dat = NULL; + } + diff --git a/allegro-4.4.3-texinfo-non-utf8-input-fix.patch b/allegro-4.4.3-texinfo-non-utf8-input-fix.patch new file mode 100644 index 0000000..30d8f27 --- /dev/null +++ b/allegro-4.4.3-texinfo-non-utf8-input-fix.patch @@ -0,0 +1,11 @@ +diff -up allegro-4.4.3/docs/src/allegro._tx.orig allegro-4.4.3/docs/src/allegro._tx +--- allegro-4.4.3/docs/src/allegro._tx.orig 2019-02-02 20:28:46.000000000 +0100 ++++ allegro-4.4.3/docs/src/allegro._tx 2019-11-04 11:12:39.352699777 +0100 +@@ -23,6 +23,7 @@ + @man_shortdesc_force1=allegro + @man_shortdesc_force2=Allegro game programming library. + @$\input texinfo ++@$@documentencoding ISO-8859-1 + @$@setfilename allegro.inf + @$@settitle Allegro Manual + @$@setchapternewpage odd diff --git a/allegro.rpmlintrc b/allegro.rpmlintrc new file mode 100644 index 0000000..bb33462 --- /dev/null +++ b/allegro.rpmlintrc @@ -0,0 +1,7 @@ +# Some of our sub-packages do not contain docs +addFilter("W: no-documentation") +# Some of our tools do not have a manpage +addFilter("W: no-manual-page-for-binary .*") +# Ignore warnings about some manpages being shared between functions +addFilter("W: files-duplicate /usr/share/man/man3/.*") +addFilter("W: package-with-huge-docs.*") diff --git a/allegro.spec b/allegro.spec index 3e6e0fd..8005301 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,12 +1,6 @@ -%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 -%define _maindocdir %{_docdir}/%{name} -%else -%define _maindocdir %{_docdir}/%{name}-%{version} -%endif - Name: allegro -Version: 4.4.2 -Release: 13%{?dist} +Version: 4.4.3.1 +Release: 19%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -14,23 +8,33 @@ Summary(fr): Une librairie de programmation de jeux Summary(it): Una libreria per la programmazione di videogiochi Summary(cs): Knihovna pro programování her -Group: System Environment/Libraries License: Giftware -URL: http://alleg.sourceforge.net/ -Source: http://downloads.sourceforge.net/alleg/allegro-%{version}.tar.gz +URL: http://liballeg.org/ +Source0: https://github.com/liballeg/allegro5/releases/download/%{version}/allegro-%{version}.tar.gz Patch1: allegro-4.0.3-cfg.patch Patch2: allegro-4.0.3-libdir.patch -Patch3: allegro-4.2.3-pack-formatstring.patch -Patch4: allegro-4.4.2-dynamic-addons.patch Patch5: allegro-4.4.2-buildsys-fix.patch Patch6: allegro-4.4.2-doc-noversion.patch -Patch7: allegro-4.4.2-doc-install.patch # Replace racy recursive mutex implementation with proper recursive mutexes Patch8: allegro-4.4.2-mutex-fix.patch # Calling Xsync from the bg thread causes deadlock issues Patch9: allegro-4.4.2-no-xsync-from-thread.patch # gnome-shell starts apps while gnome-shell has the keyb grabbed... Patch10: allegro-4.4.2-keybgrab-fix.patch +# 4.4.3 has dropped the fadd/fsub etc aliases, but some apps need them +Patch11: allegro-4.4.2-compat-fix-aliases.patch +# 4.4.3 accidentally broke the tools, fix them (rhbz1682921) +Patch12: allegro-4.4.3-datafile-double-free.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1767827 +# starting texinfo-6.7 the default encoding is UTF-8 and because allegro's +# source .texi file is encoded in ISO-8859-1, additional command is needed +Patch13: allegro-4.4.3-texinfo-non-utf8-input-fix.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2225996 +# Fix a buffer overflow in dat2c tool causing FTBFS of allegro using packages +Patch14: allegro-4.4.3-dat2c-buffer-overflow.patch + +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -65,11 +69,8 @@ Summary(es): Una libreria de programacion de juegos Summary(fr): Une librairie de programmation de jeux Summary(it): Una libreria per la programmazione di videogiochi Summary(cs): Knihovna pro programování her -Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release}, xorg-x11-proto-devel Requires: libX11-devel, libXcursor-devel -Requires(post): /sbin/install-info -Requires(preun): /sbin/install-info %description devel Allegro is a cross-platform library intended for use in computer games @@ -103,7 +104,6 @@ Summary(es): Herramientas adicionales para la librería de programación Alle Summary(fr): Outils supplémentaires pour la librairie de programmation Allegro Summary(it): Programmi di utilità aggiuntivi per la libreria Allegro Summary(cs): Přídavné nástroje pro programovou knihovnu Allegro -Group: Development/Tools Requires: %{name}%{?_isa} = %{version}-%{release} @@ -137,7 +137,6 @@ které jsou užitečné pro vývoj Allegro programů. %package jack-plugin Summary: Allegro JACK (Jack Audio Connection Kit) plugin -Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description jack-plugin @@ -147,8 +146,7 @@ sound through JACK (Jack Audio Connection Kit). %package -n alleggl Summary: OpenGL support library for Allegro -Group: System Environment/Libraries -License: zlib or GPL+ +License: Zlib OR GPL-1.0-or-later URL: http://allegrogl.sourceforge.net/ Requires: %{name}%{?_isa} = %{version}-%{release} @@ -161,8 +159,7 @@ that things like glut do. %package -n alleggl-devel Summary: Development files for alleggl -Group: Development/Libraries -License: zlib or GPL+ +License: Zlib OR GPL-1.0-or-later Requires: alleggl%{?_isa} = %{version}-%{release} %description -n alleggl-devel @@ -172,19 +169,17 @@ developing applications that use alleggl. %package -n jpgalleg Summary: JPEG library for the Allegro game library -Group: System Environment/Libraries -License: zlib +License: Zlib URL: http://www.ecplusplus.com/index.php?page=projects&pid=1 Requires: %{name}%{?_isa} = %{version}-%{release} %description -n jpgalleg -jpgalleg is a jpeg library for use with the Allegro game library. It allows -using jpeg's as Allegro bitmaps. +jpgalleg is a JPEG library for use with the Allegro game library. It allows +using JPEG's as Allegro bitmaps. %package -n jpgalleg-devel Summary: Development files for jpgalleg -Group: Development/Libraries -License: zlib +License: Zlib Requires: jpgalleg%{?_isa} = %{version}-%{release} %description -n jpgalleg-devel @@ -194,8 +189,7 @@ developing applications that use jpgalleg. %package loadpng Summary: OGG/Vorbis library for the Allegro game library -Group: System Environment/Libraries -License: Public Domain +License: LicenseRef-Fedora-Public-Domain URL: http://wiki.allegro.cc/index.php?title=LoadPNG Requires: %{name}%{?_isa} = %{version}-%{release} @@ -205,8 +199,7 @@ save bitmaps from Allegro programs. %package loadpng-devel Summary: Development files for loadpng -Group: Development/Libraries -License: Public Domain +License: LicenseRef-Fedora-Public-Domain Requires: %{name}-loadpng%{?_isa} = %{version}-%{release} %description loadpng-devel @@ -216,9 +209,7 @@ developing applications that use loadpng. %package logg Summary: OGG/Vorbis library for the Allegro game library -Group: System Environment/Libraries License: MIT -URL: http://trent.gamblin.ca/logg/ Requires: %{name}%{?_isa} = %{version}-%{release} %description logg @@ -226,7 +217,6 @@ LOGG is an Allegro add-on library for playing OGG/Vorbis audio files. %package logg-devel Summary: Development files for logg -Group: Development/Libraries License: MIT Requires: %{name}-logg%{?_isa} = %{version}-%{release} @@ -236,108 +226,98 @@ developing applications that use logg. %prep -%setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 -%patch6 -p1 -%else -%patch7 -p1 -%endif -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 - +%autosetup -p1 %build -%cmake -make %{?_smp_mflags} +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +%cmake \ +%if "%{?_lib}" == "lib64" + %{?_cmake_lib_suffix64} \ +%endif + -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ + -DDOCDIR:STRING=%{_pkgdocdir} -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE +%cmake_build +pushd %{_vpath_builddir} # Converting text documentation to UTF-8 encoding. -for f in docs/AUTHORS docs/CHANGES docs/THANKS \ +for file in docs/AUTHORS docs/CHANGES docs/THANKS \ docs/info/*.info docs/txt/*.txt docs/man/get_camera_matrix.3 \ - addons/allegrogl/changelog; do - dirname=$(dirname "$f"); - basename=$(basename "$f"); - tmppath="${dirname}/${basename}.tmp"; - iconv -f 'iso-8859-1' -t 'utf-8' "$f" > "$tmppath"; - mv "$tmppath" "$f"; + ../addons/allegrogl/changelog; do + iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \ + touch -r $file $file.new && \ + mv $file.new $file done - +popd %install -make install DESTDIR=$RPM_BUILD_ROOT +%cmake_install + +pushd %{_vpath_builddir} # installation of these is broken, because they use a cmake GLOB, but # that gets "resolved" when runnning cmake, and at that time the files # to install aren't generated yet ... mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3 -mkdir -p $RPM_BUILD_ROOT%{_maindocdir}/html +mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/html install -p -m 644 docs/man/*.3 $RPM_BUILD_ROOT%{_mandir}/man3 install -p -m 644 docs/html/*.{html,css} \ - $RPM_BUILD_ROOT%{_maindocdir}/html + $RPM_BUILD_ROOT%{_pkgdocdir}/html/ +install -m 755 docs/makedoc $RPM_BUILD_ROOT%{_bindir}/allegro-makedoc +popd + # Install some extra files install -Dpm 644 allegro.cfg $RPM_BUILD_ROOT%{_sysconfdir}/allegrorc install -pm 755 tools/x11/xfixicon.sh $RPM_BUILD_ROOT%{_bindir} -install -m 755 docs/makedoc $RPM_BUILD_ROOT%{_bindir}/allegro-makedoc install -dm 755 $RPM_BUILD_ROOT%{_datadir}/allegro install -pm 644 keyboard.dat language.dat $RPM_BUILD_ROOT%{_datadir}/allegro install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 +mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/allegrogl +install -pm 644 addons/allegrogl/changelog addons/allegrogl/faq.txt \ + addons/allegrogl/readme.txt addons/allegrogl/bugs.txt \ + addons/allegrogl/extensions.txt addons/allegrogl/howto.txt addons/allegrogl/quickstart.txt \ + addons/allegrogl/todo.txt $RPM_BUILD_ROOT%{_pkgdocdir}/allegrogl/ -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/loadpng +install -pm 644 addons/loadpng/CHANGES.txt addons/loadpng/README.txt addons/loadpng/THANKS.txt \ + $RPM_BUILD_ROOT%{_pkgdocdir}/loadpng/ -%post devel -/sbin/install-info %{_infodir}/allegro.info %{_infodir}/dir 2>/dev/null || : +mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg +install -pm 644 addons/jpgalleg/readme.txt \ + $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg/ -%preun devel -if [ $1 -eq 0 ] ; then - /sbin/install-info --delete %{_infodir}/allegro.info %{_infodir}/dir \ - 2>/dev/null || : -fi -%post -n alleggl -p /sbin/ldconfig -%postun -n alleggl -p /sbin/ldconfig +%ldconfig_scriptlets +%ldconfig_scriptlets -n alleggl -%post -n jpgalleg -p /sbin/ldconfig -%postun -n jpgalleg -p /sbin/ldconfig +%ldconfig_scriptlets -n jpgalleg -%post loadpng -p /sbin/ldconfig -%postun loadpng -p /sbin/ldconfig +%ldconfig_scriptlets loadpng -%post logg -p /sbin/ldconfig -%postun logg -p /sbin/ldconfig +%ldconfig_scriptlets logg %files -%doc %{_maindocdir}/AUTHORS -%doc %{_maindocdir}/CHANGES -%doc %{_maindocdir}/THANKS -%doc %{_maindocdir}/addons.txt -%doc %{_maindocdir}/faq.txt -%doc %{_maindocdir}/license.txt -%doc %{_maindocdir}/readme.txt +%{_pkgdocdir}/ +%exclude %{_pkgdocdir}/dat*.txt +%exclude %{_pkgdocdir}/grabber.txt +%exclude %{_pkgdocdir}/allegrogl +%exclude %{_pkgdocdir}/jpgalleg +%exclude %{_pkgdocdir}/loadpng +%exclude %{_pkgdocdir}/loadpng +%license %{_pkgdocdir}/license.txt %config(noreplace) %{_sysconfdir}/allegrorc %{_libdir}/liballeg.so.4* -%{_libdir}/allegro %{_datadir}/allegro -%exclude %{_libdir}/allegro/%{version}/alleg-jack.so +# We cannot use exclude for alleg-jack.so because then the build-id for it +# still ends up in the main allegro package, e.g. rpmlint says: +# allegro.x86_64: W: dangling-relative-symlink /usr/lib/.build-id/48/024a0ddad02d9c6f4b956fb18f20d4a0bfde41 ../../../../usr/lib64/allegro/4.4.3/alleg-jack.so +%dir %{_libdir}/allegro +%dir %{_libdir}/allegro/4.4.3 +%{_libdir}/allegro/4.4.3/alleg-alsa*.so +%{_libdir}/allegro/4.4.3/alleg-dga2.so +%{_libdir}/allegro/4.4.3/modules.lst %files devel -%doc %{_maindocdir}/abi.txt -%doc %{_maindocdir}/ahack.txt -%doc %{_maindocdir}/allegro.txt -%doc %{_maindocdir}/api.txt -%doc %{_maindocdir}/const.txt -%doc %{_maindocdir}/faq.txt -%doc %{_maindocdir}/help.txt -%doc %{_maindocdir}/html -%doc %{_maindocdir}/makedoc.txt -%doc %{_maindocdir}/mistakes.txt -%doc %{_maindocdir}/packfile.txt %{_bindir}/allegro-config %{_bindir}/allegro-makedoc %{_libdir}/liballeg.so @@ -350,8 +330,8 @@ fi %{_mandir}/man3/* %files tools -%doc %{_maindocdir}/dat*.txt -%doc %{_maindocdir}/grabber.txt +%{_pkgdocdir}/dat*.txt +%{_pkgdocdir}/grabber.txt %{_bindir}/colormap %{_bindir}/dat %{_bindir}/dat2s @@ -365,41 +345,33 @@ fi %{_bindir}/xfixicon.sh %files jack-plugin -%{_libdir}/allegro/%{version}/alleg-jack.so +%{_libdir}/allegro/4.4.3/alleg-jack.so %files -n alleggl -%doc addons/allegrogl/changelog -%doc addons/allegrogl/faq.txt -%doc addons/allegrogl/gpl.txt -%doc addons/allegrogl/readme.txt -%doc addons/allegrogl/zlib.txt +%license addons/allegrogl/gpl.txt +%license addons/allegrogl/zlib.txt %{_libdir}/liballeggl.so.4* %files -n alleggl-devel -%doc addons/allegrogl/bugs.txt -%doc addons/allegrogl/extensions.txt -%doc addons/allegrogl/howto.txt -%doc addons/allegrogl/quickstart.txt -%doc addons/allegrogl/todo.txt +%{_pkgdocdir}/allegrogl/ %{_libdir}/liballeggl.so %{_libdir}/pkgconfig/allegrogl.pc %{_includedir}/alleggl.h %{_includedir}/allegrogl %files -n jpgalleg -%doc addons/jpgalleg/license.txt -%doc addons/jpgalleg/readme.txt +%license addons/jpgalleg/license.txt %{_libdir}/libjpgalleg.so.4* %files -n jpgalleg-devel +%{_pkgdocdir}/jpgalleg/ %{_libdir}/libjpgalleg.so %{_libdir}/pkgconfig/jpgalleg.pc %{_includedir}/jpgalleg.h %files loadpng -%doc addons/loadpng/CHANGES.txt -%doc addons/loadpng/README.txt -%doc addons/loadpng/THANKS.txt +%license addons/loadpng/LICENSE.txt +%{_pkgdocdir}/loadpng/ %{_libdir}/libloadpng.so.4* %files loadpng-devel @@ -408,7 +380,7 @@ fi %{_includedir}/loadpng.h %files logg -%doc addons/logg/LICENSE.txt +%license addons/logg/LICENSE.txt %{_libdir}/liblogg.so.4* %files logg-devel @@ -418,305 +390,65 @@ fi %changelog -* Tue Jun 23 2015 Hans de Goede - 4.4.2-13 -- Fix allegro apps which start fullscreen failing to start from gnome-shell - with a "Can not grab keyboard" error message +* Fri Jan 16 2026 Fedora Release Engineering - 4.4.3.1-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild -* Tue Jun 16 2015 Fedora Release Engineering - 4.4.2-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild +* Wed Jul 23 2025 Fedora Release Engineering - 4.4.3.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild -* Wed Oct 29 2014 Hans de Goede - 4.4.2-11 -- Replace racy recursive mutex implementation with proper recursive mutexes -- Use XPending instead of XSync + XeventsQueued to avoid a deadlock +* Thu Jul 17 2025 Cristian Le - 4.4.3.1-17 +- Add LIB_SUFFIX flag explicitly (rhbz#2381173) -* Fri Aug 15 2014 Fedora Release Engineering - 4.4.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild +* Fri May 30 2025 Cristian Le - 4.4.3.1-16 +- Allow to build with CMake 4.0 -* Sat Jun 07 2014 Fedora Release Engineering - 4.4.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild +* Thu Jan 16 2025 Fedora Release Engineering - 4.4.3.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild -* Sun Sep 15 2013 Hans de Goede - 4.4.2-8 -- Fix docdir for unversioned docdir F-20 change (rhbz#993664) +* Wed Jul 17 2024 Fedora Release Engineering - 4.4.3.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild -* Sat Aug 03 2013 Fedora Release Engineering - 4.4.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild +* Mon Jan 22 2024 Fedora Release Engineering - 4.4.3.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Mon Apr 29 2013 Hans de Goede - 4.4.2-6 -- Add /usr/share/aclocal/allegro.m4 to -devel package +* Fri Jan 19 2024 Fedora Release Engineering - 4.4.3.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Wed Feb 13 2013 Fedora Release Engineering - 4.4.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild +* Wed Jul 26 2023 Hans de Goede - 4.4.3.1-11 +- Fix dat2c bug causing FTBFS of allegro using packages (rhbz#2225996) +- Trim changelog -* Wed Jul 18 2012 Fedora Release Engineering - 4.4.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild +* Wed Jul 19 2023 Fedora Release Engineering - 4.4.3.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild -* Thu Jan 12 2012 Fedora Release Engineering - 4.4.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild +* Wed Jan 18 2023 Fedora Release Engineering - 4.4.3.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild -* Tue Nov 15 2011 Peter Robinson 4.4.2-2 -- Make pre/post dependencies for all non i686 arches sane +* Wed Jul 20 2022 Fedora Release Engineering - 4.4.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild -* Tue Jul 12 2011 Hans de Goede 4.4.2-1 -- New upstream release -- Partially based on spec file update by Brandon McCaig -- Drop a number of no longer relevant patches -- Now comes with alleggl, jpgalleg, loadpng and logg bundled +* Wed Jan 19 2022 Fedora Release Engineering - 4.4.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild -* Mon Feb 07 2011 Fedora Release Engineering - 4.2.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild +* Wed Jul 21 2021 Fedora Release Engineering - 4.4.3.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild -* Fri Jan 7 2011 Hans de Goede 4.2.3-4 -- Fix a format string bug in the pack utility reported on bugtraq - (but without security implications) +* Mon Jan 25 2021 Fedora Release Engineering - 4.4.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild -* Thu Sep 9 2010 Hans de Goede 4.2.3-3 -- Fix FTBFS (#631099) +* Fri Jul 31 2020 Fedora Release Engineering - 4.4.3.1-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild -* Mon Jun 21 2010 Hans de Goede 4.2.3-2 -- Fix multilib conflict in -devel (#603836) +* Mon Jul 27 2020 Fedora Release Engineering - 4.4.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild -* Mon Oct 5 2009 Jindrich Novy 4.2.3-1 -- update to 4.2.3 +* Tue Jan 28 2020 Fedora Release Engineering - 4.4.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild -* Thu Sep 10 2009 Hans de Goede 4.2.2-14 -- Fix (workaround) viewport issues in fullscreen mode (#522116) - -* Fri Jul 24 2009 Fedora Release Engineering - 4.2.2-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon Feb 23 2009 Fedora Release Engineering - 4.2.2-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sun Jan 25 2009 Hans de Goede 4.2.2-11 -- Fix wrong file path in semanage call in scriptlets (#481407) - -* Mon May 5 2008 Hans de Goede 4.2.2-10 -- Look for /etc/timidity.cfg instead of /usr/share/timidity/timidity.cfg, - as the latter is no longer available now that Fedora has switched from - timidity++-patches to PersonalCopy-Lite-patches - -* Tue Apr 1 2008 Hans de Goede 4.2.2-9 -- Fix i386 asm code compilation with latest binutils -- Remove -fomit-frame-pointer from the compile flags of the default build, so - that we get a usefull debuginfo even for the normal (non debug/profile) lib - -* Tue Feb 19 2008 Fedora Release Engineering - 4.2.2-8 -- Autorebuild for GCC 4.3 - -* Mon Jan 21 2008 Hans de Goede 4.2.2-7 -- Add makedoc utility to allegro-devel as allegro-makedoc (bz 429450) -- Fix sound when using pulseaudio -- Fix compilation of inline asm with gcc 4.3 - -* Sun Oct 14 2007 Hans de Goede 4.2.2-6 -- Require timidity++-patches instead of timidity++ itself so that we don't - drag in arts and through arts, qt and boost -- Add BuildRequires: glib2-devel to workaround RH bug 331841 - -* Wed Aug 22 2007 Hans de Goede 4.2.2-5 -- Update to pristine upstream sources instead of using allegro.cc pre-release - -* Tue Aug 21 2007 Hans de Goede 4.2.2-4 -- Rebuild for buildId - -* Sun Aug 12 2007 Hans de Goede 4.2.2-3 -- Enable building of JACK (Jack Audio Connection Kit) sound output plugin -- Put non default sound output plugins in their own subpackage to avoid - dragging in unwanted deps (allegro-esound-plugin, allegro-arts-plugin, - allegro-jack-plugin) (bz 250736) -- Make man pages and info file UTF-8 - -* Tue Jul 24 2007 Hans de Goede 4.2.2-2 -- sync .libdir patch to 4.2.2 and use it again for multilib devel goodness - (make allegro-devel i386 and x86_64 parallel installable again) - -* Mon Jul 23 2007 Jindrich Novy 4.2.2-1 -- update to 4.2.2 -- drop .libdir patch -- sync .multilib patch - -* Fri Jul 6 2007 Hans de Goede 4.2.1-3 -- Silence output of chcon command in %%post, because otherwise users get this: - "chcon: can't apply partial context to unlabeled file" when installing with - selinux disabled (bz 246820) - -* Fri Dec 22 2006 Hans de Goede 4.2.1-2 -- Restore multilib devel goodness patch (make allegro-devel i386 and x86_64 - parallel installable) -- Restore execstack patch so that binaries linked against allegro do not - require an execstack and thus work under selinux (without this - liballeg_unshareable.a contains object files which require an executable - stack which will end up in any app linked against allegro) -- Make alleg-dga2.so plugin 100% PIC so it can load with selinux enabled -- Mark alleg-vga.so plugin as textrel_shlib_t as it isn't 100% PIC and cannot - be fixed (easily) to be 100% PIC - -* Tue Nov 28 2006 Jindrich Novy 4.2.1-1 -- update to 4.2.1 - -* Sun Oct 15 2006 Hans de Goede 4.2.0-18 -- Multilib devel goodness (make allegro-devel i386 and x86_64 parallel - installable) - -* Sat Sep 2 2006 Hans de Goede 4.2.0-17 -- FE6 Rebuild - -* Fri Jul 14 2006 Hans de Goede 4.2.0-16 -- Don't package the main allegro lib in -devel as its already in the main - package, iow only put the debug and profile versions -devel. - -* Thu Jul 6 2006 Hans de Goede 4.2.0-15 -- Stop allegro from making applications linked against it claim that they - need an executable stack (Patch11). Unfortunatly this requires a rebuild of - all applications linked against allegro. - -* Mon Jun 26 2006 Jindrich Novy 4.2.0-14 -- compile alld and allp debuging/profiling libraries (#196616) -- fix typo in release caused by recent changes - -* Sat Jun 10 2006 Hans de Goede 4.2.0-13 -- Add autoconf BR for missing autoheader with the new mock config. - -* Tue Mar 21 2006 Hans de Goede 4.2.0-12 -- Sleep in xwindows vsync emulation, instead of busy waiting. -- Add %%{dist} to Release - -* Mon Mar 13 2006 Hans de Goede 4.2.0-11 -- really, _really_ fix asm stretch code on i386 with NX processors, long - story see bugzilla bug 185214 . - -* Sat Mar 11 2006 Hans de Goede 4.2.0-10 -- really fix asm stretch code on i386 with NX processors, on OpenBSD mprotects - first argument does not need to be page-aligned, but on Linux it does. - Note that for this to work you may also need to disable selinux (rh 185214) - -* Wed Mar 8 2006 Hans de Goede 4.2.0-9 -- fix fullscreen <-> window switching bug (bz 183645) -- fix asm stretch code on i386 with NX processors, thanks to openBSD. - -* Mon Feb 27 2006 Hans de Goede 4.2.0-8 -- fix sound not working on PPC (bz 183112) -- fix allegro not finding and loading plugins/modules on x86_64 (bz 183113) - -* Wed Feb 8 2006 Jindrich Novy 4.2.0-7 -- set timidity++ as Requires instead of BuildRequires - -* Tue Feb 7 2006 Jindrich Novy 4.2.0-6 -- fix digmid loading of timidity midi patches (#180154) - -* Wed Jan 25 2006 Jindrich Novy 4.2.0-5 -- update default allegro configuration to use sound successfully, - thanks to Hans de Goede (#178383) -- add timidity++ dependency - -* Mon Jan 23 2006 Hans de Goede 4.2.0-4 -- add allegro-4.2.0-nostrip.patch, so that the main .so file - doesn't get stripped and we actually get debuginfo for it in - allegro-debuginfo - -* Fri Jan 20 2006 Hans de Goede 4.2.0-3 -- update / fix BuildRequires for modular X (bz 178245) - -* Fri Dec 16 2005 Jindrich Novy 4.2.0-2 -- update dependencies for the new modular X -- disable _smp_mflags to workaround build failure caused - by bad dependencies - -* Wed May 25 2005 Jindrich Novy 4.2.0-1 -- update to 4.2.0 -- package dat2c, allegro.m4 -- replace XFree86-devel Buildrequires with xorg-x11-devel -- drop mmaptest, novga, gcc4 patches - -* Wed May 25 2005 Jindrich Novy 4.0.3-13 -- fix compilation on x86_64 (#158648) - -* Sun May 22 2005 Jeremy Katz - 4.0.3-12 -- rebuild on all arches - -* Mon May 2 2005 Jindrich Novy 0:4.0.3-11 -- fix build failures with gcc4 (#156224) -- don't use %%{name} in patch names -- add Czech translation to package description/summary - -* Thu Apr 7 2005 Michael Schwendt -- rebuilt - -* Fri Mar 4 2005 Ville Skyttä -- Split context marked dependency syntax to work around #118773. - -* Sun Feb 13 2005 Ville Skyttä - 0:4.0.3-9 -- Disable vga and vbeaf on all non-%%{ix86}. -- Fix lib paths in allegro-config for 64-bit archs. -- Use *nix commands in allegrorc's [grabber] section. - -* Sun Feb 13 2005 Ville Skyttä - 0:4.0.3-8 -- Build without vga and vbeaf on non-x86-like archs. -- Apply upstream patch to fix build without vga. - -* Fri Nov 12 2004 Ville Skyttä - 0:4.0.3-7 -- Explicitly disable svgalib for now. -- Let rpm take care of all stripping. -- Build with whatever the compiler supports, MMX and friends are detected - at runtime. -- Minor specfile style improvements. - -* Wed Nov 10 2004 Michael Schwendt - 0:4.0.3-6 -- Fix build for FC3 via fixed mmap test in configure script. - -* Mon Nov 10 2003 Ville Skyttä - 0:4.0.3-0.fdr.5 -- Use MMX/SSE where appropriate (bug 959). - -* Mon May 26 2003 Ville Skyttä - 0:4.0.3-0.fdr.4 -- Include *.so.* symlink. -- Re-introduce ldconfigs. -- *grumble* - -* Mon May 26 2003 Ville Skyttä - 0:4.0.3-0.fdr.3 -- -devel Requires XFree86-devel. - -* Mon May 26 2003 Ville Skyttä - 0:4.0.3-0.fdr.2 -- Handle --excludedocs installs gracefully. -- BuildRequires arts-devel. -- Make *.so executable so RPM groks autodependencies. -- Update to accordance with current Fedora spec template. - -* Sat Apr 26 2003 Ville Skyttä - 0:4.0.3-0.fdr.1 -- Update to 4.0.3. -- Make build honor optflags. -- Remove redundant ldconfigs. - -* Sat Apr 5 2003 Ville Skyttä - 0:4.0.3-0.fdr.0.1.rc3 -- Update to 4.0.3RC3. - -* Thu Mar 20 2003 Ville Skyttä - 0:4.0.3-0.fdr.0.1.rc2 -- Update to 4.0.3RC2, and to current Fedora guidelines. -- make -jX works again. -- Don't remove info files on -devel upgrade. - -* Wed Feb 19 2003 Warren Togami 4.0.3-0.beta2.fedora.2 -- Disable smp make flags, Makefile needs fixing - -* Wed Feb 12 2003 Ville Skyttä - 4.0.3-0.beta2.fedora.1 -- First Fedora release, based on upstream source RPM. - -* Fri Dec 07 2001 Angelo Mottola 4.0.0-1 -- added italian translation - -* Tue Oct 02 2001 Peter Wang 3.9.39-1 -- icon courtesy of Johan Peitz - -* Mon Sep 24 2001 Peter Wang -- remaining translations by Eric Botcazou and Grzegorz Adam Hankiewicz - -* Sun Sep 23 2001 Peter Wang -- translations by Eric Botcazou and Javier González -- language.dat and keyboard.dat moved to main package -- devel split into devel and tools packages -- makedoc added to tools package - -* Sun Sep 16 2001 Peter Wang -- merged Osvaldo's spec file with gfoot's spec and some other changes - -* Wed Sep 27 2000 Osvaldo Santana Neto -- updated to 3.9.33 +* Tue Nov 05 2019 Antonio Trande - 4.4.3.1-1 +- Release 4.4.3.1 +- Use %%_pkgdocdir +- Use CMake3 on epel +- Use dedicated CMake 'build' directory +- Patched for texinfo-6.7 (rhbz#1767827) diff --git a/sources b/sources index 9db2b35..d6c8d16 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4db71b0460fc99926ae91d223199c2e6 allegro-4.4.2.tar.gz +SHA512 (allegro-4.4.3.1.tar.gz) = c5a552ab710226493447eb2547b3d7559badb96f511fbefd315b665b7486013a6710c83b69363eb09f90f53ef4278fe7b90cfee88d90d88f0fe8dc7df7606729