From 7a3c536de5f474fcad52995e0cc94a894c2d6a60 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Mon, 23 Oct 2006 14:37:07 +0000 Subject: [PATCH 01/91] Initialize branch FC-6 for allegro --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..d5b6362 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +FC-6 From ecb671848fff18b7d003a5ec67faa039531fa977 Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Tue, 28 Nov 2006 11:31:36 +0000 Subject: [PATCH 02/91] update to 4.2.1 --- allegro-4.2.0-64bit.patch | 16 - allegro-4.2.0-alsa-big-endian.patch | 11 - allegro-4.2.0-digmid.patch | 25 - allegro-4.2.0-fullscreen.patch | 266 ---------- allegro-4.2.0-fullscreen2.patch | 781 ---------------------------- allegro-4.2.0-mprotect.patch | 106 ---- allegro-4.2.0-nicevsync.patch | 10 - allegro-4.2.0-no-execheap.patch | 596 --------------------- allegro.spec | 27 +- 9 files changed, 5 insertions(+), 1833 deletions(-) delete mode 100644 allegro-4.2.0-64bit.patch delete mode 100644 allegro-4.2.0-alsa-big-endian.patch delete mode 100644 allegro-4.2.0-digmid.patch delete mode 100644 allegro-4.2.0-fullscreen.patch delete mode 100644 allegro-4.2.0-fullscreen2.patch delete mode 100644 allegro-4.2.0-mprotect.patch delete mode 100644 allegro-4.2.0-nicevsync.patch delete mode 100644 allegro-4.2.0-no-execheap.patch diff --git a/allegro-4.2.0-64bit.patch b/allegro-4.2.0-64bit.patch deleted file mode 100644 index 8967f2f..0000000 --- a/allegro-4.2.0-64bit.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- allegro-4.2.0/src/unix/umodules.c.64bit 2006-02-26 14:43:37.000000000 +0100 -+++ allegro-4.2.0/src/unix/umodules.c 2006-02-26 14:44:26.000000000 +0100 -@@ -44,7 +44,12 @@ - /* where to look for modules.lst */ - static char *module_path[] = - { -- "/usr/local/lib/allegro/", "/usr/lib/allegro/", NULL -+#ifdef __LP64__ -+ "/usr/lib64/allegro/", -+#else -+ "/usr/lib/allegro/", -+#endif -+ NULL - }; - - diff --git a/allegro-4.2.0-alsa-big-endian.patch b/allegro-4.2.0-alsa-big-endian.patch deleted file mode 100644 index 680539c..0000000 --- a/allegro-4.2.0-alsa-big-endian.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- allegro-4.2.0/src/unix/alsa9.c~ 2006-02-26 09:11:32.000000000 +0100 -+++ allegro-4.2.0/src/unix/alsa9.c 2006-02-26 09:11:32.000000000 +0100 -@@ -361,7 +361,7 @@ - alsa_bits = 8; - break; - -- case SND_PCM_FORMAT_U16_LE: -+ case SND_PCM_FORMAT_U16_NE: - if (sizeof(short) != 2) { - ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); - goto Error; diff --git a/allegro-4.2.0-digmid.patch b/allegro-4.2.0-digmid.patch deleted file mode 100644 index 7c0fc66..0000000 --- a/allegro-4.2.0-digmid.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- allegro-4.2.0/src/digmid.c.digmid 2004-09-03 11:30:22.000000000 +0200 -+++ allegro-4.2.0/src/digmid.c 2006-02-01 16:35:03.000000000 +0100 -@@ -519,7 +519,7 @@ - { - PACKFILE *f; - char dir[1024], file[1024], buf[1024], filename[1024]; -- char todo[256][32]; -+ char todo[256][1024]; - char *argv[16], *p; - char tmp[128]; - int argc; -@@ -679,8 +679,11 @@ - /* read from regular disk files */ - for (i=0; i<256; i++) { - if (ugetc(todo[i])) { -- ustrzcpy(filename, sizeof(filename), dir); -- ustrzcat(filename, sizeof(filename), todo[i]); -+ if (is_relative_filename(todo[i])) { -+ ustrzcpy(filename, sizeof(filename), dir); -+ ustrzcat(filename, sizeof(filename), todo[i]); -+ } else -+ ustrzcpy(filename, sizeof(filename), todo[i]); - - if (ugetc(get_extension(filename)) == 0) - ustrzcat(filename, sizeof(filename), uconvert_ascii(".pat", tmp)); diff --git a/allegro-4.2.0-fullscreen.patch b/allegro-4.2.0-fullscreen.patch deleted file mode 100644 index 9bb978d..0000000 --- a/allegro-4.2.0-fullscreen.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff -ur allegro-4.2.0.orig/include/allegro/platform/aintunix.h allegro-4.2.0/include/allegro/platform/aintunix.h ---- allegro-4.2.0.orig/include/allegro/platform/aintunix.h 2005-09-04 18:00:07.000000000 +0200 -+++ allegro-4.2.0/include/allegro/platform/aintunix.h 2006-03-02 14:50:17.000000000 +0100 -@@ -88,7 +88,11 @@ - - AL_FUNC(void, _xwin_handle_input, (void)); - AL_FUNC(void, _xwin_private_handle_input, (void)); -- -+ AL_FUNC(int , _xwin_keyboard_init, (void)); -+ AL_FUNC(void, _xwin_keyboard_exit, (void)); -+ -+ AL_VAR(int, _xwin_keyboard_installed); -+ - #ifndef ALLEGRO_MULTITHREADED - - AL_VAR(int, _xwin_missed_input); -Only in allegro-4.2.0/include/allegro/platform: aintunix.h~ -diff -ur allegro-4.2.0.orig/include/xalleg.h allegro-4.2.0/include/xalleg.h ---- allegro-4.2.0.orig/include/xalleg.h 2004-12-02 02:02:31.000000000 +0100 -+++ allegro-4.2.0/include/xalleg.h 2006-03-02 14:42:58.000000000 +0100 -@@ -126,6 +126,7 @@ - int num_modes; - int mode_switched; - int override_redirected; -+ int window_used; - #endif - - char window_title[1024]; -Only in allegro-4.2.0/include: xalleg.h~ -diff -ur allegro-4.2.0.orig/src/x/xkeyboard.c allegro-4.2.0/src/x/xkeyboard.c ---- allegro-4.2.0.orig/src/x/xkeyboard.c 2005-11-05 17:06:53.000000000 +0100 -+++ allegro-4.2.0/src/x/xkeyboard.c 2006-03-02 14:50:19.000000000 +0100 -@@ -34,12 +34,12 @@ - #define PREFIX_W "al-xkey WARNING: " - #define PREFIX_E "al-xkey ERROR: " - -+int _xwin_keyboard_installed = 0; - #ifdef ALLEGRO_USE_XIM - static XIM xim = NULL; - static XIC xic = NULL; - #endif - static XModifierKeymap *xmodmap = NULL; --static int xkeyboard_installed = 0; - static int used[KEY_MAX]; - static int sym_per_key; - static int min_keycode, max_keycode; -@@ -365,7 +365,7 @@ - void _xwin_keyboard_handler(XKeyEvent *event, int dga2_hack) - { - int keycode; -- if (!xkeyboard_installed) -+ if (!_xwin_keyboard_installed) - return; - - if (_xwin_keyboard_callback) -@@ -646,7 +646,7 @@ - { - XKeyboardControl values; - -- if (!xkeyboard_installed) -+ if (!_xwin_keyboard_installed) - return; - - XLOCK(); -@@ -668,10 +668,10 @@ - - - --/* x_keyboard_init -+/* _xwin_keyboard_init - * Initialise the X11 keyboard driver. - */ --static int x_keyboard_init(void) -+int _xwin_keyboard_init(void) - { - #ifdef ALLEGRO_USE_XIM - XIMStyles *xim_styles; -@@ -680,7 +680,7 @@ - int i; - #endif - -- if (xkeyboard_installed) -+ if (_xwin_keyboard_installed) - return 0; - - main_pid = getpid(); -@@ -745,21 +745,21 @@ - - XUNLOCK (); - -- xkeyboard_installed = 1; -+ _xwin_keyboard_installed = 1; - - return 0; - } - - - --/* x_keyboard_exit -+/* _xwin_keyboard_exit - * Shut down the X11 keyboard driver. - */ --static void x_keyboard_exit(void) -+void _xwin_keyboard_exit(void) - { -- if (!xkeyboard_installed) -+ if (!_xwin_keyboard_installed) - return; -- xkeyboard_installed = 0; -+ _xwin_keyboard_installed = 0; - - XLOCK (); - -@@ -799,8 +799,8 @@ - "X11 keyboard", - "X11 keyboard", - FALSE, -- x_keyboard_init, -- x_keyboard_exit, -+ _xwin_keyboard_init, -+ _xwin_keyboard_exit, - NULL, // AL_METHOD(void, poll, (void)); - x_set_leds, - NULL, // AL_METHOD(void, set_rate, (int delay, int rate)); -Only in allegro-4.2.0/src/x: xkeyboard.c~ -diff -ur allegro-4.2.0.orig/src/x/xwin.c allegro-4.2.0/src/x/xwin.c ---- allegro-4.2.0.orig/src/x/xwin.c 2005-10-27 23:23:40.000000000 +0200 -+++ allegro-4.2.0/src/x/xwin.c 2006-03-02 14:48:00.000000000 +0100 -@@ -130,6 +130,7 @@ - 0, /* num_modes */ - 0, /* mode_switched */ - 0, /* override_redirected */ -+ 0, /* window_used */ - #endif - - XWIN_DEFAULT_WINDOW_TITLE, /* window_title */ -@@ -322,20 +323,13 @@ - } - } - -- -- --/* _xwin_hide_x_mouse: -- * Create invisible X cursor -+/* _xwin_free_cursor: -+ * Helper for freeing the cursor which is done in a number of different places. - */ --static void _xwin_hide_x_mouse(void) -+static void _xwin_free_cursor(void) - { -- unsigned long gcmask; -- XGCValues gcvalues; -- Pixmap pixmap; -- -- XUndefineCursor(_xwin.display, _xwin.window); -- - if (_xwin.cursor != None) { -+ XUndefineCursor(_xwin.display, _xwin.window); - XFreeCursor(_xwin.display, _xwin.cursor); - _xwin.cursor = None; - } -@@ -346,7 +340,19 @@ - _xwin.xcursor_image = None; - } - #endif -+} - -+/* _xwin_hide_x_mouse: -+ * Create invisible X cursor -+ */ -+static void _xwin_hide_x_mouse(void) -+{ -+ unsigned long gcmask; -+ XGCValues gcvalues; -+ Pixmap pixmap; -+ -+ _xwin_free_cursor(); -+ - pixmap = XCreatePixmap(_xwin.display, _xwin.window, 1, 1, 1); - if (pixmap != None) { - GC temp_gc; -@@ -462,20 +468,7 @@ - static void _xwin_private_destroy_window(void) - { - _xwin_private_destroy_screen(); -- -- if (_xwin.cursor != None) { -- XUndefineCursor(_xwin.display, _xwin.window); -- XFreeCursor(_xwin.display, _xwin.cursor); -- _xwin.cursor = None; -- } -- --#ifdef ALLEGRO_XWINDOWS_WITH_XCURSOR -- if (_xwin.xcursor_image != None) { -- XcursorImageDestroy(_xwin.xcursor_image); -- _xwin.xcursor_image = None; -- } --#endif -- -+ _xwin_free_cursor(); - _xwin.visual = 0; - - if (_xwin.gc != None) { -@@ -673,10 +666,6 @@ - static BITMAP *_xwin_private_create_screen(GFX_DRIVER *drv, int w, int h, - int vw, int vh, int depth, int fullscreen) - { --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -- XSetWindowAttributes setattr; --#endif -- - if (_xwin.window == None) { - ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("No window")); - return 0; -@@ -715,11 +704,50 @@ - #ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - /* If we are going fullscreen, disable window decorations. */ - if (fullscreen) { -+ XSetWindowAttributes setattr; -+ -+ /* HACK HACK HACK -+ We need to destroy the window if it has already been used once, -+ since doing fullscreen with a window wich has been mapped already -+ has issues. see: http:// mail not archived yet */ -+ if (_xwin.window_used) { -+ /* remember if the keyboard was installed */ -+ int keyb_installed = _xwin_keyboard_installed; -+ -+ /* remember the cursor and set the cursor to None so that the -+ remembered cursor does not get freed. */ -+ Cursor cursor = _xwin.cursor; -+#ifdef ALLEGRO_XWINDOWS_WITH_XCURSOR -+ XcursorImage *xcursor_image = _xwin.xcursor_image; -+ _xwin.xcursor_image = None; -+#endif -+ _xwin.cursor = None; -+ -+ /* close keyboard & window, then recreate both */ -+ _xwin_keyboard_exit(); -+ _xwin_private_destroy_window(); -+ if ((*_xwin_window_creator)()) { -+ ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Could not create window")); -+ return 0; -+ } -+ if (keyb_installed) -+ /* has a return value but can't fail */ -+ _xwin_keyboard_init(); -+ -+ /* Free the new cursor and put the old one back */ -+ _xwin_free_cursor(); -+ _xwin.cursor = cursor; -+#ifdef ALLEGRO_XWINDOWS_WITH_XCURSOR -+ _xwin.xcursor_image = xcursor_image; -+#endif -+ XDefineCursor(_xwin.display, _xwin.window, _xwin.cursor); -+ } - setattr.override_redirect = True; - XChangeWindowAttributes(_xwin.display, _xwin.window, - CWOverrideRedirect, &setattr); - _xwin.override_redirected = 1; - } -+ _xwin.window_used = 1; - #endif - - /* Set window size and save dimensions. */ -Only in allegro-4.2.0/src/x: xwin.c~ diff --git a/allegro-4.2.0-fullscreen2.patch b/allegro-4.2.0-fullscreen2.patch deleted file mode 100644 index 6d5ec63..0000000 --- a/allegro-4.2.0-fullscreen2.patch +++ /dev/null @@ -1,781 +0,0 @@ ---- allegro-4.2.0/include/xalleg.h.fullscreen 2004-12-02 02:02:31.000000000 +0100 -+++ allegro-4.2.0/include/xalleg.h 2006-03-03 23:10:18.000000000 +0100 -@@ -124,8 +124,8 @@ - #ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - XF86VidModeModeInfo **modesinfo; - int num_modes; -- int mode_switched; -- int override_redirected; -+ int mode_switched; /* only kept around and set for ABI compat */ -+ int override_redirected; /* no longer used, kept for ABI compat */ - #endif - - char window_title[1024]; -@@ -139,6 +139,18 @@ - #endif - - void (*close_button_callback)(void); -+ -+ /* These are at the end of the struct to maintain abi compat with -+ allegro-4.2.0 (if and only if compiled with the same configuration). -+ Notice that IMHO apps really shouldnot be using _xwin, but we export it, -+ so its fair game. */ -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ XF86VidModeModeInfo *orig_modeinfo; -+#endif -+ /* Seperate fullscreen and managed window id's, see -+ _xwin_private_create_window in src/x/xwin.c for more details. */ -+ Window fs_window; -+ Window wm_window; - } _xwin; - - ---- allegro-4.2.0/src/x/xwin.c.fullscreen 2005-10-27 23:23:40.000000000 +0200 -+++ allegro-4.2.0/src/x/xwin.c 2006-03-03 23:52:22.000000000 +0100 -@@ -142,7 +142,12 @@ - NULL, /* mutex */ - #endif - -- NULL /* window close hook */ -+ NULL, /* window close hook */ -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ 0, /* orig_modeinfo */ -+#endif -+ None, /* fs_window */ -+ None /* wm_window */ - }; - - void *allegro_icon = alex_xpm; -@@ -199,7 +204,6 @@ - static void _xwin_private_set_palette_range(AL_CONST PALETTE p, int from, int to); - static void _xwin_private_set_window_defaults(void); - static void _xwin_private_flush_buffers(void); --static void _xwin_private_resize_window(int w, int h); - static void _xwin_private_process_event(XEvent *event); - static void _xwin_private_set_warped_mouse_mode(int permanent); - static void _xwin_private_redraw_window(int x, int y, int w, int h); -@@ -261,7 +265,8 @@ - static void _xwin_private_slow_palette_32(int sx, int sy, int sw, int sh); - - #ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE --static int _xvidmode_private_set_fullscreen(int w, int h); -+static void _xvidmode_private_set_fullscreen(int w, int h, int *vidmode_width, -+ int *vidmode_height); - static void _xvidmode_private_unset_fullscreen(void); - #endif - -@@ -372,10 +377,31 @@ - } - } - -- -+/* _xwin_wait_mapped: -+ * wait for a window to become mapped. (shamelessly borrowed from SDL) -+ */ -+static void _xwin_wait_mapped(Window win) -+{ -+ XEvent event; -+ do { -+ XMaskEvent(_xwin.display, StructureNotifyMask, &event); -+ } while ( (event.type != MapNotify) || (event.xmap.event != win) ); -+} - - /* _xwin_create_window: -- * Wrapper for XCreateWindow. -+ * We use 3 windows: -+ * -fs_window (for fullscreen) -+ * -wm_window (window managed) -+ * -window (the real window) -+ * 2 of which will be created here: wm_window and window. The fullscreen -+ * window gets (re)created when needed, because reusing it causes trouble see: -+ * http://sourceforge.net/tracker/index.php?func=detail&aid=1441740&group_id=5665&atid=105665 -+ * The real window uses wm_window as parent initially and will be reparened to -+ * the (freshly created) fullscreen window when requested and reparented -+ * back again in screen_destroy. -+ * -+ * Idea / concept of 3 windows borrowed from SDL. But somehow SDL manages -+ * to reuse the fullscreen window too. - */ - static int _xwin_private_create_window(void) - { -@@ -389,21 +415,23 @@ - - _mouse_on = FALSE; - -- /* Create window. */ -+ /* Create the managed window. */ -+ setattr.background_pixel = XBlackPixel(_xwin.display, _xwin.screen); - setattr.border_pixel = XBlackPixel(_xwin.display, _xwin.screen); -- setattr.event_mask = (KeyPressMask | KeyReleaseMask -+ setattr.event_mask = (KeyPressMask | KeyReleaseMask | StructureNotifyMask - | EnterWindowMask | LeaveWindowMask - | FocusChangeMask | ExposureMask | PropertyChangeMask - | ButtonPressMask | ButtonReleaseMask | PointerMotionMask - /*| MappingNotifyMask (SubstructureRedirectMask?)*/); -- _xwin.window = XCreateWindow(_xwin.display, XDefaultRootWindow(_xwin.display), -+ _xwin.wm_window = XCreateWindow(_xwin.display, -+ XDefaultRootWindow(_xwin.display), - 0, 0, 320, 200, 0, - CopyFromParent, InputOutput, CopyFromParent, -- CWBorderPixel | CWEventMask, &setattr); -- -+ CWBackPixel | CWBorderPixel | CWEventMask, -+ &setattr); - - /* Get associated visual and window depth (bits per pixel). */ -- XGetWindowAttributes(_xwin.display, _xwin.window, &getattr); -+ XGetWindowAttributes(_xwin.display, _xwin.wm_window, &getattr); - _xwin.visual = getattr.visual; - _xwin.window_depth = getattr.depth; - -@@ -411,15 +439,27 @@ - if ((_xwin.visual->class == PseudoColor) - || (_xwin.visual->class == GrayScale) - || (_xwin.visual->class == DirectColor)) -- _xwin.colormap = XCreateColormap(_xwin.display, _xwin.window, _xwin.visual, AllocAll); -+ _xwin.colormap = XCreateColormap(_xwin.display, _xwin.wm_window, _xwin.visual, AllocAll); - else -- _xwin.colormap = XCreateColormap(_xwin.display, _xwin.window, _xwin.visual, AllocNone); -- XSetWindowColormap(_xwin.display, _xwin.window, _xwin.colormap); -+ _xwin.colormap = XCreateColormap(_xwin.display, _xwin.wm_window, _xwin.visual, AllocNone); -+ XSetWindowColormap(_xwin.display, _xwin.wm_window, _xwin.colormap); - XInstallColormap(_xwin.display, _xwin.colormap); -+ -+ /* Create the real / drawing window (reuses setattr). */ -+ setattr.colormap = _xwin.colormap; -+ _xwin.window = XCreateWindow(_xwin.display, -+ _xwin.wm_window, -+ 0, 0, 320, 200, 0, -+ CopyFromParent, InputOutput, CopyFromParent, -+ CWBackPixel | CWBorderPixel | CWEventMask | -+ CWColormap, &setattr); - -+ /* Map the real / drawing window it won't appear untill the parent does */ -+ XMapWindow(_xwin.display, _xwin.window); -+ - /* Set WM_DELETE_WINDOW atom in WM_PROTOCOLS property (to get window_delete requests). */ - wm_delete_window = XInternAtom (_xwin.display, "WM_DELETE_WINDOW", False); -- XSetWMProtocols (_xwin.display, _xwin.window, &wm_delete_window, 1); -+ XSetWMProtocols (_xwin.display, _xwin.wm_window, &wm_delete_window, 1); - - /* Set default window parameters. */ - (*_xwin_window_defaultor)(); -@@ -494,6 +534,11 @@ - XDestroyWindow(_xwin.display, _xwin.window); - _xwin.window = None; - } -+ -+ if (_xwin.wm_window != None) { -+ XDestroyWindow(_xwin.display, _xwin.wm_window); -+ _xwin.wm_window = None; -+ } - } - - void _xwin_destroy_window(void) -@@ -673,10 +718,6 @@ - static BITMAP *_xwin_private_create_screen(GFX_DRIVER *drv, int w, int h, - int vw, int vh, int depth, int fullscreen) - { --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -- XSetWindowAttributes setattr; --#endif -- - if (_xwin.window == None) { - ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("No window")); - return 0; -@@ -711,55 +752,48 @@ - ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported color depth")); - return 0; - } -- --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -- /* If we are going fullscreen, disable window decorations. */ -- if (fullscreen) { -- setattr.override_redirect = True; -- XChangeWindowAttributes(_xwin.display, _xwin.window, -- CWOverrideRedirect, &setattr); -- _xwin.override_redirected = 1; -- } --#endif -- -- /* Set window size and save dimensions. */ -- _xwin_private_resize_window(w, h); -+ -+ /* Save dimensions. */ -+ _xwin.window_width = w; -+ _xwin.window_height = h; - _xwin.screen_width = w; - _xwin.screen_height = h; - _xwin.screen_depth = depth; - _xwin.virtual_width = vw; - _xwin.virtual_height = vh; - --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -- if (fullscreen) { -- AL_CONST char *fc; -- char tmp1[64], tmp2[128]; -- int i; -- -- /* Switch video mode. */ -- if (!_xvidmode_private_set_fullscreen(w, h)) { -- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Can not set video mode")); -- return 0; -- } -+ /* Resize the (real) window */ -+ XResizeWindow(_xwin.display, _xwin.window, w, h); - -- /* Hack: make the window fully visible and center cursor. */ -- XMoveWindow(_xwin.display, _xwin.window, 0, 0); -- XF86VidModeSetViewPort(_xwin.display, _xwin.screen, 0, 0); -- -- /* This chunk is disabled by default because of problems on KDE desktops. */ -- fc = get_config_string(uconvert_ascii("graphics", tmp1), -- uconvert_ascii("force_centering", tmp2), -- NULL); -- -- if ((fc) && ((i = ugetc(fc)) != 0) && ((i == 'y') || (i == 'Y') || (i == '1'))) { -- XWarpPointer(_xwin.display, None, _xwin.window, 0, 0, 0, 0, 0, 0); -- XWarpPointer(_xwin.display, None, _xwin.window, 0, 0, 0, 0, w - 1, 0); -- XWarpPointer(_xwin.display, None, _xwin.window, 0, 0, 0, 0, 0, h - 1); -- XWarpPointer(_xwin.display, None, _xwin.window, 0, 0, 0, 0, w - 1, h - 1); -- } -+ if (fullscreen) { -+ XSetWindowAttributes setattr; -+ /* local width and height vars used for fullscreen window size and for -+ storing the video_mode size which is then used to center the window */ -+ int fs_width = DisplayWidth(_xwin.display, _xwin.screen); -+ int fs_height = DisplayHeight(_xwin.display, _xwin.screen); - -- XWarpPointer(_xwin.display, None, _xwin.window, 0, 0, 0, 0, w / 2, h / 2); -- XSync(_xwin.display, False); -+ /* Create the fullscreen window */ -+ setattr.override_redirect = True; -+ setattr.background_pixel = XBlackPixel(_xwin.display, _xwin.screen); -+ setattr.border_pixel = XBlackPixel(_xwin.display, _xwin.screen); -+ setattr.event_mask = StructureNotifyMask; -+ setattr.colormap = _xwin.colormap; -+ _xwin.fs_window = XCreateWindow(_xwin.display, -+ XDefaultRootWindow(_xwin.display), -+ 0, 0, fs_width, fs_height, 0, -+ CopyFromParent, InputOutput, -+ CopyFromParent, CWOverrideRedirect | -+ CWBackPixel | CWColormap | CWBorderPixel | -+ CWEventMask, &setattr); -+ -+ /* Map the fullscreen window */ -+ XMapRaised(_xwin.display, _xwin.fs_window); -+ _xwin_wait_mapped(_xwin.fs_window); -+ /* Make sure we got to the top of the window stack */ -+ XRaiseWindow(_xwin.display, _xwin.fs_window); -+ -+ /* Reparent the real window */ -+ XReparentWindow(_xwin.display, _xwin.window, _xwin.fs_window, 0, 0); - - /* Grab the keyboard and mouse. */ - if (XGrabKeyboard(_xwin.display, XDefaultRootWindow(_xwin.display), False, -@@ -775,8 +809,45 @@ - return 0; - } - _xwin.mouse_grabbed = 1; -- } -+ -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ /* Try to switch video mode. This must be done after the pointer is -+ grabbed, because otherwise it can be outside the window negating the -+ XF86VidModeSetViewPort done in set_fullscreen. This makes the old -+ center the window hack unnescesarry. Notice that since the XF86VM -+ extension requests do not go through the regular X output buffer? We -+ need to make sure that all above requests are processed first. */ -+ XSync(_xwin.display, False); -+ _xvidmode_private_set_fullscreen(w, h, &fs_width, &fs_height); - #endif -+ -+ /* Center the window (if nescesarry) */ -+ if ((fs_width != w) || (fs_height != h)) -+ XMoveWindow(_xwin.display, _xwin.window, (fs_width - w) / 2, -+ (fs_height - h) / 2); -+ -+ /* Last: center the cursor */ -+ XWarpPointer(_xwin.display, None, _xwin.window, 0, 0, 0, 0, w / 2, h / 2); -+ } else { -+ XSizeHints *hints = XAllocSizeHints();; -+ -+ /* Resize managed window. */ -+ XResizeWindow(_xwin.display, _xwin.wm_window, w, h); -+ -+ /* Set size and position hints for Window Manager. */ -+ if (hints) { -+ hints->flags = PMinSize | PMaxSize | PBaseSize; -+ hints->min_width = hints->max_width = hints->base_width = w; -+ hints->min_height = hints->max_height = hints->base_height = h; -+ XSetWMNormalHints(_xwin.display, _xwin.wm_window, hints); -+ -+ XFree(hints); -+ } -+ -+ /* Map the window managed window */ -+ XMapWindow(_xwin.display, _xwin.wm_window); -+ _xwin_wait_mapped(_xwin.wm_window); -+ } - - /* Create XImage with the size of virtual screen. */ - if (_xwin_private_create_ximage(vw, vh) != 0) { -@@ -804,12 +875,6 @@ - bmp = _xwin_private_create_screen(drv, w, h, vw, vh, depth, fullscreen); - if (bmp == 0) { - _xwin_private_destroy_screen(); -- /* Work around a weird bug with some window managers (KWin, Window Maker). */ -- if (fullscreen) { -- bmp = _xwin_private_create_screen(drv, w, h, vw, vh, depth, fullscreen); -- if (bmp == 0) -- _xwin_private_destroy_screen(); -- } - } - XUNLOCK(); - return bmp; -@@ -843,7 +908,6 @@ - - _xwin_private_destroy_ximage(); - --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - if (_xwin.mouse_grabbed) { - XUngrabPointer(_xwin.display, CurrentTime); - _xwin.mouse_grabbed = 0; -@@ -854,14 +918,8 @@ - _xwin.keyboard_grabbed = 0; - } - -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - _xvidmode_private_unset_fullscreen(); -- -- if (_xwin.override_redirected) { -- setattr.override_redirect = False; -- XChangeWindowAttributes(_xwin.display, _xwin.window, -- CWOverrideRedirect, &setattr); -- _xwin.override_redirected = 0; -- } - #endif - - /* whack color-conversion blitter */ -@@ -869,8 +927,16 @@ - _release_colorconv_blitter(blitter_func); - blitter_func = NULL; - } -- -- XUnmapWindow (_xwin.display, _xwin.window); -+ -+ if (_xwin.fs_window != None) { -+ /* Reparent the real window! */ -+ XReparentWindow(_xwin.display, _xwin.window, _xwin.wm_window, 0, 0); -+ XUnmapWindow(_xwin.display, _xwin.fs_window); -+ XDestroyWindow(_xwin.display, _xwin.fs_window); -+ _xwin.fs_window = None; -+ } -+ else -+ XUnmapWindow (_xwin.display, _xwin.wm_window); - - (*_xwin_window_defaultor)(); - } -@@ -2139,31 +2205,31 @@ - XpmAttributes attributes; - #endif - -- if (_xwin.window == None) -+ if (_xwin.wm_window == None) - return; - - /* Set window title. */ -- XStoreName(_xwin.display, _xwin.window, _xwin.window_title); -+ XStoreName(_xwin.display, _xwin.wm_window, _xwin.window_title); - - /* Set hints. */ - hint.res_name = _xwin.application_name; - hint.res_class = _xwin.application_class; -- XSetClassHint(_xwin.display, _xwin.window, &hint); -+ XSetClassHint(_xwin.display, _xwin.wm_window, &hint); - - wm_hints.flags = InputHint | StateHint | WindowGroupHint; - wm_hints.input = True; - wm_hints.initial_state = NormalState; -- wm_hints.window_group = _xwin.window; -+ wm_hints.window_group = _xwin.wm_window; - - #ifdef ALLEGRO_XWINDOWS_WITH_XPM - if (allegro_icon) { - wm_hints.flags |= IconPixmapHint | IconMaskHint; - attributes.valuemask = XpmReturnAllocPixels | XpmReturnExtensions; -- XpmCreatePixmapFromData(_xwin.display,_xwin.window,allegro_icon,&wm_hints.icon_pixmap,&wm_hints.icon_mask, &attributes); -+ XpmCreatePixmapFromData(_xwin.display,_xwin.wm_window,allegro_icon,&wm_hints.icon_pixmap,&wm_hints.icon_mask, &attributes); - } - #endif - -- XSetWMHints(_xwin.display, _xwin.window, &wm_hints); -+ XSetWMHints(_xwin.display, _xwin.wm_window, &wm_hints); - } - - -@@ -2213,41 +2279,6 @@ - } - - -- --/* _xwin_resize_window: -- * Wrapper for XResizeWindow. -- */ --static void _xwin_private_resize_window(int w, int h) --{ -- XSizeHints *hints; -- -- if (_xwin.window == None) -- return; -- -- /* New window size. */ -- _xwin.window_width = w; -- _xwin.window_height = h; -- -- /* Resize window. */ -- XUnmapWindow(_xwin.display, _xwin.window); -- XResizeWindow(_xwin.display, _xwin.window, w, h); -- XMapWindow(_xwin.display, _xwin.window); -- -- hints = XAllocSizeHints(); -- if (hints == 0) -- return; -- -- /* Set size and position hints for Window Manager. */ -- hints->flags = PMinSize | PMaxSize | PBaseSize; -- hints->min_width = hints->max_width = hints->base_width = w; -- hints->min_height = hints->max_height = hints->base_height = h; -- XSetWMNormalHints(_xwin.display, _xwin.window, hints); -- -- XFree(hints); --} -- -- -- - /* _xwin_process_event: - * Process one event. - */ -@@ -2723,51 +2754,93 @@ - * Support for XF86VidMode extension. - */ - #ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+/* qsort comparison function for sorting the modes */ -+static int cmpmodes(const void *va, const void *vb) -+{ -+ const XF86VidModeModeInfo *a = *(const XF86VidModeModeInfo **)va; -+ const XF86VidModeModeInfo *b = *(const XF86VidModeModeInfo **)vb; -+ if ( a->hdisplay == b->hdisplay ) -+ return b->vdisplay - a->vdisplay; -+ else -+ return b->hdisplay - a->hdisplay; -+} -+ - /* _xvidmode_private_set_fullscreen: -- * Attempt to switch video mode and make window fullscreen. -+ * Attempt to switch to a better matching video mode. -+ * Matching code for non exact match (smallest bigger res) rather shamelessly -+ * taken from SDL. - */ --static int _xvidmode_private_set_fullscreen(int w, int h) -+static void _xvidmode_private_set_fullscreen(int w, int h, int *vidmode_width, -+ int *vidmode_height) - { - int vid_event_base, vid_error_base; - int vid_major_version, vid_minor_version; -- XF86VidModeModeInfo *mode; - int i; -- -+ - /* Test that display is local. */ -- if (!_xwin_private_display_is_local()) { -- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("VidMode extension requires local display")); -- return 0; -- } -+ if (!_xwin_private_display_is_local()) -+ return; - - /* Test for presence of VidMode extension. */ - if (!XF86VidModeQueryExtension(_xwin.display, &vid_event_base, &vid_error_base) -- || !XF86VidModeQueryVersion(_xwin.display, &vid_major_version, &vid_minor_version)) { -- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("VidMode extension is not supported")); -- return 0; -- } -+ || !XF86VidModeQueryVersion(_xwin.display, &vid_major_version, &vid_minor_version)) -+ return; - - /* Get list of modelines. */ - if (!XF86VidModeGetAllModeLines(_xwin.display, _xwin.screen, - &_xwin.num_modes, &_xwin.modesinfo)) -- return 0; -- -- /* Search for a matching video mode. */ -- for (i = 0; i < _xwin.num_modes; i++) { -- mode = _xwin.modesinfo[i]; -- if ((mode->hdisplay == w) && (mode->vdisplay == h)) { -- /* Switch video mode. */ -- if (!XF86VidModeSwitchToMode(_xwin.display, _xwin.screen, mode)) -- return 0; -+ return; - -- /* Lock mode switching. */ -- XF86VidModeLockModeSwitch(_xwin.display, _xwin.screen, True); -+ /* Remember the mode to restore */ -+ _xwin.orig_modeinfo = _xwin.modesinfo[0]; - -- _xwin.mode_switched = 1; -- return 1; -- } -+ /* Search for an exact matching video mode. */ -+ for (i = 0; i < _xwin.num_modes; i++) { -+ if ((_xwin.modesinfo[i]->hdisplay == w) && -+ (_xwin.modesinfo[i]->vdisplay == h)) -+ break; - } - -- return 0; -+ /* Search for a non exact match (smallest bigger res). */ -+ if (i == _xwin.num_modes) { -+ int best_width = 0, best_height = 0; -+ qsort(_xwin.modesinfo, _xwin.num_modes, sizeof(void *), cmpmodes); -+ for (i = _xwin.num_modes-1; i > 0; i--) { -+ if ( ! best_width ) { -+ if ( (_xwin.modesinfo[i]->hdisplay >= w) && -+ (_xwin.modesinfo[i]->vdisplay >= h) ) { -+ best_width = _xwin.modesinfo[i]->hdisplay; -+ best_height = _xwin.modesinfo[i]->vdisplay; -+ } -+ } else { -+ if ( (_xwin.modesinfo[i]->hdisplay != best_width) || -+ (_xwin.modesinfo[i]->vdisplay != best_height) ) { -+ i++; -+ break; -+ } -+ } -+ } -+ } -+ -+ /* Switch video mode. */ -+ if ((_xwin.modesinfo[i] == _xwin.orig_modeinfo) || -+ !XF86VidModeSwitchToMode(_xwin.display, _xwin.screen, -+ _xwin.modesinfo[i])) { -+ *vidmode_width = _xwin.orig_modeinfo->hdisplay; -+ *vidmode_height = _xwin.orig_modeinfo->vdisplay; -+ _xwin.orig_modeinfo = NULL; -+ } else { -+ *vidmode_width = _xwin.modesinfo[i]->hdisplay; -+ *vidmode_height = _xwin.modesinfo[i]->vdisplay; -+ /* only kept / set for compatibility with apps which check this */ -+ _xwin.mode_switched = 1; -+ } -+ -+ /* Lock mode switching. */ -+ XF86VidModeLockModeSwitch(_xwin.display, _xwin.screen, True); -+ -+ /* Set viewport. */ -+ XF86VidModeSetViewPort(_xwin.display, _xwin.screen, 0, 0); - } - - -@@ -2793,13 +2866,15 @@ - static void _xvidmode_private_unset_fullscreen(void) - { - if (_xwin.num_modes > 0) { -- if (_xwin.mode_switched) { -- /* Unlock mode switching. */ -- XF86VidModeLockModeSwitch(_xwin.display, _xwin.screen, False); -+ /* Unlock mode switching. */ -+ XF86VidModeLockModeSwitch(_xwin.display, _xwin.screen, False); - -+ if (_xwin.orig_modeinfo) { - /* Restore the original video mode. */ -- XF86VidModeSwitchToMode(_xwin.display, _xwin.screen, _xwin.modesinfo[0]); -- -+ XF86VidModeSwitchToMode(_xwin.display, _xwin.screen, -+ _xwin.orig_modeinfo); -+ _xwin.orig_modeinfo = 0; -+ /* only kept / set for compatibility with apps which check this */ - _xwin.mode_switched = 0; - } - -@@ -2809,36 +2884,35 @@ - _xwin.modesinfo = 0; - } - } -+#endif - - - --/* _xvidmode_private_fetch_mode_list: -+/* _xwin_private_fetch_mode_list: - * Generates a list of valid video modes. - */ --static GFX_MODE_LIST *_xvidmode_private_fetch_mode_list(void) -+static GFX_MODE_LIST *_xwin_private_fetch_mode_list(void) - { -+ int num_modes = 1, num_bpp = 0; -+ GFX_MODE_LIST *mode_list; -+ int i, j; -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ int has_vidmode = 0; - int vid_event_base, vid_error_base; - int vid_major_version, vid_minor_version; - XF86VidModeModeInfo **modesinfo; -- int num_modes, num_bpp; -- GFX_MODE_LIST *mode_list; -- int i, j; -- -- /* Test that display is local. */ -- if (!_xwin_private_display_is_local()) -- return 0; -- -- /* Test for presence of VidMode extension. */ -- if (!XF86VidModeQueryExtension(_xwin.display, &vid_event_base, &vid_error_base) -- || !XF86VidModeQueryVersion(_xwin.display, &vid_major_version, &vid_minor_version)) -- return 0; -- -- /* Get list of modelines. */ -- if (!XF86VidModeGetAllModeLines(_xwin.display, _xwin.screen, &num_modes, &modesinfo)) -- return 0; -+ -+ /* Test that display is local. */ -+ if ( _xwin_private_display_is_local() && -+ /* Test for presence of VidMode extension. */ -+ XF86VidModeQueryExtension(_xwin.display, &vid_event_base, &vid_error_base) && -+ XF86VidModeQueryVersion(_xwin.display, &vid_major_version, &vid_minor_version) && -+ /* Get list of modelines. */ -+ XF86VidModeGetAllModeLines(_xwin.display, _xwin.screen, &num_modes, &modesinfo)) -+ has_vidmode = 1; -+#endif - - /* Calculate the number of color depths we have to support. */ -- num_bpp = 0; - #ifdef ALLEGRO_COLOR8 - num_bpp++; - #endif -@@ -2857,25 +2931,48 @@ - /* Allocate space for mode list. */ - mode_list = malloc(sizeof(GFX_MODE_LIST)); - if (!mode_list) { -- free_modelines(modesinfo, num_modes); -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ if (has_vidmode) -+ free_modelines(modesinfo, num_modes); -+#endif - return 0; - } - - mode_list->mode = malloc(sizeof(GFX_MODE) * ((num_modes * num_bpp) + 1)); - if (!mode_list->mode) { - free(mode_list); -- free_modelines(modesinfo, num_modes); -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ if (has_vidmode) -+ free_modelines(modesinfo, num_modes); -+#endif - return 0; - } - - /* Fill in mode list. */ - j = 0; - for (i = 0; i < num_modes; i++) { --#define ADD_MODE(BPP) \ -+ -+#define ADD_SCREEN_MODE(BPP) \ -+ mode_list->mode[j].width = DisplayWidth(_xwin.display, _xwin.screen); \ -+ mode_list->mode[j].height = DisplayHeight(_xwin.display, _xwin.screen); \ -+ mode_list->mode[j].bpp = BPP; \ -+ j++ -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+#define ADD_VIDMODE_MODE(BPP) \ - mode_list->mode[j].width = modesinfo[i]->hdisplay; \ - mode_list->mode[j].height = modesinfo[i]->vdisplay; \ - mode_list->mode[j].bpp = BPP; \ - j++ -+#define ADD_MODE(BPP) \ -+ if (has_vidmode) { \ -+ ADD_VIDMODE_MODE(BPP); \ -+ } else { \ -+ ADD_SCREEN_MODE(BPP); \ -+ } -+#else -+#define ADD_MODE(BPP) ADD_SCREEN_MODE(BPP) -+#endif -+ - #ifdef ALLEGRO_COLOR8 - ADD_MODE(8); - #endif -@@ -2896,11 +2993,13 @@ - mode_list->mode[j].bpp = 0; - mode_list->num_modes = j; - -- free_modelines(modesinfo, num_modes); -+#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE -+ if (has_vidmode) -+ free_modelines(modesinfo, num_modes); -+#endif - - return mode_list; - } --#endif - - - -@@ -2909,15 +3008,11 @@ - */ - GFX_MODE_LIST *_xwin_fetch_mode_list(void) - { --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - GFX_MODE_LIST *list; - XLOCK(); -- list = _xvidmode_private_fetch_mode_list(); -+ list = _xwin_private_fetch_mode_list(); - XUNLOCK(); - return list; --#else -- return 0; --#endif - } - - ---- allegro-4.2.0/src/x/xgfxdrv.c~ 2006-03-08 22:47:27.000000000 +0100 -+++ allegro-4.2.0/src/x/xgfxdrv.c 2006-03-08 22:47:27.000000000 +0100 -@@ -61,7 +61,6 @@ - - - --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - static BITMAP *_xwin_fullscreen_gfxdrv_init(int w, int h, int vw, int vh, int color_depth); - - -@@ -98,7 +97,6 @@ - 0, - FALSE - }; --#endif - - - -@@ -109,9 +107,7 @@ - { GFX_XDGA2, &gfx_xdga2, FALSE }, - { GFX_XDGA2_SOFT, &gfx_xdga2_soft, FALSE }, - #endif --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - { GFX_XWINDOWS_FULLSCREEN, &gfx_xwin_fullscreen, TRUE }, --#endif - { GFX_XWINDOWS, &gfx_xwin, TRUE }, - { 0, NULL, 0 } - }; -@@ -138,7 +134,6 @@ - - - --#ifdef ALLEGRO_XWINDOWS_WITH_XF86VIDMODE - /* _xwin_fullscreen_gfxdrv_init: - * Creates screen bitmap (with video mode extension). - */ -@@ -146,4 +141,3 @@ - { - return _xwin_create_screen(&gfx_xwin_fullscreen, w, h, vw, vh, color_depth, TRUE); - } --#endif diff --git a/allegro-4.2.0-mprotect.patch b/allegro-4.2.0-mprotect.patch deleted file mode 100644 index 1d21702..0000000 --- a/allegro-4.2.0-mprotect.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- allegro-4.2.0/tools/grabber.c.mprotect 2005-09-04 18:00:18.000000000 +0200 -+++ allegro-4.2.0/tools/grabber.c 2006-03-11 23:27:31.000000000 +0100 -@@ -3121,6 +3121,7 @@ - case OSTYPE_SUNOS: s = "SunOS/Solaris"; break; - case OSTYPE_FREEBSD: s = "FreeBSD"; break; - case OSTYPE_NETBSD: s = "NetBSD"; break; -+ case OSTYPE_OPENBSD: s = "OpenBSD"; break; - case OSTYPE_IRIX: s = "IRIX"; break; - case OSTYPE_DARWIN: s = "Darwin"; break; - case OSTYPE_QNX: s = "QNX"; break; ---- allegro-4.2.0/include/allegro/platform/alunixac.hin.mprotect 2005-10-30 21:23:33.000000000 +0100 -+++ allegro-4.2.0/include/allegro/platform/alunixac.hin 2006-03-11 23:27:31.000000000 +0100 -@@ -169,6 +169,9 @@ - /* Define to 1 if you have the `mmap' function. */ - #undef HAVE_MMAP - -+/* Define to 1 if you have the `mprotect' function. */ -+#undef HAVE_MPROTECT -+ - /* Define to 1 if you have the header file, and it defines `DIR'. */ - #undef HAVE_NDIR_H - ---- allegro-4.2.0/include/allegro/system.h.mprotect 2005-03-15 21:32:43.000000000 +0100 -+++ allegro-4.2.0/include/allegro/system.h 2006-03-11 23:27:31.000000000 +0100 -@@ -53,6 +53,7 @@ - #define OSTYPE_SUNOS AL_ID('S','U','N',' ') - #define OSTYPE_FREEBSD AL_ID('F','B','S','D') - #define OSTYPE_NETBSD AL_ID('N','B','S','D') -+#define OSTYPE_OPENBSD AL_ID('O','B','S','D') - #define OSTYPE_IRIX AL_ID('I','R','I','X') - #define OSTYPE_DARWIN AL_ID('D','A','R','W') - #define OSTYPE_QNX AL_ID('Q','N','X',' ') ---- allegro-4.2.0/configure.mprotect 2005-11-06 10:54:00.000000000 +0100 -+++ allegro-4.2.0/configure 2006-03-11 23:27:31.000000000 +0100 -@@ -11225,7 +11225,7 @@ - - - --for ac_func in mmap memcmp mkstemp stricmp strlwr strupr vprintf -+for ac_func in mmap mprotect memcmp mkstemp stricmp strlwr strupr vprintf - do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` - echo "$as_me:$LINENO: checking for $ac_func" >&5 ---- allegro-4.2.0/configure.in.mprotect 2005-08-07 23:50:49.000000000 +0200 -+++ allegro-4.2.0/configure.in 2006-03-11 23:27:31.000000000 +0100 -@@ -713,7 +713,7 @@ - AC_STRUCT_TM - AC_TYPE_SIGNAL - --AC_CHECK_FUNCS(mmap memcmp mkstemp stricmp strlwr strupr vprintf) -+AC_CHECK_FUNCS(mmap mprotect memcmp mkstemp stricmp strlwr strupr vprintf) - - dnl Tweak header files for library build - CFLAGS="$CFLAGS -DALLEGRO_LIB_BUILD" ---- allegro-4.2.0/src/unix/usystem.c.mprotect 2005-09-04 18:00:17.000000000 +0200 -+++ allegro-4.2.0/src/unix/usystem.c 2006-03-11 23:27:31.000000000 +0100 -@@ -196,6 +196,9 @@ - else if (!strcmp(utsn.sysname, "NetBSD")) { - os_type = OSTYPE_NETBSD; - } -+ else if (!strcmp(utsn.sysname, "OpenBSD")) { -+ os_type = OSTYPE_OPENBSD; -+ } - else if ((!strcmp(utsn.sysname, "IRIX")) - || (!strcmp(utsn.sysname, "IRIX64"))) { - os_type = OSTYPE_IRIX; ---- allegro-4.2.0/src/unix/uesd.c.mprotect 2005-03-12 08:54:27.000000000 +0100 -+++ allegro-4.2.0/src/unix/uesd.c 2006-03-11 23:27:31.000000000 +0100 -@@ -27,6 +27,7 @@ - - #include - #include -+#include /* FD_ZERO() needs this */ - #include - #include - ---- allegro-4.2.0/src/i386/istretch.c.mprotect 2005-03-15 19:02:22.000000000 +0100 -+++ allegro-4.2.0/src/i386/istretch.c 2006-03-11 23:31:44.000000000 +0100 -@@ -30,6 +30,11 @@ - #include "winalleg.h" /* For VirtualProtect */ - #endif /* ifdef ALLEGRO_WINDOWS */ - -+#ifdef HAVE_MPROTECT -+ #include -+ #include -+ #include -+#endif - - - /* helper macro for generating stretchers in each color depth */ -@@ -435,7 +440,14 @@ - #ifdef ALLEGRO_WINDOWS - /* Play nice with Windows executable memory protection */ - VirtualProtect(_scratch_mem, _scratch_mem_size, PAGE_EXECUTE_READWRITE, &old_protect); -- #endif /* ifdef ALLEGRO_WINDOWS */ -+ #elif defined(HAVE_MPROTECT) -+ { -+ char *p = (char *)((unsigned long)_scratch_mem & ~(PAGE_SIZE-1ul)); -+ if (mprotect(p, _scratch_mem_size + ((char *)_scratch_mem - p), -+ PROT_EXEC|PROT_READ|PROT_WRITE)) -+ perror("allegro-error: mprotect failed during stretched blit!"); -+ } -+ #endif - - /* call the stretcher */ - _do_stretch(source, dest, _scratch_mem, sx>>16, sy, syd, diff --git a/allegro-4.2.0-nicevsync.patch b/allegro-4.2.0-nicevsync.patch deleted file mode 100644 index 4424144..0000000 --- a/allegro-4.2.0-nicevsync.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- allegro-4.2.0/src/x/xwin.c~ 2006-03-21 12:57:42.000000000 +0100 -+++ allegro-4.2.0/src/x/xwin.c 2006-03-21 12:57:42.000000000 +0100 -@@ -2265,6 +2265,7 @@ - XUNLOCK(); - - do { -+ rest(1); - } while (retrace_count == prev); - } - else { diff --git a/allegro-4.2.0-no-execheap.patch b/allegro-4.2.0-no-execheap.patch deleted file mode 100644 index ad6b98f..0000000 --- a/allegro-4.2.0-no-execheap.patch +++ /dev/null @@ -1,596 +0,0 @@ -diff -ur allegro-4.2.0.orig/src/i386/icsprite.c allegro-4.2.0/src/i386/icsprite.c ---- allegro-4.2.0.orig/src/i386/icsprite.c 2001-11-06 16:30:47.000000000 +0100 -+++ allegro-4.2.0/src/i386/icsprite.c 2006-03-13 23:26:53.000000000 +0100 -@@ -45,6 +45,11 @@ - #if defined ALLEGRO_COLOR24 || defined ALLEGRO_COLOR32 - unsigned long *p32; - #endif -+ -+ #ifdef USE_MMAP_GEN_CODE_BUF -+ /* make sure we get a new map */ -+ _map_size = 0; -+ #endif - - for (y=0; yh; y++) { - -@@ -270,13 +275,40 @@ - - COMPILER_RET(); - -+ #ifdef USE_MMAP_GEN_CODE_BUF -+ /* Lie about the size, return the size mapped which >= size used / -+ compiler_pos, because we need the size mapped for munmap */ -+ *len = _map_size; -+ /* we don't need _rw_map or _map_fd anymore */ -+ munmap(_rw_map, _map_size); -+ close(_map_fd); -+ return _exec_map; -+ #else - p = malloc(compiler_pos); - if (p) { - memcpy(p, _scratch_mem, compiler_pos); - *len = compiler_pos; -+ #ifdef ALLEGRO_WINDOWS -+ { -+ DWORD old_protect; -+ /* Play nice with Windows executable memory protection */ -+ VirtualProtect(p, compiler_pos, PAGE_EXECUTE_READWRITE, &old_protect); -+ } -+ #elif defined(HAVE_MPROTECT) -+ { -+ char *aligned_p = (char *)((unsigned long)p & ~(PAGE_SIZE-1ul)); -+ if (mprotect(aligned_p, compiler_pos + ((char *)p - aligned_p), -+ PROT_EXEC|PROT_READ|PROT_WRITE)) { -+ perror("allegro-error: mprotect failed during stretched blit!"); -+ free(p); -+ return NULL; -+ } -+ } -+ #endif - } - - return p; -+ #endif - } - - -@@ -327,8 +359,11 @@ - if (sprite) { - for (plane=0; plane<4; plane++) - if (sprite->proc[plane].draw) -+ #ifdef USE_MMAP_GEN_CODE_BUF -+ munmap(sprite->proc[plane].draw, sprite->proc[plane].len); -+ #else - free(sprite->proc[plane].draw); -- -+ #endif - free(sprite); - } - } -diff -ur allegro-4.2.0.orig/src/i386/istretch.c allegro-4.2.0/src/i386/istretch.c ---- allegro-4.2.0.orig/src/i386/istretch.c 2006-03-13 22:48:45.000000000 +0100 -+++ allegro-4.2.0/src/i386/istretch.c 2006-03-13 23:18:56.000000000 +0100 -@@ -216,29 +216,18 @@ - char depth; - char flags; - int lru; -- void *data; -+ void *exec; /* xr_ mapping in the mmap case, normally both in one. */ - int size; -+#ifdef USE_MMAP_GEN_CODE_BUF -+ void *rw; /* _rw mapping for the mmap case. */ -+ int fd; /* mapping backing fd for the mmap case. */ -+#endif - } STRETCHER_INFO; - -- - #define NUM_STRETCHERS 8 - -- --static STRETCHER_INFO stretcher_info[NUM_STRETCHERS] = --{ -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 }, -- { 0, 0, 0, 0, 0, 0, NULL, 0 } --}; -- -- -+static STRETCHER_INFO stretcher_info[NUM_STRETCHERS]; - static int stretcher_count = 0; -- - static int stretcher_virgin = TRUE; - - -@@ -251,11 +240,14 @@ - int i; - - for (i=0; i>= 2; -- _do_stretch(source, dest, stretcher_info[i].data, sx>>16, sy, syd, -+ _do_stretch(source, dest, stretcher_info[i].exec, sx>>16, sy, syd, - dest_x, dest_y, dest_height, dest->vtable->color_depth); - stretcher_info[i].lru = stretcher_count; - return; -@@ -382,17 +383,18 @@ - } - } - -- /* make sure all allocated memory is freed atexit */ -- if (stretcher_virgin) { -- stretcher_virgin = FALSE; -- _add_exit_func(free_stretchers, "free_stretchers"); -- } -- -+ #ifdef USE_MMAP_GEN_CODE_BUF -+ _exec_map = stretcher_info[best].exec; -+ _rw_map = stretcher_info[best].rw; -+ _map_size = stretcher_info[best].size; -+ _map_fd = stretcher_info[best].fd; -+ #else - prev_scratch_mem = _scratch_mem; - prev_scratch_mem_size = _scratch_mem_size; - -- _scratch_mem = stretcher_info[best].data; -+ _scratch_mem = stretcher_info[best].exec; - _scratch_mem_size = stretcher_info[best].size; -+ #endif - - if (is_linear_bitmap(dest)) { - /* build a simple linear stretcher */ -@@ -439,7 +441,7 @@ - #ifdef ALLEGRO_WINDOWS - /* Play nice with Windows executable memory protection */ - VirtualProtect(_scratch_mem, _scratch_mem_size, PAGE_EXECUTE_READWRITE, &old_protect); -- #elif defined(HAVE_MPROTECT) -+ #elif defined(HAVE_MPROTECT) && !defined(USE_MMAP_GEN_CODE_BUF) - { - char *p = (char *)((unsigned long)_scratch_mem & ~(PAGE_SIZE-1ul)); - if (mprotect(p, _scratch_mem_size + ((char *)_scratch_mem - p), -@@ -448,22 +450,29 @@ - } - #endif - -- /* call the stretcher */ -- _do_stretch(source, dest, _scratch_mem, sx>>16, sy, syd, -- dest_x, dest_y, dest_height, dest->vtable->color_depth); -- -- /* and store it in the cache */ -+ /* store it in the cache */ - stretcher_info[best].sx = sx; - stretcher_info[best].sxd = sxd; - stretcher_info[best].dest_width = dest_width; - stretcher_info[best].depth = dest->vtable->color_depth; - stretcher_info[best].flags = flags; - stretcher_info[best].lru = stretcher_count; -- stretcher_info[best].data = _scratch_mem; -+ #ifdef USE_MMAP_GEN_CODE_BUF -+ stretcher_info[best].exec = _exec_map; -+ stretcher_info[best].rw = _rw_map; -+ stretcher_info[best].size = _map_size; -+ stretcher_info[best].fd = _map_fd; -+ #else -+ stretcher_info[best].exec = _scratch_mem; - stretcher_info[best].size = _scratch_mem_size; - - _scratch_mem = prev_scratch_mem; - _scratch_mem_size = prev_scratch_mem_size; -+ #endif -+ -+ /* and call the stretcher */ -+ _do_stretch(source, dest, stretcher_info[best].exec, sx>>16, sy, syd, -+ dest_x, dest_y, dest_height, dest->vtable->color_depth); - } - - -diff -ur allegro-4.2.0.orig/src/i386/opcodes.h allegro-4.2.0/src/i386/opcodes.h ---- allegro-4.2.0.orig/src/i386/opcodes.h 2000-05-14 22:17:13.000000000 +0200 -+++ allegro-4.2.0/src/i386/opcodes.h 2006-03-13 23:00:31.000000000 +0100 -@@ -19,6 +19,51 @@ - #ifndef OPCODES_H - #define OPCODES_H - -+/* mremap is only available under Linux, so is selinux which is the reason for -+ USE_MMAP_GEN_CODE_BUF so that is no problem. */ -+#ifdef ALLEGRO_LINUX -+ #define USE_MMAP_GEN_CODE_BUF -+ #define __USE_GNU /* for mremap */ -+ #include /* for mkstemp */ -+ #include /* for unlink */ -+ #include /* for PAGE_SIZE */ -+ #include /* for mmap */ -+ -+ static void *_exec_map; -+ static void *_rw_map; -+ static int _map_size; -+ static int _map_fd; -+ -+ #define GROW_GEN_CODE_BUF(size) \ -+ if (!_map_size) { \ -+ /* Create backing file. FIXME: error-checking, but how? */ \ -+ char tempfile_name[] = "/tmp/allegroXXXXXX"; \ -+ _map_fd = mkstemp(tempfile_name); \ -+ unlink(tempfile_name); \ -+ /* Grow backing file to multiple of page size */ \ -+ _map_size = (size + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1); \ -+ ftruncate(_map_fd, _map_size); \ -+ /* And create the 2 mappings */ \ -+ _exec_map = mmap(0, _map_size, PROT_EXEC | PROT_READ, MAP_SHARED, \ -+ _map_fd, 0); \ -+ _rw_map = mmap(0, _map_size, PROT_READ | PROT_WRITE, MAP_SHARED, \ -+ _map_fd, 0); \ -+ } \ -+ else if (size > _map_size) { \ -+ int old_size = _map_size; \ -+ /* Grow backing file to multiple of page size */ \ -+ _map_size = (size + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1); \ -+ ftruncate(_map_fd, _map_size); \ -+ /* And remap the 2 mappings */ \ -+ _exec_map = mremap(_exec_map, old_size, _map_size, MREMAP_MAYMOVE); \ -+ _rw_map = mremap(_rw_map, old_size, _map_size, MREMAP_MAYMOVE); \ -+ } -+ -+ #define GEN_CODE_BUF _rw_map -+#else -+ #define GROW_GEN_CODE_BUF(size) _grow_scratch_mem(size) -+ #define GEN_CODE_BUF _scratch_mem -+#endif - - #ifdef ALLEGRO_ASM_USE_FS - #define FS_PREFIX() COMPILER_BYTE(0x64) -@@ -30,37 +75,37 @@ - - - #define COMPILER_BYTE(val) { \ -- *(((unsigned char *)_scratch_mem)+compiler_pos) = val; \ -+ *(((unsigned char *)GEN_CODE_BUF)+compiler_pos) = val; \ - compiler_pos++; \ - } - - - #define COMPILER_WORD(val) { \ -- *((unsigned short *)(((char *)_scratch_mem)+compiler_pos)) = val; \ -+ *((unsigned short *)(((char *)GEN_CODE_BUF)+compiler_pos)) = val; \ - compiler_pos += 2; \ - } - - - #define COMPILER_LONG(val) { \ -- *((unsigned long *)(((char *)_scratch_mem)+compiler_pos)) = val; \ -+ *((unsigned long *)(((char *)GEN_CODE_BUF)+compiler_pos)) = val; \ - compiler_pos += 4; \ - } - - - #define COMPILER_INC_ESI() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0x46); /* incl %esi */ \ - } - - - #define COMPILER_INC_EDI() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0x47); /* incl %edi */ \ - } - - - #define COMPILER_ADD_ESI(val) { \ -- _grow_scratch_mem(compiler_pos+6); \ -+ GROW_GEN_CODE_BUF(compiler_pos+6); \ - COMPILER_BYTE(0x81); /* addl $val, %esi */ \ - COMPILER_BYTE(0xC6); \ - COMPILER_LONG(val); \ -@@ -68,87 +113,87 @@ - - - #define COMPILER_ADD_ECX_EAX() { \ -- _grow_scratch_mem(compiler_pos+2); \ -+ GROW_GEN_CODE_BUF(compiler_pos+2); \ - COMPILER_BYTE(0x01); /* addl %ecx, %eax */ \ - COMPILER_BYTE(0xC8); \ - } - - - #define COMPILER_MOV_EAX(val) { \ -- _grow_scratch_mem(compiler_pos+5); \ -+ GROW_GEN_CODE_BUF(compiler_pos+5); \ - COMPILER_BYTE(0xB8); /* movl $val, %eax */ \ - COMPILER_LONG(val); \ - } - - - #define COMPILER_MOV_ECX(val) { \ -- _grow_scratch_mem(compiler_pos+5); \ -+ GROW_GEN_CODE_BUF(compiler_pos+5); \ - COMPILER_BYTE(0xB9); /* movl $val, %ecx */ \ - COMPILER_LONG(val); \ - } - - - #define COMPILER_MOV_EDX(val) { \ -- _grow_scratch_mem(compiler_pos+5); \ -+ GROW_GEN_CODE_BUF(compiler_pos+5); \ - COMPILER_BYTE(0xBA); /* movl $val, %edx */ \ - COMPILER_LONG(val); \ - } - - - #define COMPILER_MOV_EDI_EAX() { \ -- _grow_scratch_mem(compiler_pos+2); \ -+ GROW_GEN_CODE_BUF(compiler_pos+2); \ - COMPILER_BYTE(0x89); /* movl %edi, %eax */ \ - COMPILER_BYTE(0xF8); \ - } - - - #define COMPILER_CALL_ESI() { \ -- _grow_scratch_mem(compiler_pos+2); \ -+ GROW_GEN_CODE_BUF(compiler_pos+2); \ - COMPILER_BYTE(0xFF); /* call *%esi */ \ - COMPILER_BYTE(0xD6); \ - } - - - #define COMPILER_OUTW() { \ -- _grow_scratch_mem(compiler_pos+2); \ -+ GROW_GEN_CODE_BUF(compiler_pos+2); \ - COMPILER_BYTE(0x66); /* outw %ax, %dx */ \ - COMPILER_BYTE(0xEF); \ - } - - - #define COMPILER_PUSH_ESI() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0x56); /* pushl %esi */ \ - } - - - #define COMPILER_PUSH_EDI() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0x57); /* pushl %edi */ \ - } - - - #define COMPILER_POP_ESI() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0x5E); /* popl %esi */ \ - } - - - #define COMPILER_POP_EDI() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0x5F); /* popl %edi */ \ - } - - - #define COMPILER_REP_MOVSB() { \ -- _grow_scratch_mem(compiler_pos+2); \ -+ GROW_GEN_CODE_BUF(compiler_pos+2); \ - COMPILER_BYTE(0xF2); /* rep */ \ - COMPILER_BYTE(0xA4); /* movsb */ \ - } - - - #define COMPILER_REP_MOVSW() { \ -- _grow_scratch_mem(compiler_pos+3); \ -+ GROW_GEN_CODE_BUF(compiler_pos+3); \ - COMPILER_BYTE(0xF3); /* rep */ \ - COMPILER_BYTE(0x66); /* word prefix */ \ - COMPILER_BYTE(0xA5); /* movsw */ \ -@@ -156,14 +201,14 @@ - - - #define COMPILER_REP_MOVSL() { \ -- _grow_scratch_mem(compiler_pos+2); \ -+ GROW_GEN_CODE_BUF(compiler_pos+2); \ - COMPILER_BYTE(0xF3); /* rep */ \ - COMPILER_BYTE(0xA5); /* movsl */ \ - } - - - #define COMPILER_REP_MOVSL2() { \ -- _grow_scratch_mem(compiler_pos+17); \ -+ GROW_GEN_CODE_BUF(compiler_pos+17); \ - COMPILER_BYTE(0x8D); /* leal (%ecx, %ecx, 2), %ecx */ \ - COMPILER_BYTE(0x0C); \ - COMPILER_BYTE(0x49); \ -@@ -185,7 +230,7 @@ - - - #define COMPILER_LODSB() { \ -- _grow_scratch_mem(compiler_pos+3); \ -+ GROW_GEN_CODE_BUF(compiler_pos+3); \ - COMPILER_BYTE(0x8A); /* movb (%esi), %al */ \ - COMPILER_BYTE(0x06); \ - COMPILER_BYTE(0x46); /* incl %esi */ \ -@@ -193,7 +238,7 @@ - - - #define COMPILER_LODSW() { \ -- _grow_scratch_mem(compiler_pos+6); \ -+ GROW_GEN_CODE_BUF(compiler_pos+6); \ - COMPILER_BYTE(0x66); /* word prefix */ \ - COMPILER_BYTE(0x8B); /* movw (%esi), %ax */ \ - COMPILER_BYTE(0x06); \ -@@ -204,7 +249,7 @@ - - - #define COMPILER_LODSL() { \ -- _grow_scratch_mem(compiler_pos+5); \ -+ GROW_GEN_CODE_BUF(compiler_pos+5); \ - COMPILER_BYTE(0x8B); /* movl (%esi), %eax */ \ - COMPILER_BYTE(0x06); \ - COMPILER_BYTE(0x83); /* addl $4, %esi */ \ -@@ -214,7 +259,7 @@ - - - #define COMPILER_LODSL2() { \ -- _grow_scratch_mem(compiler_pos+15); \ -+ GROW_GEN_CODE_BUF(compiler_pos+15); \ - COMPILER_BYTE(0x8B); /* movl (%esi), %eax */ \ - COMPILER_BYTE(0x06); \ - COMPILER_BYTE(0x25); /* andl $0xFFFFFF, %eax */ \ -@@ -231,7 +276,7 @@ - - - #define COMPILER_STOSB() { \ -- _grow_scratch_mem(compiler_pos+4); \ -+ GROW_GEN_CODE_BUF(compiler_pos+4); \ - COMPILER_BYTE(0x26); /* movb %al, %es:(%edi) */ \ - COMPILER_BYTE(0x88); \ - COMPILER_BYTE(0x07); \ -@@ -240,7 +285,7 @@ - - - #define COMPILER_STOSW() { \ -- _grow_scratch_mem(compiler_pos+7); \ -+ GROW_GEN_CODE_BUF(compiler_pos+7); \ - COMPILER_BYTE(0x26); /* es segment prefix */ \ - COMPILER_BYTE(0x66); /* word prefix */ \ - COMPILER_BYTE(0x89); /* movw %ax, %es:(%edi) */ \ -@@ -252,7 +297,7 @@ - - - #define COMPILER_STOSL() { \ -- _grow_scratch_mem(compiler_pos+6); \ -+ GROW_GEN_CODE_BUF(compiler_pos+6); \ - COMPILER_BYTE(0x26); /* es segment prefix */ \ - COMPILER_BYTE(0x89); /* movl %eax, %es:(%edi) */ \ - COMPILER_BYTE(0x07); \ -@@ -263,7 +308,7 @@ - - - #define COMPILER_STOSL2() { \ -- _grow_scratch_mem(compiler_pos+11); \ -+ GROW_GEN_CODE_BUF(compiler_pos+11); \ - COMPILER_BYTE(0x66); /* word prefix */ \ - COMPILER_BYTE(0x26); /* es segment prefix */ \ - COMPILER_BYTE(0x89); /* movw %ax, %es:(%edi) */ \ -@@ -279,7 +324,7 @@ - - - #define COMPILER_MASKED_STOSB(mask_color) { \ -- _grow_scratch_mem(compiler_pos+8); \ -+ GROW_GEN_CODE_BUF(compiler_pos+8); \ - COMPILER_BYTE(0x08); /* orb %al, %al */ \ - COMPILER_BYTE(0xC0); \ - COMPILER_BYTE(0x74); /* jz skip */ \ -@@ -292,7 +337,7 @@ - - - #define COMPILER_MASKED_STOSW(mask_color) { \ -- _grow_scratch_mem(compiler_pos+13); \ -+ GROW_GEN_CODE_BUF(compiler_pos+13); \ - COMPILER_BYTE(0x66); /* word prefix */ \ - COMPILER_BYTE(0x3D); /* cmpw mask_color, %ax */ \ - COMPILER_WORD(mask_color); \ -@@ -309,7 +354,7 @@ - - - #define COMPILER_MASKED_STOSL(mask_color) { \ -- _grow_scratch_mem(compiler_pos+13); \ -+ GROW_GEN_CODE_BUF(compiler_pos+13); \ - COMPILER_BYTE(0x3D); /* cmpl mask_color, %eax */ \ - COMPILER_LONG(mask_color); \ - COMPILER_BYTE(0x74); /* jz skip */ \ -@@ -324,7 +369,7 @@ - - - #define COMPILER_MASKED_STOSL2(mask_color) { \ -- _grow_scratch_mem(compiler_pos+18); \ -+ GROW_GEN_CODE_BUF(compiler_pos+18); \ - COMPILER_BYTE(0x3D); /* cmpl mask_color, %eax */ \ - COMPILER_LONG(mask_color); \ - COMPILER_BYTE(0x74); /* jz skip */ \ -@@ -360,7 +405,7 @@ - - - #define COMPILER_MOVB_IMMED(offset, val) { \ -- _grow_scratch_mem(MOV_IMMED_SIZE(2+FS_SIZE, offset)); \ -+ GROW_GEN_CODE_BUF(MOV_IMMED_SIZE(2+FS_SIZE, offset)); \ - FS_PREFIX(); /* fs: */ \ - COMPILER_BYTE(0xC6); /* movb $val, offset(%eax) */ \ - MOV_IMMED(offset); \ -@@ -369,7 +414,7 @@ - - - #define COMPILER_MOVW_IMMED(offset, val) { \ -- _grow_scratch_mem(MOV_IMMED_SIZE(4+FS_SIZE, offset)); \ -+ GROW_GEN_CODE_BUF(MOV_IMMED_SIZE(4+FS_SIZE, offset)); \ - COMPILER_BYTE(0x66); /* word prefix */ \ - FS_PREFIX(); /* fs: */ \ - COMPILER_BYTE(0xC7); /* movw $val, offset(%eax) */ \ -@@ -379,7 +424,7 @@ - - - #define COMPILER_MOVL_IMMED(offset, val) { \ -- _grow_scratch_mem(MOV_IMMED_SIZE(5+FS_SIZE, offset)); \ -+ GROW_GEN_CODE_BUF(MOV_IMMED_SIZE(5+FS_SIZE, offset)); \ - FS_PREFIX(); /* fs: */ \ - COMPILER_BYTE(0xC7); /* movl $val, offset(%eax) */ \ - MOV_IMMED(offset); \ -@@ -388,7 +433,7 @@ - - - #define COMPILER_RET() { \ -- _grow_scratch_mem(compiler_pos+1); \ -+ GROW_GEN_CODE_BUF(compiler_pos+1); \ - COMPILER_BYTE(0xC3); /* ret */ \ - } - diff --git a/allegro.spec b/allegro.spec index 0c63b74..9c96f8d 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro -Version: 4.2.0 -Release: 18%{?dist} +Version: 4.2.1 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -15,15 +15,6 @@ Source: http://download.sourceforge.net/alleg/allegro-%{version}.tar.gz Patch1: allegro-4.0.3-libdir.patch Patch2: allegro-4.0.3-cfg.patch Patch3: allegro-4.2.0-nostrip.patch -Patch4: allegro-4.2.0-digmid.patch -Patch5: allegro-4.2.0-alsa-big-endian.patch -Patch6: allegro-4.2.0-64bit.patch -Patch7: allegro-4.2.0-fullscreen2.patch -Patch8: allegro-4.2.0-mprotect.patch -Patch9: allegro-4.2.0-no-execheap.patch -Patch10: allegro-4.2.0-nicevsync.patch -Patch11: allegro-4.2.0-noexecstack.patch -Patch12: allegro-4.2.0-multilib.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: esound-devel, texinfo, perl, arts-devel BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel @@ -131,15 +122,6 @@ které jsou užitečné pro vývoj Allegro programů. %patch1 -p1 -b .libdir %patch2 -p1 -b .config %patch3 -p1 -z .nostrip -%patch4 -p1 -z .digmid -%patch5 -p1 -z .alsa-big-endian -%patch6 -p1 -z .64bit -%patch7 -p1 -z .fullscreen -%patch8 -p1 -z .mprotect -%patch9 -p1 -z .execheap -%patch10 -p1 -z .nicevsync -%patch11 -p1 -z .noexecstack -%patch12 -p1 -z .multilib %build @@ -155,8 +137,6 @@ make CFLAGS="$RPM_OPT_FLAGS -DALLEGRO_USE_C -I%{_includedir}/kde/artsc" %else make CFLAGS="$RPM_OPT_FLAGS -I%{_includedir}/kde/artsc" %endif -MKDATA_PRELOAD=../../lib/unix/liballeg-%{version}.so \ - DAT=../../tools/dat sh misc/mkdata.sh %install @@ -230,6 +210,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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) From 5fef66c803128ce24e5ec10036f774fd18953008 Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Tue, 28 Nov 2006 12:03:05 +0000 Subject: [PATCH 03/91] new source tarball --- .cvsignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.cvsignore b/.cvsignore index f3eb88d..b3e944d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ allegro-4.2.0.tar.gz +allegro-4.2.1.tar.gz diff --git a/sources b/sources index 75ee1c4..00c03d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a8b2c85c58b16345fe735f72763f3a6e allegro-4.2.0.tar.gz +0a09d0144ee8652fb8fa00f6cbb324fe allegro-4.2.1.tar.gz From ebca71b2d9259ebecda58dd8689daa1d81fdc6fb Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 12 Jan 2007 15:53:12 +0000 Subject: [PATCH 04/91] - 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 --- allegro-4.2.0-noexecstack.patch | 36 +++++++++++++++++++++---- allegro-4.2.1-noexecmod.patch | 47 +++++++++++++++++++++++++++++++++ allegro.spec | 45 +++++++++++++++++++++++++++++-- 3 files changed, 121 insertions(+), 7 deletions(-) create mode 100644 allegro-4.2.1-noexecmod.patch diff --git a/allegro-4.2.0-noexecstack.patch b/allegro-4.2.0-noexecstack.patch index 2bf10b8..578687d 100644 --- a/allegro-4.2.0-noexecstack.patch +++ b/allegro-4.2.0-noexecstack.patch @@ -1,12 +1,10 @@ --- 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 -@@ -48,6 +48,7 @@ - - ret +@@ -50,4 +50,5 @@ + #endif + #endif +.section .note.GNU-stack,"",@progbits - #endif - #endif --- 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 @@ -205,3 +203,31 @@ 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.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.spec b/allegro.spec index 9c96f8d..ad5e8ab 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -15,12 +15,19 @@ Source: http://download.sourceforge.net/alleg/allegro-%{version}.tar.gz Patch1: allegro-4.0.3-libdir.patch Patch2: allegro-4.0.3-cfg.patch Patch3: allegro-4.2.0-nostrip.patch +Patch4: allegro-4.2.0-noexecstack.patch +Patch5: allegro-4.2.0-multilib.patch +Patch6: allegro-4.2.1-noexecmod.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: esound-devel, texinfo, perl, arts-devel BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel BuildRequires: libXpm-devel, libXcursor-devel, libXxf86vm-devel BuildRequires: libXxf86dga-devel, autoconf Requires: timidity++ +%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 @@ -122,6 +129,9 @@ které jsou užitečné pro vývoj Allegro programů. %patch1 -p1 -b .libdir %patch2 -p1 -b .config %patch3 -p1 -z .nostrip +%patch4 -p1 -z .noexecstack +%patch5 -p1 -z .multilib +%patch6 -p1 -z .noexecmod %build @@ -152,9 +162,29 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_libdir}/liball{p,d}_unsharable.a +%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\.1/alleg-vga\.so' 2>/dev/null || : +# Actually change the context +chcon -t textrel_shlib_t %{_libdir}/allegro/%{version}/alleg-vga.so || : +%else %post -p /sbin/ldconfig +%endif -%postun -p /sbin/ldconfig +%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\.1/alleg-vga\.so' 2>/dev/null || : +fi +%else +%postun -p /sbin/ldconfig +%endif %post devel /sbin/install-info %{_infodir}/allegro.info %{_infodir}/dir 2>/dev/null || : @@ -210,6 +240,17 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From 6e8ef536cc21dbc634a3d2c4760e394b593dd2dd Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 6 Jul 2007 10:02:23 +0000 Subject: [PATCH 05/91] - 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) --- allegro.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/allegro.spec b/allegro.spec index ad5e8ab..8dd7500 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -169,7 +169,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/liball{p,d}_unsharable.a semanage fcontext -a -t textrel_shlib_t \ '%{_libdir}/allegro/4\.2\.1/alleg-vga\.so' 2>/dev/null || : # Actually change the context -chcon -t textrel_shlib_t %{_libdir}/allegro/%{version}/alleg-vga.so || : +chcon -t textrel_shlib_t %{_libdir}/allegro/%{version}/alleg-vga.so \ + 2> /dev/null || : %else %post -p /sbin/ldconfig %endif @@ -240,6 +241,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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) From 5cd1d4d0573ead13ab80b8f77468661e261853b5 Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Mon, 23 Jul 2007 10:43:07 +0000 Subject: [PATCH 06/91] - update to 4.2.2 - drop .libdir patch - sync .multilib patch --- .cvsignore | 1 + allegro-4.2.0-multilib.patch | 43 ++++++++++++++++++------------------ allegro.spec | 31 ++++++++++++++------------ sources | 2 +- 4 files changed, 40 insertions(+), 37 deletions(-) diff --git a/.cvsignore b/.cvsignore index b3e944d..e19b034 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,3 @@ allegro-4.2.0.tar.gz allegro-4.2.1.tar.gz +allegro-4.2.2.tar.gz diff --git a/allegro-4.2.0-multilib.patch b/allegro-4.2.0-multilib.patch index 0c0507e..26e786b 100644 --- a/allegro-4.2.0-multilib.patch +++ b/allegro-4.2.0-multilib.patch @@ -1,6 +1,23 @@ ---- allegro-4.2.0/include/allegro/platform/alunixac.hin~ 2006-10-15 18:45:00.000000000 +0200 -+++ allegro-4.2.0/include/allegro/platform/alunixac.hin 2006-10-15 18:45:00.000000000 +0200 -@@ -49,19 +49,25 @@ +--- 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. */ @@ -9,23 +26,5 @@ +#define ALLEGRO_LINUX_VGA +#endif - /* Define if target machine is little endian. */ - #undef ALLEGRO_LITTLE_ENDIAN + /*---------------------------------------------------------------------------*/ - /* Define if assembler supports MMX. */ --#undef ALLEGRO_MMX -+#ifdef __i386__ -+#define ALLEGRO_MMX -+#endif - - /* Define for Unix platforms, to use C convention for bank switching. */ - #undef ALLEGRO_NO_ASM - - /* Define if assembler supports SSE. */ --#undef ALLEGRO_SSE -+#ifdef __i386__ -+#define ALLEGRO_SSE -+#endif - - /* Define if constructor attribute is supported. */ - #undef ALLEGRO_USE_CONSTRUCTOR diff --git a/allegro.spec b/allegro.spec index 8dd7500..a17536f 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro -Version: 4.2.1 -Release: 3%{?dist} +Version: 4.2.2 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -12,12 +12,11 @@ Group: System Environment/Libraries License: Giftware URL: http://alleg.sourceforge.net/ Source: http://download.sourceforge.net/alleg/allegro-%{version}.tar.gz -Patch1: allegro-4.0.3-libdir.patch -Patch2: allegro-4.0.3-cfg.patch -Patch3: allegro-4.2.0-nostrip.patch -Patch4: allegro-4.2.0-noexecstack.patch -Patch5: allegro-4.2.0-multilib.patch -Patch6: allegro-4.2.1-noexecmod.patch +Patch1: allegro-4.0.3-cfg.patch +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 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: esound-devel, texinfo, perl, arts-devel BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel @@ -126,12 +125,11 @@ které jsou užitečné pro vývoj Allegro programů. %prep %setup -q -%patch1 -p1 -b .libdir -%patch2 -p1 -b .config -%patch3 -p1 -z .nostrip -%patch4 -p1 -z .noexecstack -%patch5 -p1 -z .multilib -%patch6 -p1 -z .noexecmod +%patch1 -p1 -b .config +%patch2 -p1 -z .nostrip +%patch3 -p1 -z .noexecstack +%patch4 -p1 -z .multilib +%patch5 -p1 -z .noexecmod %build @@ -241,6 +239,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 diff --git a/sources b/sources index 00c03d0..f8f8e46 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0a09d0144ee8652fb8fa00f6cbb324fe allegro-4.2.1.tar.gz +2b677f9ef772944b62251cf823dc24b6 allegro-4.2.2.tar.gz From 5c826a1d19f4561c623b50928ce5107cceb4ea84 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 24 Jul 2007 21:43:40 +0000 Subject: [PATCH 07/91] - 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) --- allegro-4.0.3-libdir.patch | 35 +++++++++-------------------------- allegro.spec | 8 +++++++- 2 files changed, 16 insertions(+), 27 deletions(-) diff --git a/allegro-4.0.3-libdir.patch b/allegro-4.0.3-libdir.patch index 3672a83..051555f 100644 --- a/allegro-4.0.3-libdir.patch +++ b/allegro-4.0.3-libdir.patch @@ -1,16 +1,19 @@ ---- allegro-4.2.0/misc/allegro-config.in.libdir 2005-11-05 17:40:11.000000000 +0100 -+++ allegro-4.2.0/misc/allegro-config.in 2006-10-15 18:38:46.000000000 +0200 -@@ -15,13 +15,21 @@ - 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=@includedir@ +-lib_path=@libdir@ + bin_path=@bindir@ +arch=$(/bin/arch) +if [ "$arch" = "x86_64" -o "$arch" = "s390x" -o "$arch" = "ppc64" \ + -o "$arch" = "ia64" ]; +then -+ libdir="/usr/lib64" ++ lib_path="/usr/lib64" +else -+ libdir="/usr/lib" ++ lib_path="/usr/lib" +fi static_libs=@LINK_WITH_STATIC_LIBS@ @@ -23,23 +26,3 @@ allegro_libs="@LIBS@" allegro_frameworks="@FRAMEWORKS@" allegro_cflags="" -@@ -178,7 +186,7 @@ - fi - - if test "$echo_libs" = "yes"; then -- libdirs=-L${exec_prefix}/lib -+ libdirs=-L${libdir} - if test "$static_libs" = "yes"; then - echo $libdirs $allegro_ldflags -l${lib_type} $allegro_libs - else -@@ -192,8 +200,8 @@ - - if test "$echo_env" = "yes"; then - echo "export PATH=\$PATH:$prefix/bin" -- echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$prefix/lib" -- echo "export LIBRARY_PATH=\$LIBRARY_PATH:$prefix/lib" -+ echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$libdir" -+ echo "export LIBRARY_PATH=\$LIBRARY_PATH:$libdir" - echo "export C_INCLUDE_PATH=\$C_INCLUDE_PATH:$prefix/include" - echo "export CPLUS_INCLUDE_PATH=\$CPLUS_INCLUDE_PATH:$prefix/include" - echo "export OBJC_INCLUDE_PATH=\$OBJC_INCLUDE_PATH:$prefix/include" diff --git a/allegro.spec b/allegro.spec index a17536f..f61a16f 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -17,6 +17,7 @@ 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 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: esound-devel, texinfo, perl, arts-devel BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel @@ -130,6 +131,7 @@ které jsou užitečné pro vývoj Allegro programů. %patch3 -p1 -z .noexecstack %patch4 -p1 -z .multilib %patch5 -p1 -z .noexecmod +%patch6 -p1 -z .multilib2 %build @@ -239,6 +241,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From d54327b83d9c19b8015b2ebaefe2a5c4e51b484b Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 12 Aug 2007 21:23:40 +0000 Subject: [PATCH 08/91] - 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 --- allegro.spec | 65 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/allegro.spec b/allegro.spec index f61a16f..c829a79 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,12 +1,12 @@ Name: allegro Version: 4.2.2 -Release: 2%{?dist} +Release: 3%{?dist} 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(cz): Knihovna pro programování her +Summary(cs): Knihovna pro programování her Group: System Environment/Libraries License: Giftware @@ -22,8 +22,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: esound-devel, texinfo, perl, arts-devel BuildRequires: xorg-x11-proto-devel, libX11-devel, libXext-devel, libXt-devel BuildRequires: libXpm-devel, libXcursor-devel, libXxf86vm-devel -BuildRequires: libXxf86dga-devel, autoconf -Requires: timidity++ +BuildRequires: libXxf86dga-devel, jack-audio-connection-kit-devel, autoconf +Requires: timidity++ %ifarch %{ix86} Requires(post): policycoreutils /sbin/ldconfig Requires(postun): policycoreutils /sbin/ldconfig @@ -54,7 +54,7 @@ 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(cz): Knihovna pro programování her +Summary(cs): Knihovna pro programování her Group: Development/Libraries Requires: %{name} = %{version}-%{release}, xorg-x11-proto-devel Requires: libX11-devel, libXcursor-devel @@ -91,7 +91,7 @@ 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(cz): Přídavné nástroje pro programovou knihovnu Allegro +Summary(cs): Přídavné nástroje pro programovou knihovnu Allegro Group: Development/Tools Requires: %{name} = %{version}-%{release} @@ -123,6 +123,33 @@ 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 +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). + %prep %setup -q @@ -132,6 +159,8 @@ které jsou užitečné pro vývoj Allegro programů. %patch4 -p1 -z .multilib %patch5 -p1 -z .noexecmod %patch6 -p1 -z .multilib2 +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 @@ -209,6 +238,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/liballeg*.so* %{_libdir}/allegro %{_datadir}/allegro +%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,-) @@ -239,8 +271,27 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/rgbmap %{_bindir}/textconv +%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 +%defattr(-,root,root,-) +%{_libdir}/allegro/%{version}/alleg-jackdigi.so + %changelog +* 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) @@ -251,7 +302,7 @@ rm -rf $RPM_BUILD_ROOT - 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: +- 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) From 956baadb9824174a3d4d642868dd38217c70197a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 21 Aug 2007 20:20:52 +0000 Subject: [PATCH 09/91] - Rebuild for buildId --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index c829a79..edaf41e 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -285,6 +285,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From dbbdb2eb2bc1d9aa856a69ccd4a8e5ff98c164e0 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 22 Aug 2007 08:08:31 +0000 Subject: [PATCH 10/91] - Update to pristine upstream sources instead of using allegro.cc pre-release --- .cvsignore | 2 -- allegro.spec | 7 +++++-- sources | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index e19b034..df13320 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1 @@ -allegro-4.2.0.tar.gz -allegro-4.2.1.tar.gz allegro-4.2.2.tar.gz diff --git a/allegro.spec b/allegro.spec index edaf41e..bc10aae 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -11,7 +11,7 @@ Summary(cs): Knihovna pro programování her Group: System Environment/Libraries License: Giftware URL: http://alleg.sourceforge.net/ -Source: http://download.sourceforge.net/alleg/allegro-%{version}.tar.gz +Source: http://downloads.sourceforge.net/alleg/allegro-%{version}.tar.gz Patch1: allegro-4.0.3-cfg.patch Patch2: allegro-4.2.0-nostrip.patch Patch3: allegro-4.2.0-noexecstack.patch @@ -285,6 +285,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 diff --git a/sources b/sources index f8f8e46..94e57de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2b677f9ef772944b62251cf823dc24b6 allegro-4.2.2.tar.gz +87ffb1def034e0ec29a9ad4a595cda7e allegro-4.2.2.tar.gz From 5ca6a6da7b1c5a592c412472fa43d06ae7b36f09 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 14 Oct 2007 19:47:57 +0000 Subject: [PATCH 11/91] - Require timidity++-patches instead of timidity++ itself so that we don't drag in arts and through arts, qt and boost. --- allegro.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/allegro.spec b/allegro.spec index bc10aae..b75f825 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -23,7 +23,7 @@ BuildRequires: esound-devel, texinfo, perl, arts-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++ +Requires: timidity++-patches %ifarch %{ix86} Requires(post): policycoreutils /sbin/ldconfig Requires(postun): policycoreutils /sbin/ldconfig @@ -285,6 +285,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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. + * Wed Aug 22 2007 Hans de Goede 4.2.2-5 - Update to pristine upstream sources instead of using allegro.cc pre-release From ab75b11f4fa7ee4fccc67369aed5a88f5f4849c4 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 15 Oct 2007 07:36:30 +0000 Subject: [PATCH 12/91] - 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 --- allegro.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/allegro.spec b/allegro.spec index b75f825..9feb932 100644 --- a/allegro.spec +++ b/allegro.spec @@ -19,7 +19,7 @@ Patch4: allegro-4.2.0-multilib.patch Patch5: allegro-4.2.1-noexecmod.patch Patch6: allegro-4.0.3-libdir.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: esound-devel, texinfo, perl, arts-devel +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 @@ -287,7 +287,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * 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. + 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 From 404e0aac464647d9315607d8fbcb68feaf4f3098 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 22 Jan 2008 09:45:36 +0000 Subject: [PATCH 13/91] - 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 --- allegro-4.2.2-gcc43.patch | 57 ++++++++++++++++++++++++++++ allegro-4.2.2-pulseaudio.patch | 69 ++++++++++++++++++++++++++++++++++ allegro.spec | 13 ++++++- 3 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 allegro-4.2.2-gcc43.patch create mode 100644 allegro-4.2.2-pulseaudio.patch diff --git a/allegro-4.2.2-gcc43.patch b/allegro-4.2.2-gcc43.patch new file mode 100644 index 0000000..2ac6a73 --- /dev/null +++ b/allegro-4.2.2-gcc43.patch @@ -0,0 +1,57 @@ +diff -up allegro-4.2.2/include/allegro/platform/al386gcc.h~ allegro-4.2.2/include/allegro/platform/al386gcc.h +--- allegro-4.2.2/include/allegro/platform/al386gcc.h~ 2008-01-21 19:18:34.000000000 +0100 ++++ allegro-4.2.2/include/allegro/platform/al386gcc.h 2008-01-21 19:18:34.000000000 +0100 +@@ -208,14 +208,13 @@ AL_INLINE(fixed, fixsub, (fixed x, fixed + */ + AL_INLINE(fixed, fixmul, (fixed x, fixed y), + { +- fixed edx __attribute__ ((__unused__)); + fixed result; + + __PRECALCULATE_CONSTANTS(x / 65536.0 * y) + { + __asm__ ( +- " movl %2, %%eax ; " +- " imull %3 ; " /* do the multiply */ ++ " movl %1, %%eax ; " ++ " imull %2 ; " /* do the multiply */ + " shrdl $16, %%edx, %%eax ; " + + " sarl $15, %%edx ; " /* check for overflow */ +@@ -223,14 +222,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed + " cmpl $-1, %%edx ; " + " je 0f ; " + +- " movl %5, %%eax ; " /* on overflow, set errno */ +- " movl %4, (%%eax) ; " ++ " movl %4, %%eax ; " /* on overflow, set errno */ ++ " movl %3, (%%eax) ; " + " movl $0x7FFFFFFF, %%eax ; " /* and return MAXINT */ +- " cmpl $0, %2 ; " ++ " cmpl $0, %1 ; " + " jge 1f ; " + " negl %%eax ; " + " 1: " +- " cmpl $0, %3 ; " ++ " cmpl $0, %2 ; " + " jge 0f ; " + " negl %%eax ; " + +@@ -238,15 +237,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed + + " 0: " /* finished */ + +- : "=&a" (result), /* the result has to go in eax */ +- "=&d" (edx) /* reliably reserve edx */ ++ : "=&a" (result) /* the result has to go in eax */ + + : "mr" (x), /* x and y can be regs or mem */ + "mr" (y), + "i" (ERANGE), + "m" (allegro_errno) + +- : "%cc", "memory" /* clobbers flags and errno */ ++ : "%cc", "memory", "edx" /* clobbers flags, errno and edx */ + ); + + return result; diff --git a/allegro-4.2.2-pulseaudio.patch b/allegro-4.2.2-pulseaudio.patch new file mode 100644 index 0000000..7e6dfbc --- /dev/null +++ b/allegro-4.2.2-pulseaudio.patch @@ -0,0 +1,69 @@ +diff -up allegro-4.2.2/src/unix/alsa9.c.pulse allegro-4.2.2/src/unix/alsa9.c +--- allegro-4.2.2/src/unix/alsa9.c.pulse 2006-03-18 16:05:34.000000000 +0100 ++++ allegro-4.2.2/src/unix/alsa9.c 2008-01-21 20:01:18.000000000 +0100 +@@ -81,7 +81,7 @@ static double alsa_mixer_allegro_ratio = + + static snd_pcm_t *pcm_handle; + static unsigned char *alsa_bufdata; +-static int alsa_bits, alsa_signed, alsa_stereo; ++static int alsa_bits, alsa_signed, alsa_stereo, alsa_format; + static unsigned int alsa_rate; + static unsigned int alsa_fragments; + static int alsa_sample_size; +@@ -292,7 +292,6 @@ static int alsa_init(int input, int voic + { + int ret = 0; + char tmp1[128], tmp2[128]; +- int format = 0; + unsigned int numfrags = 0; + snd_pcm_uframes_t fragsize; + +@@ -354,29 +353,14 @@ static int alsa_init(int input, int voic + alsa_stereo = (_sound_stereo) ? 1 : 0; + alsa_rate = (_sound_freq > 0) ? _sound_freq : 44100; + alsa_signed = 0; ++ alsa_format = (alsa_bits == 16) ? SND_PCM_FORMAT_U16_NE : SND_PCM_FORMAT_U8; ++ alsa_sample_size = (alsa_bits / 8) * (alsa_stereo ? 2 : 1); + +- format = ((alsa_bits == 16) ? SND_PCM_FORMAT_U16_NE : SND_PCM_FORMAT_U8); +- +- switch (format) { +- +- case SND_PCM_FORMAT_U8: +- alsa_bits = 8; +- break; +- +- case SND_PCM_FORMAT_U16_NE: +- if (sizeof(short) != 2) { +- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); +- goto Error; +- } +- break; +- +- default: +- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); +- goto Error; ++ if (alsa_format == SND_PCM_FORMAT_U16_NE && sizeof(short) != 2) { ++ ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); ++ goto Error; + } + +- alsa_sample_size = (alsa_bits / 8) * (alsa_stereo ? 2 : 1); +- + if (fragsize == 0) { + unsigned int size = alsa_rate * ALSA_DEFAULT_BUFFER_MS / 1000 / numfrags; + fragsize = 1; +@@ -389,7 +373,12 @@ static int alsa_init(int input, int voic + + ALSA9_CHECK(snd_pcm_hw_params_any(pcm_handle, hwparams)); + ALSA9_CHECK(snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)); +- ALSA9_CHECK(snd_pcm_hw_params_set_format(pcm_handle, hwparams, format)); ++ if (snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format) < 0) { ++ /* Try again with signed samples (needed atleast for pulseaudio) */ ++ alsa_format = (alsa_bits == 16) ? SND_PCM_FORMAT_S16_NE : SND_PCM_FORMAT_S8; ++ alsa_signed = 1; ++ ALSA9_CHECK(snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format)); ++ } + ALSA9_CHECK(snd_pcm_hw_params_set_channels(pcm_handle, hwparams, alsa_stereo + 1)); + + ALSA9_CHECK(snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &alsa_rate, NULL)); diff --git a/allegro.spec b/allegro.spec index 9feb932..276ba76 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -18,6 +18,8 @@ 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-pulseaudio.patch +Patch8: allegro-4.2.2-gcc43.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 @@ -159,6 +161,8 @@ sound through JACK (Jack Audio Connection Kit). %patch4 -p1 -z .multilib %patch5 -p1 -z .noexecmod %patch6 -p1 -z .multilib2 +%patch7 -p1 -z .pulse +%patch8 -p1 -z .gcc43 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 @@ -182,6 +186,7 @@ make CFLAGS="$RPM_OPT_FLAGS -I%{_includedir}/kde/artsc" 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 install -Dpm 644 allegro.cfg $RPM_BUILD_ROOT%{_sysconfdir}/allegrorc install -dm 755 $RPM_BUILD_ROOT%{_datadir}/allegro install -pm 644 keyboard.dat language.dat $RPM_BUILD_ROOT%{_datadir}/allegro @@ -249,6 +254,7 @@ rm -rf $RPM_BUILD_ROOT %doc todo.txt docs/html %doc demo examples setup %{_bindir}/allegro-config +%{_bindir}/allegro-makedoc %{_libdir}/liballeg_unsharable.a %{_libdir}/liball?.so.* %{_libdir}/liball?-%{version}.so @@ -285,6 +291,11 @@ rm -rf $RPM_BUILD_ROOT %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 + * 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 From dd241e8326a5b362838852c7e18dba4fc3387884 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 19 Feb 2008 06:42:36 +0000 Subject: [PATCH 14/91] - Autorebuild for GCC 4.3 --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 276ba76..0d0a623 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -291,6 +291,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From 0aa5bc44e5c1304a6171104fd601819967fe37b9 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 1 Apr 2008 09:49:30 +0000 Subject: [PATCH 15/91] - 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 --- allegro-4.2.2-gcc43-asm.patch | 12 ++++++++++++ allegro.spec | 21 ++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 allegro-4.2.2-gcc43-asm.patch diff --git a/allegro-4.2.2-gcc43-asm.patch b/allegro-4.2.2-gcc43-asm.patch new file mode 100644 index 0000000..86d3744 --- /dev/null +++ b/allegro-4.2.2-gcc43-asm.patch @@ -0,0 +1,12 @@ +diff -up allegro-4.2.2/src/i386/icpus.s~ allegro-4.2.2/src/i386/icpus.s +--- allegro-4.2.2/src/i386/icpus.s~ 2008-03-20 15:11:46.000000000 +0100 ++++ allegro-4.2.2/src/i386/icpus.s 2008-03-20 15:11:46.000000000 +0100 +@@ -67,7 +67,7 @@ FUNC(_i_is_fpu) + + fninit + movl $0x5A5A, %eax +- fnstsw %eax ++ fnstsw %ax + cmpl $0, %eax + jne is_fpu_not_found + diff --git a/allegro.spec b/allegro.spec index 0d0a623..5cc990a 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -20,6 +20,7 @@ Patch5: allegro-4.2.1-noexecmod.patch Patch6: allegro-4.0.3-libdir.patch Patch7: allegro-4.2.2-pulseaudio.patch Patch8: allegro-4.2.2-gcc43.patch +Patch9: allegro-4.2.2-gcc43-asm.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 @@ -163,6 +164,7 @@ sound through JACK (Jack Audio Connection Kit). %patch6 -p1 -z .multilib2 %patch7 -p1 -z .pulse %patch8 -p1 -z .gcc43 +%patch9 -p1 -z .gcc43-asm 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 @@ -174,12 +176,12 @@ mv docs/src/allegro._tx.tmp docs/src/allegro._tx %endif --enable-svgalib=no \ --enable-dbglib=yes \ - --enable-proflib=yes -%ifnarch %{ix86} -make CFLAGS="$RPM_OPT_FLAGS -DALLEGRO_USE_C -I%{_includedir}/kde/artsc" -%else -make CFLAGS="$RPM_OPT_FLAGS -I%{_includedir}/kde/artsc" -%endif + --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" %install @@ -291,6 +293,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From 6cf38d37577310556f9acb235cf5a729abf6d1fd Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 5 May 2008 10:51:43 +0000 Subject: [PATCH 16/91] - 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 --- allegro-4.0.3-cfg.patch | 2 +- allegro.spec | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/allegro-4.0.3-cfg.patch b/allegro-4.0.3-cfg.patch index e44aaaa..d3a2e10 100644 --- a/allegro-4.0.3-cfg.patch +++ b/allegro-4.0.3-cfg.patch @@ -5,7 +5,7 @@ # patch set for the DIGMID software wavetable driver -patches = -+patches = /usr/share/timidity/timidity.cfg ++patches = /etc/timidity.cfg diff --git a/allegro.spec b/allegro.spec index 5cc990a..2aa0418 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -59,6 +59,7 @@ 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 +Provides: %{name}-static = %{version}-%{release} Requires: %{name} = %{version}-%{release}, xorg-x11-proto-devel Requires: libX11-devel, libXcursor-devel Requires(post): /sbin/install-info @@ -293,6 +294,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From 720a3d6ab5b6777e4e1c2a64abdeb64e5eaf39cc Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 25 Jan 2009 13:50:45 +0000 Subject: [PATCH 17/91] - Fix wrong file path in semanage call in scriptlets (#481407) --- allegro.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/allegro.spec b/allegro.spec index 2aa0418..f099c50 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 10%{?dist} +Release: 11%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -204,7 +204,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/liball{p,d}_unsharable.a /sbin/ldconfig # Set SELinux file_context for vga plugin in the policy semanage fcontext -a -t textrel_shlib_t \ - '%{_libdir}/allegro/4\.2\.1/alleg-vga\.so' 2>/dev/null || : + '%{_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 || : @@ -218,7 +218,7 @@ chcon -t textrel_shlib_t %{_libdir}/allegro/%{version}/alleg-vga.so \ # SELinux support if [ $1 -eq 0 ]; then # final removal semanage fcontext -d -t textrel_shlib_t \ - '%{_libdir}/allegro/4\.2\.1/alleg-vga\.so' 2>/dev/null || : + '%{_libdir}/allegro/4\.2\.2/alleg-vga\.so' 2>/dev/null || : fi %else %postun -p /sbin/ldconfig @@ -294,6 +294,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Jan 25 2008 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 From f9b77b2a6cdf7b65a1737b8f6ea211fe85902cf1 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 25 Jan 2009 13:54:21 +0000 Subject: [PATCH 18/91] - Fix wrong file path in semanage call in scriptlets (#481407) --- allegro.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index f099c50..1dd53a5 100644 --- a/allegro.spec +++ b/allegro.spec @@ -294,7 +294,7 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Sun Jan 25 2008 Hans de Goede 4.2.2-11 +* 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 From 69af47b714cd02ce0a11d3a2f389f34e94827593 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 24 Feb 2009 00:37:05 +0000 Subject: [PATCH 19/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 1dd53a5..76d0387 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 11%{?dist} +Release: 12%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -294,6 +294,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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) From 87aa8318b08687379d550ad3817a53e0236fd53e Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 24 Jul 2009 16:44:13 +0000 Subject: [PATCH 20/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 76d0387..4132f96 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 12%{?dist} +Release: 13%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -294,6 +294,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From db7fd2ce2726264d847ea3c9fe21f6f2e58ece45 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 10 Sep 2009 20:45:59 +0000 Subject: [PATCH 21/91] - Fix (workaround) viewport issues in fullscreen mode (#522116) --- allegro-4.2.2-fullscreen-viewport.patch | 16 ++++++++++++++++ allegro.spec | 7 ++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 allegro-4.2.2-fullscreen-viewport.patch 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.spec b/allegro.spec index 4132f96..477a73a 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.2 -Release: 13%{?dist} +Release: 14%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -21,6 +21,7 @@ Patch6: allegro-4.0.3-libdir.patch Patch7: allegro-4.2.2-pulseaudio.patch Patch8: allegro-4.2.2-gcc43.patch Patch9: allegro-4.2.2-gcc43-asm.patch +Patch10: 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 @@ -166,6 +167,7 @@ sound through JACK (Jack Audio Connection Kit). %patch7 -p1 -z .pulse %patch8 -p1 -z .gcc43 %patch9 -p1 -z .gcc43-asm +%patch10 -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 @@ -294,6 +296,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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 From 982fc5503b785669d6bd2afa4ef7448ea02bd1db Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Mon, 5 Oct 2009 16:35:21 +0000 Subject: [PATCH 22/91] - update to 4.2.3 --- allegro-4.2.2-gcc43-asm.patch | 12 ------ allegro-4.2.2-gcc43.patch | 57 ---------------------------- allegro-4.2.2-pulseaudio.patch | 69 ---------------------------------- allegro.spec | 10 ++--- 4 files changed, 5 insertions(+), 143 deletions(-) delete mode 100644 allegro-4.2.2-gcc43-asm.patch delete mode 100644 allegro-4.2.2-gcc43.patch delete mode 100644 allegro-4.2.2-pulseaudio.patch diff --git a/allegro-4.2.2-gcc43-asm.patch b/allegro-4.2.2-gcc43-asm.patch deleted file mode 100644 index 86d3744..0000000 --- a/allegro-4.2.2-gcc43-asm.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up allegro-4.2.2/src/i386/icpus.s~ allegro-4.2.2/src/i386/icpus.s ---- allegro-4.2.2/src/i386/icpus.s~ 2008-03-20 15:11:46.000000000 +0100 -+++ allegro-4.2.2/src/i386/icpus.s 2008-03-20 15:11:46.000000000 +0100 -@@ -67,7 +67,7 @@ FUNC(_i_is_fpu) - - fninit - movl $0x5A5A, %eax -- fnstsw %eax -+ fnstsw %ax - cmpl $0, %eax - jne is_fpu_not_found - diff --git a/allegro-4.2.2-gcc43.patch b/allegro-4.2.2-gcc43.patch deleted file mode 100644 index 2ac6a73..0000000 --- a/allegro-4.2.2-gcc43.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up allegro-4.2.2/include/allegro/platform/al386gcc.h~ allegro-4.2.2/include/allegro/platform/al386gcc.h ---- allegro-4.2.2/include/allegro/platform/al386gcc.h~ 2008-01-21 19:18:34.000000000 +0100 -+++ allegro-4.2.2/include/allegro/platform/al386gcc.h 2008-01-21 19:18:34.000000000 +0100 -@@ -208,14 +208,13 @@ AL_INLINE(fixed, fixsub, (fixed x, fixed - */ - AL_INLINE(fixed, fixmul, (fixed x, fixed y), - { -- fixed edx __attribute__ ((__unused__)); - fixed result; - - __PRECALCULATE_CONSTANTS(x / 65536.0 * y) - { - __asm__ ( -- " movl %2, %%eax ; " -- " imull %3 ; " /* do the multiply */ -+ " movl %1, %%eax ; " -+ " imull %2 ; " /* do the multiply */ - " shrdl $16, %%edx, %%eax ; " - - " sarl $15, %%edx ; " /* check for overflow */ -@@ -223,14 +222,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed - " cmpl $-1, %%edx ; " - " je 0f ; " - -- " movl %5, %%eax ; " /* on overflow, set errno */ -- " movl %4, (%%eax) ; " -+ " movl %4, %%eax ; " /* on overflow, set errno */ -+ " movl %3, (%%eax) ; " - " movl $0x7FFFFFFF, %%eax ; " /* and return MAXINT */ -- " cmpl $0, %2 ; " -+ " cmpl $0, %1 ; " - " jge 1f ; " - " negl %%eax ; " - " 1: " -- " cmpl $0, %3 ; " -+ " cmpl $0, %2 ; " - " jge 0f ; " - " negl %%eax ; " - -@@ -238,15 +237,14 @@ AL_INLINE(fixed, fixmul, (fixed x, fixed - - " 0: " /* finished */ - -- : "=&a" (result), /* the result has to go in eax */ -- "=&d" (edx) /* reliably reserve edx */ -+ : "=&a" (result) /* the result has to go in eax */ - - : "mr" (x), /* x and y can be regs or mem */ - "mr" (y), - "i" (ERANGE), - "m" (allegro_errno) - -- : "%cc", "memory" /* clobbers flags and errno */ -+ : "%cc", "memory", "edx" /* clobbers flags, errno and edx */ - ); - - return result; diff --git a/allegro-4.2.2-pulseaudio.patch b/allegro-4.2.2-pulseaudio.patch deleted file mode 100644 index 7e6dfbc..0000000 --- a/allegro-4.2.2-pulseaudio.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -up allegro-4.2.2/src/unix/alsa9.c.pulse allegro-4.2.2/src/unix/alsa9.c ---- allegro-4.2.2/src/unix/alsa9.c.pulse 2006-03-18 16:05:34.000000000 +0100 -+++ allegro-4.2.2/src/unix/alsa9.c 2008-01-21 20:01:18.000000000 +0100 -@@ -81,7 +81,7 @@ static double alsa_mixer_allegro_ratio = - - static snd_pcm_t *pcm_handle; - static unsigned char *alsa_bufdata; --static int alsa_bits, alsa_signed, alsa_stereo; -+static int alsa_bits, alsa_signed, alsa_stereo, alsa_format; - static unsigned int alsa_rate; - static unsigned int alsa_fragments; - static int alsa_sample_size; -@@ -292,7 +292,6 @@ static int alsa_init(int input, int voic - { - int ret = 0; - char tmp1[128], tmp2[128]; -- int format = 0; - unsigned int numfrags = 0; - snd_pcm_uframes_t fragsize; - -@@ -354,29 +353,14 @@ static int alsa_init(int input, int voic - alsa_stereo = (_sound_stereo) ? 1 : 0; - alsa_rate = (_sound_freq > 0) ? _sound_freq : 44100; - alsa_signed = 0; -+ alsa_format = (alsa_bits == 16) ? SND_PCM_FORMAT_U16_NE : SND_PCM_FORMAT_U8; -+ alsa_sample_size = (alsa_bits / 8) * (alsa_stereo ? 2 : 1); - -- format = ((alsa_bits == 16) ? SND_PCM_FORMAT_U16_NE : SND_PCM_FORMAT_U8); -- -- switch (format) { -- -- case SND_PCM_FORMAT_U8: -- alsa_bits = 8; -- break; -- -- case SND_PCM_FORMAT_U16_NE: -- if (sizeof(short) != 2) { -- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); -- goto Error; -- } -- break; -- -- default: -- ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); -- goto Error; -+ if (alsa_format == SND_PCM_FORMAT_U16_NE && sizeof(short) != 2) { -+ ustrzcpy(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Unsupported sample format")); -+ goto Error; - } - -- alsa_sample_size = (alsa_bits / 8) * (alsa_stereo ? 2 : 1); -- - if (fragsize == 0) { - unsigned int size = alsa_rate * ALSA_DEFAULT_BUFFER_MS / 1000 / numfrags; - fragsize = 1; -@@ -389,7 +373,12 @@ static int alsa_init(int input, int voic - - ALSA9_CHECK(snd_pcm_hw_params_any(pcm_handle, hwparams)); - ALSA9_CHECK(snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)); -- ALSA9_CHECK(snd_pcm_hw_params_set_format(pcm_handle, hwparams, format)); -+ if (snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format) < 0) { -+ /* Try again with signed samples (needed atleast for pulseaudio) */ -+ alsa_format = (alsa_bits == 16) ? SND_PCM_FORMAT_S16_NE : SND_PCM_FORMAT_S8; -+ alsa_signed = 1; -+ ALSA9_CHECK(snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format)); -+ } - ALSA9_CHECK(snd_pcm_hw_params_set_channels(pcm_handle, hwparams, alsa_stereo + 1)); - - ALSA9_CHECK(snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &alsa_rate, NULL)); diff --git a/allegro.spec b/allegro.spec index 477a73a..67e97f8 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro -Version: 4.2.2 -Release: 14%{?dist} +Version: 4.2.3 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -164,9 +164,6 @@ sound through JACK (Jack Audio Connection Kit). %patch4 -p1 -z .multilib %patch5 -p1 -z .noexecmod %patch6 -p1 -z .multilib2 -%patch7 -p1 -z .pulse -%patch8 -p1 -z .gcc43 -%patch9 -p1 -z .gcc43-asm %patch10 -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 @@ -296,6 +293,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Oct 5 2009 Jindrich Novy 4.2.3-1 +- update to 4.2.3 + * Thu Sep 10 2009 Hans de Goede 4.2.2-14 - Fix (workaround) viewport issues in fullscreen mode (#522116) From 39462a40579cb8ce0b1c7b86e864cc6355f09365 Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Mon, 5 Oct 2009 16:36:45 +0000 Subject: [PATCH 23/91] - upload new tarball --- .cvsignore | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.cvsignore b/.cvsignore index df13320..69b28e7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -allegro-4.2.2.tar.gz +allegro-4.2.3.tar.gz diff --git a/sources b/sources index 94e57de..a087208 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -87ffb1def034e0ec29a9ad4a595cda7e allegro-4.2.2.tar.gz +36d3e75052da03645039f7da407efca4 allegro-4.2.3.tar.gz From 414717c72016cbdbeaaf12c18f8b420e04dc2c8d Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Mon, 5 Oct 2009 16:42:25 +0000 Subject: [PATCH 24/91] - remove references to unused patches --- allegro.spec | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/allegro.spec b/allegro.spec index 67e97f8..5e8e0c6 100644 --- a/allegro.spec +++ b/allegro.spec @@ -18,10 +18,7 @@ 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-pulseaudio.patch -Patch8: allegro-4.2.2-gcc43.patch -Patch9: allegro-4.2.2-gcc43-asm.patch -Patch10: allegro-4.2.2-fullscreen-viewport.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 @@ -164,7 +161,7 @@ sound through JACK (Jack Audio Connection Kit). %patch4 -p1 -z .multilib %patch5 -p1 -z .noexecmod %patch6 -p1 -z .multilib2 -%patch10 -p1 -z .fs-viewport +%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 From de9e153f8022ab61f99b88965eef26c8d8572ea6 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:39:10 +0000 Subject: [PATCH 25/91] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 81f193b..70f7724 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: allegro -# $Id: Makefile,v 1.1 2004/11/08 04:00:59 cvsextras Exp $ +# $Id: Makefile,v 1.2 2004/11/24 03:09:37 gafton Exp $ NAME := allegro SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 577f05f5c4db57564706415e4a114e3c82f41f74 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:26:23 +0000 Subject: [PATCH 26/91] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 81f193b..70f7724 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: allegro -# $Id: Makefile,v 1.1 2004/11/08 04:00:59 cvsextras Exp $ +# $Id: Makefile,v 1.2 2004/11/24 03:09:37 gafton Exp $ NAME := allegro SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From d955e40407990b67978374b7e065095ff7e97089 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 21 Jun 2010 13:46:29 +0000 Subject: [PATCH 27/91] - Fix multilib conflict in -devel (#603836) --- allegro-4.2.0-multilib.patch | 6 +++--- allegro.spec | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/allegro-4.2.0-multilib.patch b/allegro-4.2.0-multilib.patch index 26e786b..81400ed 100644 --- a/allegro-4.2.0-multilib.patch +++ b/allegro-4.2.0-multilib.patch @@ -6,13 +6,13 @@ /* Define if assembler supports MMX. */ -#undef ALLEGRO_MMX +#ifdef __i386__ -+#define ALLEGRO_MMX ++#define ALLEGRO_MMX 1 +#endif /* Define if assembler supports SSE. */ -#undef ALLEGRO_SSE +#ifdef __i386__ -+#define ALLEGRO_SSE ++#define ALLEGRO_SSE 1 +#endif /* Define if target platform is Darwin. */ @@ -23,7 +23,7 @@ /* Define to enable Linux console VGA driver. */ -#undef ALLEGRO_LINUX_VGA +#ifdef __i386__ -+#define ALLEGRO_LINUX_VGA ++#define ALLEGRO_LINUX_VGA 1 +#endif /*---------------------------------------------------------------------------*/ diff --git a/allegro.spec b/allegro.spec index 5e8e0c6..02a011f 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -290,6 +290,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Jun 21 2010 Hans de Goede 4.2.3-2 +- Fix multilib conflict in -devel (#603836) + * Mon Oct 5 2009 Jindrich Novy 4.2.3-1 - update to 4.2.3 From bec13e67be1b5ad7c9837ba044e7fcde56ac5b15 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 09:42:54 +0000 Subject: [PATCH 28/91] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 70f7724..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: allegro -# $Id: Makefile,v 1.2 2004/11/24 03:09:37 gafton Exp $ -NAME := allegro -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From 3a2cd93863e36d409da682884b61b80f94b237f8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 09:43:05 +0000 Subject: [PATCH 29/91] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 70f7724..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: allegro -# $Id: Makefile,v 1.2 2004/11/24 03:09:37 gafton Exp $ -NAME := allegro -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index d5b6362..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -FC-6 From 51b7dc066d89bc7902a66aa90608b1eec085fad9 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 9 Sep 2010 23:08:48 +0200 Subject: [PATCH 30/91] - Fix FTBFS (#631099) --- allegro-4.2.3-make.patch | 40 ++++++++++++++++++++++++++++++++++++++++ allegro.spec | 7 ++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 allegro-4.2.3-make.patch diff --git a/allegro-4.2.3-make.patch b/allegro-4.2.3-make.patch new file mode 100644 index 0000000..5f6742d --- /dev/null +++ b/allegro-4.2.3-make.patch @@ -0,0 +1,40 @@ +diff -up allegro-4.2.3/makefile.in~ allegro-4.2.3/makefile.in +--- allegro-4.2.3/makefile.in~ 2007-09-19 15:19:25.000000000 +0200 ++++ allegro-4.2.3/makefile.in 2010-09-09 22:14:34.793000051 +0200 +@@ -406,7 +406,6 @@ examples: $(EXAMPLE_FILES) + + # -------- rules for deleting the generated files -------- + +-clean: + + define RM_OBJ_CLEAN_FILES + $(foreach file, $(OBJ_CLEAN_FILES), rm -f $(file) +@@ -418,25 +417,26 @@ clean: + ) + endef + ++clean: + $(RM_OBJ_CLEAN_FILES) + $(RM_OTHER_CLEAN_FILES) + +-distclean: clean + + define RM_DISTCLEAN_FILES + $(foreach file, $(DISTCLEAN_FILES) $(ALLEGRO_LIB_X_EXES), rm -f $(file) + ) + endef + ++distclean: clean + $(RM_DISTCLEAN_FILES) + +-veryclean: distclean + + define RM_VERYCLEAN_FILES + $(foreach file, $(VERYCLEAN_FILES), rm -f $(file) + ) + endef + ++veryclean: distclean + $(RM_VERYCLEAN_FILES) + rm -f makefile + diff --git a/allegro.spec b/allegro.spec index 02a011f..ea631c5 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -19,6 +19,7 @@ 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 +Patch8: allegro-4.2.3-make.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 @@ -162,6 +163,7 @@ sound through JACK (Jack Audio Connection Kit). %patch5 -p1 -z .noexecmod %patch6 -p1 -z .multilib2 %patch7 -p1 -z .fs-viewport +%patch8 -p1 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 @@ -290,6 +292,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Sep 9 2010 Hans de Goede 4.2.3-3 +- Fix FTBFS (#631099) + * Mon Jun 21 2010 Hans de Goede 4.2.3-2 - Fix multilib conflict in -devel (#603836) From 3d05695b387133e9ff4a30f00500a69c5df6840f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 7 Jan 2011 11:51:23 +0100 Subject: [PATCH 31/91] - Fix a format string bug in the pack utility reported on bugtraq (but without security implications) --- allegro-4.2.3-pack-formatstring.patch | 12 ++++++++++++ allegro.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 allegro-4.2.3-pack-formatstring.patch diff --git a/allegro-4.2.3-pack-formatstring.patch b/allegro-4.2.3-pack-formatstring.patch new file mode 100644 index 0000000..ea6188f --- /dev/null +++ b/allegro-4.2.3-pack-formatstring.patch @@ -0,0 +1,12 @@ +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.spec b/allegro.spec index ea631c5..88fc918 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -20,6 +20,7 @@ Patch5: allegro-4.2.1-noexecmod.patch Patch6: allegro-4.0.3-libdir.patch Patch7: allegro-4.2.2-fullscreen-viewport.patch Patch8: allegro-4.2.3-make.patch +Patch9: allegro-4.2.3-pack-formatstring.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 @@ -164,6 +165,7 @@ sound through JACK (Jack Audio Connection Kit). %patch6 -p1 -z .multilib2 %patch7 -p1 -z .fs-viewport %patch8 -p1 +%patch9 -p1 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 @@ -292,6 +294,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* 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) + * Thu Sep 9 2010 Hans de Goede 4.2.3-3 - Fix FTBFS (#631099) From d4a5fb5d89d7ce60557c369b1325e1dee9b2dc01 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Mon, 7 Feb 2011 18:52:27 -0600 Subject: [PATCH 32/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 88fc918..4192143 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.2.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -294,6 +294,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Feb 07 2011 Fedora Release Engineering - 4.2.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_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) From f8cf897494c165d0437b50ebbfe84936c9d8ad26 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 13 Jul 2011 00:26:21 +0200 Subject: [PATCH 33/91] 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 --- .gitignore | 1 + allegro-4.0.3-libdir.patch | 22 +- allegro-4.2.0-multilib.patch | 30 --- allegro-4.2.0-noexecstack.patch | 233 ---------------- allegro-4.2.0-nostrip.patch | 11 - allegro-4.2.1-noexecmod.patch | 47 ---- allegro-4.2.2-fullscreen-viewport.patch | 16 -- allegro-4.2.3-make.patch | 40 --- allegro-4.4.2-doc-install.patch | 30 +++ allegro-4.4.2-dynamic-addons.patch | 16 ++ allegro.spec | 344 ++++++++++++++++-------- sources | 2 +- 12 files changed, 284 insertions(+), 508 deletions(-) delete mode 100644 allegro-4.2.0-multilib.patch delete mode 100644 allegro-4.2.0-noexecstack.patch delete mode 100644 allegro-4.2.0-nostrip.patch delete mode 100644 allegro-4.2.1-noexecmod.patch delete mode 100644 allegro-4.2.2-fullscreen-viewport.patch delete mode 100644 allegro-4.2.3-make.patch create mode 100644 allegro-4.4.2-doc-install.patch create mode 100644 allegro-4.4.2-dynamic-addons.patch diff --git a/.gitignore b/.gitignore index 69b28e7..04aa4be 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ allegro-4.2.3.tar.gz +/allegro-4.4.2.tar.gz diff --git a/allegro-4.0.3-libdir.patch b/allegro-4.0.3-libdir.patch index 051555f..f9b7983 100644 --- a/allegro-4.0.3-libdir.patch +++ b/allegro-4.0.3-libdir.patch @@ -1,12 +1,12 @@ -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 +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 exec_prefix_set=no include_prefix=@INCLUDE_PREFIX@ - include_path=@includedir@ --lib_path=@libdir@ - bin_path=@bindir@ + include_path=${prefix}/include +-lib_path=${exec_prefix}/lib@LIB_SUFFIX@ + bin_path=${exec_prefix}/bin +arch=$(/bin/arch) +if [ "$arch" = "x86_64" -o "$arch" = "s390x" -o "$arch" = "ppc64" \ + -o "$arch" = "ia64" ]; @@ -18,11 +18,3 @@ diff -up allegro-4.2.2/misc/allegro-config.in.multilib2 allegro-4.2.2/misc/alleg 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 deleted file mode 100644 index 81400ed..0000000 --- a/allegro-4.2.0-multilib.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- 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 1 -+#endif - - /* Define if assembler supports SSE. */ --#undef ALLEGRO_SSE -+#ifdef __i386__ -+#define ALLEGRO_SSE 1 -+#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 1 -+#endif - - /*---------------------------------------------------------------------------*/ - diff --git a/allegro-4.2.0-noexecstack.patch b/allegro-4.2.0-noexecstack.patch deleted file mode 100644 index 578687d..0000000 --- a/allegro-4.2.0-noexecstack.patch +++ /dev/null @@ -1,233 +0,0 @@ ---- 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 deleted file mode 100644 index 796f71b..0000000 --- a/allegro-4.2.0-nostrip.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 deleted file mode 100644 index ddf8f52..0000000 --- a/allegro-4.2.1-noexecmod.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- 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 deleted file mode 100644 index 22a7515..0000000 --- a/allegro-4.2.2-fullscreen-viewport.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- 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.2.3-make.patch b/allegro-4.2.3-make.patch deleted file mode 100644 index 5f6742d..0000000 --- a/allegro-4.2.3-make.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -up allegro-4.2.3/makefile.in~ allegro-4.2.3/makefile.in ---- allegro-4.2.3/makefile.in~ 2007-09-19 15:19:25.000000000 +0200 -+++ allegro-4.2.3/makefile.in 2010-09-09 22:14:34.793000051 +0200 -@@ -406,7 +406,6 @@ examples: $(EXAMPLE_FILES) - - # -------- rules for deleting the generated files -------- - --clean: - - define RM_OBJ_CLEAN_FILES - $(foreach file, $(OBJ_CLEAN_FILES), rm -f $(file) -@@ -418,25 +417,26 @@ clean: - ) - endef - -+clean: - $(RM_OBJ_CLEAN_FILES) - $(RM_OTHER_CLEAN_FILES) - --distclean: clean - - define RM_DISTCLEAN_FILES - $(foreach file, $(DISTCLEAN_FILES) $(ALLEGRO_LIB_X_EXES), rm -f $(file) - ) - endef - -+distclean: clean - $(RM_DISTCLEAN_FILES) - --veryclean: distclean - - define RM_VERYCLEAN_FILES - $(foreach file, $(VERYCLEAN_FILES), rm -f $(file) - ) - endef - -+veryclean: distclean - $(RM_VERYCLEAN_FILES) - rm -f makefile - diff --git a/allegro-4.4.2-doc-install.patch b/allegro-4.4.2-doc-install.patch new file mode 100644 index 0000000..06f138c --- /dev/null +++ b/allegro-4.4.2-doc-install.patch @@ -0,0 +1,30 @@ +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-dynamic-addons.patch b/allegro-4.4.2-dynamic-addons.patch new file mode 100644 index 0000000..262c763 --- /dev/null +++ b/allegro-4.4.2-dynamic-addons.patch @@ -0,0 +1,16 @@ +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.spec b/allegro.spec index 4192143..dd67589 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro -Version: 4.2.3 -Release: 5%{?dist} +Version: 4.4.2 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -13,19 +13,15 @@ License: Giftware 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.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 -Patch8: allegro-4.2.3-make.patch -Patch9: allegro-4.2.3-pack-formatstring.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 +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-doc-install.patch +BuildRequires: texinfo +BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel +BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel +BuildRequires: alsa-lib-devel jack-audio-connection-kit-devel +BuildRequires: libjpeg-devel libpng-devel libvorbis-devel Requires: timidity++-patches %ifarch %{ix86} Requires(post): policycoreutils /sbin/ldconfig @@ -52,6 +48,7 @@ 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 @@ -59,7 +56,6 @@ 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 -Provides: %{name}-static = %{version}-%{release} Requires: %{name} = %{version}-%{release}, xorg-x11-proto-devel Requires: libX11-devel, libXcursor-devel Requires(post): /sbin/install-info @@ -90,6 +86,7 @@ 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 @@ -99,6 +96,7 @@ Summary(cs): Přídavné nástroje pro programovou knihovnu Allegro Group: Development/Tools Requires: %{name} = %{version}-%{release} + %description tools Allegro is a cross-platform library intended for use in computer games and other types of multimedia programming. This package contains extra @@ -127,24 +125,6 @@ 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 Group: System Environment/Libraries @@ -155,74 +135,141 @@ 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 +Group: System Environment/Libraries +License: zlib or GPL+ +URL: http://allegrogl.sourceforge.net/ +Requires: %{name} = %{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 +Group: Development/Libraries +License: zlib or GPL+ +Requires: alleggl = %{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 +Group: System Environment/Libraries +License: zlib +URL: http://www.ecplusplus.com/index.php?page=projects&pid=1 +Requires: %{name} = %{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 +Group: Development/Libraries +License: zlib +Requires: jpgalleg = %{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 +Group: System Environment/Libraries +License: Public Domain +URL: http://wiki.allegro.cc/index.php?title=LoadPNG +Requires: %{name} = %{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 +Group: Development/Libraries +License: Public Domain +Requires: %{name}-loadpng = %{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 +Group: System Environment/Libraries +License: MIT +URL: http://trent.gamblin.ca/logg/ +Requires: %{name} = %{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 +Group: Development/Libraries +License: MIT +Requires: %{name}-logg = %{version}-%{release} + +%description logg-devel +The logg-devel package contains libraries and header files for +developing applications that use logg. + + %prep %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 -%patch8 -p1 -%patch9 -p1 -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 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 %build -%configure \ -%ifnarch %{ix86} - --enable-vga=no --enable-vbeaf=no \ -%endif - --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" +%cmake +make %{?_smp_mflags} + +# Converting text documentation to UTF-8 encoding. +for f 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"; +done %install -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 +make install DESTDIR=$RPM_BUILD_ROOT +# 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%{_docdir}/%{name}-%{version}/html +install -p -m 644 docs/man/*.3 $RPM_BUILD_ROOT%{_mandir}/man3 +install -p -m 644 docs/html/*.{html,css} \ + $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html +# 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 -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 -%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 - -%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 %post devel /sbin/install-info %{_infodir}/allegro.info %{_infodir}/dir 2>/dev/null || : @@ -233,42 +280,61 @@ if [ $1 -eq 0 ] ; then 2>/dev/null || : fi +%post -n alleggl -p /sbin/ldconfig +%postun -n alleggl -p /sbin/ldconfig -%clean -rm -rf $RPM_BUILD_ROOT +%post -n jpgalleg -p /sbin/ldconfig +%postun -n jpgalleg -p /sbin/ldconfig + +%post loadpng -p /sbin/ldconfig +%postun loadpng -p /sbin/ldconfig + +%post logg -p /sbin/ldconfig +%postun logg -p /sbin/ldconfig %files %defattr(-,root,root,-) -%doc readme.txt docs/build/unix.txt docs/build/linux.txt -%doc AUTHORS CHANGES THANKS +%doc %{_docdir}/%{name}-%{version}/AUTHORS +%doc %{_docdir}/%{name}-%{version}/CHANGES +%doc %{_docdir}/%{name}-%{version}/THANKS +%doc %{_docdir}/%{name}-%{version}/addons.txt +%doc %{_docdir}/%{name}-%{version}/faq.txt +%doc %{_docdir}/%{name}-%{version}/license.txt +%doc %{_docdir}/%{name}-%{version}/readme.txt %config(noreplace) %{_sysconfdir}/allegrorc -%{_libdir}/liballeg*.so* +%{_libdir}/liballeg.so.4* %{_libdir}/allegro %{_datadir}/allegro -%exclude %{_libdir}/allegro/%{version}/alleg-esddigi.so -%exclude %{_libdir}/allegro/%{version}/alleg-artsdigi.so -%exclude %{_libdir}/allegro/%{version}/alleg-jackdigi.so +%exclude %{_libdir}/allegro/%{version}/alleg-jack.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 +%doc %{_docdir}/%{name}-%{version}/abi.txt +%doc %{_docdir}/%{name}-%{version}/ahack.txt +%doc %{_docdir}/%{name}-%{version}/allegro.txt +%doc %{_docdir}/%{name}-%{version}/api.txt +%doc %{_docdir}/%{name}-%{version}/const.txt +%doc %{_docdir}/%{name}-%{version}/faq.txt +%doc %{_docdir}/%{name}-%{version}/help.txt +%doc %{_docdir}/%{name}-%{version}/html +%doc %{_docdir}/%{name}-%{version}/makedoc.txt +%doc %{_docdir}/%{name}-%{version}/mistakes.txt +%doc %{_docdir}/%{name}-%{version}/packfile.txt %{_bindir}/allegro-config %{_bindir}/allegro-makedoc -%{_libdir}/liballeg_unsharable.a -%{_libdir}/liball?.so.* -%{_libdir}/liball?-%{version}.so -%{_includedir}/*alleg* +%{_libdir}/liballeg.so +%{_libdir}/pkgconfig/allegro.pc +%{_includedir}/allegro +%{_includedir}/allegro.h +%{_includedir}/xalleg.h %{_infodir}/allegro.info* %{_mandir}/man3/* -%{_datadir}/aclocal/allegro.m4 %files tools %defattr(-,root,root,-) -%doc tools/plugins/plugins.txt +%doc %{_docdir}/%{name}-%{version}/dat*.txt +%doc %{_docdir}/%{name}-%{version}/grabber.txt %{_bindir}/colormap %{_bindir}/dat %{_bindir}/dat2s @@ -279,21 +345,69 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/pat2dat %{_bindir}/rgbmap %{_bindir}/textconv - -%files esound-plugin -%defattr(-,root,root,-) -%{_libdir}/allegro/%{version}/alleg-esddigi.so - -%files arts-plugin -%defattr(-,root,root,-) -%{_libdir}/allegro/%{version}/alleg-artsdigi.so +%{_bindir}/xfixicon.sh %files jack-plugin %defattr(-,root,root,-) -%{_libdir}/allegro/%{version}/alleg-jackdigi.so +%{_libdir}/allegro/%{version}/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 +%{_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 +%{_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 +%{_libdir}/libjpgalleg.so.4* + +%files -n jpgalleg-devel +%{_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 +%{_libdir}/libloadpng.so.4* + +%files loadpng-devel +%{_libdir}/libloadpng.so +%{_libdir}/pkgconfig/loadpng.pc +%{_includedir}/loadpng.h + +%files logg +%doc addons/logg/LICENSE.txt +%{_libdir}/liblogg.so.4* + +%files logg-devel +%{_libdir}/liblogg.so +%{_libdir}/pkgconfig/logg.pc +%{_includedir}/logg.h %changelog +* 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 + * Mon Feb 07 2011 Fedora Release Engineering - 4.2.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild @@ -415,7 +529,7 @@ rm -rf $RPM_BUILD_ROOT * 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 . + 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 diff --git a/sources b/sources index a087208..9db2b35 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -36d3e75052da03645039f7da407efca4 allegro-4.2.3.tar.gz +4db71b0460fc99926ae91d223199c2e6 allegro-4.4.2.tar.gz From b74a12f589c3de725de4f5cede78fc97a9aebe0b Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 13 Jul 2011 09:49:51 +0200 Subject: [PATCH 34/91] Add missing cmake buildrequires --- allegro.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index dd67589..ba93465 100644 --- a/allegro.spec +++ b/allegro.spec @@ -17,7 +17,7 @@ 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-doc-install.patch -BuildRequires: texinfo +BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel BuildRequires: alsa-lib-devel jack-audio-connection-kit-devel From 111cb479621cffdd18b9fd97d3f4b94c004ca32b Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 13 Jul 2011 10:29:37 +0200 Subject: [PATCH 35/91] Add missing libGLU-devel buildrequires --- allegro.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index ba93465..6377850 100644 --- a/allegro.spec +++ b/allegro.spec @@ -19,7 +19,7 @@ Patch4: allegro-4.4.2-dynamic-addons.patch Patch5: allegro-4.4.2-doc-install.patch BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel -BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-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 Requires: timidity++-patches From 5e108a5346f2d8984c34a9f146cf733bd3da4977 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 13 Jul 2011 10:49:52 +0200 Subject: [PATCH 36/91] Fix building in a patch which contains /build/ (such as the builddir on the builders) --- allegro-4.4.2-buildsys-fix.patch | 12 ++++++++++++ allegro.spec | 2 ++ 2 files changed, 14 insertions(+) create mode 100644 allegro-4.4.2-buildsys-fix.patch diff --git a/allegro-4.4.2-buildsys-fix.patch b/allegro-4.4.2-buildsys-fix.patch new file mode 100644 index 0000000..68d00dd --- /dev/null +++ b/allegro-4.4.2-buildsys-fix.patch @@ -0,0 +1,12 @@ +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.spec b/allegro.spec index 6377850..078774e 100644 --- a/allegro.spec +++ b/allegro.spec @@ -17,6 +17,7 @@ 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-doc-install.patch +Patch6: allegro-4.4.2-buildsys-fix.patch BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -232,6 +233,7 @@ developing applications that use logg. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build From 6f88fa4acd0bbf481bf84515eb215e67fb5488a3 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 15 Nov 2011 11:20:45 +0000 Subject: [PATCH 37/91] Make pre/post dependencies for all non i686 arches sane --- allegro.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/allegro.spec b/allegro.spec index 078774e..2f406a7 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -24,10 +24,6 @@ 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 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 @@ -404,6 +400,9 @@ fi %changelog +* Tue Nov 15 2011 Peter Robinson 4.4.2-2 +- Make pre/post dependencies for all non i686 arches sane + * Tue Jul 12 2011 Hans de Goede 4.4.2-1 - New upstream release - Partially based on spec file update by Brandon McCaig From 29b61fcc8d9188ec1504cedcda00c93671a4e3cd Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 12 Jan 2012 15:09:38 -0600 Subject: [PATCH 38/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 2f406a7..aa96f5b 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -400,6 +400,9 @@ fi %changelog +* Thu Jan 12 2012 Fedora Release Engineering - 4.4.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Tue Nov 15 2011 Peter Robinson 4.4.2-2 - Make pre/post dependencies for all non i686 arches sane From a0eb56a381ce119384fdb23ed5093f893288bca9 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 18 Jul 2012 10:47:27 -0500 Subject: [PATCH 39/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index aa96f5b..d06ce90 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -400,6 +400,9 @@ fi %changelog +* Wed Jul 18 2012 Fedora Release Engineering - 4.4.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Thu Jan 12 2012 Fedora Release Engineering - 4.4.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From 50e0dee73a7c36901acd2774323732223958728a Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 10:26:55 -0600 Subject: [PATCH 40/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index d06ce90..b3dec5e 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -400,6 +400,9 @@ fi %changelog +* Wed Feb 13 2013 Fedora Release Engineering - 4.4.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Wed Jul 18 2012 Fedora Release Engineering - 4.4.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From 2978a8f1d344cc2bd2827325c8ea2cdbdd82cfc6 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 29 Apr 2013 23:29:44 +0200 Subject: [PATCH 41/91] Add /usr/share/aclocal/allegro.m4 to -devel package --- allegro.spec | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/allegro.spec b/allegro.spec index b3dec5e..6e162a6 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -53,7 +53,7 @@ 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} = %{version}-%{release}, xorg-x11-proto-devel +Requires: %{name}%{?_isa} = %{version}-%{release}, xorg-x11-proto-devel Requires: libX11-devel, libXcursor-devel Requires(post): /sbin/install-info Requires(preun): /sbin/install-info @@ -91,7 +91,7 @@ Summary(fr): Outils supplémentaires pour la librairie de programmation Alleg 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} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description tools @@ -125,7 +125,7 @@ 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} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description jack-plugin This package contains a plugin for Allegro which enables Allegro to playback @@ -137,7 +137,7 @@ Summary: OpenGL support library for Allegro Group: System Environment/Libraries License: zlib or GPL+ URL: http://allegrogl.sourceforge.net/ -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description -n alleggl AllegroGL is an Allegro add-on that allows you to use OpenGL alongside Allegro. @@ -150,7 +150,7 @@ that things like glut do. Summary: Development files for alleggl Group: Development/Libraries License: zlib or GPL+ -Requires: alleggl = %{version}-%{release} +Requires: alleggl%{?_isa} = %{version}-%{release} %description -n alleggl-devel The alleggl-devel package contains libraries and header files for @@ -162,7 +162,7 @@ Summary: JPEG library for the Allegro game library Group: System Environment/Libraries License: zlib URL: http://www.ecplusplus.com/index.php?page=projects&pid=1 -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description -n jpgalleg jpgalleg is a jpeg library for use with the Allegro game library. It allows @@ -172,7 +172,7 @@ using jpeg's as Allegro bitmaps. Summary: Development files for jpgalleg Group: Development/Libraries License: zlib -Requires: jpgalleg = %{version}-%{release} +Requires: jpgalleg%{?_isa} = %{version}-%{release} %description -n jpgalleg-devel The jpgalleg-devel package contains libraries and header files for @@ -184,7 +184,7 @@ Summary: OGG/Vorbis library for the Allegro game library Group: System Environment/Libraries License: Public Domain URL: http://wiki.allegro.cc/index.php?title=LoadPNG -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description loadpng loadpng is some glue that makes it easy to use libpng to load and @@ -194,7 +194,7 @@ save bitmaps from Allegro programs. Summary: Development files for loadpng Group: Development/Libraries License: Public Domain -Requires: %{name}-loadpng = %{version}-%{release} +Requires: %{name}-loadpng%{?_isa} = %{version}-%{release} %description loadpng-devel The loadpng-devel package contains libraries and header files for @@ -206,7 +206,7 @@ Summary: OGG/Vorbis library for the Allegro game library Group: System Environment/Libraries License: MIT URL: http://trent.gamblin.ca/logg/ -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description logg LOGG is an Allegro add-on library for playing OGG/Vorbis audio files. @@ -215,7 +215,7 @@ LOGG is an Allegro add-on library for playing OGG/Vorbis audio files. Summary: Development files for logg Group: Development/Libraries License: MIT -Requires: %{name}-logg = %{version}-%{release} +Requires: %{name}-logg%{?_isa} = %{version}-%{release} %description logg-devel The logg-devel package contains libraries and header files for @@ -264,6 +264,7 @@ 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 %post -p /sbin/ldconfig @@ -292,7 +293,6 @@ fi %files -%defattr(-,root,root,-) %doc %{_docdir}/%{name}-%{version}/AUTHORS %doc %{_docdir}/%{name}-%{version}/CHANGES %doc %{_docdir}/%{name}-%{version}/THANKS @@ -307,7 +307,6 @@ fi %exclude %{_libdir}/allegro/%{version}/alleg-jack.so %files devel -%defattr(-,root,root,-) %doc %{_docdir}/%{name}-%{version}/abi.txt %doc %{_docdir}/%{name}-%{version}/ahack.txt %doc %{_docdir}/%{name}-%{version}/allegro.txt @@ -326,11 +325,11 @@ fi %{_includedir}/allegro %{_includedir}/allegro.h %{_includedir}/xalleg.h +%{_datadir}/aclocal/allegro.m4 %{_infodir}/allegro.info* %{_mandir}/man3/* %files tools -%defattr(-,root,root,-) %doc %{_docdir}/%{name}-%{version}/dat*.txt %doc %{_docdir}/%{name}-%{version}/grabber.txt %{_bindir}/colormap @@ -346,7 +345,6 @@ fi %{_bindir}/xfixicon.sh %files jack-plugin -%defattr(-,root,root,-) %{_libdir}/allegro/%{version}/alleg-jack.so %files -n alleggl @@ -400,6 +398,9 @@ fi %changelog +* Mon Apr 29 2013 Hans de Goede - 4.4.2-6 +- Add /usr/share/aclocal/allegro.m4 to -devel package + * Wed Feb 13 2013 Fedora Release Engineering - 4.4.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild @@ -554,7 +555,7 @@ fi - 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 +* 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 @@ -595,7 +596,7 @@ fi - don't use %%{name} in patch names - add Czech translation to package description/summary -* Fri Apr 7 2005 Michael Schwendt +* Thu Apr 7 2005 Michael Schwendt - rebuilt * Fri Mar 4 2005 Ville Skyttä @@ -671,7 +672,7 @@ fi - devel split into devel and tools packages - makedoc added to tools package -* Wed Sep 16 2001 Peter Wang +* 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 From 43b1e7c791e2105f2cda0024b3b0a5b9dccfd22c Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 2 Aug 2013 19:34:41 -0500 Subject: [PATCH 42/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 6e162a6..97b55bd 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -398,6 +398,9 @@ fi %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 4.4.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Mon Apr 29 2013 Hans de Goede - 4.4.2-6 - Add /usr/share/aclocal/allegro.m4 to -devel package From c6d7ac61f23c00ee501f1f2730cb13b200fb9c31 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 15 Sep 2013 19:52:29 +0200 Subject: [PATCH 43/91] Fix docdir for unversioned docdir F-20 change (rhbz#993664) --- allegro-4.4.2-doc-noversion.patch | 32 ++++++++++++++++ allegro.spec | 64 +++++++++++++++++++------------ 2 files changed, 71 insertions(+), 25 deletions(-) create mode 100644 allegro-4.4.2-doc-noversion.patch diff --git a/allegro-4.4.2-doc-noversion.patch b/allegro-4.4.2-doc-noversion.patch new file mode 100644 index 0000000..b75d7ac --- /dev/null +++ b/allegro-4.4.2-doc-noversion.patch @@ -0,0 +1,32 @@ +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 "share/doc" CACHE STRING "Install docs into $DOCDIR/allegro") ++set(ACTUAL_DOC_DIR "${DOCDIR}/allegro") + + 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.spec b/allegro.spec index 97b55bd..2e64feb 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,12 @@ +%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: 7%{?dist} +Release: 8%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -16,8 +22,9 @@ 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-doc-install.patch -Patch6: allegro-4.4.2-buildsys-fix.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 BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -229,7 +236,11 @@ developing applications that use logg. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 %patch6 -p1 +%else +%patch7 -p1 +%endif %build @@ -254,10 +265,10 @@ make install DESTDIR=$RPM_BUILD_ROOT # 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%{_docdir}/%{name}-%{version}/html +mkdir -p $RPM_BUILD_ROOT%{_maindocdir}/html install -p -m 644 docs/man/*.3 $RPM_BUILD_ROOT%{_mandir}/man3 install -p -m 644 docs/html/*.{html,css} \ - $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html + $RPM_BUILD_ROOT%{_maindocdir}/html # 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} @@ -293,13 +304,13 @@ fi %files -%doc %{_docdir}/%{name}-%{version}/AUTHORS -%doc %{_docdir}/%{name}-%{version}/CHANGES -%doc %{_docdir}/%{name}-%{version}/THANKS -%doc %{_docdir}/%{name}-%{version}/addons.txt -%doc %{_docdir}/%{name}-%{version}/faq.txt -%doc %{_docdir}/%{name}-%{version}/license.txt -%doc %{_docdir}/%{name}-%{version}/readme.txt +%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 %config(noreplace) %{_sysconfdir}/allegrorc %{_libdir}/liballeg.so.4* %{_libdir}/allegro @@ -307,17 +318,17 @@ fi %exclude %{_libdir}/allegro/%{version}/alleg-jack.so %files devel -%doc %{_docdir}/%{name}-%{version}/abi.txt -%doc %{_docdir}/%{name}-%{version}/ahack.txt -%doc %{_docdir}/%{name}-%{version}/allegro.txt -%doc %{_docdir}/%{name}-%{version}/api.txt -%doc %{_docdir}/%{name}-%{version}/const.txt -%doc %{_docdir}/%{name}-%{version}/faq.txt -%doc %{_docdir}/%{name}-%{version}/help.txt -%doc %{_docdir}/%{name}-%{version}/html -%doc %{_docdir}/%{name}-%{version}/makedoc.txt -%doc %{_docdir}/%{name}-%{version}/mistakes.txt -%doc %{_docdir}/%{name}-%{version}/packfile.txt +%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 @@ -330,8 +341,8 @@ fi %{_mandir}/man3/* %files tools -%doc %{_docdir}/%{name}-%{version}/dat*.txt -%doc %{_docdir}/%{name}-%{version}/grabber.txt +%doc %{_maindocdir}/dat*.txt +%doc %{_maindocdir}/grabber.txt %{_bindir}/colormap %{_bindir}/dat %{_bindir}/dat2s @@ -398,6 +409,9 @@ fi %changelog +* Sun Sep 15 2013 Hans de Goede - 4.4.2-8 +- Fix docdir for unversioned docdir F-20 change (rhbz#993664) + * Sat Aug 03 2013 Fedora Release Engineering - 4.4.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 745ede46e7eaa35616facacb1d30147b0d450052 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 6 Jun 2014 19:27:35 -0500 Subject: [PATCH 44/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 2e64feb..6bc685d 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -409,6 +409,9 @@ fi %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 4.4.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sun Sep 15 2013 Hans de Goede - 4.4.2-8 - Fix docdir for unversioned docdir F-20 change (rhbz#993664) From 9e123a4ea32a986fe61cb77c4abfd01e0ee1998e Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 15 Aug 2014 20:18:38 +0000 Subject: [PATCH 45/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 6bc685d..24e326c 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -409,6 +409,9 @@ fi %changelog +* Fri Aug 15 2014 Fedora Release Engineering - 4.4.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sat Jun 07 2014 Fedora Release Engineering - 4.4.2-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 61dc8087a86a05cb140175b9a56165a02013250a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 29 Oct 2014 15:26:18 +0100 Subject: [PATCH 46/91] Replace racy recursive mutex implementation with proper recursive mutexes - Use XPending instead of XSync + XeventsQueued to avoid a deadlock --- allegro-4.4.2-mutex-fix.patch | 91 ++++++++++++++++++++++++ allegro-4.4.2-no-xsync-from-thread.patch | 17 +++++ allegro.spec | 12 +++- 3 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 allegro-4.4.2-mutex-fix.patch create mode 100644 allegro-4.4.2-no-xsync-from-thread.patch diff --git a/allegro-4.4.2-mutex-fix.patch b/allegro-4.4.2-mutex-fix.patch new file mode 100644 index 0000000..e2e6ae1 --- /dev/null +++ b/allegro-4.4.2-mutex-fix.patch @@ -0,0 +1,91 @@ +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 new file mode 100644 index 0000000..60c429b --- /dev/null +++ b/allegro-4.4.2-no-xsync-from-thread.patch @@ -0,0 +1,17 @@ +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.spec b/allegro.spec index 24e326c..9b24750 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 10%{?dist} +Release: 11%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -25,6 +25,10 @@ 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 BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -241,6 +245,8 @@ developing applications that use logg. %else %patch7 -p1 %endif +%patch8 -p1 +%patch9 -p1 %build @@ -409,6 +415,10 @@ fi %changelog +* 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 + * Fri Aug 15 2014 Fedora Release Engineering - 4.4.2-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From c808d617fc645fd1f580fbf28d0b365b4169ad2c Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 16 Jun 2015 23:47:00 +0000 Subject: [PATCH 47/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 9b24750..dfde780 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 11%{?dist} +Release: 12%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -415,6 +415,9 @@ fi %changelog +* Tue Jun 16 2015 Fedora Release Engineering - 4.4.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_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 From 2f772bc433df1700a1805d9b0b24e823b68dba53 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 23 Jun 2015 11:19:57 +0200 Subject: [PATCH 48/91] Fix allegro apps which start fullscreen failing to start from gnome-shell with a "Can not grab keyboard" error message --- allegro-4.4.2-keybgrab-fix.patch | 43 ++++++++++++++++++++++++++++++++ allegro.spec | 9 ++++++- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 allegro-4.4.2-keybgrab-fix.patch diff --git a/allegro-4.4.2-keybgrab-fix.patch b/allegro-4.4.2-keybgrab-fix.patch new file mode 100644 index 0000000..62e1c08 --- /dev/null +++ b/allegro-4.4.2-keybgrab-fix.patch @@ -0,0 +1,43 @@ +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.spec b/allegro.spec index dfde780..3e6e0fd 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 12%{?dist} +Release: 13%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -29,6 +29,8 @@ Patch7: allegro-4.4.2-doc-install.patch 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 BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -247,6 +249,7 @@ developing applications that use logg. %endif %patch8 -p1 %patch9 -p1 +%patch10 -p1 %build @@ -415,6 +418,10 @@ 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 + * Tue Jun 16 2015 Fedora Release Engineering - 4.4.2-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From ff39f9a6369891e1be86ff9086d99500d1d5adc7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 16:05:57 +0000 Subject: [PATCH 49/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 3e6e0fd..c0b0703 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 13%{?dist} +Release: 14%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -418,6 +418,9 @@ fi %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 4.4.2-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * 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 From 33197ba969ace2e4102da8a9408e6118a5aff578 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 05:52:31 +0000 Subject: [PATCH 50/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index c0b0703..b2142b0 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 14%{?dist} +Release: 15%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -418,6 +418,9 @@ fi %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 4.4.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Wed Feb 03 2016 Fedora Release Engineering - 4.4.2-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 90164e881c7562da42296c18ee017132fcba942a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 15 Mar 2017 17:11:44 +0100 Subject: [PATCH 51/91] Fix FBTFS --- allegro-4.4.2-Werror-format-security.patch | 95 ++++++++++++++++++++++ allegro.spec | 7 +- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 allegro-4.4.2-Werror-format-security.patch diff --git a/allegro-4.4.2-Werror-format-security.patch b/allegro-4.4.2-Werror-format-security.patch new file mode 100644 index 0000000..f2b837c --- /dev/null +++ b/allegro-4.4.2-Werror-format-security.patch @@ -0,0 +1,95 @@ +diff -up allegro-4.4.2/src/unix/umodules.c~ allegro-4.4.2/src/unix/umodules.c +--- allegro-4.4.2/src/unix/umodules.c~ 2011-05-13 10:11:33.000000000 +0200 ++++ allegro-4.4.2/src/unix/umodules.c 2017-03-15 14:42:39.822612368 +0100 +@@ -126,11 +126,11 @@ void _unix_load_modules(int system_drive + continue; + + if (!fullpath_slash) { +- snprintf(fullpath, sizeof fullpath, filename); ++ snprintf(fullpath, sizeof fullpath, "%s", filename); + fullpath[(sizeof fullpath) - 1] = 0; + } + else { +- snprintf(fullpath_slash+1, (sizeof fullpath) - (fullpath_slash - fullpath) - 1, filename); ++ snprintf(fullpath_slash+1, (sizeof fullpath) - (fullpath_slash - fullpath) - 1, "%s", filename); + fullpath[(sizeof fullpath) - 1] = 0; + } + +diff -up allegro-4.4.2/src/linux/ljoy.c~ allegro-4.4.2/src/linux/ljoy.c +--- allegro-4.4.2/src/linux/ljoy.c~ 2010-02-20 06:18:16.000000000 +0100 ++++ allegro-4.4.2/src/linux/ljoy.c 2017-03-15 14:52:28.474215615 +0100 +@@ -93,7 +93,7 @@ static int joy_init(void) + + if (ioctl(joy_fd[i], JSIOCGVERSION, &raw_version) < 0) { + /* NOTE: IOCTL fails if the joystick API is version 0.x */ +- uszprintf(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Your Linux joystick API is version 0.x which is unsupported.")); ++ uszprintf(allegro_error, ALLEGRO_ERROR_SIZE, "%s", get_config_text("Your Linux joystick API is version 0.x which is unsupported.")); + return -1; + } + +diff -up allegro-4.4.2/examples/extrans2.c~ allegro-4.4.2/examples/extrans2.c +--- allegro-4.4.2/examples/extrans2.c~ 2008-01-30 11:56:50.000000000 +0100 ++++ allegro-4.4.2/examples/extrans2.c 2017-03-15 15:43:03.494831521 +0100 +@@ -211,7 +211,7 @@ int main(int argc, char **argv) + } else { + msg = "no flipping"; + } +- textprintf_ex(buffer, font, 1, 1, makecol(255, 255, 255), -1, msg); ++ textprintf_ex(buffer, font, 1, 1, makecol(255, 255, 255), -1, "%s", msg); + + /* finally blit the back buffer on the screen */ + blit(buffer, screen, 0, 0, 0, 0, buffer->w, buffer->h); +diff -up allegro-4.4.2/setup/setup.c~ allegro-4.4.2/setup/setup.c +--- allegro-4.4.2/setup/setup.c~ 2010-05-23 18:05:33.000000000 +0200 ++++ allegro-4.4.2/setup/setup.c 2017-03-15 16:13:42.243136380 +0100 +@@ -1163,7 +1163,7 @@ static void plot_joystick_state(BITMAP * + textprintf_ex(bmp, font, SCREEN_W/2-96, SCREEN_H/2-60+c*20, -1, -1, uconvert_ascii("%s (%d/%d)", tmp), + joystick_driver->name, i+1, num_joysticks); + else +- textprintf_ex(bmp, font, SCREEN_W/2-96, SCREEN_H/2-60+c*20, -1, -1, joystick_driver->name); ++ textprintf_ex(bmp, font, SCREEN_W/2-96, SCREEN_H/2-60+c*20, -1, -1, "%s", joystick_driver->name); + c++; + } + +@@ -2879,7 +2879,7 @@ int main(void) + alert(uconvert_ascii("Error loading " SETUP_DATA_FILE, tmp1), NULL, NULL, uconvert_ascii("OK", tmp2), NULL, 13, 0); + #else + set_gfx_mode(GFX_TEXT, 0, 0, 0, 0); +- allegro_message(uconvert_ascii("Error loading " SETUP_DATA_FILE "\n", tmp1)); ++ allegro_message("%s", uconvert_ascii("Error loading " SETUP_DATA_FILE "\n", tmp1)); + #endif + return 1; + } +diff -up allegro-4.4.2/examples/exkeys.c~ allegro-4.4.2/examples/exkeys.c +--- allegro-4.4.2/examples/exkeys.c~ 2008-01-10 20:46:00.000000000 +0100 ++++ allegro-4.4.2/examples/exkeys.c 2017-03-15 16:17:30.268545467 +0100 +@@ -193,7 +193,7 @@ int main(void) + if (key_shifts & KB_NUMLOCK_FLAG) strcat(buf, " num"); + if (key_shifts & KB_SCROLOCK_FLAG) strcat(buf, " scrl"); + scroll(); +- textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), buf); ++ textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), "%s", buf); + } while (k != 27); + + /* various scan codes are defined in allegro.h as KEY_* constants */ +@@ -234,7 +234,7 @@ int main(void) + if (key[KEY_8]) buf[8] = '8'; else buf[8] = ' '; + if (key[KEY_9]) buf[9] = '9'; else buf[9] = ' '; + buf[10] = 0; +- textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), buf); ++ textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), "%s", buf); + rest(1); + } while (!keypressed() || (readkey() >> 8) != KEY_ESC); + +diff -up allegro-4.4.2/tests/play.c~ allegro-4.4.2/tests/play.c +--- allegro-4.4.2/tests/play.c~ 2005-03-19 12:15:07.000000000 +0100 ++++ allegro-4.4.2/tests/play.c 2017-03-15 16:35:18.628156496 +0100 +@@ -74,7 +74,7 @@ void usage(void) + + strcat(msg, "\nIf you don't specify the card, Allegro will auto-detect (ie. guess :-)\n"); + +- allegro_message(msg); ++ allegro_message("%s", msg); + free(msg); + } + diff --git a/allegro.spec b/allegro.spec index b2142b0..e3bb2b7 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 15%{?dist} +Release: 16%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -31,6 +31,7 @@ Patch8: allegro-4.4.2-mutex-fix.patch 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 +Patch11: allegro-4.4.2-Werror-format-security.patch BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -250,6 +251,7 @@ developing applications that use logg. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %build @@ -418,6 +420,9 @@ fi %changelog +* Wed Mar 15 2017 Hans de Goede - 4.4.2-16 +- Fix FBTFS + * Fri Feb 10 2017 Fedora Release Engineering - 4.4.2-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 9317db5864341d9f25dd15048ae8f20e31433e8b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 02:45:24 +0000 Subject: [PATCH 52/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index e3bb2b7..f2f6144 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -420,6 +420,9 @@ fi %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 4.4.2-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Wed Mar 15 2017 Hans de Goede - 4.4.2-16 - Fix FBTFS From 8aabfa39eefbca815818f535eede0ec906d733a2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 17:30:11 +0000 Subject: [PATCH 53/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index f2f6144..d61ad94 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 17%{?dist} +Release: 18%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -420,6 +420,9 @@ fi %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 4.4.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 4.4.2-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 9f64535323091488172d86a2788238bd564ec892 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 02:06:49 +0000 Subject: [PATCH 54/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index d61ad94..30bad6a 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 18%{?dist} +Release: 19%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -420,6 +420,9 @@ fi %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 4.4.2-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Aug 02 2017 Fedora Release Engineering - 4.4.2-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 4e815d69d73ad73ee3af023947747ee7aedab696 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 29 May 2018 13:12:49 +0200 Subject: [PATCH 55/91] Fix PPC allegro app builds failing due to alcompat.h defining aliases for fadd / fdiv / fmull which conflict with system headers (#1582916, #1582917) Modernize spec-file a bit --- allegro-4.4.2-no-fix-aliases.patch | 12 +++++++++++ allegro.spec | 32 +++++++++++++----------------- 2 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 allegro-4.4.2-no-fix-aliases.patch diff --git a/allegro-4.4.2-no-fix-aliases.patch b/allegro-4.4.2-no-fix-aliases.patch new file mode 100644 index 0000000..d3c7830 --- /dev/null +++ b/allegro-4.4.2-no-fix-aliases.patch @@ -0,0 +1,12 @@ +diff -up allegro-4.4.2/include/allegro/alcompat.h~ allegro-4.4.2/include/allegro/alcompat.h +--- allegro-4.4.2/include/allegro/alcompat.h~ 2009-12-20 02:10:56.000000000 +0100 ++++ allegro-4.4.2/include/allegro/alcompat.h 2018-05-29 12:57:32.182913729 +0200 +@@ -40,7 +40,7 @@ + #endif + #endif + +- #ifndef ALLEGRO_NO_FIX_ALIASES ++ #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)) diff --git a/allegro.spec b/allegro.spec index 30bad6a..2fce1fa 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 19%{?dist} +Release: 20%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -23,8 +23,11 @@ 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 +%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 Patch6: allegro-4.4.2-doc-noversion.patch +%else Patch7: allegro-4.4.2-doc-install.patch +%endif # 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 @@ -32,6 +35,8 @@ 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 Patch11: allegro-4.4.2-Werror-format-security.patch +# PPC builds fail when we define aliases for fadd / fdiv / fmull +Patch12: allegro-4.4.2-no-fix-aliases.patch BuildRequires: texinfo cmake BuildRequires: xorg-x11-proto-devel libX11-devel libXpm-devel libXcursor-devel BuildRequires: libXxf86vm-devel libXxf86dga-devel libGL-devel libGLU-devel @@ -237,21 +242,7 @@ 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 -%patch11 -p1 +%autosetup -p1 %build @@ -271,7 +262,7 @@ done %install -make install DESTDIR=$RPM_BUILD_ROOT +%make_install # 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 ... @@ -320,8 +311,8 @@ fi %doc %{_maindocdir}/THANKS %doc %{_maindocdir}/addons.txt %doc %{_maindocdir}/faq.txt -%doc %{_maindocdir}/license.txt %doc %{_maindocdir}/readme.txt +%license %{_maindocdir}/license.txt %config(noreplace) %{_sysconfdir}/allegrorc %{_libdir}/liballeg.so.4* %{_libdir}/allegro @@ -420,6 +411,11 @@ fi %changelog +* Tue May 29 2018 Hans de Goede - 4.4.2-20 +- Fix PPC allegro app builds failing due to alcompat.h defining aliases for + fadd / fdiv / fmull which conflict with system headers (#1582916, #1582917) +- Modernize spec-file a bit + * Wed Feb 07 2018 Fedora Release Engineering - 4.4.2-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From e467f37ab32dea6e0bdbf05565871a3bb20307e3 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:42 +0200 Subject: [PATCH 56/91] add BuildRequires: gcc-c++,gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- allegro.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/allegro.spec b/allegro.spec index 2fce1fa..e89b64a 100644 --- a/allegro.spec +++ b/allegro.spec @@ -37,6 +37,8 @@ Patch10: allegro-4.4.2-keybgrab-fix.patch Patch11: allegro-4.4.2-Werror-format-security.patch # PPC builds fail when we define aliases for fadd / fdiv / fmull Patch12: allegro-4.4.2-no-fix-aliases.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 From a7f5ef751bbb1ae0def3833cf34c30520cb9afb1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 20:08:11 +0000 Subject: [PATCH 57/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index e89b64a..5f5b5d2 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 20%{?dist} +Release: 21%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -413,6 +413,9 @@ fi %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 4.4.2-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue May 29 2018 Hans de Goede - 4.4.2-20 - Fix PPC allegro app builds failing due to alcompat.h defining aliases for fadd / fdiv / fmull which conflict with system headers (#1582916, #1582917) From a62db8060f8f47f46b2a4e186f247cc5bf2e2e60 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 22 Jan 2019 18:38:30 +0100 Subject: [PATCH 58/91] Remove obsolete ldconfig scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- allegro.spec | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/allegro.spec b/allegro.spec index 5f5b5d2..66a1388 100644 --- a/allegro.spec +++ b/allegro.spec @@ -282,8 +282,7 @@ 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 -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%ldconfig_scriptlets %post devel /sbin/install-info %{_infodir}/allegro.info %{_infodir}/dir 2>/dev/null || : @@ -294,17 +293,13 @@ if [ $1 -eq 0 ] ; then 2>/dev/null || : fi -%post -n alleggl -p /sbin/ldconfig -%postun -n alleggl -p /sbin/ldconfig +%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 From 2edc2d7ce532b3b31fa27b9872b9dc86094059ba Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 27 Jan 2019 15:24:04 +0100 Subject: [PATCH 59/91] Remove obsolete scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- allegro.spec | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/allegro.spec b/allegro.spec index 66a1388..1a06b44 100644 --- a/allegro.spec +++ b/allegro.spec @@ -76,8 +76,6 @@ 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 @@ -283,16 +281,6 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %ldconfig_scriptlets - -%post devel -/sbin/install-info %{_infodir}/allegro.info %{_infodir}/dir 2>/dev/null || : - -%preun devel -if [ $1 -eq 0 ] ; then - /sbin/install-info --delete %{_infodir}/allegro.info %{_infodir}/dir \ - 2>/dev/null || : -fi - %ldconfig_scriptlets -n alleggl %ldconfig_scriptlets -n jpgalleg From 51d611e286b31bda3517fce463ef9d3521f464f9 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:38 +0100 Subject: [PATCH 60/91] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- allegro.spec | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/allegro.spec b/allegro.spec index 1a06b44..13fee1d 100644 --- a/allegro.spec +++ b/allegro.spec @@ -14,7 +14,6 @@ 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 @@ -73,7 +72,6 @@ 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 @@ -109,7 +107,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} @@ -143,7 +140,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 @@ -153,7 +149,6 @@ sound through JACK (Jack Audio Connection Kit). %package -n alleggl Summary: OpenGL support library for Allegro -Group: System Environment/Libraries License: zlib or GPL+ URL: http://allegrogl.sourceforge.net/ Requires: %{name}%{?_isa} = %{version}-%{release} @@ -167,7 +162,6 @@ that things like glut do. %package -n alleggl-devel Summary: Development files for alleggl -Group: Development/Libraries License: zlib or GPL+ Requires: alleggl%{?_isa} = %{version}-%{release} @@ -178,7 +172,6 @@ developing applications that use alleggl. %package -n jpgalleg Summary: JPEG library for the Allegro game library -Group: System Environment/Libraries License: zlib URL: http://www.ecplusplus.com/index.php?page=projects&pid=1 Requires: %{name}%{?_isa} = %{version}-%{release} @@ -189,7 +182,6 @@ using jpeg's as Allegro bitmaps. %package -n jpgalleg-devel Summary: Development files for jpgalleg -Group: Development/Libraries License: zlib Requires: jpgalleg%{?_isa} = %{version}-%{release} @@ -200,7 +192,6 @@ developing applications that use jpgalleg. %package loadpng Summary: OGG/Vorbis library for the Allegro game library -Group: System Environment/Libraries License: Public Domain URL: http://wiki.allegro.cc/index.php?title=LoadPNG Requires: %{name}%{?_isa} = %{version}-%{release} @@ -211,7 +202,6 @@ save bitmaps from Allegro programs. %package loadpng-devel Summary: Development files for loadpng -Group: Development/Libraries License: Public Domain Requires: %{name}-loadpng%{?_isa} = %{version}-%{release} @@ -222,7 +212,6 @@ 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} @@ -232,7 +221,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} From 81c2494da78bcba57bd7e3f2132372d609d6bb15 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 13:11:13 +0000 Subject: [PATCH 61/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 13fee1d..8a6c5d2 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 21%{?dist} +Release: 22%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -384,6 +384,9 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 4.4.2-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jul 12 2018 Fedora Release Engineering - 4.4.2-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From a4883794eda094aac958d606ba82316b193ed95e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 17 Feb 2019 00:28:59 +0100 Subject: [PATCH 62/91] Fix FTBFS (rhbz#1674575) --- allegro-4.4.2-ftbfs.patch | 39 +++++++++++++++++++++++++++++++++++++++ allegro.spec | 7 ++++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 allegro-4.4.2-ftbfs.patch diff --git a/allegro-4.4.2-ftbfs.patch b/allegro-4.4.2-ftbfs.patch new file mode 100644 index 0000000..093df69 --- /dev/null +++ b/allegro-4.4.2-ftbfs.patch @@ -0,0 +1,39 @@ +diff -up allegro-4.4.2/addons/allegrogl/include/alleggl.h~ allegro-4.4.2/addons/allegrogl/include/alleggl.h +--- allegro-4.4.2/addons/allegrogl/include/alleggl.h~ 2019-02-17 00:22:14.000000000 +0100 ++++ allegro-4.4.2/addons/allegrogl/include/alleggl.h 2019-02-17 00:23:57.342718525 +0100 +@@ -60,12 +60,9 @@ typedef __int64 INT64; + + #else /* ALLEGRO_MACOSX */ + +-/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */ +-#define __glext_h_ +-#define __glxext_h_ ++#define GL_GLEXT_PROTOTYPES ++#define GLX_GLXEXT_PROTOTYPES + #include +-#undef __glext_h_ +-#undef __glxext_h_ + + #endif /* ALLEGRO_MACOSX */ + +diff -up allegro-4.4.2/addons/allegrogl/src/x.c~ allegro-4.4.2/addons/allegrogl/src/x.c +--- allegro-4.4.2/addons/allegrogl/src/x.c~ 2009-10-17 09:05:52.000000000 +0200 ++++ allegro-4.4.2/addons/allegrogl/src/x.c 2019-02-17 00:23:20.470661820 +0100 +@@ -650,7 +650,7 @@ static int decode_fbconfig (GLXFBConfig + return -1; + } + +- if (!(render_type & GLX_RGBA_BIT) && !(render_type & GLX_RGBA_FLOAT_BIT)) { ++ if (!(render_type & GLX_RGBA_BIT) && !(render_type & GLX_RGBA_FLOAT_BIT_ARB)) { + TRACE(PREFIX_I "decode_fbconfig: Not RGBA mode\n"); + return -1; + } +@@ -674,7 +674,7 @@ static int decode_fbconfig (GLXFBConfig + /* Floating-point depth is not supported as glx extension (yet). */ + i->float_depth = 0; + +- i->float_color = (render_type & GLX_RGBA_FLOAT_BIT); ++ i->float_color = (render_type & GLX_RGBA_FLOAT_BIT_ARB); + + v = glXGetVisualFromFBConfig(_xwin.display, fbc); + if (!v) { diff --git a/allegro.spec b/allegro.spec index 8a6c5d2..74b022f 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.2 -Release: 22%{?dist} +Release: 23%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -36,6 +36,8 @@ Patch10: allegro-4.4.2-keybgrab-fix.patch Patch11: allegro-4.4.2-Werror-format-security.patch # PPC builds fail when we define aliases for fadd / fdiv / fmull Patch12: allegro-4.4.2-no-fix-aliases.patch +# Fix build errors with modern GL headers +Patch13: allegro-4.4.2-ftbfs.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: texinfo cmake @@ -384,6 +386,9 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %changelog +* Sat Feb 16 2019 Hans de Goede - 4.4.2-23 +- Fix FTBFS (rhbz#1674575) + * Thu Jan 31 2019 Fedora Release Engineering - 4.4.2-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From 450f38b7e906906c2f2405feb968daa487a8d900 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 18 Feb 2019 09:55:37 +0100 Subject: [PATCH 63/91] New upstream release 4.4.3 --- .gitignore | 1 + allegro-4.2.3-pack-formatstring.patch | 12 --- allegro-4.4.2-Werror-format-security.patch | 95 ---------------------- allegro-4.4.2-compat-fix-aliases.patch | 27 ++++++ allegro-4.4.2-dynamic-addons.patch | 16 ---- allegro-4.4.2-ftbfs.patch | 39 --------- allegro-4.4.2-no-fix-aliases.patch | 12 --- allegro.spec | 20 ++--- sources | 2 +- 9 files changed, 38 insertions(+), 186 deletions(-) delete mode 100644 allegro-4.2.3-pack-formatstring.patch delete mode 100644 allegro-4.4.2-Werror-format-security.patch create mode 100644 allegro-4.4.2-compat-fix-aliases.patch delete mode 100644 allegro-4.4.2-dynamic-addons.patch delete mode 100644 allegro-4.4.2-ftbfs.patch delete mode 100644 allegro-4.4.2-no-fix-aliases.patch diff --git a/.gitignore b/.gitignore index 04aa4be..117cc77 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ allegro-4.2.3.tar.gz /allegro-4.4.2.tar.gz +/allegro-4.4.3.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-Werror-format-security.patch b/allegro-4.4.2-Werror-format-security.patch deleted file mode 100644 index f2b837c..0000000 --- a/allegro-4.4.2-Werror-format-security.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -up allegro-4.4.2/src/unix/umodules.c~ allegro-4.4.2/src/unix/umodules.c ---- allegro-4.4.2/src/unix/umodules.c~ 2011-05-13 10:11:33.000000000 +0200 -+++ allegro-4.4.2/src/unix/umodules.c 2017-03-15 14:42:39.822612368 +0100 -@@ -126,11 +126,11 @@ void _unix_load_modules(int system_drive - continue; - - if (!fullpath_slash) { -- snprintf(fullpath, sizeof fullpath, filename); -+ snprintf(fullpath, sizeof fullpath, "%s", filename); - fullpath[(sizeof fullpath) - 1] = 0; - } - else { -- snprintf(fullpath_slash+1, (sizeof fullpath) - (fullpath_slash - fullpath) - 1, filename); -+ snprintf(fullpath_slash+1, (sizeof fullpath) - (fullpath_slash - fullpath) - 1, "%s", filename); - fullpath[(sizeof fullpath) - 1] = 0; - } - -diff -up allegro-4.4.2/src/linux/ljoy.c~ allegro-4.4.2/src/linux/ljoy.c ---- allegro-4.4.2/src/linux/ljoy.c~ 2010-02-20 06:18:16.000000000 +0100 -+++ allegro-4.4.2/src/linux/ljoy.c 2017-03-15 14:52:28.474215615 +0100 -@@ -93,7 +93,7 @@ static int joy_init(void) - - if (ioctl(joy_fd[i], JSIOCGVERSION, &raw_version) < 0) { - /* NOTE: IOCTL fails if the joystick API is version 0.x */ -- uszprintf(allegro_error, ALLEGRO_ERROR_SIZE, get_config_text("Your Linux joystick API is version 0.x which is unsupported.")); -+ uszprintf(allegro_error, ALLEGRO_ERROR_SIZE, "%s", get_config_text("Your Linux joystick API is version 0.x which is unsupported.")); - return -1; - } - -diff -up allegro-4.4.2/examples/extrans2.c~ allegro-4.4.2/examples/extrans2.c ---- allegro-4.4.2/examples/extrans2.c~ 2008-01-30 11:56:50.000000000 +0100 -+++ allegro-4.4.2/examples/extrans2.c 2017-03-15 15:43:03.494831521 +0100 -@@ -211,7 +211,7 @@ int main(int argc, char **argv) - } else { - msg = "no flipping"; - } -- textprintf_ex(buffer, font, 1, 1, makecol(255, 255, 255), -1, msg); -+ textprintf_ex(buffer, font, 1, 1, makecol(255, 255, 255), -1, "%s", msg); - - /* finally blit the back buffer on the screen */ - blit(buffer, screen, 0, 0, 0, 0, buffer->w, buffer->h); -diff -up allegro-4.4.2/setup/setup.c~ allegro-4.4.2/setup/setup.c ---- allegro-4.4.2/setup/setup.c~ 2010-05-23 18:05:33.000000000 +0200 -+++ allegro-4.4.2/setup/setup.c 2017-03-15 16:13:42.243136380 +0100 -@@ -1163,7 +1163,7 @@ static void plot_joystick_state(BITMAP * - textprintf_ex(bmp, font, SCREEN_W/2-96, SCREEN_H/2-60+c*20, -1, -1, uconvert_ascii("%s (%d/%d)", tmp), - joystick_driver->name, i+1, num_joysticks); - else -- textprintf_ex(bmp, font, SCREEN_W/2-96, SCREEN_H/2-60+c*20, -1, -1, joystick_driver->name); -+ textprintf_ex(bmp, font, SCREEN_W/2-96, SCREEN_H/2-60+c*20, -1, -1, "%s", joystick_driver->name); - c++; - } - -@@ -2879,7 +2879,7 @@ int main(void) - alert(uconvert_ascii("Error loading " SETUP_DATA_FILE, tmp1), NULL, NULL, uconvert_ascii("OK", tmp2), NULL, 13, 0); - #else - set_gfx_mode(GFX_TEXT, 0, 0, 0, 0); -- allegro_message(uconvert_ascii("Error loading " SETUP_DATA_FILE "\n", tmp1)); -+ allegro_message("%s", uconvert_ascii("Error loading " SETUP_DATA_FILE "\n", tmp1)); - #endif - return 1; - } -diff -up allegro-4.4.2/examples/exkeys.c~ allegro-4.4.2/examples/exkeys.c ---- allegro-4.4.2/examples/exkeys.c~ 2008-01-10 20:46:00.000000000 +0100 -+++ allegro-4.4.2/examples/exkeys.c 2017-03-15 16:17:30.268545467 +0100 -@@ -193,7 +193,7 @@ int main(void) - if (key_shifts & KB_NUMLOCK_FLAG) strcat(buf, " num"); - if (key_shifts & KB_SCROLOCK_FLAG) strcat(buf, " scrl"); - scroll(); -- textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), buf); -+ textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), "%s", buf); - } while (k != 27); - - /* various scan codes are defined in allegro.h as KEY_* constants */ -@@ -234,7 +234,7 @@ int main(void) - if (key[KEY_8]) buf[8] = '8'; else buf[8] = ' '; - if (key[KEY_9]) buf[9] = '9'; else buf[9] = ' '; - buf[10] = 0; -- textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), buf); -+ textprintf_ex(screen, font, 8, SCREEN_H-16, makecol(0, 0, 0), makecol(255, 255, 255), "%s", buf); - rest(1); - } while (!keypressed() || (readkey() >> 8) != KEY_ESC); - -diff -up allegro-4.4.2/tests/play.c~ allegro-4.4.2/tests/play.c ---- allegro-4.4.2/tests/play.c~ 2005-03-19 12:15:07.000000000 +0100 -+++ allegro-4.4.2/tests/play.c 2017-03-15 16:35:18.628156496 +0100 -@@ -74,7 +74,7 @@ void usage(void) - - strcat(msg, "\nIf you don't specify the card, Allegro will auto-detect (ie. guess :-)\n"); - -- allegro_message(msg); -+ allegro_message("%s", msg); - free(msg); - } - 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-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.2-ftbfs.patch b/allegro-4.4.2-ftbfs.patch deleted file mode 100644 index 093df69..0000000 --- a/allegro-4.4.2-ftbfs.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up allegro-4.4.2/addons/allegrogl/include/alleggl.h~ allegro-4.4.2/addons/allegrogl/include/alleggl.h ---- allegro-4.4.2/addons/allegrogl/include/alleggl.h~ 2019-02-17 00:22:14.000000000 +0100 -+++ allegro-4.4.2/addons/allegrogl/include/alleggl.h 2019-02-17 00:23:57.342718525 +0100 -@@ -60,12 +60,9 @@ typedef __int64 INT64; - - #else /* ALLEGRO_MACOSX */ - --/* HACK: Prevent both Mesa and SGI's broken headers from screwing us */ --#define __glext_h_ --#define __glxext_h_ -+#define GL_GLEXT_PROTOTYPES -+#define GLX_GLXEXT_PROTOTYPES - #include --#undef __glext_h_ --#undef __glxext_h_ - - #endif /* ALLEGRO_MACOSX */ - -diff -up allegro-4.4.2/addons/allegrogl/src/x.c~ allegro-4.4.2/addons/allegrogl/src/x.c ---- allegro-4.4.2/addons/allegrogl/src/x.c~ 2009-10-17 09:05:52.000000000 +0200 -+++ allegro-4.4.2/addons/allegrogl/src/x.c 2019-02-17 00:23:20.470661820 +0100 -@@ -650,7 +650,7 @@ static int decode_fbconfig (GLXFBConfig - return -1; - } - -- if (!(render_type & GLX_RGBA_BIT) && !(render_type & GLX_RGBA_FLOAT_BIT)) { -+ if (!(render_type & GLX_RGBA_BIT) && !(render_type & GLX_RGBA_FLOAT_BIT_ARB)) { - TRACE(PREFIX_I "decode_fbconfig: Not RGBA mode\n"); - return -1; - } -@@ -674,7 +674,7 @@ static int decode_fbconfig (GLXFBConfig - /* Floating-point depth is not supported as glx extension (yet). */ - i->float_depth = 0; - -- i->float_color = (render_type & GLX_RGBA_FLOAT_BIT); -+ i->float_color = (render_type & GLX_RGBA_FLOAT_BIT_ARB); - - v = glXGetVisualFromFBConfig(_xwin.display, fbc); - if (!v) { diff --git a/allegro-4.4.2-no-fix-aliases.patch b/allegro-4.4.2-no-fix-aliases.patch deleted file mode 100644 index d3c7830..0000000 --- a/allegro-4.4.2-no-fix-aliases.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up allegro-4.4.2/include/allegro/alcompat.h~ allegro-4.4.2/include/allegro/alcompat.h ---- allegro-4.4.2/include/allegro/alcompat.h~ 2009-12-20 02:10:56.000000000 +0100 -+++ allegro-4.4.2/include/allegro/alcompat.h 2018-05-29 12:57:32.182913729 +0200 -@@ -40,7 +40,7 @@ - #endif - #endif - -- #ifndef ALLEGRO_NO_FIX_ALIASES -+ #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)) diff --git a/allegro.spec b/allegro.spec index 74b022f..9866642 100644 --- a/allegro.spec +++ b/allegro.spec @@ -5,8 +5,8 @@ %endif Name: allegro -Version: 4.4.2 -Release: 23%{?dist} +Version: 4.4.3 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -15,12 +15,10 @@ Summary(it): Una libreria per la programmazione di videogiochi Summary(cs): Knihovna pro programování her 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 %if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 Patch6: allegro-4.4.2-doc-noversion.patch @@ -33,11 +31,8 @@ Patch8: allegro-4.4.2-mutex-fix.patch 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 -Patch11: allegro-4.4.2-Werror-format-security.patch -# PPC builds fail when we define aliases for fadd / fdiv / fmull -Patch12: allegro-4.4.2-no-fix-aliases.patch -# Fix build errors with modern GL headers -Patch13: allegro-4.4.2-ftbfs.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 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: texinfo cmake @@ -386,6 +381,9 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %changelog +* Mon Feb 18 2019 Hans de Goede - 4.4.3-1 +- New upstream release 4.4.3 + * Sat Feb 16 2019 Hans de Goede - 4.4.2-23 - Fix FTBFS (rhbz#1674575) diff --git a/sources b/sources index 9db2b35..07b5c7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4db71b0460fc99926ae91d223199c2e6 allegro-4.4.2.tar.gz +SHA512 (allegro-4.4.3.tar.gz) = e2ad0b0e958fcfbc1e2afa012ca4f50968fe6e59fc0fa7779d31f8466412ee5e5d08e2d64845acdfdb30b872910354207dafcb1011fb00c61f825b612b72dcf5 From a428535d1712b137c62d83f5139cf840098b873d Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 26 Feb 2019 09:34:40 +0100 Subject: [PATCH 64/91] The 4.4.3 update broke the dat and grabber tools, fix them (rhbz#1682921) --- allegro-4.4.3-datafile-double-free.patch | 14 ++++++++++++++ allegro-4.4.3-tools-plugins.patch | 11 +++++++++++ allegro.spec | 8 +++++++- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 allegro-4.4.3-datafile-double-free.patch create mode 100644 allegro-4.4.3-tools-plugins.patch 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-tools-plugins.patch b/allegro-4.4.3-tools-plugins.patch new file mode 100644 index 0000000..40d9e80 --- /dev/null +++ b/allegro-4.4.3-tools-plugins.patch @@ -0,0 +1,11 @@ +--- allegro-4.4.3/tools/datedit.c 2009-10-17 09:09:57.000000000 +0200 ++++ allegro-4.4.3/tools/datedit.c 2019-02-02 20:28:46.000000000 +0100 +@@ -107,6 +107,8 @@ + int done, i; + AL_CONST char *prop_types; + ++ #include "plugins.h" ++ + do { + done = TRUE; + diff --git a/allegro.spec b/allegro.spec index 9866642..5b4a4a7 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -33,6 +33,9 @@ Patch9: allegro-4.4.2-no-xsync-from-thread.patch 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 +Patch13: allegro-4.4.3-tools-plugins.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: texinfo cmake @@ -381,6 +384,9 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %changelog +* Tue Feb 26 2019 Hans de Goede - 4.4.3-2 +- The 4.4.3 update broke the dat and grabber tools, fix them (rhbz#1682921) + * Mon Feb 18 2019 Hans de Goede - 4.4.3-1 - New upstream release 4.4.3 From 22e64bd488bc706d05538070836200b2230e106e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 17:45:51 +0000 Subject: [PATCH 65/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 5b4a4a7..7a70432 100644 --- a/allegro.spec +++ b/allegro.spec @@ -6,7 +6,7 @@ Name: allegro Version: 4.4.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -384,6 +384,9 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 4.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Tue Feb 26 2019 Hans de Goede - 4.4.3-2 - The 4.4.3 update broke the dat and grabber tools, fix them (rhbz#1682921) From 7799f367057311703fd929c018cba1c5d320e1df Mon Sep 17 00:00:00 2001 From: sagitter Date: Fri, 1 Nov 2019 14:32:38 +0100 Subject: [PATCH 66/91] Release 4.4.3.1 --- .gitignore | 1 + allegro-4.4.2-doc-install.patch | 30 ------- allegro-4.4.2-doc-noversion.patch | 4 +- allegro-4.4.3-tools-plugins.patch | 11 --- allegro.spec | 127 ++++++++++++++---------------- sources | 2 +- 6 files changed, 62 insertions(+), 113 deletions(-) delete mode 100644 allegro-4.4.2-doc-install.patch delete mode 100644 allegro-4.4.3-tools-plugins.patch diff --git a/.gitignore b/.gitignore index 117cc77..3976a2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +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.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.3-tools-plugins.patch b/allegro-4.4.3-tools-plugins.patch deleted file mode 100644 index 40d9e80..0000000 --- a/allegro-4.4.3-tools-plugins.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- allegro-4.4.3/tools/datedit.c 2009-10-17 09:09:57.000000000 +0200 -+++ allegro-4.4.3/tools/datedit.c 2019-02-02 20:28:46.000000000 +0100 -@@ -107,6 +107,8 @@ - int done, i; - AL_CONST char *prop_types; - -+ #include "plugins.h" -+ - do { - done = TRUE; - diff --git a/allegro.spec b/allegro.spec index 7a70432..8dd9ac9 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.3 -Release: 3%{?dist} +Version: 4.4.3.1 +Release: 1%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -20,11 +14,7 @@ Source0: https://github.com/liballeg/allegro5/releases/download/%{version Patch1: allegro-4.0.3-cfg.patch Patch2: allegro-4.0.3-libdir.patch Patch5: allegro-4.4.2-buildsys-fix.patch -%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 Patch6: allegro-4.4.2-doc-noversion.patch -%else -Patch7: allegro-4.4.2-doc-install.patch -%endif # 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 @@ -35,10 +25,10 @@ Patch10: allegro-4.4.2-keybgrab-fix.patch 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 -Patch13: allegro-4.4.3-tools-plugins.patch + BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: texinfo cmake +BuildRequires: texinfo cmake3 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 @@ -177,8 +167,8 @@ 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 @@ -213,7 +203,6 @@ developing applications that use loadpng. %package logg Summary: OGG/Vorbis library for the Allegro game library License: MIT -URL: http://trent.gamblin.ca/logg/ Requires: %{name}%{?_isa} = %{version}-%{release} %description logg @@ -232,41 +221,57 @@ developing applications that use logg. %prep %autosetup -p1 - %build -%cmake -make %{?_smp_mflags} +mkdir -p build && pushd build +%cmake3 -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ + -DDOCDIR:STRING=%{_pkgdocdir} -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE .. +%make_build # 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 +pushd build %make_install # 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/ + +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/license.txt addons/jpgalleg/readme.txt \ + $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg/ + %ldconfig_scriptlets %ldconfig_scriptlets -n alleggl @@ -279,31 +284,17 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %files -%doc %{_maindocdir}/AUTHORS -%doc %{_maindocdir}/CHANGES -%doc %{_maindocdir}/THANKS -%doc %{_maindocdir}/addons.txt -%doc %{_maindocdir}/faq.txt -%doc %{_maindocdir}/readme.txt -%license %{_maindocdir}/license.txt +%{_pkgdocdir}/ +%exclude %{_pkgdocdir}/dat*.txt +%exclude %{_pkgdocdir}/grabber.txt +%license %{_pkgdocdir}/license.txt %config(noreplace) %{_sysconfdir}/allegrorc %{_libdir}/liballeg.so.4* %{_libdir}/allegro %{_datadir}/allegro -%exclude %{_libdir}/allegro/%{version}/alleg-jack.so +%exclude %{_libdir}/allegro/4.4.3/alleg-jack.so %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 @@ -316,8 +307,8 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %{_mandir}/man3/* %files tools -%doc %{_maindocdir}/dat*.txt -%doc %{_maindocdir}/grabber.txt +%{_pkgdocdir}/dat*.txt +%{_pkgdocdir}/grabber.txt %{_bindir}/colormap %{_bindir}/dat %{_bindir}/dat2s @@ -331,41 +322,33 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %{_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 @@ -374,7 +357,7 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %{_includedir}/loadpng.h %files logg -%doc addons/logg/LICENSE.txt +%license addons/logg/LICENSE.txt %{_libdir}/liblogg.so.4* %files logg-devel @@ -384,6 +367,12 @@ install -Dpm 644 misc/allegro.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal/allegro.m4 %changelog +* Thu Oct 31 2019 Antonio Trande - 4.4.3.1-1 +- Release 4.4.3.1 +- Downgrade Make jobs +- Use CMake3 on epel +- Use dedicated CMake 'build' directory + * Wed Jul 24 2019 Fedora Release Engineering - 4.4.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 07b5c7c..d6c8d16 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (allegro-4.4.3.tar.gz) = e2ad0b0e958fcfbc1e2afa012ca4f50968fe6e59fc0fa7779d31f8466412ee5e5d08e2d64845acdfdb30b872910354207dafcb1011fb00c61f825b612b72dcf5 +SHA512 (allegro-4.4.3.1.tar.gz) = c5a552ab710226493447eb2547b3d7559badb96f511fbefd315b665b7486013a6710c83b69363eb09f90f53ef4278fe7b90cfee88d90d88f0fe8dc7df7606729 From 1f1e00f6162bd08a666c4f6e4a5833fbe3b166b9 Mon Sep 17 00:00:00 2001 From: sagitter Date: Fri, 1 Nov 2019 14:34:22 +0100 Subject: [PATCH 67/91] Use %%_pkgdocdir --- allegro.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 8dd9ac9..39e9b0a 100644 --- a/allegro.spec +++ b/allegro.spec @@ -369,7 +369,7 @@ install -pm 644 addons/jpgalleg/license.txt addons/jpgalleg/readme.txt \ %changelog * Thu Oct 31 2019 Antonio Trande - 4.4.3.1-1 - Release 4.4.3.1 -- Downgrade Make jobs +- Use %%_pkgdocdir - Use CMake3 on epel - Use dedicated CMake 'build' directory From a21a98b3d9184c6252aeb6a6357d414763a0f352 Mon Sep 17 00:00:00 2001 From: sagitter Date: Tue, 5 Nov 2019 11:09:34 +0100 Subject: [PATCH 68/91] Patched for texinfo-6.7 (rhbz#1767827) --- allegro-4.4.3-texinfo-non-utf8-input-fix.patch | 11 +++++++++++ allegro.spec | 13 +++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 allegro-4.4.3-texinfo-non-utf8-input-fix.patch 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.spec b/allegro.spec index 39e9b0a..890455e 100644 --- a/allegro.spec +++ b/allegro.spec @@ -25,6 +25,10 @@ Patch10: allegro-4.4.2-keybgrab-fix.patch 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 BuildRequires: gcc BuildRequires: gcc-c++ @@ -219,7 +223,7 @@ developing applications that use logg. %prep -%autosetup -p1 +%autosetup -p 1 %build mkdir -p build && pushd build @@ -287,6 +291,10 @@ install -pm 644 addons/jpgalleg/license.txt addons/jpgalleg/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* @@ -367,11 +375,12 @@ install -pm 644 addons/jpgalleg/license.txt addons/jpgalleg/readme.txt \ %changelog -* Thu Oct 31 2019 Antonio Trande - 4.4.3.1-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) * Wed Jul 24 2019 Fedora Release Engineering - 4.4.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 4e7f832b9e1a1a2be8e5f9e11edbd5bd069471a5 Mon Sep 17 00:00:00 2001 From: sagitter Date: Tue, 5 Nov 2019 11:12:54 +0100 Subject: [PATCH 69/91] Fix autopatch command --- allegro.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 890455e..c2f7273 100644 --- a/allegro.spec +++ b/allegro.spec @@ -223,7 +223,7 @@ developing applications that use logg. %prep -%autosetup -p 1 +%autosetup -p1 %build mkdir -p build && pushd build From a54a6467c3e6c0e735a57441293a72a0a170e282 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 11 Nov 2019 18:09:14 +0100 Subject: [PATCH 70/91] Misc. small fixes -Do not install the jpgalleg license as both %license and %doc, only install it as %license -Stop packaging the alleg-jack.so build-id symlink in the main allegro pkg -Add rpmlintrc to filter out some rpmlint issues which we will not fix any time soon and/or which are false-positives --- allegro.rpmlintrc | 8 ++++++++ allegro.spec | 12 +++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 allegro.rpmlintrc diff --git a/allegro.rpmlintrc b/allegro.rpmlintrc new file mode 100644 index 0000000..e1ba769 --- /dev/null +++ b/allegro.rpmlintrc @@ -0,0 +1,8 @@ +# Silence silly information messages about dicts not being found +addFilter("I: enchant-dictionary-not-found .*") +# 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 manpage groff macros +addFilter("W: manual-page-warning .*") diff --git a/allegro.spec b/allegro.spec index c2f7273..c771d9f 100644 --- a/allegro.spec +++ b/allegro.spec @@ -273,7 +273,7 @@ install -pm 644 addons/loadpng/CHANGES.txt addons/loadpng/README.txt addons/load $RPM_BUILD_ROOT%{_pkgdocdir}/loadpng/ mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg -install -pm 644 addons/jpgalleg/license.txt addons/jpgalleg/readme.txt \ +install -pm 644 addons/jpgalleg/readme.txt \ $RPM_BUILD_ROOT%{_pkgdocdir}/jpgalleg/ @@ -298,9 +298,15 @@ install -pm 644 addons/jpgalleg/license.txt addons/jpgalleg/readme.txt \ %license %{_pkgdocdir}/license.txt %config(noreplace) %{_sysconfdir}/allegrorc %{_libdir}/liballeg.so.4* -%{_libdir}/allegro %{_datadir}/allegro -%exclude %{_libdir}/allegro/4.4.3/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 %{_bindir}/allegro-config From 34a866992010df5a4ca18fbeacb02d96897ebc99 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 11:25:23 +0000 Subject: [PATCH 71/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index c771d9f..f1f5474 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.3.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -381,6 +381,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 4.4.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Tue Nov 05 2019 Antonio Trande - 4.4.3.1-1 - Release 4.4.3.1 - Use %%_pkgdocdir From 38c8f6979e7a6ae103dbdd87553c3d51397db1ab Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sat, 18 Jul 2020 14:32:39 -0400 Subject: [PATCH 72/91] Update to new out-of-source build mechanism --- allegro.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/allegro.spec b/allegro.spec index f1f5474..09b81c1 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,3 +1,6 @@ +# Force out of source build +%undefine __cmake_in_source_build + Name: allegro Version: 4.4.3.1 Release: 2%{?dist} @@ -226,11 +229,11 @@ developing applications that use logg. %autosetup -p1 %build -mkdir -p build && pushd build %cmake3 -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ - -DDOCDIR:STRING=%{_pkgdocdir} -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE .. -%make_build + -DDOCDIR:STRING=%{_pkgdocdir} -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE +%cmake3_build +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 \ @@ -242,8 +245,9 @@ done popd %install -pushd build -%make_install +%cmake3_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 ... From 18d2f19d5df341b54009d2b160c91ea4c6435ea8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 11:55:46 +0000 Subject: [PATCH 73/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 09b81c1..8421cad 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 4.4.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 4.4.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 446341812484b8743df1c7410fc8869c1ce3532b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jul 2020 23:54:30 +0000 Subject: [PATCH 74/91] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 8421cad..2934054 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,10 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* 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 Jul 27 2020 Fedora Release Engineering - 4.4.3.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 93b8a0f94b01dd8557e2dfea58187dc333a35e8a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 25 Jan 2021 23:59:02 +0000 Subject: [PATCH 75/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 2934054..64d7da9 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Mon Jan 25 2021 Fedora Release Engineering - 4.4.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Jul 31 2020 Fedora Release Engineering - 4.4.3.1-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 7c29e4a2d6aa91d7e6f185d25d9dd0bb14bffb67 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:31:11 +0000 Subject: [PATCH 76/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 7cd174c76214c9407aca0df0f62e4c66f1dc8249 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:26:33 +0000 Subject: [PATCH 77/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 64d7da9..faca4cf 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 4.4.3.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Mon Jan 25 2021 Fedora Release Engineering - 4.4.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 60f829f623fed1a5981401b2ffae93d3ba7b2026 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 21:07:30 +0000 Subject: [PATCH 78/91] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index faca4cf..c646206 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 4.4.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 4.4.3.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 9050a4088bf61fb4d1659a06dff871a479579d40 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 20:39:04 +0000 Subject: [PATCH 79/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index c646206..42604be 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 4.4.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jan 19 2022 Fedora Release Engineering - 4.4.3.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 4d0bcb86451dee7653089d650ab1a2a2d65ca0eb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 21:35:58 +0000 Subject: [PATCH 80/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 42604be..b035e9c 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 8%{?dist} +Release: 9%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 4.4.3.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Jul 20 2022 Fedora Release Engineering - 4.4.3.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 91eda6fdc6d530ed3d080089d93f086ea73ca1c0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:07:51 +0000 Subject: [PATCH 81/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index b035e9c..87c5090 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 9%{?dist} +Release: 10%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -385,6 +385,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 4.4.3.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Wed Jan 18 2023 Fedora Release Engineering - 4.4.3.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 74d01b5b28ba9730d3f88123b64d4e62638135b7 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 26 Jul 2023 21:16:18 +0200 Subject: [PATCH 82/91] Fix dat2c bug causing FTBFS of allegro using packages (rhbz#2225996) Trim changelog --- allegro-4.4.3-dat2c-buffer-overflow.patch | 32 ++ allegro.rpmlintrc | 7 +- allegro.spec | 353 +--------------------- 3 files changed, 43 insertions(+), 349 deletions(-) create mode 100644 allegro-4.4.3-dat2c-buffer-overflow.patch 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.rpmlintrc b/allegro.rpmlintrc index e1ba769..bb33462 100644 --- a/allegro.rpmlintrc +++ b/allegro.rpmlintrc @@ -1,8 +1,7 @@ -# Silence silly information messages about dicts not being found -addFilter("I: enchant-dictionary-not-found .*") # 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 manpage groff macros -addFilter("W: manual-page-warning .*") +# 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 87c5090..4386a6c 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 10%{?dist} +Release: 11%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -32,6 +32,9 @@ Patch12: allegro-4.4.3-datafile-double-free.patch # 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++ @@ -385,6 +388,10 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* 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 19 2023 Fedora Release Engineering - 4.4.3.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild @@ -419,347 +426,3 @@ install -pm 644 addons/jpgalleg/readme.txt \ - Use CMake3 on epel - Use dedicated CMake 'build' directory - Patched for texinfo-6.7 (rhbz#1767827) - -* Wed Jul 24 2019 Fedora Release Engineering - 4.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Feb 26 2019 Hans de Goede - 4.4.3-2 -- The 4.4.3 update broke the dat and grabber tools, fix them (rhbz#1682921) - -* Mon Feb 18 2019 Hans de Goede - 4.4.3-1 -- New upstream release 4.4.3 - -* Sat Feb 16 2019 Hans de Goede - 4.4.2-23 -- Fix FTBFS (rhbz#1674575) - -* Thu Jan 31 2019 Fedora Release Engineering - 4.4.2-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 4.4.2-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue May 29 2018 Hans de Goede - 4.4.2-20 -- Fix PPC allegro app builds failing due to alcompat.h defining aliases for - fadd / fdiv / fmull which conflict with system headers (#1582916, #1582917) -- Modernize spec-file a bit - -* Wed Feb 07 2018 Fedora Release Engineering - 4.4.2-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Aug 02 2017 Fedora Release Engineering - 4.4.2-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 4.4.2-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Mar 15 2017 Hans de Goede - 4.4.2-16 -- Fix FBTFS - -* Fri Feb 10 2017 Fedora Release Engineering - 4.4.2-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 03 2016 Fedora Release Engineering - 4.4.2-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* 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 - -* Tue Jun 16 2015 Fedora Release Engineering - 4.4.2-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_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 - -* Fri Aug 15 2014 Fedora Release Engineering - 4.4.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 4.4.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sun Sep 15 2013 Hans de Goede - 4.4.2-8 -- Fix docdir for unversioned docdir F-20 change (rhbz#993664) - -* Sat Aug 03 2013 Fedora Release Engineering - 4.4.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Mon Apr 29 2013 Hans de Goede - 4.4.2-6 -- Add /usr/share/aclocal/allegro.m4 to -devel package - -* Wed Feb 13 2013 Fedora Release Engineering - 4.4.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jul 18 2012 Fedora Release Engineering - 4.4.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu Jan 12 2012 Fedora Release Engineering - 4.4.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Nov 15 2011 Peter Robinson 4.4.2-2 -- Make pre/post dependencies for all non i686 arches sane - -* 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 - -* Mon Feb 07 2011 Fedora Release Engineering - 4.2.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_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) - -* Thu Sep 9 2010 Hans de Goede 4.2.3-3 -- Fix FTBFS (#631099) - -* Mon Jun 21 2010 Hans de Goede 4.2.3-2 -- Fix multilib conflict in -devel (#603836) - -* Mon Oct 5 2009 Jindrich Novy 4.2.3-1 -- update to 4.2.3 - -* 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 From 551b78696b549505f793922a8f0b57aaa61fab90 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 12:42:43 +0000 Subject: [PATCH 83/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 4386a6c..3fc1a72 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 11%{?dist} +Release: 12%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -388,6 +388,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 4.4.3.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_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 From 2f12f09bab398ad5c6b38d4cded950d5b7bbe567 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 22:54:32 +0000 Subject: [PATCH 84/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 3fc1a72..bdd9bec 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 12%{?dist} +Release: 13%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -388,6 +388,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 4.4.3.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 4.4.3.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From c3876b3aae8fb2282c21d0c4c7e54e4e2b8d071c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 16:51:00 +0000 Subject: [PATCH 85/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index bdd9bec..7d5ca77 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 13%{?dist} +Release: 14%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -388,6 +388,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 4.4.3.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 4.4.3.1-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 2f1070e9365cc45c296e965dae92fe47264816f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Thu, 16 Jan 2025 06:59:50 +0000 Subject: [PATCH 86/91] Migrate to SPDX license This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- allegro.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/allegro.spec b/allegro.spec index 7d5ca77..f1ce40a 100644 --- a/allegro.spec +++ b/allegro.spec @@ -149,7 +149,7 @@ sound through JACK (Jack Audio Connection Kit). %package -n alleggl Summary: OpenGL support library for Allegro -License: zlib or GPL+ +License: Zlib OR GPL-1.0-or-later URL: http://allegrogl.sourceforge.net/ Requires: %{name}%{?_isa} = %{version}-%{release} @@ -162,7 +162,7 @@ that things like glut do. %package -n alleggl-devel Summary: Development files for alleggl -License: zlib or GPL+ +License: Zlib OR GPL-1.0-or-later Requires: alleggl%{?_isa} = %{version}-%{release} %description -n alleggl-devel @@ -172,7 +172,7 @@ developing applications that use alleggl. %package -n jpgalleg Summary: JPEG library for the Allegro game library -License: zlib +License: Zlib URL: http://www.ecplusplus.com/index.php?page=projects&pid=1 Requires: %{name}%{?_isa} = %{version}-%{release} @@ -182,7 +182,7 @@ using JPEG's as Allegro bitmaps. %package -n jpgalleg-devel Summary: Development files for jpgalleg -License: zlib +License: Zlib Requires: jpgalleg%{?_isa} = %{version}-%{release} %description -n jpgalleg-devel @@ -192,7 +192,7 @@ developing applications that use jpgalleg. %package loadpng Summary: OGG/Vorbis library for the Allegro game library -License: Public Domain +License: LicenseRef-Fedora-Public-Domain URL: http://wiki.allegro.cc/index.php?title=LoadPNG Requires: %{name}%{?_isa} = %{version}-%{release} @@ -202,7 +202,7 @@ save bitmaps from Allegro programs. %package loadpng-devel Summary: Development files for loadpng -License: Public Domain +License: LicenseRef-Fedora-Public-Domain Requires: %{name}-loadpng%{?_isa} = %{version}-%{release} %description loadpng-devel From c52cd73b4c6a3f8d0d92ed065ced668bfb53a1bb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 10:52:13 +0000 Subject: [PATCH 87/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index 7d5ca77..b925b87 100644 --- a/allegro.spec +++ b/allegro.spec @@ -3,7 +3,7 @@ Name: allegro Version: 4.4.3.1 -Release: 14%{?dist} +Release: 15%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -388,6 +388,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 4.4.3.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 4.4.3.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 8937f92105d1f28798c25489cc2efdce2f9c9cce Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Fri, 30 May 2025 16:22:24 +0200 Subject: [PATCH 88/91] Allow to build with CMake 4.0 --- allegro.spec | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/allegro.spec b/allegro.spec index f77cc18..41468ae 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,9 +1,6 @@ -# Force out of source build -%undefine __cmake_in_source_build - Name: allegro Version: 4.4.3.1 -Release: 15%{?dist} +Release: 16%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -38,7 +35,7 @@ Patch14: allegro-4.4.3-dat2c-buffer-overflow.patch BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: texinfo cmake3 +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 @@ -232,9 +229,10 @@ developing applications that use logg. %autosetup -p1 %build -%cmake3 -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +%cmake -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ -DDOCDIR:STRING=%{_pkgdocdir} -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -%cmake3_build +%cmake_build pushd %{_vpath_builddir} # Converting text documentation to UTF-8 encoding. @@ -248,7 +246,7 @@ done popd %install -%cmake3_install +%cmake_install pushd %{_vpath_builddir} # installation of these is broken, because they use a cmake GLOB, but @@ -388,6 +386,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Fri May 30 2025 Cristian Le - 4.4.3.1-16 +- Allow to build with CMake 4.0 + * Thu Jan 16 2025 Fedora Release Engineering - 4.4.3.1-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 60b3052206a97916dbae1b23f44d638b680e0943 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Thu, 17 Jul 2025 15:27:13 +0200 Subject: [PATCH 89/91] Add LIB_SUFFIX flag explicitly --- allegro.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/allegro.spec b/allegro.spec index 41468ae..e110580 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.3.1 -Release: 16%{?dist} +Release: 17%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -230,7 +230,11 @@ developing applications that use logg. %build export CMAKE_POLICY_VERSION_MINIMUM=3.5 -%cmake -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \ +%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 @@ -386,6 +390,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Thu Jul 17 2025 Cristian Le - 4.4.3.1-17 +- Add LIB_SUFFIX flag explicitly (rhbz#2381173) + * Fri May 30 2025 Cristian Le - 4.4.3.1-16 - Allow to build with CMake 4.0 From fff1693034d88519e51be9369695eafc0362388d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 16:54:01 +0000 Subject: [PATCH 90/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index e110580..d31a292 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.3.1 -Release: 17%{?dist} +Release: 18%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -390,6 +390,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 4.4.3.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jul 17 2025 Cristian Le - 4.4.3.1-17 - Add LIB_SUFFIX flag explicitly (rhbz#2381173) From 8698323496e235eaada3102e9ead0348f2c2f21d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:35:33 +0000 Subject: [PATCH 91/91] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- allegro.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allegro.spec b/allegro.spec index d31a292..8005301 100644 --- a/allegro.spec +++ b/allegro.spec @@ -1,6 +1,6 @@ Name: allegro Version: 4.4.3.1 -Release: 18%{?dist} +Release: 19%{?dist} Summary: A game programming library Summary(es): Una libreria de programacion de juegos @@ -390,6 +390,9 @@ install -pm 644 addons/jpgalleg/readme.txt \ %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 4.4.3.1-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Wed Jul 23 2025 Fedora Release Engineering - 4.4.3.1-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild