diff --git a/common/shlibs b/common/shlibs index 175786786b4..c03c19f37b8 100644 --- a/common/shlibs +++ b/common/shlibs @@ -410,7 +410,7 @@ libpostproc.so.55 libpostproc-4.0_1 libavcodec.so.58 libavcodec-4.0_1 libavutil.so.56 libavutil-4.0_1 libavfilter.so.7 libavfilter-4.0_1 -libSDL-1.2.so.0 SDL-1.2.14_1 +libSDL-1.2.so.0 sdl12-compat-1.2.68_1 libSDL_image-1.2.so.0 SDL_image-1.2.10_1 libx264.so.157 x264-20190507.2245_1 libopenh264.so.7 openh264-2.4.1_1 diff --git a/srcpkgs/SDL b/srcpkgs/SDL new file mode 120000 index 00000000000..901c98ddbd0 --- /dev/null +++ b/srcpkgs/SDL @@ -0,0 +1 @@ +sdl12-compat \ No newline at end of file diff --git a/srcpkgs/SDL-devel b/srcpkgs/SDL-devel index bf798a56736..901c98ddbd0 120000 --- a/srcpkgs/SDL-devel +++ b/srcpkgs/SDL-devel @@ -1 +1 @@ -SDL \ No newline at end of file +sdl12-compat \ No newline at end of file diff --git a/srcpkgs/SDL/patches/SDL-1.2.10-GrabNotViewable.patch b/srcpkgs/SDL/patches/SDL-1.2.10-GrabNotViewable.patch deleted file mode 100644 index a05c37044c6..00000000000 --- a/srcpkgs/SDL/patches/SDL-1.2.10-GrabNotViewable.patch +++ /dev/null @@ -1,22 +0,0 @@ -Makes SDL-1.2 SDL_WM_GrabInput() non-blocking in case of SDL window is not -viewable. Patch provided by . -See . - ---- a/src/video/x11/SDL_x11wm.c 2007-12-31 04:48:13.000000000 +0000 -+++ b/src/video/x11/SDL_x11wm.c 2009-01-15 10:27:14.000000000 +0000 -@@ -351,13 +351,14 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS, - result = XGrabPointer(SDL_Display, SDL_Window, True, 0, - GrabModeAsync, GrabModeAsync, - SDL_Window, None, CurrentTime); -- if ( result == GrabSuccess ) { -+ if ( result == GrabSuccess || result == GrabNotViewable ) { - break; - } - SDL_Delay(100); - } - if ( result != GrabSuccess ) { - /* Uh, oh, what do we do here? */ ; -+ return(SDL_GRAB_OFF); - } - /* Now grab the keyboard */ - XGrabKeyboard(SDL_Display, WMwindow, True, diff --git a/srcpkgs/SDL/patches/SDL-1.2.12-multilib.patch b/srcpkgs/SDL/patches/SDL-1.2.12-multilib.patch deleted file mode 100644 index 5afa0a4059f..00000000000 --- a/srcpkgs/SDL/patches/SDL-1.2.12-multilib.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/sdl-config.in.multilib 2007-07-20 07:52:45.000000000 +0200 -+++ b/sdl-config.in 2007-11-06 17:07:25.000000000 +0100 -@@ -3,7 +3,6 @@ - prefix=@prefix@ - exec_prefix=@exec_prefix@ - exec_prefix_set=no --libdir=@libdir@ - - @ENABLE_STATIC_FALSE@usage="\ - @ENABLE_STATIC_FALSE@Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]" -@@ -45,11 +44,11 @@ while test $# -gt 0; do - echo -I@includedir@/SDL @SDL_CFLAGS@ - ;; - @ENABLE_SHARED_TRUE@ --libs) --@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ -+@ENABLE_SHARED_TRUE@ echo @SDL_RLD_FLAGS@ @SDL_LIBS@ - @ENABLE_SHARED_TRUE@ ;; - @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) - @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs) --@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ -+@ENABLE_STATIC_TRUE@ echo @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@ - @ENABLE_STATIC_TRUE@ ;; - *) - echo "${usage}" 1>&2 diff --git a/srcpkgs/SDL/patches/SDL-1.2.15-sndio.patch b/srcpkgs/SDL/patches/SDL-1.2.15-sndio.patch deleted file mode 100644 index 94d13f92230..00000000000 --- a/srcpkgs/SDL/patches/SDL-1.2.15-sndio.patch +++ /dev/null @@ -1,375 +0,0 @@ ---- a/configure 2012-01-19 07:30:12.000000000 +0100 -+++ b/configure 2018-11-27 22:58:07.344753821 +0100 -@@ -1514,6 +1514,7 @@ - --disable-esdtest Do not try to compile and run a test ESD program - --enable-esd-shared dynamically load ESD audio support [default=yes] - --enable-pulseaudio use PulseAudio [default=yes] -+ --enable-sndio use SNDIO [default=yes] - --enable-pulseaudio-shared - dynamically load PulseAudio support [default=yes] - --enable-arts support the Analog Real Time Synthesizer -@@ -21000,6 +21001,23 @@ - fi - } - -+CheckSndio() -+{ -+# Check whether --enable-sndio was given. -+if test "${enable_sndio+set}" = set; then -+ enableval=$enable_sndio; -+else -+ enable_sndio=yes -+fi -+ -+if test "x${enable_sndio}" = "xyes"; then : -+ SOURCES="$SOURCES $srcdir/src/audio/sndio/SDL_sndioaudio.c" -+ EXTRA_CFLAGS="$EXTRA_CFLAGS -DSDL_AUDIO_DRIVER_SNDIO=1" -+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lsndio" -+ have_audio=yes -+fi -+} -+ - CheckPulseAudio() - { - # Check whether --enable-pulseaudio was given. -@@ -29550,6 +29568,7 @@ - CheckMME - CheckALSA - CheckARTSC -+ CheckSndio - CheckESD - CheckPulseAudio - CheckNAS ---- a/include/SDL_config.h.in 2018-11-27 21:52:07.645177938 +0100 -+++ b/include/SDL_config.h.in 2018-11-27 22:03:06.217107399 +0100 -@@ -184,6 +184,7 @@ - #undef SDL_AUDIO_DRIVER_QNXNTO - #undef SDL_AUDIO_DRIVER_SNDMGR - #undef SDL_AUDIO_DRIVER_SUNAUDIO -+#undef SDL_AUDIO_DRIVER_SNDIO - #undef SDL_AUDIO_DRIVER_WAVEOUT - - /* Enable various cdrom drivers */ ---- a/src/audio/SDL_audio.c 2018-11-27 21:52:07.646177937 +0100 -+++ b/src/audio/SDL_audio.c 2018-11-27 22:04:37.977097571 +0100 -@@ -42,6 +42,9 @@ - #if SDL_AUDIO_DRIVER_ALSA - &ALSA_bootstrap, - #endif -+#if SDL_AUDIO_DRIVER_SNDIO -+ &SNDIO_bootstrap, -+#endif - #if SDL_AUDIO_DRIVER_BSD - &BSD_AUDIO_bootstrap, - #endif ---- a/src/audio/SDL_sysaudio.h 2018-11-27 21:52:07.647177937 +0100 -+++ b/src/audio/SDL_sysaudio.h 2018-11-27 22:05:13.697093745 +0100 -@@ -105,6 +105,9 @@ - #if SDL_AUDIO_DRIVER_BSD - extern AudioBootStrap BSD_AUDIO_bootstrap; - #endif -+#if SDL_AUDIO_DRIVER_SNDIO -+extern AudioBootStrap SNDIO_bootstrap; -+#endif - #if SDL_AUDIO_DRIVER_PULSE - extern AudioBootStrap PULSE_bootstrap; - #endif ---- a/src/audio/sndio/SDL_sndioaudio.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/src/audio/sndio/SDL_sndioaudio.c 2013-12-19 10:24:18.000000000 +0100 -@@ -0,0 +1,243 @@ -+/* -+ * Copyright (c) 2008 Jacob Meuser -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include "SDL_config.h" -+ -+/* Allow access to a raw mixing buffer */ -+ -+#ifdef HAVE_SIGNAL_H -+#include -+#endif -+#include -+ -+#include "SDL_timer.h" -+#include "SDL_audio.h" -+#include "../SDL_audiomem.h" -+#include "../SDL_audio_c.h" -+#include "../SDL_audiodev_c.h" -+#include "SDL_sndioaudio.h" -+ -+/* The tag name used by sndio audio */ -+#define SNDIO_DRIVER_NAME "sndio" -+ -+/* Audio driver functions */ -+static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec); -+static void SNDIO_WaitAudio(_THIS); -+static void SNDIO_PlayAudio(_THIS); -+static Uint8 *SNDIO_GetAudioBuf(_THIS); -+static void SNDIO_CloseAudio(_THIS); -+ -+/* Audio driver bootstrap functions */ -+ -+static int Audio_Available(void) -+{ -+ struct sio_hdl *this_hdl; -+ int available = 0; -+ -+ if ( (this_hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0)) != NULL ) { -+ sio_close(this_hdl); -+ available = 1; -+ } -+ -+ return available; -+} -+ -+static void Audio_DeleteDevice(SDL_AudioDevice *device) -+{ -+ SDL_free(device->hidden); -+ SDL_free(device); -+} -+ -+static SDL_AudioDevice *Audio_CreateDevice(int devindex) -+{ -+ SDL_AudioDevice *this; -+ -+ /* Initialize all variables that we clean on shutdown */ -+ this = (SDL_AudioDevice *)SDL_malloc(sizeof(SDL_AudioDevice)); -+ if ( this ) { -+ SDL_memset(this, 0, (sizeof *this)); -+ this->hidden = (struct SDL_PrivateAudioData *) -+ SDL_malloc((sizeof *this->hidden)); -+ } -+ if ( (this == NULL) || (this->hidden == NULL) ) { -+ SDL_OutOfMemory(); -+ if ( this ) { -+ SDL_free(this); -+ } -+ return(0); -+ } -+ SDL_memset(this->hidden, 0, (sizeof *this->hidden)); -+ -+ /* Set the function pointers */ -+ this->OpenAudio = SNDIO_OpenAudio; -+ this->WaitAudio = SNDIO_WaitAudio; -+ this->PlayAudio = SNDIO_PlayAudio; -+ this->GetAudioBuf = SNDIO_GetAudioBuf; -+ this->CloseAudio = SNDIO_CloseAudio; -+ -+ this->free = Audio_DeleteDevice; -+ -+ hdl = NULL; -+ -+ return this; -+} -+ -+AudioBootStrap SNDIO_bootstrap = { -+ SNDIO_DRIVER_NAME, "sndio", -+ Audio_Available, Audio_CreateDevice -+}; -+ -+ -+ -+/* This function waits until it is possible to write a full sound buffer */ -+static void SNDIO_WaitAudio(_THIS) -+{ -+ /* nothing, we're using the blocking api */ -+} -+ -+static void SNDIO_PlayAudio(_THIS) -+{ -+ int written; -+ -+ /* Write the audio data */ -+ written = sio_write(hdl, mixbuf, mixlen); -+ -+ /* If we couldn't write, assume fatal error for now */ -+ if ( written == 0 ) { -+ this->enabled = 0; -+ } -+#ifdef DEBUG_AUDIO -+ fprintf(stderr, "Wrote %d bytes of audio data\n", written); -+#endif -+} -+ -+static Uint8 *SNDIO_GetAudioBuf(_THIS) -+{ -+ return(mixbuf); -+} -+ -+static void SNDIO_CloseAudio(_THIS) -+{ -+ if ( mixbuf != NULL ) { -+ SDL_FreeAudioMem(mixbuf); -+ mixbuf = NULL; -+ } -+ if ( hdl != NULL ) { -+ sio_close(hdl); -+ hdl = NULL; -+ } -+} -+ -+static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec) -+{ -+ struct sio_par par; -+ -+ mixbuf = NULL; -+ -+ if ((hdl = sio_open(NULL, SIO_PLAY, 0)) == NULL) { -+ SDL_SetError("sio_open() failed"); -+ return(-1); -+ } -+ -+ sio_initpar(&par); -+ -+ switch (spec->format) { -+ case AUDIO_S16LSB: -+ par.bits = 16; -+ par.sig = 1; -+ par.le = 1; -+ break; -+ case AUDIO_S16MSB: -+ par.bits = 16; -+ par.sig = 1; -+ par.le = 0; -+ break; -+ case AUDIO_S8: -+ par.bits = 8; -+ par.sig = 1; -+ break; -+ case AUDIO_U16LSB: -+ par.bits = 16; -+ par.sig = 0; -+ par.le = 1; -+ break; -+ case AUDIO_U16MSB: -+ par.bits = 16; -+ par.sig = 0; -+ par.le = 0; -+ break; -+ case AUDIO_U8: -+ par.bits = 8; -+ par.sig = 0; -+ break; -+ default: -+ SDL_SetError("SNDIO unknown format"); -+ return(-1); -+ } -+ -+ par.rate = spec->freq; -+ par.pchan = spec->channels; -+ par.round = spec->samples; -+ par.appbufsz = par.round * 2; -+ -+ if (sio_setpar(hdl, &par) == 0) { -+ SDL_SetError("sio_setpar() failed"); -+ return(-1); -+ } -+ -+ if (sio_getpar(hdl, &par) == 0) { -+ SDL_SetError("sio_getpar() failed"); -+ return(-1); -+ } -+ -+ if (par.bits == 16) { -+ if (par.sig && par.le) { -+ spec->format = AUDIO_S16LSB; -+ } else if (par.sig && !par.le) { -+ spec->format = AUDIO_S16MSB; -+ } else if (!par.sig && par.le) { -+ spec->format = AUDIO_U16LSB; -+ } else -+ spec->format = AUDIO_U16MSB; -+ } else if (par.bits == 8) { -+ spec->format = par.sig ? AUDIO_S8 : AUDIO_U8; -+ } else { -+ SDL_SetError("SNDIO couldn't configure a suitable format"); -+ return(-1); -+ } -+ -+ spec->freq = par.rate; -+ spec->channels = par.pchan; -+ spec->samples = par.round; -+ -+ SDL_CalculateAudioSpec(spec); -+ -+ /* Allocate mixing buffer */ -+ mixlen = spec->size; -+ mixbuf = (Uint8 *)SDL_AllocAudioMem(mixlen); -+ if ( mixbuf == NULL ) { -+ return(-1); -+ } -+ SDL_memset(mixbuf, spec->silence, spec->size); -+ -+ if ( sio_start(hdl) == 0 ) { -+ SDL_SetError("sio_start() failed"); -+ return(-1); -+ } -+ -+ /* We're ready to rock and roll. :-) */ -+ return(0); -+} ---- a/src/audio/sndio/SDL_sndioaudio.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/src/audio/sndio/SDL_sndioaudio.h 2013-12-15 02:57:55.000000000 +0100 -@@ -0,0 +1,50 @@ -+/* -+ * Copyright (c) 2008 Jacob Meuser -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include "SDL_config.h" -+ -+#ifndef _SDL_sndioaudio_h -+#define _SDL_sndioaudio_h -+ -+#include -+ -+#include "../SDL_sysaudio.h" -+ -+/* Hidden "this" pointer for the video functions */ -+#define _THIS SDL_AudioDevice *this -+ -+struct SDL_PrivateAudioData { -+ /* The stream descriptor for the audio device */ -+ struct sio_hdl *hdl; -+ -+ /* The parent process id, to detect when application quits */ -+ pid_t parent; -+ -+ /* Raw mixing buffer */ -+ Uint8 *mixbuf; -+ int mixlen; -+ -+}; -+ -+/* Old variable names */ -+#define stream (this->hidden->stream) -+#define parent (this->hidden->parent) -+#define mixbuf (this->hidden->mixbuf) -+#define mixlen (this->hidden->mixlen) -+#define hdl (this->hidden->hdl) -+ -+#endif /* _SDL_sndioaudio_h */ -+ diff --git a/srcpkgs/SDL/template b/srcpkgs/SDL/template deleted file mode 100644 index ee8447047b4..00000000000 --- a/srcpkgs/SDL/template +++ /dev/null @@ -1,44 +0,0 @@ -# Template file for 'SDL' -pkgname=SDL -version=1.2.15 -revision=14 -build_style=gnu-configure -configure_args="--enable-alsa --enable-sndio --disable-esd --disable-rpath - --enable-clock_gettime --disable-nas --disable-arts --disable-x11-shared - --disable-alsa-shared --disable-pulseaudio-shared --disable-video-dga - --disable-osmesa-shared $(vopt_enable aalib video-aalib) - $(vopt_enable pulseaudio) $(vopt_enable opengl video-opengl) - $(vopt_if x11 '-enable-video-x11-xrandr --enable-video-x11-vm --enable-video-x11-xv')" -hostmakedepends="pkg-config nasm" -makedepends="alsa-lib-devel sndio-devel $(vopt_if x11 libXrandr-devel) - $(vopt_if aalib aalib-devel) $(vopt_if opengl glu-devel) - $(vopt_if pulseaudio pulseaudio-devel)" -short_desc="Simple Directmedia Layer" -maintainer="Orphaned " -license="LGPL-2.1-only" -homepage="https://www.libsdl.org/" -distfiles="https://www.libsdl.org/release/SDL-${version}.tar.gz" -checksum=d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 - -# Package build options -build_options="x11 opengl aalib pulseaudio" -build_options_default="x11 opengl pulseaudio" - -if [ "$build_option_opengl" ]; then - # libGL.so.1 is dynamically loaded with dlopen. - shlib_requires="libGL.so.1" - depends="virtual?libGL" -fi - -SDL-devel_package() { - short_desc+=" - development files" - depends="${makedepends} SDL>=${version}_${revision}" - pkg_install() { - vmove usr/bin - vmove usr/include - vmove usr/lib/pkgconfig - vmove "usr/lib/*.a" - vmove "usr/lib/*.so" - vmove usr/share - } -} diff --git a/srcpkgs/sdl12-compat-devel b/srcpkgs/sdl12-compat-devel new file mode 120000 index 00000000000..901c98ddbd0 --- /dev/null +++ b/srcpkgs/sdl12-compat-devel @@ -0,0 +1 @@ +sdl12-compat \ No newline at end of file diff --git a/srcpkgs/sdl12-compat/patches/sdl-config.patch b/srcpkgs/sdl12-compat/patches/sdl-config.patch new file mode 100644 index 00000000000..344d5f550e6 --- /dev/null +++ b/srcpkgs/sdl12-compat/patches/sdl-config.patch @@ -0,0 +1,11 @@ +--- a/sdl-config.in ++++ b/sdl-config.in +@@ -31,6 +31,8 @@ + + case $1 in + --prefix=*) ++ [ "${libdir#${prefix}}" = "${libdir}" ] || libdir="${optarg}/${libdir#${prefix}}" ++ [ "${includedir#${prefix}}" = "${includedir}" ] || includedir="${optarg}/${includedir#${prefix}}" + prefix=$optarg + if test $exec_prefix_set = no ; then + exec_prefix=$optarg diff --git a/srcpkgs/sdl12-compat/template b/srcpkgs/sdl12-compat/template new file mode 100644 index 00000000000..1af48957cca --- /dev/null +++ b/srcpkgs/sdl12-compat/template @@ -0,0 +1,48 @@ +# Template file for 'sdl12-compat' +pkgname=sdl12-compat +version=1.2.68 +revision=1 +build_style=cmake +makedepends="SDL2-devel" +short_desc="SDL-1.2 compatibility library based on SDL 2.0" +maintainer="Andrew J. Hesford " +license="Zlib AND (Public Domain OR MIT-0)" +homepage="https://github.com/libsdl-org/sdl12-compat" +distfiles="${homepage}/archive/release-${version}.tar.gz" +checksum=63c6e4dcc1154299e6f363c872900be7f3dcb3e42b9f8f57e05442ec3d89d02d +replaces="SDL>=0" +provides="SDL-${version}_${revision}" +# The compat library dlopens SDL 2 +shlib_requires="libSDL2-2.0.so.0" + +post_install() { + vlicense LICENSE.txt + ln -s sdl12_compat.pc "${DESTDIR}/usr/lib/pkgconfig/sdl.pc" +} + +sdl12-compat-devel_package() { + short_desc+=" - development files" + depends="${makedepends} ${sourcepkg}>=${version}_${revision}" + replaces="SDL-devel>=0" + provides="SDL-devel-${version}_${revision}" + pkg_install() { + vmove usr/bin + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.a" + vmove "usr/lib/*.so" + vmove usr/share/aclocal + } +} + +SDL_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" (transitional dummy package)" + build_style=meta +} + +SDL-devel_package() { + depends="SDL-devel>=${version}_${revision}" + short_desc+=" - development files (transitional dummy package)" + build_style=meta +}