add libSDL2; update ffmpeg

This commit is contained in:
ziggi
2020-12-09 17:10:32 +00:00
parent 4b6450b500
commit 659dae4589
10 changed files with 267 additions and 51 deletions

87
devel/libSDL2/Makefile Normal file
View File

@@ -0,0 +1,87 @@
# $FreeBSD: head/devel/sdl20/Makefile 551250 2020-10-03 02:21:47Z pkubaj $
PORTNAME= SDL2
PORTVERSION= 2.0.12
CATEGORIES= devel
MASTER_SITES= https://www.libsdl.org/release/
#DISTNAME= SDL2-${PORTVERSION}
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Cross-platform multimedia development API
PKGNAMEPREFIX= lib
GNU_CONFIGURE= yes
USES= gmake localbase:ldflags pathfix pkgconfig
USE_CSTD= c99
USE_LDCONFIG= yes
CONFIGURE_ARGS+= --disable-arts \
--enable-diskaudio \
--enable-dummyaudio \
--enable-video-dummy \
--disable-dbus \
--disable-input-tslib \
--disable-rpath
#CONFIGURE_ARGS+= --disable-mmx
#CONFIGURE_ARGS+= --disable-3dnow
#CONFIGURE_ARGS+= --disable-sse
#CONFIGURE_ARGS+= --disable-sse2
#CONFIGURE_ARGS+= --disable-sse3
MAKE_ENV= V=1
.include <bsd.port.options.mk>
# Similar to x11/pixman
.if ${ARCH} == "armv6" || ${ARCH} == "armv7"
BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils
CFLAGS+= -B${LOCALBASE}/bin -no-integrated-as
.endif
CONFIGURE_ARGS+= --disable-alsa --disable-alsa-shared
CONFIGURE_ARGS+= --disable-jack --disable-jack-shared
CONFIGURE_ARGS+= --disable-esd --disable-esd-shared
CONFIGURE_ARGS+= --disable-nas --disable-nas-shared
CONFIGURE_ARGS+= --enable-oss
CONFIGURE_ARGS+= --disable-pulseaudio --disable-pulseaudio-shared
#CONFIGURE_ARGS+= --enable-sndio --enable-sndio-shared
CONFIGURE_ARGS+= --disable-sndio --disable-sndio-shared
#CONFIGURE_ARGS+= --enable-video-kmsdrm --enable-kmsdrm-shared
CONFIGURE_ARGS+= --disable-video-kmsdrm --disable-video-kmsdrm
CONFIGURE_ARGS+= --disable-video-opengl
CONFIGURE_ARGS+= --enable-video-x11 \
--enable-x11-shared \
--enable-video-x11-xcursor \
--enable-video-x11-xinerama \
--enable-video-x11-xinput \
--enable-video-x11-xrandr \
--enable-video-x11-scrnsaver \
--enable-video-x11-xshape \
--enable-video-x11-vm
CONFIGURE_ARGS+= --disable-video-opengles \
--disable-video-opengles2
CONFIGURE_ARGS+= --disable-video-wayland \
--disable-wayland-shared
.include <bsd.port.pre.mk>
#.if !empty(ICONV_LIB)
#CONFIGURE_ARGS+= ac_cv_lib_iconv_iconv_open=yes ac_cv_func_iconv=yes
#.endif
post-patch:
${REINPLACE_CMD} -e '/ CheckInputEvents$$/d' \
-e 's/-liconv/${ICONV_LIB}/g' ${WRKSRC}/configure
# Clang does not provide _m_prefetch
${REINPLACE_CMD} 's/_m_prefetch/__builtin_prefetch/' \
${WRKSRC}/configure ${WRKSRC}/src/video/SDL_blit_A.c
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libSDL2.so
.include <bsd.port.post.mk>

3
devel/libSDL2/distinfo Normal file
View File

@@ -0,0 +1,3 @@
TIMESTAMP = 1583890578
SHA256 (SDL2-2.0.12.tar.gz) = 349268f695c02efbc9b9148a70b85e58cefbbf704abd3e91be654db7f1e2c863
SIZE (SDL2-2.0.12.tar.gz) = 5720162

View File

@@ -0,0 +1,11 @@
--- include/SDL_endian.h.orig 2020-10-03 02:13:42 UTC
+++ include/SDL_endian.h
@@ -44,6 +44,8 @@
#define SDL_BYTEORDER __BYTE_ORDER
#elif defined(__OpenBSD__)
#include <endian.h>
+#elif defined(__FreeBSD__)
+#include <sys/endian.h>
#define SDL_BYTEORDER BYTE_ORDER
#else
#if defined(__hppa__) || \

View File

@@ -0,0 +1,12 @@
--- src/video/kmsdrm/SDL_kmsdrmvideo.c.orig 2020-03-11 01:36:18 UTC
+++ src/video/kmsdrm/SDL_kmsdrmvideo.c
@@ -391,7 +391,9 @@ KMSDRM_CreateSurfaces(_THIS, SDL_Window * window)
Uint32 height = dispdata->mode.vdisplay;
Uint32 surface_fmt = GBM_FORMAT_XRGB8888;
Uint32 surface_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING;
+#if SDL_VIDEO_OPENGL_EGL
EGLContext egl_context;
+#endif
if (!KMSDRM_gbm_device_is_format_supported(viddata->gbm, surface_fmt, surface_flags)) {
SDL_LogWarn(SDL_LOG_CATEGORY_VIDEO, "GBM surface format not supported. Trying anyway.");

View File

@@ -0,0 +1,24 @@
--- src/cpuinfo/SDL_cpuinfo.c.orig 2020-03-11 01:36:18 UTC
+++ src/cpuinfo/SDL_cpuinfo.c
@@ -49,7 +49,7 @@
#endif
#if defined(__MACOSX__) && (defined(__ppc__) || defined(__ppc64__))
#include <sys/sysctl.h> /* For AltiVec check */
-#elif defined(__OpenBSD__) && defined(__powerpc__)
+#elif (defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__powerpc__)
#include <sys/param.h>
#include <sys/sysctl.h> /* For AltiVec check */
#include <machine/cpu.h>
@@ -314,9 +314,11 @@ CPU_haveAltiVec(void)
{
volatile int altivec = 0;
#ifndef SDL_CPUINFO_DISABLED
-#if (defined(__MACOSX__) && (defined(__ppc__) || defined(__ppc64__))) || (defined(__OpenBSD__) && defined(__powerpc__))
+#if (defined(__MACOSX__) && (defined(__ppc__) || defined(__ppc64__))) || (defined(__OpenBSD__) && defined(__powerpc__)) || (defined(__FreeBSD__) && defined(__powerpc__))
#ifdef __OpenBSD__
int selectors[2] = { CTL_MACHDEP, CPU_ALTIVEC };
+#elif __FreeBSD__
+ int selectors[2] = { CTL_HW, PPC_FEATURE_HAS_ALTIVEC };
#else
int selectors[2] = { CTL_HW, HW_VECTORUNIT };
#endif

View File

@@ -0,0 +1,11 @@
--- ./Makefile.in.orig 2020-12-08 22:15:25.560200000 +0200
+++ ./Makefile.in 2020-12-08 22:29:19.279633000 +0200
@@ -126,7 +126,7 @@
LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
-LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+LT_LDFLAGS = -no-undefined -rpath $(libdir) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)

8
devel/libSDL2/pkg-descr Normal file
View File

@@ -0,0 +1,8 @@
This library is designed to make it easy to write games that run on UNIX,
Win32, MacOS X and other platforms using the various native high-performance
media interfaces (for video, audio, etc) and presenting a single source-code
level API to your application. This is a fairly low level API, but using this,
completely portable applications can be written with a great deal of
flexibility.
WWW: https://www.libsdl.org/

89
devel/libSDL2/pkg-plist Normal file
View File

@@ -0,0 +1,89 @@
bin/sdl2-config
include/SDL2/begin_code.h
include/SDL2/close_code.h
include/SDL2/SDL_assert.h
include/SDL2/SDL_atomic.h
include/SDL2/SDL_audio.h
include/SDL2/SDL_bits.h
include/SDL2/SDL_blendmode.h
include/SDL2/SDL_clipboard.h
include/SDL2/SDL_config.h
include/SDL2/SDL_cpuinfo.h
include/SDL2/SDL_egl.h
include/SDL2/SDL_endian.h
include/SDL2/SDL_error.h
include/SDL2/SDL_events.h
include/SDL2/SDL_filesystem.h
include/SDL2/SDL_gamecontroller.h
include/SDL2/SDL_gesture.h
include/SDL2/SDL_haptic.h
include/SDL2/SDL_hints.h
include/SDL2/SDL_joystick.h
include/SDL2/SDL_keyboard.h
include/SDL2/SDL_keycode.h
include/SDL2/SDL_loadso.h
include/SDL2/SDL_log.h
include/SDL2/SDL_main.h
include/SDL2/SDL_messagebox.h
include/SDL2/SDL_metal.h
include/SDL2/SDL_mouse.h
include/SDL2/SDL_mutex.h
include/SDL2/SDL_name.h
include/SDL2/SDL_opengl_glext.h
include/SDL2/SDL_opengl.h
include/SDL2/SDL_opengles.h
include/SDL2/SDL_opengles2_gl2.h
include/SDL2/SDL_opengles2_gl2ext.h
include/SDL2/SDL_opengles2_gl2platform.h
include/SDL2/SDL_opengles2_khrplatform.h
include/SDL2/SDL_opengles2.h
include/SDL2/SDL_pixels.h
include/SDL2/SDL_platform.h
include/SDL2/SDL_power.h
include/SDL2/SDL_quit.h
include/SDL2/SDL_rect.h
include/SDL2/SDL_render.h
include/SDL2/SDL_revision.h
include/SDL2/SDL_rwops.h
include/SDL2/SDL_scancode.h
include/SDL2/SDL_sensor.h
include/SDL2/SDL_shape.h
include/SDL2/SDL_stdinc.h
include/SDL2/SDL_surface.h
include/SDL2/SDL_system.h
include/SDL2/SDL_syswm.h
include/SDL2/SDL_test_assert.h
include/SDL2/SDL_test_common.h
include/SDL2/SDL_test_compare.h
include/SDL2/SDL_test_crc32.h
include/SDL2/SDL_test_font.h
include/SDL2/SDL_test_fuzzer.h
include/SDL2/SDL_test_harness.h
include/SDL2/SDL_test_images.h
include/SDL2/SDL_test_log.h
include/SDL2/SDL_test_md5.h
include/SDL2/SDL_test_memory.h
include/SDL2/SDL_test_random.h
include/SDL2/SDL_test.h
include/SDL2/SDL_thread.h
include/SDL2/SDL_timer.h
include/SDL2/SDL_touch.h
include/SDL2/SDL_types.h
include/SDL2/SDL_version.h
include/SDL2/SDL_video.h
include/SDL2/SDL_vulkan.h
include/SDL2/SDL.h
lib/cmake/SDL2/sdl2-config-version.cmake
lib/cmake/SDL2/sdl2-config.cmake
lib/libSDL2_test.a
lib/libSDL2_test.la
lib/libSDL2.a
lib/libSDL2.la
lib/libSDL2.so
lib/libSDL2.so.12
lib/libSDL2main.a
lib/libSDL2main.la
lib/pkgconfig/sdl2.pc
share/aclocal/sdl2.m4
@dir include/SDL2
@dir lib/cmake/SDL2

View File

@@ -11,17 +11,9 @@ COMMENT= Realtime audio/video encoder/converter and streaming server
BUILD_DEPENDS= yasm:devel/yasm
LIB_DEPENDS+= libX11.so:x11/libX11
LIB_DEPENDS+= libXau.so:x11/libXau
LIB_DEPENDS+= libXdmcp.so:x11/libXdmcp
LIB_DEPENDS+= libXext.so:x11/libXext
LIB_DEPENDS+= libXfixes.so:x11/libXfixes
LIB_DEPENDS+= libXv.so:x11/libXv
#LIB_DEPENDS+= libaom.so:media/libaom
LIB_DEPENDS+= libSDL2.so:devel/libSDL2
LIB_DEPENDS+= libdrm.so:system/libdrm
LIB_DEPENDS+= libfreetype.so:graph/libfreetype2
LIB_DEPENDS+= libgmp.so:math/libgmp
LIB_DEPENDS+= libgnutls.so:crypto/libgnutls
@@ -29,77 +21,50 @@ LIB_DEPENDS+= libgsm.so:media/libgsm
LIB_DEPENDS+= libhogweed.so:crypto/libnettle
LIB_DEPENDS+= libiconv.so:text/libiconv
LIB_DEPENDS+= libidn2.so:net/libidn2
LIB_DEPENDS+= libintl.so:devel/gettext
LIB_DEPENDS+= libmodplug.so:media/libmodplug
LIB_DEPENDS+= libmp3lame.so:media/lame
LIB_DEPENDS+= libnettle.so:crypto/libnettle
LIB_DEPENDS+= libogg.so:media/libogg
LIB_DEPENDS+= libopencore-amrnb.so:media/libopencore-amr
LIB_DEPENDS+= libopencore-amrwb.so:media/libopencore-amr
LIB_DEPENDS+= libopenh264.so:media/libopenh264
LIB_DEPENDS+= libopus.so:media/libopus
LIB_DEPENDS+= libp11-kit.so:crypto/libp11-kit
LIB_DEPENDS+= libpng16.so:graph/libpng
LIB_DEPENDS+= libpostproc.so:media/ffmpeg
LIB_DEPENDS+= libspeex.so:media/libspeex
LIB_DEPENDS+= libswresample.so:media/ffmpeg
LIB_DEPENDS+= libswscale.so:media/ffmpeg
LIB_DEPENDS+= libtasn1.so:crypto/libtasn1
LIB_DEPENDS+= libtheoradec.so:media/libtheora
LIB_DEPENDS+= libtheoraenc.so:media/libtheora
LIB_DEPENDS+= libva-drm.so:media/libva
LIB_DEPENDS+= libva-x11.so:media/libva
LIB_DEPENDS+= libva.so:media/libva
LIB_DEPENDS+= libvorbisenc.so:media/libvorbis
LIB_DEPENDS+= libvorbis.so:media/libvorbis
LIB_DEPENDS+= libvorbisenc.so:media/libvorbis
LIB_DEPENDS+= libwavpack.so:media/libwavpack
LIB_DEPENDS+= libX11.so:x11/libX11
LIB_DEPENDS+= libx264.so:media/libx264
LIB_DEPENDS+= libx265.so:media/libx265
LIB_DEPENDS+= libXau.so:x11/libXau
LIB_DEPENDS+= libxcb-shape.so:x11/libxcb
LIB_DEPENDS+= libxcb-shm.so:x11/libxcb
LIB_DEPENDS+= libxcb-xfixes.so:x11/libxcb
LIB_DEPENDS+= libxcb.so:x11/libxcb
LIB_DEPENDS+= libXdmcp.so:x11/libXdmcp
LIB_DEPENDS+= libXext.so:x11/libXext
LIB_DEPENDS+= libXfixes.so:x11/libXfixes
LIB_DEPENDS+= libXv.so:x11/libXv
LIB_DEPENDS+= libxvidcore.so:media/libxvid
LIB_DEPENDS+= libgnutls.so:crypto/libgnutls
LIB_DEPENDS+= libintl.so:devel/gettext
LIB_DEPENDS+= libSDL.so:devel/libSDL
LIB_DEPENDS+= libgmp.so:math/libgmp
LIB_DEPENDS+= libfreetype.so:graph/libfreetype2
LIB_DEPENDS+= libpng.so:graph/libpng
LIB_DEPENDS+= libmp3lame.so:media/lame
LIB_DEPENDS+= libfaac.so:media/libfaac
LIB_DEPENDS+= libgsm.so:media/libgsm
LIB_DEPENDS+= libogg.so:media/libogg
LIB_DEPENDS+= libopencore-amrnb.so:media/libopencore-amr
LIB_DEPENDS+= libopencore-amrwb.so:media/libopencore-amr
LIB_DEPENDS+= libspeex.so:media/libspeex
LIB_DEPENDS+= libtheoradec.so:media/libtheora
LIB_DEPENDS+= libtheoraenc.so:media/libtheora
LIB_DEPENDS+= libvorbis.so:media/libvorbis
LIB_DEPENDS+= libvorbisenc.so:media/libvorbis
LIB_DEPENDS+= libwavpack.so:media/libwavpack
LIB_DEPENDS+= libx264.so:media/libx264
LIB_DEPENDS+= libxvidcore.so:media/libxvid
LIB_DEPENDS+= libiconv.so:text/libiconv
LIB_DEPENDS+= libmodplug.so:media/libmodplug
LIB_DEPENDS+= libopus.so:media/libopus
LIB_DEPENDS+= libX11.so:x11/libX11
LIB_DEPENDS+= libXv.so:x11/libXv
LIB_DEPENDS+= libopenh264.so:media/libopenh264
BUILD_DEPENDS+= ${PREFIX}/lib/pkgconfig/xau.pc:x11/libXau
BUILD_DEPENDS+= ${PREFIX}/lib/pkgconfig/xdmcp.pc:x11/libXdmcp
BUILD_DEPENDS+= ${PREFIX}/lib/pkgconfig/xproto.pc:xproto/xproto
@@ -127,6 +92,9 @@ CONFIGURE_ARGS+= --enable-postproc
CONFIGURE_ARGS+= --enable-avfilter
CONFIGURE_ARGS+= --enable-avresample
CONFIGURE_ARGS+= --enable-ffplay
CONFIGURE_ARGS+= --cc="${CC}"
CONFIGURE_ARGS+= --prefix="${PREFIX}"
@@ -137,7 +105,7 @@ CONFIGURE_ARGS+= --enable-pthreads
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --disable-debug
CONFIGURE_ARGS+= --disable-outdev=sdl
#CONFIGURE_ARGS+= --disable-outdev=sdl
CONFIGURE_ARGS+= --disable-htmlpages
CONFIGURE_ARGS+= --disable-podpages

View File

@@ -1,4 +1,5 @@
bin/ffmpeg
bin/ffplay
bin/ffprobe
include/libavcodec/ac3_parser.h
include/libavcodec/adts_parser.h
@@ -174,6 +175,8 @@ man/man1/ffmpeg-resampler.1.gz
man/man1/ffmpeg-scaler.1.gz
man/man1/ffmpeg-utils.1.gz
man/man1/ffmpeg.1.gz
man/man1/ffplay-all.1.gz
man/man1/ffplay.1.gz
man/man1/ffprobe-all.1.gz
man/man1/ffprobe.1.gz
man/man3/libavcodec.3.gz