diff --git a/.gitignore b/.gitignore index 3976a2b..69b28e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ 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.0.3-libdir.patch b/allegro-4.0.3-libdir.patch index f9b7983..051555f 100644 --- a/allegro-4.0.3-libdir.patch +++ b/allegro-4.0.3-libdir.patch @@ -1,12 +1,12 @@ -diff -up allegro-4.4.2/misc/allegro-config.in~ allegro-4.4.2/misc/allegro-config.in ---- allegro-4.4.2/misc/allegro-config.in~ 2010-03-03 11:22:34.000000000 +0100 -+++ allegro-4.4.2/misc/allegro-config.in 2011-07-12 10:42:05.231457514 +0200 -@@ -19,8 +19,15 @@ exec_prefix=$prefix +diff -up allegro-4.2.2/misc/allegro-config.in.multilib2 allegro-4.2.2/misc/allegro-config.in +--- allegro-4.2.2/misc/allegro-config.in.multilib2 2007-07-22 09:45:47.000000000 +0200 ++++ allegro-4.2.2/misc/allegro-config.in 2007-07-24 21:27:21.000000000 +0200 +@@ -16,15 +16,22 @@ exec_prefix=$prefix exec_prefix_set=no include_prefix=@INCLUDE_PREFIX@ - include_path=${prefix}/include --lib_path=${exec_prefix}/lib@LIB_SUFFIX@ - bin_path=${exec_prefix}/bin + include_path=@includedir@ +-lib_path=@libdir@ + bin_path=@bindir@ +arch=$(/bin/arch) +if [ "$arch" = "x86_64" -o "$arch" = "s390x" -o "$arch" = "ppc64" \ + -o "$arch" = "ia64" ]; @@ -18,3 +18,11 @@ diff -up allegro-4.4.2/misc/allegro-config.in~ allegro-4.4.2/misc/allegro-config static_libs=@LINK_WITH_STATIC_LIBS@ lib_type=@LIB_TO_LINK@ + + accepts_frameworks=no + +-allegro_ldflags="@LDFLAGS@" ++allegro_ldflags="-Wl,--export-dynamic " + allegro_libs="@LIBS@" + allegro_frameworks="@FRAMEWORKS@" + allegro_cflags="" diff --git a/allegro-4.2.0-multilib.patch b/allegro-4.2.0-multilib.patch new file mode 100644 index 0000000..26e786b --- /dev/null +++ b/allegro-4.2.0-multilib.patch @@ -0,0 +1,30 @@ +--- allegro-4.2.2/include/allegro/platform/alunixac.hin.multilib 2007-07-15 06:28:15.000000000 +0200 ++++ allegro-4.2.2/include/allegro/platform/alunixac.hin 2007-07-23 12:36:16.000000000 +0200 +@@ -59,10 +59,14 @@ + #undef ALLEGRO_ASM_PREFIX + + /* Define if assembler supports MMX. */ +-#undef ALLEGRO_MMX ++#ifdef __i386__ ++#define ALLEGRO_MMX ++#endif + + /* Define if assembler supports SSE. */ +-#undef ALLEGRO_SSE ++#ifdef __i386__ ++#define ALLEGRO_SSE ++#endif + + /* Define if target platform is Darwin. */ + #undef ALLEGRO_DARWIN +@@ -120,7 +124,9 @@ + #undef ALLEGRO_LINUX_VBEAF + + /* Define to enable Linux console VGA driver. */ +-#undef ALLEGRO_LINUX_VGA ++#ifdef __i386__ ++#define ALLEGRO_LINUX_VGA ++#endif + + /*---------------------------------------------------------------------------*/ + diff --git a/allegro-4.2.0-noexecstack.patch b/allegro-4.2.0-noexecstack.patch new file mode 100644 index 0000000..578687d --- /dev/null +++ b/allegro-4.2.0-noexecstack.patch @@ -0,0 +1,233 @@ +--- allegro-4.2.0/src/x/xdga2s.s.noexecstack 2004-08-27 15:54:05.000000000 +0200 ++++ allegro-4.2.0/src/x/xdga2s.s 2006-07-06 17:22:04.000000000 +0200 +@@ -50,4 +50,5 @@ + + #endif + #endif ++.section .note.GNU-stack,"",@progbits + +--- allegro-4.2.0/src/x/xwins.s.noexecstack 2004-09-03 11:30:45.000000000 +0200 ++++ allegro-4.2.0/src/x/xwins.s 2006-07-06 17:22:04.000000000 +0200 +@@ -49,5 +49,6 @@ + popl %ecx + ret + ++.section .note.GNU-stack,"",@progbits + #endif + +--- allegro-4.2.0/src/i386/iblit16.s.noexecstack 2005-06-22 18:51:16.000000000 +0200 ++++ allegro-4.2.0/src/i386/iblit16.s 2006-07-06 17:22:04.000000000 +0200 +@@ -741,5 +741,5 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR16 */ +--- allegro-4.2.0/src/i386/iblit24.s.noexecstack 2005-06-22 18:51:16.000000000 +0200 ++++ allegro-4.2.0/src/i386/iblit24.s 2006-07-06 17:22:04.000000000 +0200 +@@ -370,5 +370,5 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR24 */ +--- allegro-4.2.0/src/i386/iblit32.s.noexecstack 2005-06-22 18:51:16.000000000 +0200 ++++ allegro-4.2.0/src/i386/iblit32.s 2006-07-06 17:22:04.000000000 +0200 +@@ -355,5 +355,5 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR32 */ +--- allegro-4.2.0/src/i386/iblit8.s.noexecstack 2005-06-22 18:51:16.000000000 +0200 ++++ allegro-4.2.0/src/i386/iblit8.s 2006-07-06 17:22:04.000000000 +0200 +@@ -785,5 +785,5 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR8 */ +--- allegro-4.2.0/src/i386/icpus.s.noexecstack 2005-03-10 19:28:16.000000000 +0100 ++++ allegro-4.2.0/src/i386/icpus.s 2006-07-06 17:22:04.000000000 +0200 +@@ -213,3 +213,4 @@ + popl %ebp + ret + ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.0/src/i386/igfx15.s.noexecstack 2000-05-14 22:17:13.000000000 +0200 ++++ allegro-4.2.0/src/i386/igfx15.s 2006-07-06 17:22:04.000000000 +0200 +@@ -433,6 +433,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR16 */ + +--- allegro-4.2.0/src/i386/igfx16.s.noexecstack 2000-05-14 22:17:11.000000000 +0200 ++++ allegro-4.2.0/src/i386/igfx16.s 2006-07-06 17:22:04.000000000 +0200 +@@ -484,6 +484,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR16 */ + +--- allegro-4.2.0/src/i386/igfx24.s.noexecstack 2000-05-14 22:17:13.000000000 +0200 ++++ allegro-4.2.0/src/i386/igfx24.s 2006-07-06 17:22:04.000000000 +0200 +@@ -578,6 +578,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR24 */ + +--- allegro-4.2.0/src/i386/igfx32.s.noexecstack 2000-05-14 22:17:11.000000000 +0200 ++++ allegro-4.2.0/src/i386/igfx32.s 2006-07-06 17:22:04.000000000 +0200 +@@ -464,6 +464,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR32 */ + +--- allegro-4.2.0/src/i386/igfx8.s.noexecstack 2001-04-09 06:49:29.000000000 +0200 ++++ allegro-4.2.0/src/i386/igfx8.s 2006-07-06 17:22:04.000000000 +0200 +@@ -527,6 +527,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR8 */ + +--- allegro-4.2.0/src/i386/imisc.s.noexecstack 2002-07-05 12:23:47.000000000 +0200 ++++ allegro-4.2.0/src/i386/imisc.s 2006-07-06 17:22:04.000000000 +0200 +@@ -600,3 +600,4 @@ + popl %ebp + ret /* end of fixhypot() */ + ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.0/src/i386/iscan.s.noexecstack 2004-09-06 18:06:53.000000000 +0200 ++++ allegro-4.2.0/src/i386/iscan.s 2006-07-06 17:22:04.000000000 +0200 +@@ -2777,3 +2777,5 @@ + ret /* end of _poly_scanline_ptex_mask_trans24() */ + + #endif /* COLOR24 */ ++ ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.0/src/i386/iscanmmx.s.noexecstack 2003-07-16 21:43:28.000000000 +0200 ++++ allegro-4.2.0/src/i386/iscanmmx.s 2006-07-06 17:22:04.000000000 +0200 +@@ -1670,5 +1670,5 @@ + + #endif /* COLOR24 */ + +- ++.section .note.GNU-stack,"",@progbits + #endif /* MMX */ +--- allegro-4.2.0/src/i386/ispr15.s.noexecstack 2001-11-10 20:31:50.000000000 +0100 ++++ allegro-4.2.0/src/i386/ispr15.s 2006-07-06 17:22:04.000000000 +0200 +@@ -491,6 +491,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR16 */ + +--- allegro-4.2.0/src/i386/ispr16.s.noexecstack 2002-10-02 20:29:57.000000000 +0200 ++++ allegro-4.2.0/src/i386/ispr16.s 2006-07-06 17:22:04.000000000 +0200 +@@ -886,6 +886,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR16 */ + +--- allegro-4.2.0/src/i386/ispr24.s.noexecstack 2002-10-02 20:29:57.000000000 +0200 ++++ allegro-4.2.0/src/i386/ispr24.s 2006-07-06 17:22:04.000000000 +0200 +@@ -910,6 +910,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR24 */ + +--- allegro-4.2.0/src/i386/ispr32.s.noexecstack 2002-10-02 20:29:57.000000000 +0200 ++++ allegro-4.2.0/src/i386/ispr32.s 2006-07-06 17:22:04.000000000 +0200 +@@ -697,6 +697,6 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR32 */ + +--- allegro-4.2.0/src/i386/ispr8.s.noexecstack 2004-10-16 21:44:25.000000000 +0200 ++++ allegro-4.2.0/src/i386/ispr8.s 2006-07-06 17:22:04.000000000 +0200 +@@ -1044,5 +1044,5 @@ + + + +- ++.section .note.GNU-stack,"",@progbits + #endif /* ifdef ALLEGRO_COLOR8 */ +--- allegro-4.2.0/src/i386/izbuf.s.noexecstack 2004-04-08 21:26:20.000000000 +0200 ++++ allegro-4.2.0/src/i386/izbuf.s 2006-07-06 17:22:04.000000000 +0200 +@@ -2328,3 +2328,5 @@ + ret /* end of _poly_zbuf_ptex_mask_trans24() */ + + #endif /* COLOR24 */ ++ ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.0/src/misc/icolconv.s.noexecstack 2006-07-06 17:32:28.000000000 +0200 ++++ allegro-4.2.0/src/misc/icolconv.s 2006-07-06 17:34:31.000000000 +0200 +@@ -3288,3 +3288,4 @@ + + #endif /* ALLEGRO_NO_COLORCOPY */ + ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.0/src/amd64/acpus.s.noexecstack 2005-03-07 11:24:38.000000000 +0100 ++++ allegro-4.2.0/src/amd64/acpus.s 2006-07-06 17:22:04.000000000 +0200 +@@ -128,3 +128,4 @@ + popq %rbp + ret + ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.1/src/misc/modexgfx.s~ 2006-12-22 14:59:08.000000000 +0100 ++++ allegro-4.2.1/src/misc/modexgfx.s 2006-12-22 14:59:08.000000000 +0100 +@@ -1688,3 +1688,4 @@ + + + #endif /* (!defined ALLEGRO_LINUX) || ((defined ALLEGRO_LINUX_VGA) && ... */ ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.1/src/misc/vbeafs.s~ 2006-12-22 14:59:03.000000000 +0100 ++++ allegro-4.2.1/src/misc/vbeafs.s 2006-12-22 14:59:03.000000000 +0100 +@@ -188,3 +188,4 @@ + + + #endif /* ifdef VBE/AF is cool on this platform */ ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.1/src/linux/svgalibs.s~ 2006-12-22 15:00:44.000000000 +0100 ++++ allegro-4.2.1/src/linux/svgalibs.s 2006-12-22 15:00:44.000000000 +0100 +@@ -65,3 +65,4 @@ + + #endif + #endif ++.section .note.GNU-stack,"",@progbits +--- allegro-4.2.1/src/c/cmiscs.s~ 2006-12-22 15:00:40.000000000 +0100 ++++ allegro-4.2.1/src/c/cmiscs.s 2006-12-22 15:00:40.000000000 +0100 +@@ -33,3 +33,4 @@ + FUNC(_stub_bank_switch_end) + ret + ++.section .note.GNU-stack,"",@progbits diff --git a/allegro-4.2.0-nostrip.patch b/allegro-4.2.0-nostrip.patch new file mode 100644 index 0000000..796f71b --- /dev/null +++ b/allegro-4.2.0-nostrip.patch @@ -0,0 +1,11 @@ +--- allegro-4.2.0/misc/deplib.sh.nostrip 2006-01-23 21:35:02.000000000 +0100 ++++ allegro-4.2.0/misc/deplib.sh 2006-01-23 21:35:09.000000000 +0100 +@@ -70,7 +70,7 @@ + done + echo "$prev" + echo "" +-write_code alleg LIBALLEG -s ++write_code alleg LIBALLEG "" + echo "" + echo "" + diff --git a/allegro-4.2.1-noexecmod.patch b/allegro-4.2.1-noexecmod.patch new file mode 100644 index 0000000..ddf8f52 --- /dev/null +++ b/allegro-4.2.1-noexecmod.patch @@ -0,0 +1,47 @@ +--- allegro-4.2.1/src/x/xdga2s.s~ 2006-12-22 16:14:41.000000000 +0100 ++++ allegro-4.2.1/src/x/xdga2s.s 2006-12-22 16:14:41.000000000 +0100 +@@ -24,7 +24,7 @@ + + .text + +- ++#if 0 /* this is non PIC and we have a C alternative, so don't use it! */ + #if (!defined ALLEGRO_NO_ASM) && (defined ALLEGRO_XWINDOWS_WITH_XF86DGA2) + #if (!defined ALLEGRO_WITH_MODULES) || (defined ALLEGRO_MODULE) + +@@ -50,5 +50,6 @@ + + #endif + #endif ++#endif + .section .note.GNU-stack,"",@progbits + +--- allegro-4.2.1/src/x/xdga2.c~ 2006-12-22 16:17:40.000000000 +0100 ++++ allegro-4.2.1/src/x/xdga2.c 2006-12-22 16:17:40.000000000 +0100 +@@ -49,7 +49,7 @@ + static void _xdga2_acquire(BITMAP *bmp); + static GFX_MODE_LIST *_xdga2_fetch_mode_list(void); + +-#ifdef ALLEGRO_NO_ASM ++#if 1 /* the asm is non PIC and we have a C alternative, so don't use it! */ + uintptr_t _xdga2_write_line(BITMAP *bmp, int line); + #else + uintptr_t _xdga2_write_line_asm(BITMAP *bmp, int line); +@@ -559,7 +559,7 @@ + /* Hardware acceleration has been requested */ + + /* Updates line switcher to accommodate framebuffer synchronization */ +-#ifdef ALLEGRO_NO_ASM ++#if 1 /* the asm is non PIC and we have a C alternative, so don't use it! */ + bmp->write_bank = _xdga2_write_line; + bmp->read_bank = _xdga2_write_line; + #else +@@ -816,7 +816,7 @@ + } + + +-#ifdef ALLEGRO_NO_ASM ++#if 1 /* the asm is non PIC and we have a C alternative, so don't use it! */ + + /* _xdga2_write_line: + * Returns new line and synchronizes framebuffer if needed. diff --git a/allegro-4.2.2-fullscreen-viewport.patch b/allegro-4.2.2-fullscreen-viewport.patch new file mode 100644 index 0000000..22a7515 --- /dev/null +++ b/allegro-4.2.2-fullscreen-viewport.patch @@ -0,0 +1,16 @@ +--- allegro-4.2.2/src/x/xwin.c 2009-09-10 22:29:53.000000000 +0200 ++++ allegro-4.2.2.new/src/x/xwin.c 2009-09-10 21:48:21.000000000 +0200 +@@ -2853,6 +2853,13 @@ + } + } + ++ /* Warp the pointer to the upper left corner (where our fs_window is), ++ this is necessary as the: XF86VidModeSetViewPort() call below does ++ not seem to do anything on newer Xorg servers, instead the viewport ++ seems to always be centered at the last mouse cursor position. */ ++ XWarpPointer(_xwin.display, None, XDefaultRootWindow(_xwin.display), ++ 0, 0, 0, 0, 0, 0); ++ + /* Switch video mode. */ + if ((_xwin.modesinfo[i] == _xwin.orig_modeinfo) || + !XF86VidModeSwitchToMode(_xwin.display, _xwin.screen, diff --git a/allegro-4.4.2-buildsys-fix.patch b/allegro-4.4.2-buildsys-fix.patch deleted file mode 100644 index 68d00dd..0000000 --- a/allegro-4.4.2-buildsys-fix.patch +++ /dev/null @@ -1,12 +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~ 2011-07-13 10:40:58.000000000 +0200 -+++ allegro-4.4.2/docs/CMakeLists.txt 2011-07-13 10:47:19.561523944 +0200 -@@ -72,7 +72,7 @@ foreach(page ${DOC_SRCS}) - string(REPLACE "._tx" "" basename ${basename}) - - set(page ${CMAKE_CURRENT_SOURCE_DIR}/${page}) -- if(${page} MATCHES "/build/") -+ if(${page} MATCHES "src/build/") - set(txt_out ${CMAKE_CURRENT_BINARY_DIR}/build/${basename}.txt) - set(html_out ${CMAKE_CURRENT_BINARY_DIR}/build/${basename}.html) - else() diff --git a/allegro-4.4.2-compat-fix-aliases.patch b/allegro-4.4.2-compat-fix-aliases.patch deleted file mode 100644 index 88164cb..0000000 --- a/allegro-4.4.2-compat-fix-aliases.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- 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-noversion.patch b/allegro-4.4.2-doc-noversion.patch deleted file mode 100644 index 38b3f9d..0000000 --- a/allegro-4.4.2-doc-noversion.patch +++ /dev/null @@ -1,32 +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,8 +8,8 @@ if(NOT WANT_DOCS OR CMAKE_CROSSCOMPILING - return() - endif() - --set(DOCDIR "doc" CACHE STRING "Install docs into $DOCDIR/allegro-$VERSION") --set(ACTUAL_DOC_DIR "${DOCDIR}/allegro-${ALLEGRO_VERSION}") -+set(DOCDIR "doc" CACHE STRING "Install docs into $DOCDIR") -+set(ACTUAL_DOC_DIR "${DOCDIR}") - - add_executable(makedoc - src/makedoc/makedoc.c -@@ -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-keybgrab-fix.patch b/allegro-4.4.2-keybgrab-fix.patch deleted file mode 100644 index 62e1c08..0000000 --- a/allegro-4.4.2-keybgrab-fix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -up allegro-4.4.2/src/x/xwin.c~ allegro-4.4.2/src/x/xwin.c ---- allegro-4.4.2/src/x/xwin.c~ 2015-06-23 11:04:53.000000000 +0200 -+++ allegro-4.4.2/src/x/xwin.c 2015-06-23 11:09:33.010580738 +0200 -@@ -26,6 +26,7 @@ - #include "xwin.h" - - #include -+#include - #include - #include - #include -@@ -736,6 +736,8 @@ static void _xwin_private_setup_driver_d - static BITMAP *_xwin_private_create_screen(GFX_DRIVER *drv, int w, int h, - int vw, int vh, int depth, int fullscreen) - { -+ int i; -+ - if (_xwin.window == None) { - ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("No window")); - return 0; -@@ -816,8 +818,20 @@ static BITMAP *_xwin_private_create_scre - XReparentWindow(_xwin.display, _xwin.window, _xwin.fs_window, 0, 0); - - /* Grab the keyboard and mouse. */ -- if (XGrabKeyboard(_xwin.display, XDefaultRootWindow(_xwin.display), False, -- GrabModeAsync, GrabModeAsync, CurrentTime) != GrabSuccess) { -+ -+ /* -+ * Sometimes the window-manager has grabbed the keyboard while it is -+ * starting an allegro app, so if grabing fails retry for 2 seconds -+ * before giving up. -+ */ -+ for (i = 0; i < 20; i++) { -+ if (XGrabKeyboard(_xwin.display, XDefaultRootWindow(_xwin.display), False, -+ GrabModeAsync, GrabModeAsync, CurrentTime) == GrabSuccess) -+ break; -+ -+ usleep(100000); /* Sleep 100 ms before retrying */ -+ } -+ if (i == 20) { - ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Can not grab keyboard")); - return 0; - } diff --git a/allegro-4.4.2-mutex-fix.patch b/allegro-4.4.2-mutex-fix.patch deleted file mode 100644 index e2e6ae1..0000000 --- a/allegro-4.4.2-mutex-fix.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -up allegro-4.4.2/src/unix/uthreads.c~ allegro-4.4.2/src/unix/uthreads.c ---- allegro-4.4.2/src/unix/uthreads.c~ 2009-11-22 02:17:42.000000000 +0100 -+++ allegro-4.4.2/src/unix/uthreads.c 2014-10-29 15:00:24.977558559 +0100 -@@ -303,32 +303,27 @@ struct bg_manager _bg_man_pthreads = { - - - --/* custom mutex that supports nested locking */ --struct my_mutex { -- int lock_count; /* level of nested locking */ -- pthread_t owner; /* thread which owns the mutex */ -- pthread_mutex_t actual_mutex; /* underlying mutex object */ --}; -- -- -- - /* _unix_create_mutex: - * Creates a mutex and returns a pointer to it. - */ - void *_unix_create_mutex(void) - { -- struct my_mutex *mx; -+ pthread_mutex_t *mx; -+ pthread_mutexattr_t attr; - -- mx = _AL_MALLOC(sizeof(struct my_mutex)); -+ mx = _AL_MALLOC(sizeof(pthread_mutex_t)); - if (!mx) { - *allegro_errno = ENOMEM; - return NULL; - } - -- mx->lock_count = 0; -- mx->owner = (pthread_t) 0; -+ pthread_mutexattr_init(&attr); -+ if (pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) != 0) -+ abort(); /* XXX */ - -- pthread_mutex_init(&mx->actual_mutex, NULL); -+ pthread_mutex_init(mx, &attr); -+ -+ pthread_mutexattr_destroy(&attr); - - return (void *)mx; - } -@@ -340,11 +335,8 @@ void *_unix_create_mutex(void) - */ - void _unix_destroy_mutex(void *handle) - { -- struct my_mutex *mx = (struct my_mutex *)handle; -- -- pthread_mutex_destroy(&mx->actual_mutex); -- -- _AL_FREE(mx); -+ pthread_mutex_destroy(handle); -+ _AL_FREE(handle); - } - - -@@ -354,14 +346,7 @@ void _unix_destroy_mutex(void *handle) - */ - void _unix_lock_mutex(void *handle) - { -- struct my_mutex *mx = (struct my_mutex *)handle; -- -- if (mx->owner != pthread_self()) { -- pthread_mutex_lock(&mx->actual_mutex); -- mx->owner = pthread_self(); -- } -- -- mx->lock_count++; -+ pthread_mutex_lock(handle); - } - - -@@ -371,14 +356,7 @@ void _unix_lock_mutex(void *handle) - */ - void _unix_unlock_mutex(void *handle) - { -- struct my_mutex *mx = (struct my_mutex *)handle; -- -- mx->lock_count--; -- -- if (mx->lock_count == 0) { -- mx->owner = (pthread_t) 0; -- pthread_mutex_unlock(&mx->actual_mutex); -- } -+ pthread_mutex_unlock(handle); - } - - #endif /* ALLEGRO_HAVE_LIBPTHREAD */ diff --git a/allegro-4.4.2-no-xsync-from-thread.patch b/allegro-4.4.2-no-xsync-from-thread.patch deleted file mode 100644 index 60c429b..0000000 --- a/allegro-4.4.2-no-xsync-from-thread.patch +++ /dev/null @@ -1,17 +0,0 @@ -Calling Xsync from the bg thread causes deadlock issues -diff -up allegro-4.4.2/src/x/xwin.c~ allegro-4.4.2/src/x/xwin.c ---- allegro-4.4.2/src/x/xwin.c~ 2009-10-17 09:05:12.000000000 +0200 -+++ allegro-4.4.2/src/x/xwin.c 2014-10-29 15:17:08.381148654 +0100 -@@ -2463,11 +2463,8 @@ void _xwin_private_handle_input(void) - _mouse_y - (_xwin_mouse_extended_range ? _xwin.scroll_y : 0)); - } - -- /* Flush X-buffers. */ -- _xwin_private_flush_buffers(); -- - /* How much events are available in the queue. */ -- events = events_queued = XEventsQueued(_xwin.display, QueuedAlready); -+ events = events_queued = XPending(_xwin.display); - if (events <= 0) - return; - diff --git a/allegro-4.4.3-dat2c-buffer-overflow.patch b/allegro-4.4.3-dat2c-buffer-overflow.patch deleted file mode 100644 index 118fd4d..0000000 --- a/allegro-4.4.3-dat2c-buffer-overflow.patch +++ /dev/null @@ -1,32 +0,0 @@ -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 deleted file mode 100644 index 9958b7c..0000000 --- a/allegro-4.4.3-datafile-double-free.patch +++ /dev/null @@ -1,14 +0,0 @@ -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 deleted file mode 100644 index 30d8f27..0000000 --- a/allegro-4.4.3-texinfo-non-utf8-input-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index bb33462..0000000 --- a/allegro.rpmlintrc +++ /dev/null @@ -1,7 +0,0 @@ -# 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 8005301..5e8e0c6 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro -Version: 4.4.3.1 -Release: 19%{?dist} +Version: 4.2.3 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -8,39 +8,27 @@ 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://liballeg.org/ -Source0: https://github.com/liballeg/allegro5/releases/download/%{version}/allegro-%{version}.tar.gz +URL: http://alleg.sourceforge.net/ +Source: http://downloads.sourceforge.net/alleg/allegro-%{version}.tar.gz Patch1: allegro-4.0.3-cfg.patch -Patch2: allegro-4.0.3-libdir.patch -Patch5: allegro-4.4.2-buildsys-fix.patch -Patch6: allegro-4.4.2-doc-noversion.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 -BuildRequires: alsa-lib-devel jack-audio-connection-kit-devel -BuildRequires: libjpeg-devel libpng-devel libvorbis-devel +Patch2: allegro-4.2.0-nostrip.patch +Patch3: allegro-4.2.0-noexecstack.patch +Patch4: allegro-4.2.0-multilib.patch +Patch5: allegro-4.2.1-noexecmod.patch +Patch6: allegro-4.0.3-libdir.patch +Patch7: allegro-4.2.2-fullscreen-viewport.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: esound-devel, texinfo, perl, arts-devel, glib2-devel +BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel +BuildRequires: libXpm-devel, libXcursor-devel, libXxf86vm-devel +BuildRequires: libXxf86dga-devel, jack-audio-connection-kit-devel, autoconf Requires: timidity++-patches +%ifarch %{ix86} +Requires(post): policycoreutils /sbin/ldconfig +Requires(postun): policycoreutils /sbin/ldconfig +%endif %description Allegro is a cross-platform library intended for use in computer games @@ -62,15 +50,18 @@ videogiochi ed in altri tipi di programmazione multimediale. Allegro je multiplatformní knihovna pro počítačové hry a jiné typy multimediálního programování. - %package devel Summary: A game programming library 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 -Requires: %{name}%{?_isa} = %{version}-%{release}, xorg-x11-proto-devel +Group: Development/Libraries +Provides: %{name}-static = %{version}-%{release} +Requires: %{name} = %{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 @@ -97,15 +88,14 @@ Allegro je multiplatformní knihovna pro počítačové hry a jiné typy multimediálního programování. Tento balíček je je potřebný k sestavení programů napsaných v Allegru. - %package tools Summary: Extra tools for the Allegro programming library Summary(es): Herramientas adicionales para la librería de programación Allegro 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 -Requires: %{name}%{?_isa} = %{version}-%{release} - +Group: Development/Tools +Requires: %{name} = %{version}-%{release} %description tools Allegro is a cross-platform library intended for use in computer games @@ -135,203 +125,146 @@ Allegro je multiplatformní knihovna pro počítačové hry a jiné typy multimediálního programování. Tento balíček obsahuje přídavné nástroje, které jsou užitečné pro vývoj Allegro programů. +%package esound-plugin +Summary: Allegro Enlightened Sound Daemon plugin +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description esound-plugin +This package contains a plugin for Allegro which enables Allegro to playback +sound through the Enlightened Sound Daemon (ESD / esound). + +%package arts-plugin +Summary: Allegro aRts (analog realtime synthesizer) plugin +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description arts-plugin +This package contains a plugin for Allegro which enables Allegro to playback +sound through aRts (analog realtime synthesizer). + %package jack-plugin Summary: Allegro JACK (Jack Audio Connection Kit) plugin -Requires: %{name}%{?_isa} = %{version}-%{release} +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} %description jack-plugin This package contains a plugin for Allegro which enables Allegro to playback sound through JACK (Jack Audio Connection Kit). -%package -n alleggl -Summary: OpenGL support library for Allegro -License: Zlib OR GPL-1.0-or-later -URL: http://allegrogl.sourceforge.net/ -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description -n alleggl -AllegroGL is an Allegro add-on that allows you to use OpenGL alongside Allegro. -You use OpenGL for your rendering to the screen, and Allegro for miscellaneous -tasks like gathering input, doing timers, getting cross-platform portability, -loading data, and drawing your textures. So this library fills the same hole -that things like glut do. - -%package -n alleggl-devel -Summary: Development files for alleggl -License: Zlib OR GPL-1.0-or-later -Requires: alleggl%{?_isa} = %{version}-%{release} - -%description -n alleggl-devel -The alleggl-devel package contains libraries and header files for -developing applications that use alleggl. - - -%package -n jpgalleg -Summary: JPEG library for the Allegro game library -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. - -%package -n jpgalleg-devel -Summary: Development files for jpgalleg -License: Zlib -Requires: jpgalleg%{?_isa} = %{version}-%{release} - -%description -n jpgalleg-devel -The jpgalleg-devel package contains libraries and header files for -developing applications that use jpgalleg. - - -%package loadpng -Summary: OGG/Vorbis library for the Allegro game library -License: LicenseRef-Fedora-Public-Domain -URL: http://wiki.allegro.cc/index.php?title=LoadPNG -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description loadpng -loadpng is some glue that makes it easy to use libpng to load and -save bitmaps from Allegro programs. - -%package loadpng-devel -Summary: Development files for loadpng -License: LicenseRef-Fedora-Public-Domain -Requires: %{name}-loadpng%{?_isa} = %{version}-%{release} - -%description loadpng-devel -The loadpng-devel package contains libraries and header files for -developing applications that use loadpng. - - -%package logg -Summary: OGG/Vorbis library for the Allegro game library -License: MIT -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description logg -LOGG is an Allegro add-on library for playing OGG/Vorbis audio files. - -%package logg-devel -Summary: Development files for logg -License: MIT -Requires: %{name}-logg%{?_isa} = %{version}-%{release} - -%description logg-devel -The logg-devel package contains libraries and header files for -developing applications that use logg. - - %prep -%autosetup -p1 +%setup -q +%patch1 -p1 -b .config +%patch2 -p1 -z .nostrip +%patch3 -p1 -z .noexecstack +%patch4 -p1 -z .multilib +%patch5 -p1 -z .noexecmod +%patch6 -p1 -z .multilib2 +%patch7 -p1 -z .fs-viewport +iconv -f iso-8859-1 -t utf-8 docs/src/allegro._tx > docs/src/allegro._tx.tmp +mv docs/src/allegro._tx.tmp docs/src/allegro._tx + %build -export CMAKE_POLICY_VERSION_MINIMUM=3.5 -%cmake \ -%if "%{?_lib}" == "lib64" - %{?_cmake_lib_suffix64} \ +%configure \ +%ifnarch %{ix86} + --enable-vga=no --enable-vbeaf=no \ %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 + --enable-svgalib=no \ + --enable-dbglib=yes \ + --enable-proflib=yes \ + --enable-opts=generic +# GRRR configure insists on adding -fomit-frame-pointer, remove it +sed -i 's/-fomit-frame-pointer//g' makefile +# Explicitly set PROG_LDFLAGS to avoid stripping of the utilities +make CFLAGS="$RPM_OPT_FLAGS" PROG_LDFLAGS="-Wl,--export-dynamic" -pushd %{_vpath_builddir} -# Converting text documentation to UTF-8 encoding. -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 - iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \ - touch -r $file $file.new && \ - mv $file.new $file -done -popd %install -%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%{_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%{_pkgdocdir}/html/ +rm -rf $RPM_BUILD_ROOT +make install install-man install-info \ + DESTDIR=$RPM_BUILD_ROOT LDCONFIG=/bin/true 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 -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/ - -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/ - -mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg -install -pm 644 addons/jpgalleg/readme.txt \ - $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg/ +find demo examples setup -type f -perm +111 -print | xargs rm +chmod 755 `find $RPM_BUILD_ROOT%{_libdir} -type f -name "*.so"` +rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_libdir}/liball{p,d}_unsharable.a -%ldconfig_scriptlets -%ldconfig_scriptlets -n alleggl +%ifarch %{ix86} +%post +/sbin/ldconfig +# Set SELinux file_context for vga plugin in the policy +semanage fcontext -a -t textrel_shlib_t \ + '%{_libdir}/allegro/4\.2\.2/alleg-vga\.so' 2>/dev/null || : +# Actually change the context +chcon -t textrel_shlib_t %{_libdir}/allegro/%{version}/alleg-vga.so \ + 2> /dev/null || : +%else +%post -p /sbin/ldconfig +%endif -%ldconfig_scriptlets -n jpgalleg +%ifarch %{ix86} +%postun +/sbin/ldconfig +# SELinux support +if [ $1 -eq 0 ]; then # final removal + semanage fcontext -d -t textrel_shlib_t \ + '%{_libdir}/allegro/4\.2\.2/alleg-vga\.so' 2>/dev/null || : +fi +%else +%postun -p /sbin/ldconfig +%endif -%ldconfig_scriptlets loadpng +%post devel +/sbin/install-info %{_infodir}/allegro.info %{_infodir}/dir 2>/dev/null || : -%ldconfig_scriptlets logg +%preun devel +if [ $1 -eq 0 ] ; then + /sbin/install-info --delete %{_infodir}/allegro.info %{_infodir}/dir \ + 2>/dev/null || : +fi + + +%clean +rm -rf $RPM_BUILD_ROOT %files -%{_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 +%defattr(-,root,root,-) +%doc readme.txt docs/build/unix.txt docs/build/linux.txt +%doc AUTHORS CHANGES THANKS %config(noreplace) %{_sysconfdir}/allegrorc -%{_libdir}/liballeg.so.4* +%{_libdir}/liballeg*.so* +%{_libdir}/allegro %{_datadir}/allegro -# 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 +%exclude %{_libdir}/allegro/%{version}/alleg-esddigi.so +%exclude %{_libdir}/allegro/%{version}/alleg-artsdigi.so +%exclude %{_libdir}/allegro/%{version}/alleg-jackdigi.so %files devel +%defattr(-,root,root,-) +%doc docs/txt/abi.txt docs/txt/ahack.txt docs/txt/allegro.txt +%doc docs/txt/const.txt docs/txt/faq.txt docs/txt/help.txt +%doc todo.txt docs/html +%doc demo examples setup %{_bindir}/allegro-config %{_bindir}/allegro-makedoc -%{_libdir}/liballeg.so -%{_libdir}/pkgconfig/allegro.pc -%{_includedir}/allegro -%{_includedir}/allegro.h -%{_includedir}/xalleg.h -%{_datadir}/aclocal/allegro.m4 +%{_libdir}/liballeg_unsharable.a +%{_libdir}/liball?.so.* +%{_libdir}/liball?-%{version}.so +%{_includedir}/*alleg* %{_infodir}/allegro.info* %{_mandir}/man3/* +%{_datadir}/aclocal/allegro.m4 %files tools -%{_pkgdocdir}/dat*.txt -%{_pkgdocdir}/grabber.txt +%defattr(-,root,root,-) +%doc tools/plugins/plugins.txt %{_bindir}/colormap %{_bindir}/dat %{_bindir}/dat2s @@ -342,113 +275,263 @@ install -pm 644 addons/jpgalleg/readme.txt \ %{_bindir}/pat2dat %{_bindir}/rgbmap %{_bindir}/textconv -%{_bindir}/xfixicon.sh + +%files esound-plugin +%defattr(-,root,root,-) +%{_libdir}/allegro/%{version}/alleg-esddigi.so + +%files arts-plugin +%defattr(-,root,root,-) +%{_libdir}/allegro/%{version}/alleg-artsdigi.so %files jack-plugin -%{_libdir}/allegro/4.4.3/alleg-jack.so - -%files -n alleggl -%license addons/allegrogl/gpl.txt -%license addons/allegrogl/zlib.txt -%{_libdir}/liballeggl.so.4* - -%files -n alleggl-devel -%{_pkgdocdir}/allegrogl/ -%{_libdir}/liballeggl.so -%{_libdir}/pkgconfig/allegrogl.pc -%{_includedir}/alleggl.h -%{_includedir}/allegrogl - -%files -n jpgalleg -%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 -%license addons/loadpng/LICENSE.txt -%{_pkgdocdir}/loadpng/ -%{_libdir}/libloadpng.so.4* - -%files loadpng-devel -%{_libdir}/libloadpng.so -%{_libdir}/pkgconfig/loadpng.pc -%{_includedir}/loadpng.h - -%files logg -%license addons/logg/LICENSE.txt -%{_libdir}/liblogg.so.4* - -%files logg-devel -%{_libdir}/liblogg.so -%{_libdir}/pkgconfig/logg.pc -%{_includedir}/logg.h +%defattr(-,root,root,-) +%{_libdir}/allegro/%{version}/alleg-jackdigi.so %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 4.4.3.1-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild +* Mon Oct 5 2009 Jindrich Novy 4.2.3-1 +- update to 4.2.3 -* Wed Jul 23 2025 Fedora Release Engineering - 4.4.3.1-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Thu Sep 10 2009 Hans de Goede 4.2.2-14 +- Fix (workaround) viewport issues in fullscreen mode (#522116) -* Thu Jul 17 2025 Cristian Le - 4.4.3.1-17 -- Add LIB_SUFFIX flag explicitly (rhbz#2381173) +* Fri Jul 24 2009 Fedora Release Engineering - 4.2.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild -* Fri May 30 2025 Cristian Le - 4.4.3.1-16 -- Allow to build with CMake 4.0 +* Mon Feb 23 2009 Fedora Release Engineering - 4.2.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_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 Jan 25 2009 Hans de Goede 4.2.2-11 +- Fix wrong file path in semanage call in scriptlets (#481407) -* Wed Jul 17 2024 Fedora Release Engineering - 4.4.3.1-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild +* 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 -* Mon Jan 22 2024 Fedora Release Engineering - 4.4.3.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +* 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 -* Fri Jan 19 2024 Fedora Release Engineering - 4.4.3.1-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +* Tue Feb 19 2008 Fedora Release Engineering - 4.2.2-8 +- Autorebuild for GCC 4.3 -* 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 +* 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 -* Wed Jul 19 2023 Fedora Release Engineering - 4.4.3.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild +* 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 Jan 18 2023 Fedora Release Engineering - 4.4.3.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +* Wed Aug 22 2007 Hans de Goede 4.2.2-5 +- Update to pristine upstream sources instead of using allegro.cc pre-release -* Wed Jul 20 2022 Fedora Release Engineering - 4.4.3.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild +* Tue Aug 21 2007 Hans de Goede 4.2.2-4 +- Rebuild for buildId -* Wed Jan 19 2022 Fedora Release Engineering - 4.4.3.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild +* 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 -* Wed Jul 21 2021 Fedora Release Engineering - 4.4.3.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +* 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 Jan 25 2021 Fedora Release Engineering - 4.4.3.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild +* Mon Jul 23 2007 Jindrich Novy 4.2.2-1 +- update to 4.2.2 +- drop .libdir patch +- sync .multilib patch -* Fri Jul 31 2020 Fedora Release Engineering - 4.4.3.1-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* 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) -* Mon Jul 27 2020 Fedora Release Engineering - 4.4.3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* 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 Jan 28 2020 Fedora Release Engineering - 4.4.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild +* Tue Nov 28 2006 Jindrich Novy 4.2.1-1 +- update to 4.2.1 -* 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) +* 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) + +* Tue 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 + +* Fri 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 + +* Wed 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 diff --git a/sources b/sources index d6c8d16..a087208 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (allegro-4.4.3.1.tar.gz) = c5a552ab710226493447eb2547b3d7559badb96f511fbefd315b665b7486013a6710c83b69363eb09f90f53ef4278fe7b90cfee88d90d88f0fe8dc7df7606729 +36d3e75052da03645039f7da407efca4 allegro-4.2.3.tar.gz