git: 6b4c8d1e3b7b - main - audio/sdl2_mixer: update 2.0.4 → 2.6.1

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Thu, 21 Jul 2022 12:41:08 UTC
The branch main has been updated by amdmi3:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6b4c8d1e3b7bc7ed1c07b0e3f74d21405be186c0

commit 6b4c8d1e3b7bc7ed1c07b0e3f74d21405be186c0
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2022-07-20 19:40:07 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2022-07-21 12:40:40 +0000

    audio/sdl2_mixer: update 2.0.4 → 2.6.1
---
 audio/sdl2_mixer/Makefile                   | 88 +++++++++++++----------------
 audio/sdl2_mixer/distinfo                   |  6 +-
 audio/sdl2_mixer/files/patch-CMakeLists.txt | 29 ++++++++++
 audio/sdl2_mixer/pkg-plist                  |  8 ++-
 4 files changed, 77 insertions(+), 54 deletions(-)

diff --git a/audio/sdl2_mixer/Makefile b/audio/sdl2_mixer/Makefile
index 86698d792ef9..a31400b653ce 100644
--- a/audio/sdl2_mixer/Makefile
+++ b/audio/sdl2_mixer/Makefile
@@ -1,36 +1,39 @@
 PORTNAME=	sdl2_mixer
-PORTVERSION=	2.0.4
-PORTREVISION=	5
+DISTVERSIONPREFIX=	release-
+DISTVERSION=	2.6.1
 CATEGORIES=	audio
-MASTER_SITES=	https://www.libsdl.org/projects/SDL_mixer/release/
-DISTNAME=	SDL2_mixer-${PORTVERSION}
 
 MAINTAINER=	amdmi3@FreeBSD.org
 COMMENT=	Sample multi-channel audio mixer library
 
 LICENSE=	ZLIB
-LICENSE_FILE_ZLIB=${WRKSRC}/COPYING.txt
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
-USES=		gmake libtool localbase pathfix pkgconfig sdl
+USES=		cmake sdl
+USE_GITHUB=	yes
+GH_ACCOUNT=	libsdl-org
+GH_PROJECT=	SDL_mixer
 USE_SDL=	sdl2
-GNU_CONFIGURE=	yes
+CMAKE_OFF=	SDL2MIXER_SAMPLES \
+		SDL2MIXER_DEPS_SHARED \
+		SDL2MIXER_FLAC_LIBFLAC_SHARED \
+		SDL2MIXER_MOD_MODPLUG_SHARED \
+		SDL2MIXER_MOD_XMP_SHARED \
+		SDL2MIXER_MP3_MPG123_SHARED \
+		SDL2MIXER_MIDI_FLUIDSYNTH_SHARED \
+		SDL2MIXER_OPUS_SHARED \
+		SDL2MIXER_VORBIS_TREMOR_SHARED \
+		SDL2MIXER_VORBIS_VORBISFILE_SHARED \
+		SDL2MIXER_FLAC_DRFLAC \
+		SDL2MIXER_MP3_DRMP3 \
+		SDL2MIXER_MIDI_TIMIDITY
+
 USE_LDCONFIG=	yes
 
-# disabled dynamic loading of shared libraries, not shared linking
-CONFIGURE_ARGS=	--disable-music-mod-modplug-shared \
-		--disable-music-mod-mikmod-shared \
-		--disable-music-midi-fluidsynth-shared \
-		--disable-music-ogg-shared \
-		--disable-music-flac-shared \
-		--disable-music-mp3-mpg123-shared \
-		--disable-music-opus-shared
-
-OPTIONS_DEFINE=		FLAC OPUS
-OPTIONS_RADIO=		MOD MIDI OGG MP3
-OPTIONS_RADIO_MOD=	MIKMOD MODPLUG
-OPTIONS_RADIO_MIDI=	FLUIDSYNTH
+OPTIONS_DEFINE=		FLAC OPUS MPG123 FLUIDSYNTH
+OPTIONS_RADIO=		MOD OGG
+OPTIONS_RADIO_MOD=	MODPLUG XMP
 OPTIONS_RADIO_OGG=	VORBIS TREMOR
-OPTIONS_RADIO_MP3=	MAD MPG123
 OPTIONS_DEFAULT=	FLUIDSYNTH MODPLUG FLAC OPUS MPG123
 
 .if defined(MACHINE_CPU) && ${MACHINE_CPU:Msoftfp}
@@ -39,55 +42,42 @@ OPTIONS_DEFAULT+=	TREMOR
 OPTIONS_DEFAULT+=	VORBIS
 .endif
 
-# MOD
 MOD_DESC=			Tracker music support
 
-MIKMOD_LIB_DEPENDS=		libmikmod.so:audio/libmikmod
-MIKMOD_CONFIGURE_ENABLE=	music-mod-mikmod
-
 MODPLUG_LIB_DEPENDS=		libmodplug.so:audio/libmodplug
-MODPLUG_CONFIGURE_ENABLE=	music-mod-modplug
+MODPLUG_CMAKE_BOOL=		SDL2MIXER_MOD_MODPLUG
 
-# MIDI
-MIDI_DESC=			MIDI music support
+XMP_DESC=			MOD music via libxmp
+XMP_LIB_DEPENDS=		libxmp.so:audio/libxmp
+XMP_CMAKE_BOOL=			SDL2MIXER_MOD_XMP
 
 FLUIDSYNTH_LIB_DEPENDS=		libfluidsynth.so:audio/fluidsynth
-FLUIDSYNTH_CONFIGURE_ENABLE=	music-midi-fluidsynth
-
+FLUIDSYNTH_CMAKE_BOOL=		SDL2MIXER_MIDI SDL2MIXER_MIDI_FLUIDSYNTH
 # TODO: add timidity?
 
-# OGG
 VORBIS_LIB_DEPENDS=		libvorbis.so:audio/libvorbis
+VORBIS_CMAKE_ON=		-DSDL2MIXER_VORBIS="VORBISFILE"
 
 TREMOR_LIB_DEPENDS=		libvorbisidec.so:audio/libtremor
-TREMOR_CONFIGURE_ENABLE=	music-ogg-tremor
-
-# MP3
-MAD_LIB_DEPENDS=		libmad.so:audio/libmad
-MAD_CONFIGURE_ENABLE=		music-mp3-mad-gpl
-MAD_VARS=			LICENSE+=GPLv2+ LICENSE_COMB=multi
+TREMOR_CMAKE_ON=		-DSDL2MIXER_VORBIS="TREMOR"
 
 MPG123_LIB_DEPENDS=		libmpg123.so:audio/mpg123
-MPG123_CONFIGURE_ENABLE=	music-mp3-mpg123
+MPG123_CMAKE_BOOL=		SDL2MIXER_MP3 SDL2MIXER_MP3_MPG123
 
-# Others
 FLAC_LIB_DEPENDS=		libFLAC.so:audio/flac
-FLAC_CONFIGURE_ENABLE=		music-flac
+FLAC_CMAKE_BOOL=		SDL2MIXER_FLAC SDL2MIXER_FLAC_LIBFLAC
 
 OPUS_LIB_DEPENDS=		libopusfile.so:audio/opusfile
-OPUS_CONFIGURE_ENABLE=		music-opus
+OPUS_CMAKE_BOOL=		SDL2MIXER_OPUS
 
 .include <bsd.port.options.mk>
 
-.if !${PORT_OPTIONS:MVORBIS} && !${PORT_OPTIONS:MTREMOR}
-CONFIGURE_ARGS+=		--disable-music-ogg
+.if !${PORT_OPTIONS:MXMP} && !${PORT_OPTIONS:MMODPLUG}
+CMAKE_OFF+=			SDL2MIXER_MOD
 .endif
 
-post-patch:
-	@${REINPLACE_CMD} -e 's|\($$(prefix)/libdata/pkgconfig\)|$$(DESTDIR)\1|' \
-		${WRKSRC}/Makefile.in
-
-post-install:
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libSDL2_mixer.so
+.if !${PORT_OPTIONS:MVORBIS} && !${PORT_OPTIONS:MTREMOR}
+CMAKE_ARGS+=			-DSDL2MIXER_VORBIS=""
+.endif
 
 .include <bsd.port.mk>
diff --git a/audio/sdl2_mixer/distinfo b/audio/sdl2_mixer/distinfo
index e5fbcf8afbe5..9dc3db862970 100644
--- a/audio/sdl2_mixer/distinfo
+++ b/audio/sdl2_mixer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1549290781
-SHA256 (SDL2_mixer-2.0.4.tar.gz) = b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419
-SIZE (SDL2_mixer-2.0.4.tar.gz) = 11125077
+TIMESTAMP = 1658263580
+SHA256 (libsdl-org-SDL_mixer-release-2.6.1_GH0.tar.gz) = 8c7193d3b6ae8d44f4436e53b26735b02f6cceb70fb1a3ae3f44ebd0c965e0a6
+SIZE (libsdl-org-SDL_mixer-release-2.6.1_GH0.tar.gz) = 9922871
diff --git a/audio/sdl2_mixer/files/patch-CMakeLists.txt b/audio/sdl2_mixer/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..d7a99de70601
--- /dev/null
+++ b/audio/sdl2_mixer/files/patch-CMakeLists.txt
@@ -0,0 +1,29 @@
+All these changes were upstreamed after 2.6.1
+--- CMakeLists.txt.orig	2022-07-12 20:19:55 UTC
++++ CMakeLists.txt
+@@ -294,14 +294,14 @@ if(SDL2MIXER_CMD)
+     target_compile_definitions(SDL2_mixer PRIVATE MUSIC_CMD)
+     set(fork_found OFF)
+     if(NOT fork_found)
+-        check_symbol_exists(fork sys/unistd.h HAVE_FORK)
++        check_symbol_exists(fork unistd.h HAVE_FORK)
+         if(HAVE_FORK)
+             set(fork_found ON)
+             target_compile_definitions(SDL2_mixer PRIVATE HAVE_FORK)
+         endif()
+     endif()
+     if(NOT fork_found)
+-        check_symbol_exists(fork sys/unistd.h HAVE_VFORK)
++        check_symbol_exists(fork unistd.h HAVE_VFORK)
+         if(HAVE_VFORK)
+             set(fork_found ON)
+             target_compile_definitions(SDL2_mixer PRIVATE HAVE_VFORK)
+@@ -528,7 +528,7 @@ if(SDL2MIXER_FLAC_LIBFLAC)
+             add_dependencies(SDL2_mixer FLAC)
+         endif()
+     else()
+-        target_link_libraries(SDL2_mixer PRIVATE FLAC)
++        target_link_libraries(SDL2_mixer PRIVATE FLAC::FLAC)
+     endif()
+ endif()
+ 
diff --git a/audio/sdl2_mixer/pkg-plist b/audio/sdl2_mixer/pkg-plist
index bf341efbfe8f..23c41cbfac67 100644
--- a/audio/sdl2_mixer/pkg-plist
+++ b/audio/sdl2_mixer/pkg-plist
@@ -1,6 +1,10 @@
 include/SDL2/SDL_mixer.h
+lib/cmake/SDL2_mixer/SDL2_mixer-shared-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SDL2_mixer/SDL2_mixer-shared-targets.cmake
+lib/cmake/SDL2_mixer/SDL2_mixerConfig.cmake
+lib/cmake/SDL2_mixer/SDL2_mixerConfigVersion.cmake
+lib/libSDL2_mixer-2.0.so
 lib/libSDL2_mixer-2.0.so.0
-lib/libSDL2_mixer-2.0.so.0.2.2
-lib/libSDL2_mixer.a
+lib/libSDL2_mixer-2.0.so.0.600.1
 lib/libSDL2_mixer.so
 libdata/pkgconfig/SDL2_mixer.pc