Date: Tuesday, October 30, 2018 @ 12:15:58 Author: svenstaro Revision: 337575
archrelease: copy trunk to extra-x86_64 Added: sdl2/repos/extra-x86_64/PKGBUILD (from rev 337574, sdl2/trunk/PKGBUILD) sdl2/repos/extra-x86_64/cmake-include-paths.patch (from rev 337574, sdl2/trunk/cmake-include-paths.patch) sdl2/repos/extra-x86_64/dynapi.patch (from rev 337574, sdl2/trunk/dynapi.patch) Deleted: sdl2/repos/extra-x86_64/PKGBUILD sdl2/repos/extra-x86_64/cmake-include-paths.patch sdl2/repos/extra-x86_64/dynapi.patch ---------------------------+ PKGBUILD | 127 ++++++++++++++++----------------- cmake-include-paths.patch | 90 +++++++++++------------ dynapi.patch | 168 ++++++++++++++++++++++---------------------- 3 files changed, 192 insertions(+), 193 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-10-30 12:15:46 UTC (rev 337574) +++ PKGBUILD 2018-10-30 12:15:58 UTC (rev 337575) @@ -1,64 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> - -pkgname=sdl2 -pkgver=2.0.8 -pkgrel=10 -pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2)" -arch=('x86_64') -url="https://www.libsdl.org" -license=('MIT') -depends=('glibc' 'libxext' 'libxrender' 'libx11' 'libgl' 'libxcursor' 'libibus') -makedepends=('alsa-lib' 'mesa' 'libpulse' 'libxrandr' 'libxinerama' 'wayland' 'libxkbcommon' - 'wayland-protocols' 'ibus' 'fcitx' 'libxss' 'cmake' 'jack2') -optdepends=('alsa-lib: ALSA audio driver' - 'libpulse: PulseAudio audio driver' - 'jack2: JACK audio driver') -source=("https://www.libsdl.org/release/SDL2-${pkgver}.tar.gz"{,.sig} - cmake-include-paths.patch dynapi.patch) -sha512sums=('673c6058b8692a36b4a3594456b10ef6051efe79e4fb644421fc5c76b11fd68b895840a2c8b72413418c378733e2993d33f19767d0d7ed101eda6310bd70c869' - 'SKIP' - '53eb853153b189bd9c0978ab8c7375608b6df5fc78e22168505bf9f6e695f6fbdc553eead0b17deb734002e047c6d5ae06642363fc629aa9ab7bef0c30388c84' - 'bdb634b070af2f67fddcdd7908fe9ec0ea49d6edb013c35aaf1dbc840f941072ee16b21e5158de500aa5ec81165780a3aaf03e27d8bb30d50c2efb2a5465f824') -validpgpkeys=('1528635D8053A57F77D1E08630A59377A7763BE6') # Sam Lantinga - -prepare() { - cd SDL2-${pkgver} - - patch -Np1 -i "${srcdir}"/cmake-include-paths.patch - - # Taken from Fedora; fixes "Firewatch" and "Enter the Gungeon" - patch -Np1 -i "${srcdir}"/dynapi.patch - - rm -rf build - mkdir build -} - -build() { - cd SDL2-${pkgver}/build - cmake .. \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -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 -} - -package() { - cd SDL2-${pkgver}/build - - make DESTDIR="${pkgdir}" install - - sed -i "s/libSDL2\.a/libSDL2main.a/g" "$pkgdir"/usr/lib/cmake/SDL2/SDL2Targets-noconfig.cmake - - install -Dm644 ../COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" -} - -# vim: ts=2 sw=2 et: Copied: sdl2/repos/extra-x86_64/PKGBUILD (from rev 337574, sdl2/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-10-30 12:15:58 UTC (rev 337575) @@ -0,0 +1,63 @@ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> + +pkgname=sdl2 +pkgver=2.0.8 +pkgrel=11 +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2)" +arch=('x86_64') +url="https://www.libsdl.org" +license=('MIT') +depends=('glibc' 'libxext' 'libxrender' 'libx11' 'libgl' 'libxcursor' 'libibus') +makedepends=('alsa-lib' 'mesa' 'libpulse' 'libxrandr' 'libxinerama' 'wayland' 'libxkbcommon' + 'wayland-protocols' 'ibus' 'fcitx' 'libxss' 'cmake' 'jack') +optdepends=('alsa-lib: ALSA audio driver' + 'libpulse: PulseAudio audio driver' + 'jack: JACK audio driver') +source=("https://www.libsdl.org/release/SDL2-${pkgver}.tar.gz"{,.sig} + cmake-include-paths.patch dynapi.patch) +sha512sums=('673c6058b8692a36b4a3594456b10ef6051efe79e4fb644421fc5c76b11fd68b895840a2c8b72413418c378733e2993d33f19767d0d7ed101eda6310bd70c869' + 'SKIP' + '53eb853153b189bd9c0978ab8c7375608b6df5fc78e22168505bf9f6e695f6fbdc553eead0b17deb734002e047c6d5ae06642363fc629aa9ab7bef0c30388c84' + 'bdb634b070af2f67fddcdd7908fe9ec0ea49d6edb013c35aaf1dbc840f941072ee16b21e5158de500aa5ec81165780a3aaf03e27d8bb30d50c2efb2a5465f824') +validpgpkeys=('1528635D8053A57F77D1E08630A59377A7763BE6') # Sam Lantinga + +prepare() { + cd SDL2-${pkgver} + + patch -Np1 -i "${srcdir}"/cmake-include-paths.patch + + # Taken from Fedora; fixes "Firewatch" and "Enter the Gungeon" + patch -Np1 -i "${srcdir}"/dynapi.patch + + mkdir build +} + +build() { + cd SDL2-${pkgver}/build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -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 +} + +package() { + cd SDL2-${pkgver}/build + + make DESTDIR="${pkgdir}" install + + sed -i "s/libSDL2\.a/libSDL2main.a/g" "$pkgdir"/usr/lib/cmake/SDL2/SDL2Targets-noconfig.cmake + + install -Dm644 ../COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim: ts=2 sw=2 et: Deleted: cmake-include-paths.patch =================================================================== --- cmake-include-paths.patch 2018-10-30 12:15:46 UTC (rev 337574) +++ cmake-include-paths.patch 2018-10-30 12:15:58 UTC (rev 337575) @@ -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: sdl2/repos/extra-x86_64/cmake-include-paths.patch (from rev 337574, sdl2/trunk/cmake-include-paths.patch) =================================================================== --- cmake-include-paths.patch (rev 0) +++ cmake-include-paths.patch 2018-10-30 12:15:58 UTC (rev 337575) @@ -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 2018-10-30 12:15:46 UTC (rev 337574) +++ dynapi.patch 2018-10-30 12:15:58 UTC (rev 337575) @@ -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: sdl2/repos/extra-x86_64/dynapi.patch (from rev 337574, sdl2/trunk/dynapi.patch) =================================================================== --- dynapi.patch (rev 0) +++ dynapi.patch 2018-10-30 12:15:58 UTC (rev 337575) @@ -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. */ + } + } +