FreeBSD Bugzilla – Attachment 254585 Details for
Bug 282188
[NEW PORT] multimedia/ffmpeg3 (legacy ffmpeg as a dependency for emulators/ppsspp)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated patch - disables nasm, binutils, and other unnecessary build deps
0001-Proposed-new-port-multimedia-ffmpeg3.patch (text/plain), 12.78 KB, created by
Kevin Reinholz
on 2024-10-27 23:41:49 UTC
(
hide
)
Description:
Updated patch - disables nasm, binutils, and other unnecessary build deps
Filename:
MIME Type:
Creator:
Kevin Reinholz
Created:
2024-10-27 23:41:49 UTC
Size:
12.78 KB
patch
obsolete
>From 3c015edcf87b14c4d040ed09e9eaebd54b2fb249 Mon Sep 17 00:00:00 2001 >From: Kevin Reinholz <kreinholz@gmail.com> >Date: Sun, 27 Oct 2024 16:25:43 -0700 >Subject: [PATCH] Proposed new port: multimedia/ffmpeg3. Builds libs and > headers required by emulators/ppsspp and installs them to > ${LOCALBASE}/${PKGBASE} (/usr/local/ffmpeg3 by default) to avoid conflict > with multimedia/ffmpeg and multimedia/ffmpeg4. Does not install programs and > has only the following build dependencies: gmake, pkgconf, and perl5. > >--- > multimedia/Makefile | 1 + > multimedia/ffmpeg3/Makefile | 94 ++++++++++++++ > multimedia/ffmpeg3/distinfo | 9 ++ > multimedia/ffmpeg3/files/patch-configure | 17 +++ > .../ffmpeg3/files/patch-libavformat_rtsp.c | 44 +++++++ > .../ffmpeg3/files/patch-libavutil_common.h | 13 ++ > multimedia/ffmpeg3/override.mk | 8 ++ > multimedia/ffmpeg3/pkg-descr | 3 + > multimedia/ffmpeg3/pkg-plist | 116 ++++++++++++++++++ > 9 files changed, 305 insertions(+) > create mode 100644 multimedia/ffmpeg3/Makefile > create mode 100644 multimedia/ffmpeg3/distinfo > create mode 100644 multimedia/ffmpeg3/files/patch-configure > create mode 100644 multimedia/ffmpeg3/files/patch-libavformat_rtsp.c > create mode 100644 multimedia/ffmpeg3/files/patch-libavutil_common.h > create mode 100644 multimedia/ffmpeg3/override.mk > create mode 100644 multimedia/ffmpeg3/pkg-descr > create mode 100644 multimedia/ffmpeg3/pkg-plist > >diff --git a/multimedia/Makefile b/multimedia/Makefile >index 817ce6aa1..e5ec2880b 100644 >--- a/multimedia/Makefile >+++ b/multimedia/Makefile >@@ -57,6 +57,7 @@ > SUBDIR += ffaudioconverter > SUBDIR += ffdec > SUBDIR += ffmpeg >+ SUBDIR += ffmpeg3 > SUBDIR += ffmpeg4 > SUBDIR += ffmpegthumbnailer > SUBDIR += ffms2 >diff --git a/multimedia/ffmpeg3/Makefile b/multimedia/ffmpeg3/Makefile >new file mode 100644 >index 000000000..8031616da >--- /dev/null >+++ b/multimedia/ffmpeg3/Makefile >@@ -0,0 +1,94 @@ >+PORTNAME= ffmpeg >+PORTVERSION= 3.0.2 >+CATEGORIES= multimedia audio net >+MASTER_SITES= https://ffmpeg.org/releases/ >+PKGNAMESUFFIX= 3 >+ >+MAINTAINER= kreinholz@gmail.com >+COMMENT= Realtime audio/video encoder/converter and streaming server (legacy 3.* series) >+WWW= https://ffmpeg.org/ >+ >+LICENSE= GPLv2+ LGPL21+ >+LICENSE_COMB= multi >+ >+HAS_CONFIGURE= yes >+CONFIGURE_LOG= ffbuild/config.log >+USES= compiler:c11 cpe gmake localbase:ldflags perl5 \ >+ pkgconfig shebangfix tar:xz >+USE_LDCONFIG= yes >+USE_PERL5= build >+SHEBANG_FILES= doc/texi2pod.pl >+NOPRECIOUSMAKEVARS= yes # ARCH >+ >+.ifdef PKGNAMESUFFIX >+PORTSCOUT= limit:^3\. >+PREFIX= ${LOCALBASE}/${PKGBASE} # avoid conflict with the default >+.endif >+ >+OPTIONS_DEFINE= OPTIMIZED_CFLAGS RTCP >+ >+OPTIONS_DEFAULT= OPTIMIZED_CFLAGS RTCPU >+ >+OPTIONS_DEFAULT_amd64= LTO >+ >+# i386 is too register-starved for LTO (PR257124) >+OPTIONS_EXCLUDE_i386= LTO >+ >+RTCPU_DESC= Detect CPU capabilities at runtime >+ >+OPTIONS_SUB= yes >+ >+# debugging >+DEBUG_CONFIGURE_ON= --disable-stripping >+DEBUG_CONFIGURE_OFF= --disable-debug >+ >+# lto >+LTO_CONFIGURE_ENABLE= lto >+ >+# optimizations >+OPTIMIZED_CFLAGS_CONFIGURE_ENABLE= optimizations >+ >+# rtcpu >+RTCPU_CONFIGURE_ENABLE= runtime-cpudetect >+ >+INSTALL_TARGET= install-data install-libs install-headers >+ >+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} >+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX} >+MAKE_ENV+= V=1 >+LDFLAGS_aarch64=-Wl,-z,notext >+LDFLAGS_armv6= -Wl,-z,notext >+LDFLAGS_armv7= -Wl,-z,notext >+LDFLAGS_i386= -Wl,-z,notext >+LDFLAGS+= -Wl,--undefined-version >+ >+CONFIGURE_ARGS+=--prefix="${PREFIX}" \ >+ --mandir="${PREFIX}/share/man" \ >+ --datadir="${DATADIR}" \ >+ --docdir="${DOCSDIR}" \ >+ --pkgconfigdir="${PREFIX}/libdata/pkgconfig" \ >+ --disable-static \ >+ --disable-libcelt \ >+ --enable-shared \ >+ --enable-pic \ >+ --enable-gpl \ >+ --disable-avresample \ >+ --cc="${CC}" \ >+ --cxx="${CXX}" \ >+ --disable-avdevice \ >+ --disable-filters \ >+ --disable-programs \ >+ --disable-network \ >+ --disable-avfilter \ >+ --disable-postproc \ >+ --disable-doc \ >+ --disable-ffplay \ >+ --disable-ffprobe \ >+ --disable-ffserver \ >+ --disable-sdl \ >+ --disable-asm \ >+ --disable-iconv \ >+ --disable-vaapi >+ >+.include <bsd.port.options.mk> >+.include <bsd.port.mk> >diff --git a/multimedia/ffmpeg3/distinfo b/multimedia/ffmpeg3/distinfo >new file mode 100644 >index 000000000..f56e182ba >--- /dev/null >+++ b/multimedia/ffmpeg3/distinfo >@@ -0,0 +1,9 @@ >+TIMESTAMP = 1715790196 >+SHA256 (ffmpeg-3.0.2.tar.xz) = 82943cc7b0c4d14b612404de0dd7b24cd8ca3511d51e4fd3ae36b2d71bb95223 >+SIZE (ffmpeg-3.0.2.tar.xz) = 7461808 >+SHA256 (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 376ea23e9d876390fbca936c80cb437bb9daa6232ff65df0ea91673e18b739ff >+SIZE (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 24259 >+SHA256 (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = d16589efc4be2602a9f436e9938cfee0cc7b5ccd7a4a6b41c0c9a59ae0859fda >+SIZE (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = 5336 >+SHA256 (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = b7d722dfce20b73e9d5c73d55ffe041bbdc92a3c4a5c5d766b6b3040671b4052 >+SIZE (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = 33497 >diff --git a/multimedia/ffmpeg3/files/patch-configure b/multimedia/ffmpeg3/files/patch-configure >new file mode 100644 >index 000000000..dc52cf1ac >--- /dev/null >+++ b/multimedia/ffmpeg3/files/patch-configure >@@ -0,0 +1,17 @@ >+--- configure.orig 2024-05-15 16:58:49 UTC >++++ configure >+@@ -3024,13 +3024,7 @@ host_os=$target_os_default >+ target_os_default=$(tolower $(uname -s)) >+ host_os=$target_os_default >+ >+-# machine >+-if test "$target_os_default" = aix; then >+- arch_default=$(uname -p) >+- strip_default="strip -X32_64" >+-else >+- arch_default=$(uname -m) >+-fi >++arch_default=$(uname -p) >+ cpu="generic" >+ intrinsics="none" >+ >diff --git a/multimedia/ffmpeg3/files/patch-libavformat_rtsp.c b/multimedia/ffmpeg3/files/patch-libavformat_rtsp.c >new file mode 100644 >index 000000000..ba9e13d5b >--- /dev/null >+++ b/multimedia/ffmpeg3/files/patch-libavformat_rtsp.c >@@ -0,0 +1,44 @@ >+--- libavformat/rtsp.c.orig 2024-05-15 16:46:06 UTC >++++ libavformat/rtsp.c >+@@ -1607,7 +1607,12 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, con >+ } >+ if (ttl > 0) >+ snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl); >+- getnameinfo((struct sockaddr*) &addr, sizeof(addr), >++ getnameinfo((struct sockaddr*) &addr, >++#if HAVE_STRUCT_SOCKADDR_SA_LEN >++ ((struct sockaddr*) &addr)->sa_len, >++#else >++ sizeof(addr), >++#endif >+ namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST); >+ ff_url_join(url, sizeof(url), "rtp", NULL, namebuf, >+ port, "%s", optbuf); >+@@ -1815,8 +1820,13 @@ redirect: >+ goto fail; >+ } >+ if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) { >+- getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host), >+- NULL, 0, NI_NUMERICHOST); >++ getnameinfo((struct sockaddr*) &peer, >++#if HAVE_STRUCT_SOCKADDR_SA_LEN >++ ((struct sockaddr*) &peer)->sa_len, >++#else >++ peer_len, >++#endif >++ host, sizeof(host), NULL, 0, NI_NUMERICHOST); >+ } >+ >+ /* request options supported by the server; this also detects server >+@@ -2295,7 +2305,11 @@ static int sdp_read_header(AVFormatContext *s) >+ AVDictionary *opts = map_to_opts(rt); >+ >+ err = getnameinfo((struct sockaddr*) &rtsp_st->sdp_ip, >++#if HAVE_STRUCT_SOCKADDR_SA_LEN >++ ((struct sockaddr*) &rtsp_st->sdp_ip)->sa_len, >++#else >+ sizeof(rtsp_st->sdp_ip), >++#endif >+ namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST); >+ if (err) { >+ av_log(s, AV_LOG_ERROR, "getnameinfo: %s\n", gai_strerror(err)); >diff --git a/multimedia/ffmpeg3/files/patch-libavutil_common.h b/multimedia/ffmpeg3/files/patch-libavutil_common.h >new file mode 100644 >index 000000000..d1f70b663 >--- /dev/null >+++ b/multimedia/ffmpeg3/files/patch-libavutil_common.h >@@ -0,0 +1,13 @@ >+--- libavutil/common.h.orig 2024-05-15 16:55:52 UTC >++++ libavutil/common.h >+@@ -50,6 +50,10 @@ >+ # define AV_NE(be, le) (le) >+ #endif >+ >++#ifndef UINT64_C >++#define UINT64_C(c) (c ## UL) >++#endif >++ >+ //rounded division & shift >+ #define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b)) >+ /* assume b>0 */ >diff --git a/multimedia/ffmpeg3/override.mk b/multimedia/ffmpeg3/override.mk >new file mode 100644 >index 000000000..2141b02b8 >--- /dev/null >+++ b/multimedia/ffmpeg3/override.mk >@@ -0,0 +1,8 @@ >+FF_SUFFIX= 3 >+ >+BUILD_DEPENDS:= ${BUILD_DEPENDS:S/ffmpeg/&${FF_SUFFIX}/g} >+LIB_DEPENDS:= ${LIB_DEPENDS:S/ffmpeg$/&${FF_SUFFIX}/} >+ >+USES+= localbase # -isystem >+CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg${FF_SUFFIX}/libdata/pkgconfig" >+MAKE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg${FF_SUFFIX}/libdata/pkgconfig" >diff --git a/multimedia/ffmpeg3/pkg-descr b/multimedia/ffmpeg3/pkg-descr >new file mode 100644 >index 000000000..e8c52c22f >--- /dev/null >+++ b/multimedia/ffmpeg3/pkg-descr >@@ -0,0 +1,3 @@ >+FFmpeg is a complete, cross-platform solution to record, convert and stream >+audio and video. It includes libavcodec - the leading audio/video codec >+library. This is a custom build of FFmpeg-3.0.2, a legacy version released in 2016, intended for use with PPSSPP. >diff --git a/multimedia/ffmpeg3/pkg-plist b/multimedia/ffmpeg3/pkg-plist >new file mode 100644 >index 000000000..e762863b4 >--- /dev/null >+++ b/multimedia/ffmpeg3/pkg-plist >@@ -0,0 +1,116 @@ >+include/libavcodec/avcodec.h >+include/libavcodec/avdct.h >+include/libavcodec/avfft.h >+include/libavcodec/d3d11va.h >+include/libavcodec/dirac.h >+include/libavcodec/dv_profile.h >+include/libavcodec/dxva2.h >+include/libavcodec/qsv.h >+include/libavcodec/vaapi.h >+include/libavcodec/vda.h >+include/libavcodec/vdpau.h >+include/libavcodec/version.h >+include/libavcodec/videotoolbox.h >+include/libavcodec/vorbis_parser.h >+include/libavcodec/xvmc.h >+include/libavformat/avformat.h >+include/libavformat/avio.h >+include/libavformat/version.h >+include/libavutil/adler32.h >+include/libavutil/aes.h >+include/libavutil/aes_ctr.h >+include/libavutil/attributes.h >+include/libavutil/audio_fifo.h >+include/libavutil/avassert.h >+include/libavutil/avconfig.h >+include/libavutil/avstring.h >+include/libavutil/avutil.h >+include/libavutil/base64.h >+include/libavutil/blowfish.h >+include/libavutil/bprint.h >+include/libavutil/bswap.h >+include/libavutil/buffer.h >+include/libavutil/camellia.h >+include/libavutil/cast5.h >+include/libavutil/channel_layout.h >+include/libavutil/common.h >+include/libavutil/cpu.h >+include/libavutil/crc.h >+include/libavutil/des.h >+include/libavutil/dict.h >+include/libavutil/display.h >+include/libavutil/downmix_info.h >+include/libavutil/error.h >+include/libavutil/eval.h >+include/libavutil/ffversion.h >+include/libavutil/fifo.h >+include/libavutil/file.h >+include/libavutil/frame.h >+include/libavutil/hash.h >+include/libavutil/hmac.h >+include/libavutil/imgutils.h >+include/libavutil/intfloat.h >+include/libavutil/intreadwrite.h >+include/libavutil/lfg.h >+include/libavutil/log.h >+include/libavutil/lzo.h >+include/libavutil/macros.h >+include/libavutil/mastering_display_metadata.h >+include/libavutil/mathematics.h >+include/libavutil/md5.h >+include/libavutil/mem.h >+include/libavutil/motion_vector.h >+include/libavutil/murmur3.h >+include/libavutil/opt.h >+include/libavutil/parseutils.h >+include/libavutil/pixdesc.h >+include/libavutil/pixelutils.h >+include/libavutil/pixfmt.h >+include/libavutil/random_seed.h >+include/libavutil/rational.h >+include/libavutil/rc4.h >+include/libavutil/replaygain.h >+include/libavutil/ripemd.h >+include/libavutil/samplefmt.h >+include/libavutil/sha.h >+include/libavutil/sha512.h >+include/libavutil/stereo3d.h >+include/libavutil/tea.h >+include/libavutil/threadmessage.h >+include/libavutil/time.h >+include/libavutil/timecode.h >+include/libavutil/timestamp.h >+include/libavutil/tree.h >+include/libavutil/twofish.h >+include/libavutil/version.h >+include/libavutil/xtea.h >+include/libswresample/swresample.h >+include/libswresample/version.h >+include/libswscale/swscale.h >+include/libswscale/version.h >+lib/libavcodec.so >+lib/libavcodec.so.57 >+lib/libavcodec.so.57.24.102 >+lib/libavformat.so >+lib/libavformat.so.57 >+lib/libavformat.so.57.25.100 >+lib/libavutil.so >+lib/libavutil.so.55 >+lib/libavutil.so.55.17.103 >+lib/libswresample.so >+lib/libswresample.so.2 >+lib/libswresample.so.2.0.101 >+lib/libswscale.so >+lib/libswscale.so.4 >+lib/libswscale.so.4.0.100 >+libdata/pkgconfig/libavcodec.pc >+libdata/pkgconfig/libavformat.pc >+libdata/pkgconfig/libavutil.pc >+libdata/pkgconfig/libswresample.pc >+libdata/pkgconfig/libswscale.pc >+%%DATADIR%%/ffprobe.xsd >+%%DATADIR%%/libvpx-1080p.ffpreset >+%%DATADIR%%/libvpx-1080p50_60.ffpreset >+%%DATADIR%%/libvpx-360p.ffpreset >+%%DATADIR%%/libvpx-720p.ffpreset >+%%DATADIR%%/libvpx-720p50_60.ffpreset >-- >2.47.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 282188
:
254346
|
254451
|
254498
|
254585
|
254601
|
254629
|
254630
|
255054