init
This commit is contained in:
parent
01477b3c94
commit
d53374b43d
BIN
SDL2-2.0.8.tar.gz
Normal file
BIN
SDL2-2.0.8.tar.gz
Normal file
Binary file not shown.
79
SDL2.spec
Normal file
79
SDL2.spec
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
Name: SDL2
|
||||||
|
Version: 2.0.8
|
||||||
|
Release: 7
|
||||||
|
Summary: Cross-platform multimedia library
|
||||||
|
License: zlib and MIT
|
||||||
|
URL: http://www.libsdl.org/
|
||||||
|
Source0: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
|
||||||
|
Source1: SDL_config.h
|
||||||
|
Patch0000: multilib.patch
|
||||||
|
Patch0001: dynapi.patch
|
||||||
|
BuildRequires: alsa-lib-devel audiofile-devel mesa-libGL-devel
|
||||||
|
BuildRequires: mesa-libGLU-devel mesa-libEGL-devel mesa-libGLES-devel
|
||||||
|
BuildRequires: libXext-devel libX11-devel libXi-devel libXrandr-devel
|
||||||
|
BuildRequires: libXrender-devel libXScrnSaver-devel libusb-devel
|
||||||
|
BuildRequires: libXinerama-devel libXcursor-devel systemd-devel
|
||||||
|
BuildRequires: pkgconfig(libpulse-simple) pkgconfig(jack)
|
||||||
|
BuildRequires: pkgconfig(dbus-1) pkgconfig(ibus-1.0)
|
||||||
|
BuildRequires: pkgconfig(wayland-client) pkgconfig(wayland-egl)
|
||||||
|
BuildRequires: pkgconfig(wayland-cursor) pkgconfig(wayland-protocols)
|
||||||
|
BuildRequires: pkgconfig(wayland-scanner) pkgconfig(xkbcommon)
|
||||||
|
BuildRequires: vulkan-devel mesa-libgbm-devel libdrm-devel
|
||||||
|
%description
|
||||||
|
Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed
|
||||||
|
to provide fast access to the graphics frame buffer and audio device.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Files needed to develop Simple DirectMedia Layer applications
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
Requires: mesa-libEGL-devel mesa-libGLES-devel libX11-devel
|
||||||
|
Provides: %{name}-static = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-static < %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Simple DirectMedia Layer (SDL) is a cross-platform multimedia library designed
|
||||||
|
to provide fast access to the graphics frame buffer and audio device. This
|
||||||
|
package provides the libraries, include files, and other resources needed for
|
||||||
|
developing SDL applications.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
sed -i -e 's/.*AM_PATH_ESD.*//' configure.in
|
||||||
|
sed -i -e 's/\r//g' TODO.txt README.txt WhatsNew.txt BUGS.txt COPYING.txt CREDITS.txt README-SDL.txt
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure \
|
||||||
|
--enable-sdl-dlopen --enable-video-kmsdrm \
|
||||||
|
--disable-arts --disable-esd --disable-nas \
|
||||||
|
--enable-pulseaudio-shared --enable-jack-shared \
|
||||||
|
--enable-alsa --enable-video-wayland \
|
||||||
|
--enable-video-vulkan --enable-sse2=no \
|
||||||
|
--enable-sse3=no --disable-rpath \
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
mv %{buildroot}%{_includedir}/SDL2/SDL_config.h %{buildroot}%{_includedir}/SDL2/SDL_config-%{_arch}.h
|
||||||
|
install -pm 0644 %{SOURCE1} %{buildroot}%{_includedir}/SDL2/SDL_config.h
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING.txt
|
||||||
|
%doc BUGS.txt CREDITS.txt README-SDL.txt
|
||||||
|
%{_libdir}/lib*.so.*
|
||||||
|
%exclude %{_libdir}/*.la
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%license COPYING.txt
|
||||||
|
%doc README.txt TODO.txt WhatsNew.txt
|
||||||
|
%{_bindir}/*-config
|
||||||
|
%{_libdir}/lib*.so
|
||||||
|
%{_libdir}/lib*.a
|
||||||
|
%{_libdir}/pkgconfig/sdl2.pc
|
||||||
|
%{_libdir}/cmake/SDL2/
|
||||||
|
%{_includedir}/SDL2
|
||||||
|
%{_datadir}/aclocal/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Nov 29 2019 lijin Yang <yanglijin@huawei.com> - 2.0.8-7
|
||||||
|
- Package Init
|
||||||
83
SDL_config.h
Normal file
83
SDL_config.h
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
/*
|
||||||
|
Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
|
including commercial applications, and to alter it and redistribute it
|
||||||
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software
|
||||||
|
in a product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
misrepresented as being the original software.
|
||||||
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This SDL_config.h is a wrapper include file for the original SDL_config.h,
|
||||||
|
* which has been renamed to SDL_config-<arch>.h. There are conflicts for the
|
||||||
|
* original SDL_config.h on multilib systems, which result from arch-specific
|
||||||
|
* configuration options. Please do not use the arch-specific file directly.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Igor Gnatenko
|
||||||
|
* Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file SDL_config.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef SDL_config_wrapper_h
|
||||||
|
#error "SDL_config_wrapper_h should not be defined!"
|
||||||
|
#endif
|
||||||
|
#define SDL_config_wrapper_h
|
||||||
|
|
||||||
|
#if defined(__i386__)
|
||||||
|
#include "SDL_config-i386.h"
|
||||||
|
#elif defined(__ia64__)
|
||||||
|
#include "SDL_config-ia64.h"
|
||||||
|
#elif defined(__powerpc64__)
|
||||||
|
# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||||
|
#include "SDL_config-ppc64.h"
|
||||||
|
# else
|
||||||
|
#include "SDL_config-ppc64le.h"
|
||||||
|
# endif
|
||||||
|
#elif defined(__powerpc__)
|
||||||
|
#include "SDL_config-ppc.h"
|
||||||
|
#elif defined(__s390x__)
|
||||||
|
#include "SDL_config-s390x.h"
|
||||||
|
#elif defined(__s390__)
|
||||||
|
#include "SDL_config-s390.h"
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
#include "SDL_config-x86_64.h"
|
||||||
|
#elif defined(__arm__)
|
||||||
|
#include "SDL_config-arm.h"
|
||||||
|
#elif defined(__alpha__)
|
||||||
|
#include "SDL_config-alpha.h"
|
||||||
|
#elif defined(__sparc__) && defined (__arch64__)
|
||||||
|
#include "SDL_config-sparc64.h"
|
||||||
|
#elif defined(__sparc__)
|
||||||
|
#include "SDL_config-sparc.h"
|
||||||
|
#elif defined(__aarch64__)
|
||||||
|
#include "SDL_config-aarch64.h"
|
||||||
|
#elif defined(__mips64) && defined(__MIPSEL__)
|
||||||
|
#include "SDL_config-mips64el.h"
|
||||||
|
#elif defined(__mips64)
|
||||||
|
#include "SDL_config-mips64.h"
|
||||||
|
#elif defined(__mips) && defined(__MIPSEL__)
|
||||||
|
#include "SDL_config-mipsel.h"
|
||||||
|
#elif defined(__mips)
|
||||||
|
#include "SDL_config-mips.h"
|
||||||
|
#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
|
||||||
|
#include "SDL_config-riscv64.h"
|
||||||
|
#else
|
||||||
|
#error "The SDL2-devel package is not usable with the architecture."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef SDL_config_wrapper_h
|
||||||
84
dynapi.patch
Normal file
84
dynapi.patch
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Ryan C. Gordon <icculus@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. */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
25
multilib.patch
Normal file
25
multilib.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff -uNr SDL2-2.0.0.orig/sdl2-config.in SDL2-2.0.0/sdl2-config.in
|
||||||
|
--- SDL2-2.0.0.orig/sdl2-config.in 2013-08-12 06:57:54.000000000 +0400
|
||||||
|
+++ SDL2-2.0.0/sdl2-config.in 2013-08-24 12:50:01.630268642 +0400
|
||||||
|
@@ -3,7 +3,6 @@
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@exec_prefix@
|
||||||
|
exec_prefix_set=no
|
||||||
|
-libdir=@libdir@
|
||||||
|
|
||||||
|
@ENABLE_STATIC_FALSE@usage="\
|
||||||
|
@ENABLE_STATIC_FALSE@Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
|
||||||
|
@@ -45,11 +44,11 @@
|
||||||
|
echo -I@includedir@/SDL2 @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
|
||||||
Loading…
x
Reference in New Issue
Block a user