SDL3: initial build
This commit is contained in:
parent
265fcb2e06
commit
18713b7b07
191
base/SDL3/SDL3.spec
Normal file
191
base/SDL3/SDL3.spec
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
# For the generated library symbol suffix
|
||||||
|
%if 0%{?__isa_bits} == 32
|
||||||
|
%global libsymbolsuffix %{nil}
|
||||||
|
%else
|
||||||
|
%global libsymbolsuffix ()(%{__isa_bits}bit)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# For declaring rich dependency on libdecor
|
||||||
|
%global libdecor_majver 0
|
||||||
|
|
||||||
|
Name: SDL3
|
||||||
|
Version: 3.1.6
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: Cross-platform multimedia library
|
||||||
|
License: Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
|
||||||
|
URL: http://www.libsdl.org/
|
||||||
|
#Source0: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
|
||||||
|
Source0: https://github.com/libsdl-org/SDL/releases/download/preview-%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Source1: SDL3_revision.h
|
||||||
|
|
||||||
|
# Patches from upstream
|
||||||
|
|
||||||
|
# Patches proposed upstream
|
||||||
|
|
||||||
|
|
||||||
|
BuildRequires: git-core
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: alsa-lib-devel
|
||||||
|
BuildRequires: mesa-libGL-devel
|
||||||
|
BuildRequires: mesa-libGLU-devel
|
||||||
|
BuildRequires: mesa-libEGL-devel
|
||||||
|
BuildRequires: mesa-libGLES-devel
|
||||||
|
BuildRequires: libXext-devel
|
||||||
|
BuildRequires: libX11-devel
|
||||||
|
BuildRequires: libXi-devel
|
||||||
|
BuildRequires: libXrandr-devel
|
||||||
|
BuildRequires: libXrender-devel
|
||||||
|
# While SDL3 supports this, Xwayland does not expose XScrnSaver.
|
||||||
|
# BuildRequires: libXScrnSaver-devel
|
||||||
|
BuildRequires: libXinerama-devel
|
||||||
|
BuildRequires: libXcursor-devel
|
||||||
|
BuildRequires: systemd-devel
|
||||||
|
BuildRequires: pkgconfig(libusb-1.0)
|
||||||
|
# PulseAudio
|
||||||
|
BuildRequires: pkgconfig(libpulse-simple)
|
||||||
|
# Jack
|
||||||
|
BuildRequires: pkgconfig(jack)
|
||||||
|
# PipeWire
|
||||||
|
BuildRequires: pkgconfig(libpipewire-0.3)
|
||||||
|
# D-Bus
|
||||||
|
BuildRequires: pkgconfig(dbus-1)
|
||||||
|
# IBus
|
||||||
|
BuildRequires: pkgconfig(ibus-1.0)
|
||||||
|
# Wayland
|
||||||
|
BuildRequires: pkgconfig(libdecor-%{libdecor_majver})
|
||||||
|
BuildRequires: pkgconfig(wayland-client)
|
||||||
|
BuildRequires: pkgconfig(wayland-egl)
|
||||||
|
BuildRequires: pkgconfig(wayland-cursor)
|
||||||
|
BuildRequires: pkgconfig(wayland-protocols)
|
||||||
|
BuildRequires: pkgconfig(wayland-scanner)
|
||||||
|
BuildRequires: pkgconfig(xkbcommon)
|
||||||
|
# Vulkan
|
||||||
|
BuildRequires: vulkan-devel
|
||||||
|
# KMS
|
||||||
|
BuildRequires: mesa-libgbm-devel
|
||||||
|
BuildRequires: libdrm-devel
|
||||||
|
|
||||||
|
# Ensure libdecor is pulled in when libwayland-client is (rhbz#1992804)
|
||||||
|
Requires: (libdecor-%{libdecor_majver}.so.%{libdecor_majver}%{libsymbolsuffix} if libwayland-client)
|
||||||
|
|
||||||
|
# Long ago forked hidraw customized for SDL
|
||||||
|
Provides: bundled(hidraw)
|
||||||
|
|
||||||
|
%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}%{?_isa} = %{version}-%{release}
|
||||||
|
# Add deps required to compile SDL apps
|
||||||
|
## For SDL_opengl.h
|
||||||
|
Requires: pkgconfig(gl)
|
||||||
|
Requires: pkgconfig(glu)
|
||||||
|
## For SDL_syswm.h
|
||||||
|
Requires: pkgconfig(x11)
|
||||||
|
Requires: pkgconfig(xproto)
|
||||||
|
|
||||||
|
%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.
|
||||||
|
|
||||||
|
%package static
|
||||||
|
Summary: Static libraries for SDL3
|
||||||
|
# Needed to keep CMake happy
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description static
|
||||||
|
Static libraries for SDL3.
|
||||||
|
|
||||||
|
%package test
|
||||||
|
Summary: Testing libraries for SDL3
|
||||||
|
# Needed to keep CMake happy
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description test
|
||||||
|
Testing libraries for SDL3.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -S git_am
|
||||||
|
sed -e 's/\r//g' -i README.md WhatsNew.txt BUGS.txt LICENSE.txt CREDITS.md README-SDL.txt
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# Deal with new CMake policy around whitespace in LDFLAGS...
|
||||||
|
export LDFLAGS="%{shrink:%{build_ldflags}}"
|
||||||
|
|
||||||
|
%cmake \
|
||||||
|
-DSDL_DLOPEN=ON \
|
||||||
|
-DSDL_VIDEO_KMSDRM=ON \
|
||||||
|
-DSDL_ARTS=OFF \
|
||||||
|
-DSDL_ESD=OFF \
|
||||||
|
-DSDL_NAS=OFF \
|
||||||
|
-DSDL_PULSEAUDIO_SHARED=ON \
|
||||||
|
-DSDL_JACK_SHARED=ON \
|
||||||
|
-DSDL_PIPEWIRE_SHARED=ON \
|
||||||
|
-DSDL_ALSA=ON \
|
||||||
|
-DSDL_VIDEO_WAYLAND=ON \
|
||||||
|
-DSDL_LIBDECOR_SHARED=ON \
|
||||||
|
-DSDL_VIDEO_VULKAN=ON \
|
||||||
|
-DSDL_SSE3=OFF \
|
||||||
|
-DSDL_RPATH=OFF \
|
||||||
|
-DSDL_STATIC=ON \
|
||||||
|
-DSDL_STATIC_PIC=ON \
|
||||||
|
%ifarch ppc64le
|
||||||
|
-DSDL_ALTIVEC=OFF \
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%cmake_install
|
||||||
|
|
||||||
|
# Rename SDL_revision.h to SDL_revision-<arch>.h to avoid file conflicts on
|
||||||
|
# multilib systems and install SDL_revision.h wrapper
|
||||||
|
# TODO: Figure out how in the hell the SDL_REVISION changes between architectures on the same SRPM.
|
||||||
|
mv %{buildroot}%{_includedir}/SDL3/SDL_revision.h %{buildroot}%{_includedir}/SDL3/SDL_revision-%{_arch}.h
|
||||||
|
install -p -m 644 %{SOURCE1} %{buildroot}%{_includedir}/SDL3/SDL_revision.h
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE.txt
|
||||||
|
%doc BUGS.txt CREDITS.md README-SDL.txt
|
||||||
|
%{_libdir}/libSDL3.so.0{,.*}
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc README.md WhatsNew.txt
|
||||||
|
%{_libdir}/lib*.so
|
||||||
|
%{_libdir}/pkgconfig/sdl3.pc
|
||||||
|
%dir %{_libdir}/cmake/SDL3
|
||||||
|
%{_libdir}/cmake/SDL3/SDL3Config*.cmake
|
||||||
|
%{_libdir}/cmake/SDL3/SDL3headersTargets*.cmake
|
||||||
|
%{_libdir}/cmake/SDL3/SDL3sharedTargets*.cmake
|
||||||
|
%{_includedir}/SDL3
|
||||||
|
|
||||||
|
%files static
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/libSDL3.a
|
||||||
|
%{_libdir}/cmake/SDL3/SDL3staticTargets*.cmake
|
||||||
|
|
||||||
|
%files test
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/libSDL3_test.a
|
||||||
|
%{_libdir}/cmake/SDL3/SDL3testTargets*.cmake
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Dec 02 2024 Neal Gompa <ngompa@fedoraproject.org> - 3.1.6-1
|
||||||
|
- Update to 3.1.6
|
||||||
|
- Split testing library into subpackage
|
||||||
|
|
||||||
|
* Fri Oct 04 2024 Neal Gompa <ngompa@fedoraproject.org> - 3.1.3-1
|
||||||
|
- Initial package
|
||||||
|
|
86
base/SDL3/SDL3_revision.h
Normal file
86
base/SDL3/SDL3_revision.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
Simple DirectMedia Layer
|
||||||
|
Copyright (C) 1997-2024 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_revision.h is a wrapper include file for the original SDL_revision.h,
|
||||||
|
* which has been renamed to SDL_revision-<arch>.h. There are conflicts for the
|
||||||
|
* original SDL_revision.h on multilib systems, which result from REVISION
|
||||||
|
* inconsistency between architecture builds, though, I'm not sure why.
|
||||||
|
* Computers are weird.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2021 Tom Callaway <spotrh@gmail.com>
|
||||||
|
* Copyright (C) 2024 Neal Gompa <neal@gompa.dev>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file SDL_revision.h
|
||||||
|
*
|
||||||
|
* Header file containing the SDL revision.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef SDL_revision_wrapper_h
|
||||||
|
#error "SDL_revision_wrapper_h should not be defined!"
|
||||||
|
#endif
|
||||||
|
#define SDL_revision_wrapper_h
|
||||||
|
|
||||||
|
#if defined(__i386__)
|
||||||
|
#include "SDL_revision-i386.h"
|
||||||
|
#elif defined(__ia64__)
|
||||||
|
#include "SDL_revision-ia64.h"
|
||||||
|
#elif defined(__powerpc64__)
|
||||||
|
# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||||
|
#include "SDL_revision-ppc64.h"
|
||||||
|
# else
|
||||||
|
#include "SDL_revision-ppc64le.h"
|
||||||
|
# endif
|
||||||
|
#elif defined(__powerpc__)
|
||||||
|
#include "SDL_revision-ppc.h"
|
||||||
|
#elif defined(__s390x__)
|
||||||
|
#include "SDL_revision-s390x.h"
|
||||||
|
#elif defined(__s390__)
|
||||||
|
#include "SDL_revision-s390.h"
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
#include "SDL_revision-x86_64.h"
|
||||||
|
#elif defined(__arm__)
|
||||||
|
#include "SDL_revision-arm.h"
|
||||||
|
#elif defined(__alpha__)
|
||||||
|
#include "SDL_revision-alpha.h"
|
||||||
|
#elif defined(__sparc__) && defined (__arch64__)
|
||||||
|
#include "SDL_revision-sparc64.h"
|
||||||
|
#elif defined(__sparc__)
|
||||||
|
#include "SDL_revision-sparc.h"
|
||||||
|
#elif defined(__aarch64__)
|
||||||
|
#include "SDL_revision-aarch64.h"
|
||||||
|
#elif defined(__mips64) && defined(__MIPSEL__)
|
||||||
|
#include "SDL_revision-mips64el.h"
|
||||||
|
#elif defined(__mips64)
|
||||||
|
#include "SDL_revision-mips64.h"
|
||||||
|
#elif defined(__mips) && defined(__MIPSEL__)
|
||||||
|
#include "SDL_revision-mipsel.h"
|
||||||
|
#elif defined(__mips)
|
||||||
|
#include "SDL_revision-mips.h"
|
||||||
|
#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
|
||||||
|
#include "SDL_revision-riscv64.h"
|
||||||
|
#else
|
||||||
|
#error "The SDL3-devel package is not usable with the architecture."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef SDL_revision_wrapper_h
|
Loading…
x
Reference in New Issue
Block a user