commit 2263bf22a2ae65d773d207ee6a68edcd0d58bfca
Author: Danny Rawlins <monster.romster(a)gmail.com>
Date: Sun Oct 13 19:06:05 2019 +1100
allegro4: 4.4.3.1 -> 4.4.2
diff --git a/allegro4/.footprint b/allegro4/.footprint
index c991dc87..887e1be5 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 8842bb56..4415513c 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 8ac2ef02..fa5e4058 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 00000000..54ff4f97
--- /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 00000000..b3b0bc30
--- /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 00000000..afcdf510
--- /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?= <andreas(a)ronnquist.net>
+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 00000000..ab646e48
--- /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 00000000..7b4417d3
--- /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 00000000..ac107d38
--- /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 00000000..7e6ea939
--- /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)