Date: Friday, December 24, 2021 @ 17:15:36 Author: arojas Revision: 1083428
archrelease: copy trunk to multilib-x86_64 Added: lib32-sdl2/repos/multilib-x86_64/PKGBUILD (from rev 1083427, lib32-sdl2/trunk/PKGBUILD) lib32-sdl2/repos/multilib-x86_64/cmake-include-paths.patch (from rev 1083427, lib32-sdl2/trunk/cmake-include-paths.patch) lib32-sdl2/repos/multilib-x86_64/dynapi.patch (from rev 1083427, lib32-sdl2/trunk/dynapi.patch) Deleted: lib32-sdl2/repos/multilib-x86_64/PKGBUILD lib32-sdl2/repos/multilib-x86_64/cmake-include-paths.patch lib32-sdl2/repos/multilib-x86_64/dynapi.patch ---------------------------+ PKGBUILD | 177 +++++++++++++++++++++----------------------- cmake-include-paths.patch | 90 +++++++++++----------- dynapi.patch | 168 ++++++++++++++++++++--------------------- 3 files changed, 217 insertions(+), 218 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2021-12-24 17:15:22 UTC (rev 1083427) +++ PKGBUILD 2021-12-24 17:15:36 UTC (rev 1083428) @@ -1,89 +0,0 @@ -# Maintainer: Maxime Gauduin <aluc...@archlinux.org> -# Contributor: Jameson Pugh <imntr...@gmail.com> -# Contributor: J0k3r <moebius...@gmail.com> - -pkgname=lib32-sdl2 -pkgver=2.0.16 -pkgrel=1 -pkgdesc='A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard' -arch=(x86_64) -url=https://www.libsdl.org -license=(MIT) -depends=( - lib32-glibc - lib32-libxext - lib32-libxrender - lib32-libx11 - lib32-libgl - lib32-libxcursor - sdl2 -) -makedepends=( - cmake - git - jack - lib32-alsa-lib - lib32-mesa - lib32-libpulse - lib32-libxrandr - lib32-libxinerama - lib32-wayland - lib32-libxkbcommon - lib32-libxss - wayland-protocols -) -optdepends=( - 'lib32-alsa-lib: ALSA audio driver' - 'lib32-libpulse: PulseAudio audio driver' - 'lib32-jack: JACK audio driver' -) -_tag=25f9ed87ff6947d9576fc9d79dee0784e638ac58 -source=(git+https://github.com/libsdl-org/SDL.git#tag=${_tag}) -sha512sums=(SKIP) - -pkgver() { - cd SDL - - git describe --tags | sed 's/^release-//' -} - -prepare() { - # fix libdir - sed -i 's|lib/cmake|lib32/cmake|' SDL/CMakeLists.txt - # Don't try to link against ibus - sed -i '/pkg_search_module.*ibus-1.0/d' SDL/CMakeLists.txt -} - -build() { - export CC='gcc -m32' - export CXX='g++ -m32' - export PKG_CONFIG_PATH=/usr/lib32/pkgconfig - - cmake -S SDL -B build \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX=32 \ - -DSDL_STATIC=OFF \ - -DSDL_DLOPEN=ON \ - -DARTS=OFF \ - -DESD=OFF \ - -DNAS=OFF \ - -DALSA=ON \ - -DPULSEAUDIO_SHARED=ON \ - -DVIDEO_WAYLAND=ON \ - -DRPATH=OFF \ - -DCLOCK_GETTIME=ON \ - -DJACK_SHARED=ON - make -C build -} - -package() { - make DESTDIR="${pkgdir}" -C build install - rm -rf "${pkgdir}"/usr/{bin,include,share} - - sed -i "s/libSDL2\.a/libSDL2main.a/g" "$pkgdir"/usr/lib32/cmake/SDL2/SDL2Targets-noconfig.cmake - - install -dm 755 "${pkgdir}"/usr/share/licenses - ln -s sdl2 "${pkgdir}"/usr/share/licenses/lib32-sdl2 -} - -# vim: ts=2 sw=2 et: Copied: lib32-sdl2/repos/multilib-x86_64/PKGBUILD (from rev 1083427, lib32-sdl2/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2021-12-24 17:15:36 UTC (rev 1083428) @@ -0,0 +1,88 @@ +# Maintainer: Maxime Gauduin <aluc...@archlinux.org> +# Contributor: Jameson Pugh <imntr...@gmail.com> +# Contributor: J0k3r <moebius...@gmail.com> + +pkgname=lib32-sdl2 +pkgver=2.0.18 +pkgrel=1 +pkgdesc='A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard' +arch=(x86_64) +url=https://www.libsdl.org +license=(MIT) +depends=( + lib32-glibc + lib32-libxext + lib32-libxrender + lib32-libx11 + lib32-libgl + lib32-libxcursor + sdl2 +) +makedepends=( + cmake + git + jack + lib32-alsa-lib + lib32-mesa + lib32-libpulse + lib32-libxrandr + lib32-libxinerama + lib32-wayland + lib32-libxkbcommon + lib32-libxss + wayland-protocols +) +optdepends=( + 'lib32-alsa-lib: ALSA audio driver' + 'lib32-libpulse: PulseAudio audio driver' + 'lib32-jack: JACK audio driver' +) +source=("https://www.libsdl.org/release/SDL2-${pkgver}.tar.gz"{,.sig} + sdl2-wayland1.20.patch::https://github.com/libsdl-org/SDL/pull/5092.patch) +sha512sums=('8688b855ce15d574fb0726dd2a44109bb7b34d81c652c51025a32bf7eb7015ceb685834cf9fc3f97a2f5f5a3203f548ce6845420fafae7e5dc6bb9d11ce1740d' + 'SKIP' + 'efa2d01a5861f99597eac0cff7e67efc03bd3877d8ad53d711b1ab54a59f93ef5bc6ffe776b9ac7e3103688a56f79e7d0e4155852dedd0d1982a1e334a2f8d37') +validpgpkeys=('1528635D8053A57F77D1E08630A59377A7763BE6') # Sam Lantinga + +prepare() { + # fix libdir + sed -i 's|lib/cmake|lib32/cmake|' SDL2-${pkgver}/CMakeLists.txt + # Don't try to link against ibus + sed -i '/pkg_search_module.*ibus-1.0/d' SDL2-${pkgver}/CMakeLists.txt + # Fix build with wayland 1.20 + patch -d SDL2-${pkgver} -p1 < sdl2-wayland1.20.patch +} + +build() { + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH=/usr/lib32/pkgconfig + + cmake -S SDL2-${pkgver} -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib32 \ + -DSDL_STATIC=OFF \ + -DSDL_DLOPEN=ON \ + -DARTS=OFF \ + -DESD=OFF \ + -DNAS=OFF \ + -DALSA=ON \ + -DPULSEAUDIO_SHARED=ON \ + -DVIDEO_WAYLAND=ON \ + -DRPATH=OFF \ + -DCLOCK_GETTIME=ON \ + -DJACK_SHARED=ON + make -C build +} + +package() { + make DESTDIR="${pkgdir}" -C build install + rm -rf "${pkgdir}"/usr/{bin,include,share} + + sed -i "s/libSDL2\.a/libSDL2main.a/g" "$pkgdir"/usr/lib32/cmake/SDL2/SDL2Targets-noconfig.cmake + + install -dm 755 "${pkgdir}"/usr/share/licenses + ln -s sdl2 "${pkgdir}"/usr/share/licenses/lib32-sdl2 +} + +# vim: ts=2 sw=2 et: Deleted: cmake-include-paths.patch =================================================================== --- cmake-include-paths.patch 2021-12-24 17:15:22 UTC (rev 1083427) +++ cmake-include-paths.patch 2021-12-24 17:15:36 UTC (rev 1083428) @@ -1,45 +0,0 @@ -# HG changeset patch -# User Bastien Bouclet <bastien.bouc...@gmail.com> -# Date 1523420183 -7200 -# Wed Apr 11 06:16:23 2018 +0200 -# Branch cmake-include-path -# Node ID 52f0351c30b25ec2bb5b0bced247ba858991bec2 -# Parent fbfacc66c65c3b38ca065ecee1f69fcbc643c14a -Fix the include path in the installed CMake target import file - -Previously the include path was {INSTALL_PREFIX}/include, -it is now {INSTALL_PREFIX}/include/SDL2 to be consistent with -the other build and package configuration systems. - -Fixes #4128. - -diff -r fbfacc66c65c -r 52f0351c30b2 CMakeLists.txt ---- a/CMakeLists.txt Mon Mar 26 12:38:29 2018 -0700 -+++ b/CMakeLists.txt Wed Apr 11 06:16:23 2018 +0200 -@@ -1695,7 +1695,7 @@ - - # Always build SDLmain - add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) --target_include_directories(SDL2main PUBLIC $<INSTALL_INTERFACE:include>) -+target_include_directories(SDL2main PUBLIC $<INSTALL_INTERFACE:include/SDL2>) - set(_INSTALL_LIBS "SDL2main") - if (NOT ANDROID) - set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) -@@ -1724,7 +1724,7 @@ - endif() - set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS}) - target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) -- target_include_directories(SDL2 PUBLIC $<INSTALL_INTERFACE:include>) -+ target_include_directories(SDL2 PUBLIC $<INSTALL_INTERFACE:include/SDL2>) - if (NOT ANDROID) - set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) - endif() -@@ -1750,7 +1750,7 @@ - # libraries - do we need to consider this? - set(_INSTALL_LIBS "SDL2-static" ${_INSTALL_LIBS}) - target_link_libraries(SDL2-static ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) -- target_include_directories(SDL2-static PUBLIC $<INSTALL_INTERFACE:include>) -+ target_include_directories(SDL2-static PUBLIC $<INSTALL_INTERFACE:include/SDL2>) - if (NOT ANDROID) - set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) - endif() Copied: lib32-sdl2/repos/multilib-x86_64/cmake-include-paths.patch (from rev 1083427, lib32-sdl2/trunk/cmake-include-paths.patch) =================================================================== --- cmake-include-paths.patch (rev 0) +++ cmake-include-paths.patch 2021-12-24 17:15:36 UTC (rev 1083428) @@ -0,0 +1,45 @@ +# HG changeset patch +# User Bastien Bouclet <bastien.bouc...@gmail.com> +# Date 1523420183 -7200 +# Wed Apr 11 06:16:23 2018 +0200 +# Branch cmake-include-path +# Node ID 52f0351c30b25ec2bb5b0bced247ba858991bec2 +# Parent fbfacc66c65c3b38ca065ecee1f69fcbc643c14a +Fix the include path in the installed CMake target import file + +Previously the include path was {INSTALL_PREFIX}/include, +it is now {INSTALL_PREFIX}/include/SDL2 to be consistent with +the other build and package configuration systems. + +Fixes #4128. + +diff -r fbfacc66c65c -r 52f0351c30b2 CMakeLists.txt +--- a/CMakeLists.txt Mon Mar 26 12:38:29 2018 -0700 ++++ b/CMakeLists.txt Wed Apr 11 06:16:23 2018 +0200 +@@ -1695,7 +1695,7 @@ + + # Always build SDLmain + add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) +-target_include_directories(SDL2main PUBLIC $<INSTALL_INTERFACE:include>) ++target_include_directories(SDL2main PUBLIC $<INSTALL_INTERFACE:include/SDL2>) + set(_INSTALL_LIBS "SDL2main") + if (NOT ANDROID) + set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) +@@ -1724,7 +1724,7 @@ + endif() + set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS}) + target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) +- target_include_directories(SDL2 PUBLIC $<INSTALL_INTERFACE:include>) ++ target_include_directories(SDL2 PUBLIC $<INSTALL_INTERFACE:include/SDL2>) + if (NOT ANDROID) + set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) + endif() +@@ -1750,7 +1750,7 @@ + # libraries - do we need to consider this? + set(_INSTALL_LIBS "SDL2-static" ${_INSTALL_LIBS}) + target_link_libraries(SDL2-static ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) +- target_include_directories(SDL2-static PUBLIC $<INSTALL_INTERFACE:include>) ++ target_include_directories(SDL2-static PUBLIC $<INSTALL_INTERFACE:include/SDL2>) + if (NOT ANDROID) + set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) + endif() Deleted: dynapi.patch =================================================================== --- dynapi.patch 2021-12-24 17:15:22 UTC (rev 1083427) +++ dynapi.patch 2021-12-24 17:15:36 UTC (rev 1083428) @@ -1,84 +0,0 @@ - -# HG changeset patch -# User Ryan C. Gordon <iccu...@icculus.org> -# Date 1526575846 14400 -# Node ID 7babfecee045fac18d95e5936fede534ca54ed24 -# Parent 9e46f3dd75fd2e85e0e3ebb8a77329bc74a16e70 -dynapi: don't let system loader resolve the initializer to the wrong version. - -Fixes problems launching Firewatch on Linux (which statically links SDL but -also dynamically loads a system-wide copy from a plugin shared library) with -a newer SDL build. - -diff -r 9e46f3dd75fd -r 7babfecee045 src/dynapi/SDL_dynapi.c ---- a/src/dynapi/SDL_dynapi.c Fri May 11 09:37:00 2018 +0300 -+++ b/src/dynapi/SDL_dynapi.c Thu May 17 12:50:46 2018 -0400 -@@ -167,15 +167,10 @@ - #error Write me. - #endif - -- -- --/* Here's the exported entry point that fills in the jump table. */ --/* Use specific types when an "int" might suffice to keep this sane. */ --typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize); --extern DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32); -- --Sint32 --SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize) -+/* we make this a static function so we can call the correct one without the -+ system's dynamic linker resolving to the wrong version of this. */ -+static Sint32 -+initialize_jumptable(Uint32 apiver, void *table, Uint32 tablesize) - { - SDL_DYNAPI_jump_table *output_jump_table = (SDL_DYNAPI_jump_table *) table; - -@@ -202,6 +197,18 @@ - } - - -+/* Here's the exported entry point that fills in the jump table. */ -+/* Use specific types when an "int" might suffice to keep this sane. */ -+typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize); -+extern DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32); -+ -+Sint32 -+SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize) -+{ -+ return initialize_jumptable(apiver, table, tablesize); -+} -+ -+ - /* Obviously we can't use SDL_LoadObject() to load SDL. :) */ - /* Also obviously, we never close the loaded library. */ - #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) -@@ -260,7 +267,7 @@ - SDL_InitDynamicAPILocked(void) - { - const char *libname = SDL_getenv_REAL("SDL_DYNAMIC_API"); -- SDL_DYNAPI_ENTRYFN entry = SDL_DYNAPI_entry; /* funcs from here by default. */ -+ SDL_DYNAPI_ENTRYFN entry = NULL; /* funcs from here by default. */ - - if (libname) { - entry = (SDL_DYNAPI_ENTRYFN) get_sdlapi_entry(libname, "SDL_DYNAPI_entry"); -@@ -268,16 +275,15 @@ - /* !!! FIXME: fail to startup here instead? */ - /* !!! FIXME: definitely warn user. */ - /* Just fill in the function pointers from this library. */ -- entry = SDL_DYNAPI_entry; - } - } - -- if (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table)) < 0) { -+ if (!entry || (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table)) < 0)) { - /* !!! FIXME: fail to startup here instead? */ - /* !!! FIXME: definitely warn user. */ - /* Just fill in the function pointers from this library. */ -- if (entry != SDL_DYNAPI_entry) { -- if (!SDL_DYNAPI_entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table))) { -+ if (!entry) { -+ if (!initialize_jumptable(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table))) { - /* !!! FIXME: now we're screwed. Should definitely abort now. */ - } - } - Copied: lib32-sdl2/repos/multilib-x86_64/dynapi.patch (from rev 1083427, lib32-sdl2/trunk/dynapi.patch) =================================================================== --- dynapi.patch (rev 0) +++ dynapi.patch 2021-12-24 17:15:36 UTC (rev 1083428) @@ -0,0 +1,84 @@ + +# HG changeset patch +# User Ryan C. Gordon <iccu...@icculus.org> +# Date 1526575846 14400 +# Node ID 7babfecee045fac18d95e5936fede534ca54ed24 +# Parent 9e46f3dd75fd2e85e0e3ebb8a77329bc74a16e70 +dynapi: don't let system loader resolve the initializer to the wrong version. + +Fixes problems launching Firewatch on Linux (which statically links SDL but +also dynamically loads a system-wide copy from a plugin shared library) with +a newer SDL build. + +diff -r 9e46f3dd75fd -r 7babfecee045 src/dynapi/SDL_dynapi.c +--- a/src/dynapi/SDL_dynapi.c Fri May 11 09:37:00 2018 +0300 ++++ b/src/dynapi/SDL_dynapi.c Thu May 17 12:50:46 2018 -0400 +@@ -167,15 +167,10 @@ + #error Write me. + #endif + +- +- +-/* Here's the exported entry point that fills in the jump table. */ +-/* Use specific types when an "int" might suffice to keep this sane. */ +-typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize); +-extern DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32); +- +-Sint32 +-SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize) ++/* we make this a static function so we can call the correct one without the ++ system's dynamic linker resolving to the wrong version of this. */ ++static Sint32 ++initialize_jumptable(Uint32 apiver, void *table, Uint32 tablesize) + { + SDL_DYNAPI_jump_table *output_jump_table = (SDL_DYNAPI_jump_table *) table; + +@@ -202,6 +197,18 @@ + } + + ++/* Here's the exported entry point that fills in the jump table. */ ++/* Use specific types when an "int" might suffice to keep this sane. */ ++typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize); ++extern DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32); ++ ++Sint32 ++SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize) ++{ ++ return initialize_jumptable(apiver, table, tablesize); ++} ++ ++ + /* Obviously we can't use SDL_LoadObject() to load SDL. :) */ + /* Also obviously, we never close the loaded library. */ + #if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) +@@ -260,7 +267,7 @@ + SDL_InitDynamicAPILocked(void) + { + const char *libname = SDL_getenv_REAL("SDL_DYNAMIC_API"); +- SDL_DYNAPI_ENTRYFN entry = SDL_DYNAPI_entry; /* funcs from here by default. */ ++ SDL_DYNAPI_ENTRYFN entry = NULL; /* funcs from here by default. */ + + if (libname) { + entry = (SDL_DYNAPI_ENTRYFN) get_sdlapi_entry(libname, "SDL_DYNAPI_entry"); +@@ -268,16 +275,15 @@ + /* !!! FIXME: fail to startup here instead? */ + /* !!! FIXME: definitely warn user. */ + /* Just fill in the function pointers from this library. */ +- entry = SDL_DYNAPI_entry; + } + } + +- if (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table)) < 0) { ++ if (!entry || (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table)) < 0)) { + /* !!! FIXME: fail to startup here instead? */ + /* !!! FIXME: definitely warn user. */ + /* Just fill in the function pointers from this library. */ +- if (entry != SDL_DYNAPI_entry) { +- if (!SDL_DYNAPI_entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table))) { ++ if (!entry) { ++ if (!initialize_jumptable(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table))) { + /* !!! FIXME: now we're screwed. Should definitely abort now. */ + } + } +