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:
parent
964537f690
commit
f544a9de7c
9 changed files with 1 additions and 221 deletions
1
MOVED
1
MOVED
|
@ -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
|
||||
|
|
|
@ -364,7 +364,6 @@
|
|||
SUBDIR += libgig
|
||||
SUBDIR += libgme
|
||||
SUBDIR += libgpod
|
||||
SUBDIR += libgroove
|
||||
SUBDIR += libid3tag
|
||||
SUBDIR += libinstpatch
|
||||
SUBDIR += libkcddb
|
||||
|
|
|
@ -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>
|
|
@ -1,2 +0,0 @@
|
|||
SHA256 (andrewrk-libgroove-4.3.0_GH0.tar.gz) = 76f68896f078a9613d420339ef887ca8293884ad2cd0fbc031d89a6af2993636
|
||||
SIZE (andrewrk-libgroove-4.3.0_GH0.tar.gz) = 48857
|
|
@ -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)
|
|
@ -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;
|
|
@ -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;
|
||||
}
|
|
@ -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.
|
|
@ -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%%
|
Loading…
Reference in a new issue