audio/libgroove: Remove expired port

2023-06-30 audio/libgroove: Fails to build with FFmpeg 6 and very little activity upstream
This commit is contained in:
Rene Ladan 2023-06-30 23:08:38 +02:00
parent 964537f690
commit f544a9de7c
9 changed files with 1 additions and 221 deletions

1
MOVED
View file

@ -7735,3 +7735,4 @@ www/vdr-plugin-live||2023-06-30|Has expired: Depends on abandoned fork of VDR
multimedia/vdr-plugin-skinenigmang||2023-06-30|Has expired: Depends on abandoned fork of VDR
multimedia/vdr-plugin-ttxtsubs||2023-06-30|Has expired: Depends on abandoned fork of VDR
audio/pulseeffects||2023-06-30|Has expired: Broken for almost a year and abandoned upstream
audio/libgroove||2023-06-30|Has expired: Fails to build with FFmpeg 6 and very little activity upstream

View file

@ -364,7 +364,6 @@
SUBDIR += libgig
SUBDIR += libgme
SUBDIR += libgpod
SUBDIR += libgroove
SUBDIR += libid3tag
SUBDIR += libinstpatch
SUBDIR += libkcddb

View file

@ -1,36 +0,0 @@
PORTNAME= libgroove
PORTVERSION= 4.3.0
PORTREVISION= 11
CATEGORIES= audio
MAINTAINER= ports@FreeBSD.org
COMMENT= Audio dispatching library
WWW= https://github.com/andrewrk/libgroove
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
DEPRECATED= Fails to build with FFmpeg 6 and very little activity upstream
EXPIRATION_DATE=2023-06-30
LIB_DEPENDS= libavcodec.so.58:multimedia/ffmpeg4 \
libchromaprint.so:audio/chromaprint \
libebur128.so:audio/ebur128 \
libspeexdsp.so:audio/speexdsp
USE_GITHUB= yes
GH_ACCOUNT= andrewrk
USES= cmake sdl
USE_SDL= sdl2
USE_LDCONFIG= yes
CFLAGS+= -Wno-error=deprecated-declarations # ffmpeg 3.1
PLIST_SUB+= VER1=${PORTVERSION:R:R} \
VER3=${PORTVERSION}
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${PATCH_WRKSRC}/cmake/FindLibAV.cmake
.include <bsd.port.mk>

View file

@ -1,2 +0,0 @@
SHA256 (andrewrk-libgroove-4.3.0_GH0.tar.gz) = 76f68896f078a9613d420339ef887ca8293884ad2cd0fbc031d89a6af2993636
SIZE (andrewrk-libgroove-4.3.0_GH0.tar.gz) = 48857

View file

@ -1,11 +0,0 @@
--- cmake/FindLibAV.cmake.orig 2023-04-25 13:56:57 UTC
+++ cmake/FindLibAV.cmake
@@ -22,6 +22,8 @@
# AVUTIL_INCLUDE_DIRS
# AVUTIL_LIBRARIES
+set(CMAKE_PREFIX_PATH "%%LOCALBASE%%/ffmpeg4;%%LOCALBASE%%/ffmpeg4/include;%%LOCALBASE%%/ffmpeg4/libexec")
+
find_path(AVFILTER_INCLUDE_DIRS NAMES libavfilter/avfilter.h)
find_library(AVFILTER_LIBRARIES NAMES avfilter)
if(AVFILTER_LIBRARIES AND AVFILTER_INCLUDE_DIRS)

View file

@ -1,92 +0,0 @@
groove/encoder.c:619:59: error: use of undeclared identifier 'CODEC_CAP_VARIABLE_FRAME_SIZE'
e->sink->buffer_sample_count = (codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) ?
^
groove/file.c:284:66: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE'
uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE;
^
groove/playlist.c:189:63: error: use of undeclared identifier 'CODEC_CAP_DELAY'
if (!pkt_temp->data && dec->codec->capabilities & CODEC_CAP_DELAY)
^
groove/playlist.c:574:55: error: use of undeclared identifier 'CODEC_CAP_DELAY'
if (f->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) {
^
groove/playlist.c:990:22: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
p->volume_filter = avfilter_get_by_name("volume");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
groove/playlist.c:997:23: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
p->compand_filter = avfilter_get_by_name("compand");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
groove/playlist.c:1004:23: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
p->abuffer_filter = avfilter_get_by_name("abuffer");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
groove/playlist.c:1011:22: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
p->asplit_filter = avfilter_get_by_name("asplit");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
groove/playlist.c:1018:23: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
p->aformat_filter = avfilter_get_by_name("aformat");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
groove/playlist.c:1025:27: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
p->abuffersink_filter = avfilter_get_by_name("abuffersink");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- groove/encoder.c.orig 2015-05-26 01:32:01 UTC
+++ groove/encoder.c
@@ -616,7 +616,7 @@ int groove_encoder_attach(struct GrooveEncoder *encode
e->sink->audio_format = encoder->actual_audio_format;
e->sink->buffer_size = encoder->sink_buffer_size;
- e->sink->buffer_sample_count = (codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) ?
+ e->sink->buffer_sample_count = (codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) ?
0 : e->stream->codec->frame_size;
e->sink->gain = encoder->gain;
--- groove/file.c.orig 2015-05-26 01:32:01 UTC
+++ groove/file.c
@@ -281,7 +281,7 @@ int groove_file_save(struct GrooveFile *file) {
ocodec->rc_buffer_size = icodec->rc_buffer_size;
ocodec->field_order = icodec->field_order;
- uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE;
+ uint64_t extra_size = (uint64_t)icodec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE;
if (extra_size > INT_MAX) {
cleanup_save(file);
av_log(NULL, AV_LOG_ERROR, "codec extra size too big\n");
--- groove/playlist.c.orig 2015-05-26 01:32:01 UTC
+++ groove/playlist.c
@@ -54,12 +54,12 @@ struct GroovePlaylistPrivate {
AVFilterGraph *filter_graph;
AVFilterContext *abuffer_ctx;
- AVFilter *volume_filter;
- AVFilter *compand_filter;
- AVFilter *abuffer_filter;
- AVFilter *asplit_filter;
- AVFilter *aformat_filter;
- AVFilter *abuffersink_filter;
+ const AVFilter *volume_filter;
+ const AVFilter *compand_filter;
+ const AVFilter *abuffer_filter;
+ const AVFilter *asplit_filter;
+ const AVFilter *aformat_filter;
+ const AVFilter *abuffersink_filter;
pthread_mutex_t drain_cond_mutex;
int drain_cond_mutex_inited;
@@ -186,7 +186,7 @@ static int audio_decode_frame(struct GroovePlaylist *p
if (!got_frame) {
// stop sending empty packets if the decoder is finished
- if (!pkt_temp->data && dec->codec->capabilities & CODEC_CAP_DELAY)
+ if (!pkt_temp->data && dec->codec->capabilities & AV_CODEC_CAP_DELAY)
return 0;
continue;
}
@@ -571,7 +571,7 @@ static int decode_one_frame(struct GroovePlaylist *pla
pthread_mutex_unlock(&f->seek_mutex);
if (f->eof) {
- if (f->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) {
+ if (f->audio_st->codec->codec->capabilities & AV_CODEC_CAP_DELAY) {
av_init_packet(pkt);
pkt->data = NULL;
pkt->size = 0;

View file

@ -1,52 +0,0 @@
Cast to correct types for chromaprint >= 1.4
--- groovefingerprinter/fingerprinter.c.orig 2015-05-26 01:32:01 UTC
+++ groovefingerprinter/fingerprinter.c
@@ -64,7 +64,11 @@ static int emit_track_info(struct Groove
return -1;
}
if (!chromaprint_get_raw_fingerprint(p->chroma_ctx,
+#if CHROMAPRINT_VERSION_MAJOR > 1 || CHROMAPRINT_VERSION_MINOR >= 4
+ (uint32_t**)&info->fingerprint, &info->fingerprint_size))
+#else
(void**)&info->fingerprint, &info->fingerprint_size))
+#endif
{
av_log(NULL, AV_LOG_ERROR, "unable to get fingerprint\n");
return -1;
@@ -141,7 +145,11 @@ static void *print_thread(void *arg) {
double buffer_duration = buffer->frame_count / (double)buffer->format.sample_rate;
p->track_duration += buffer_duration;
p->album_duration += buffer_duration;
+#if CHROMAPRINT_VERSION_MAJOR > 1 || CHROMAPRINT_VERSION_MINOR >= 4
+ if (!chromaprint_feed(p->chroma_ctx, (const int16_t*)buffer->data[0], buffer->frame_count * 2)) {
+#else
if (!chromaprint_feed(p->chroma_ctx, buffer->data[0], buffer->frame_count * 2)) {
+#endif
av_log(NULL, AV_LOG_ERROR, "unable to feed fingerprint\n");
}
@@ -387,7 +395,11 @@ void groove_fingerprinter_free_info(stru
int groove_fingerprinter_encode(int32_t *fp, int size, char **encoded_fp) {
int encoded_size;
+#if CHROMAPRINT_VERSION_MAJOR > 1 || CHROMAPRINT_VERSION_MINOR >= 4
+ int err = chromaprint_encode_fingerprint((const uint32_t*)fp, size,
+#else
int err = chromaprint_encode_fingerprint(fp, size,
+#endif
CHROMAPRINT_ALGORITHM_DEFAULT, (void*)encoded_fp, &encoded_size, 1);
return err == 1 ? 0 : -1;
}
@@ -395,7 +407,11 @@ int groove_fingerprinter_encode(int32_t
int groove_fingerprinter_decode(char *encoded_fp, int32_t **fp, int *size) {
int algorithm;
int encoded_size = strlen(encoded_fp);
+#if CHROMAPRINT_VERSION_MAJOR > 1 || CHROMAPRINT_VERSION_MINOR >= 4
+ int err = chromaprint_decode_fingerprint(encoded_fp, encoded_size, (uint32_t**)fp, size,
+#else
int err = chromaprint_decode_fingerprint(encoded_fp, encoded_size, (void**)fp, size,
+#endif
&algorithm, 1);
return err == 1 ? 0 : -1;
}

View file

@ -1,5 +0,0 @@
This library provides decoding and encoding of audio on a playlist. It is
intended to be used as a backend for music player applications. That said,
it is also generic enough to be used as a backend for any streaming audio
processing utility. It provides decoding, encoding, resampling, and gain
adjustment.

View file

@ -1,22 +0,0 @@
include/groove/encoder.h
include/groove/groove.h
include/groove/queue.h
include/groovefingerprinter/fingerprinter.h
include/grooveloudness/loudness.h
include/grooveplayer/player.h
lib/libgroove.a
lib/libgroove.so
lib/libgroove.so.%%VER1%%
lib/libgroove.so.%%VER3%%
lib/libgroovefingerprinter.a
lib/libgroovefingerprinter.so
lib/libgroovefingerprinter.so.%%VER1%%
lib/libgroovefingerprinter.so.%%VER3%%
lib/libgrooveloudness.a
lib/libgrooveloudness.so
lib/libgrooveloudness.so.%%VER1%%
lib/libgrooveloudness.so.%%VER3%%
lib/libgrooveplayer.a
lib/libgrooveplayer.so
lib/libgrooveplayer.so.%%VER1%%
lib/libgrooveplayer.so.%%VER3%%