diff --git a/allegro4/.footprint b/allegro4/.footprint index c991dc876..887e1be50 100644 --- a/allegro4/.footprint +++ b/allegro4/.footprint @@ -126,26 +126,26 @@ drwxr-xr-x root/root usr/include/allegrogl/GLext/ -rw-r--r-- root/root usr/include/xalleg.h drwxr-xr-x root/root usr/lib/ drwxr-xr-x root/root usr/lib/allegro/ -drwxr-xr-x root/root usr/lib/allegro/4.4.3/ --rwxr-xr-x root/root usr/lib/allegro/4.4.3/alleg-alsadigi.so --rwxr-xr-x root/root usr/lib/allegro/4.4.3/alleg-alsamidi.so --rwxr-xr-x root/root usr/lib/allegro/4.4.3/alleg-dga2.so --rw-r--r-- root/root usr/lib/allegro/4.4.3/modules.lst +drwxr-xr-x root/root usr/lib/allegro/4.4.2/ +-rwxr-xr-x root/root usr/lib/allegro/4.4.2/alleg-alsadigi.so +-rwxr-xr-x root/root usr/lib/allegro/4.4.2/alleg-alsamidi.so +-rwxr-xr-x root/root usr/lib/allegro/4.4.2/alleg-dga2.so +-rw-r--r-- root/root usr/lib/allegro/4.4.2/modules.lst lrwxrwxrwx root/root usr/lib/liballeg.so -> liballeg.so.4.4 -lrwxrwxrwx root/root usr/lib/liballeg.so.4.4 -> liballeg.so.4.4.3 --rwxr-xr-x root/root usr/lib/liballeg.so.4.4.3 +lrwxrwxrwx root/root usr/lib/liballeg.so.4.4 -> liballeg.so.4.4.2 +-rwxr-xr-x root/root usr/lib/liballeg.so.4.4.2 lrwxrwxrwx root/root usr/lib/liballeggl.so -> liballeggl.so.4.4 -lrwxrwxrwx root/root usr/lib/liballeggl.so.4.4 -> liballeggl.so.4.4.3 --rwxr-xr-x root/root usr/lib/liballeggl.so.4.4.3 +lrwxrwxrwx root/root usr/lib/liballeggl.so.4.4 -> liballeggl.so.4.4.2 +-rwxr-xr-x root/root usr/lib/liballeggl.so.4.4.2 lrwxrwxrwx root/root usr/lib/libjpgalleg.so -> libjpgalleg.so.4.4 -lrwxrwxrwx root/root usr/lib/libjpgalleg.so.4.4 -> libjpgalleg.so.4.4.3 --rwxr-xr-x root/root usr/lib/libjpgalleg.so.4.4.3 +lrwxrwxrwx root/root usr/lib/libjpgalleg.so.4.4 -> libjpgalleg.so.4.4.2 +-rwxr-xr-x root/root usr/lib/libjpgalleg.so.4.4.2 lrwxrwxrwx root/root usr/lib/libloadpng.so -> libloadpng.so.4.4 -lrwxrwxrwx root/root usr/lib/libloadpng.so.4.4 -> libloadpng.so.4.4.3 --rwxr-xr-x root/root usr/lib/libloadpng.so.4.4.3 +lrwxrwxrwx root/root usr/lib/libloadpng.so.4.4 -> libloadpng.so.4.4.2 +-rwxr-xr-x root/root usr/lib/libloadpng.so.4.4.2 lrwxrwxrwx root/root usr/lib/liblogg.so -> liblogg.so.4.4 -lrwxrwxrwx root/root usr/lib/liblogg.so.4.4 -> liblogg.so.4.4.3 --rwxr-xr-x root/root usr/lib/liblogg.so.4.4.3 +lrwxrwxrwx root/root usr/lib/liblogg.so.4.4 -> liblogg.so.4.4.2 +-rwxr-xr-x root/root usr/lib/liblogg.so.4.4.2 drwxr-xr-x root/root usr/lib/pkgconfig/ -rw-r--r-- root/root usr/lib/pkgconfig/allegro.pc -rw-r--r-- root/root usr/lib/pkgconfig/allegrogl.pc diff --git a/allegro4/.signature b/allegro4/.signature index 8842bb56a..4415513c8 100644 --- a/allegro4/.signature +++ b/allegro4/.signature @@ -1,5 +1,12 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF39j5n/tjmBs71lGF1B4jeEXCuDQHpWuN83yjrVuCPv3Ovo6Rmh6tLCONf3rsjSBqV9tIpJc6JmMr3mPH2XjWzQ4= -SHA256 (Pkgfile) = c5d1748aac6e731bf62ad7533d52def6701396184c8dc4ed4fe07b865cc767b1 -SHA256 (.footprint) = dafb9a9ada6919773e94be5cda51bd6ee99174a08f3ec8dad99715d5f8903c93 -SHA256 (allegro-4.4.3.1.tar.gz) = ec19dbc9a021244582b4819b3583ee594b50141f9fcf6944a4ed8069cbf8d4d4 +RWSagIOpLGJF33u+ngManC9fZFdyMoatuIvMq4tQHpt4hQ8U0k0wmmR7JyyMLSSuiclHJitfTcGA8+q5tnfjmIN0vrHTUQHysg4= +SHA256 (Pkgfile) = 367cae6eb33cf44b3e6e188f868392d5c4a2172aa4d0ae7947bffe6044dbeb5d +SHA256 (.footprint) = 0e39b962ffac88edba24aeec58208745c4c4ca46a2d47066b729489d439ba601 +SHA256 (allegro-4.4.2.tar.gz) = 1b21e7577dbfada02d85ca4510bd22fedaa6ce76fde7f4838c7c1276eb840fdc +SHA256 (allegro-4.4.2-GLX_RGBA_FLOAT_BIT.patch) = 4e527ce3dbf5017c77f63e973f29813a84c0cba793a0629832b2ad53a117cae4 +SHA256 (allegro-4.4.2-Werror-format-security.patch) = c650be8edd7f93938132332f7410cea739df09d2c145e219eb15a787b4960f72 +SHA256 (allegro-4.4.2-glibc228.patch) = 990011bddcc76662f0ab3cfe9478a41eada2485f8167a0b04951736361b2636a +SHA256 (allegro-4.4.2-rpath.patch) = 800501684319dc57451a20bf346fd75fbad27bc23334ec1b8980d5832a925dd9 +SHA256 (allegro-4.4.2-shared.patch) = 3e42d3da7906e111cd9af1585c8127a34cd4e4e67432521575a4d50815c498a7 +SHA256 (allegro-4.4.2-static-func.patch) = ab42332132697d16138458e10960fb83bbbbada96c4f430706fcb187f51d824d +SHA256 (allegro-4.4.2-underlink.patch) = 4cec35ec7fd67ed002e0ff72ee00d81782dfe621fce3ec58a3cd0b6ae782c985 diff --git a/allegro4/Pkgfile b/allegro4/Pkgfile index 8ac2ef02e..fa5e4058c 100644 --- a/allegro4/Pkgfile +++ b/allegro4/Pkgfile @@ -4,13 +4,29 @@ # Depends on: alsa-lib glu libidn libpng libvorbis xorg-libxcursor xorg-libxpm xorg-libxxf86dga name=allegro4 -version=4.4.3.1 +version=4.4.2 release=1 -source=(https://github.com/liballeg/allegro5/releases/download/$version/allegro-$version.tar.gz) +source=(https://github.com/liballeg/allegro5/releases/download/$version/allegro-$version.tar.gz + allegro-4.4.2-GLX_RGBA_FLOAT_BIT.patch + allegro-4.4.2-Werror-format-security.patch + allegro-4.4.2-glibc228.patch + allegro-4.4.2-rpath.patch + allegro-4.4.2-shared.patch + allegro-4.4.2-static-func.patch + allegro-4.4.2-underlink.patch +) build() { cd allegro-$version + patch -p1 -i $SRC/allegro-4.4.2-GLX_RGBA_FLOAT_BIT.patch + patch -p1 -i $SRC/allegro-4.4.2-Werror-format-security.patch + patch -p1 -i $SRC/allegro-4.4.2-glibc228.patch + patch -p1 -i $SRC/allegro-4.4.2-rpath.patch + patch -p1 -i $SRC/allegro-4.4.2-shared.patch + patch -p1 -i $SRC/allegro-4.4.2-static-func.patch + patch -p1 -i $SRC/allegro-4.4.2-underlink.patch + mkdir build cd build diff --git a/allegro4/allegro-4.4.2-GLX_RGBA_FLOAT_BIT.patch b/allegro4/allegro-4.4.2-GLX_RGBA_FLOAT_BIT.patch new file mode 100644 index 000000000..54ff4f97f --- /dev/null +++ b/allegro4/allegro-4.4.2-GLX_RGBA_FLOAT_BIT.patch @@ -0,0 +1,20 @@ +--- a/addons/allegrogl/src/x.c 2019-01-27 20:35:26.209055856 +0100 ++++ b/addons/allegrogl/src/x.c 2019-01-27 20:38:54.135570782 +0100 +@@ -650,7 +650,7 @@ + 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 @@ + /* 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/allegro4/allegro-4.4.2-Werror-format-security.patch b/allegro4/allegro-4.4.2-Werror-format-security.patch new file mode 100644 index 000000000..b3b0bc30b --- /dev/null +++ b/allegro4/allegro-4.4.2-Werror-format-security.patch @@ -0,0 +1,107 @@ +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 -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/allegro4/allegro-4.4.2-glibc228.patch b/allegro4/allegro-4.4.2-glibc228.patch new file mode 100644 index 000000000..afcdf5100 --- /dev/null +++ b/allegro4/allegro-4.4.2-glibc228.patch @@ -0,0 +1,41 @@ +From 4848f1583c3dbe41f5f056869ff2c796d33d8121 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20R=C3=B6nnquist?= +Date: Wed, 12 Dec 2018 16:39:23 +0100 +Subject: [PATCH] Remove f* variants of fixed math functions + +Removing functions that conflicts with later glibc implementations, +people should use fix* variants instead. +(Simply use fixadd instead of fadd). +--- + include/allegro/alcompat.h | 18 ------------------ + 1 file changed, 18 deletions(-) + +diff --git a/include/allegro/alcompat.h b/include/allegro/alcompat.h +index d31ab5b6d..c9536839d 100644 +--- a/include/allegro/alcompat.h ++++ b/include/allegro/alcompat.h +@@ -40,24 +40,6 @@ + #endif + #endif + +- #ifndef ALLEGRO_NO_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/allegro4/allegro-4.4.2-rpath.patch b/allegro4/allegro-4.4.2-rpath.patch new file mode 100644 index 000000000..ab646e485 --- /dev/null +++ b/allegro4/allegro-4.4.2-rpath.patch @@ -0,0 +1,8 @@ +--- a/setup/CMakeLists.txt ++++ b/setup/CMakeLists.txt +@@ -1,3 +1,5 @@ ++set(CMAKE_SKIP_BUILD_RPATH TRUE) ++ + add_our_executable(setup setup.c) + copy_files(copy_setup_data setup.dat) + diff --git a/allegro4/allegro-4.4.2-shared.patch b/allegro4/allegro-4.4.2-shared.patch new file mode 100644 index 000000000..7b4417d35 --- /dev/null +++ b/allegro4/allegro-4.4.2-shared.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -830,7 +830,7 @@ + option(WANT_LOGG "Enable logg" on) + option(WANT_JPGALLEG "Enable JPGAlleg" on) + +-if(WANT_FRAMEWORKS) ++if(SHARED) + set(ADDON_LINKAGE SHARED) + else() + set(ADDON_LINKAGE STATIC) diff --git a/allegro4/allegro-4.4.2-static-func.patch b/allegro4/allegro-4.4.2-static-func.patch new file mode 100644 index 000000000..ac107d387 --- /dev/null +++ b/allegro4/allegro-4.4.2-static-func.patch @@ -0,0 +1,13 @@ +https://sourceforge.net/p/alleg/bugs/398/ + +--- a/addons/jpgalleg/src/decode.c 2008-02-13 14:04:57.000000000 +0100 ++++ b/addons/jpgalleg/src/decode.c 2015-09-03 14:57:57.888485546 +0200 +@@ -477,7 +477,7 @@ + * Reads a string of bits from the input stream and returns a properly signed + * number given the category. + */ +-INLINE int ++static INLINE int + get_value(int category) + { + int result = get_bits(category); diff --git a/allegro4/allegro-4.4.2-underlink.patch b/allegro4/allegro-4.4.2-underlink.patch new file mode 100644 index 000000000..7e6ea9398 --- /dev/null +++ b/allegro4/allegro-4.4.2-underlink.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt 2011-06-06 23:46:06.057320691 +0200 ++++ b/CMakeLists.txt 2011-06-06 23:46:21.900313261 +0200 +@@ -392,7 +392,7 @@ + message(FATAL_ERROR "Unix port requires pthreads support.") + endif() + set(ALLEGRO_HAVE_LIBPTHREAD 1) +- list(APPEND PLATFORM_LIBS m ${CMAKE_THREAD_LIBS_INIT}) ++ list(APPEND PLATFORM_LIBS dl m ${CMAKE_THREAD_LIBS_INIT}) + list(APPEND PLATFORM_SOURCES ${ALLEGRO_SRC_UNIX_FILES}) + + if(WANT_OSS)