summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multimedia/Makefile1
-rw-r--r--multimedia/mpv/Makefile2
-rw-r--r--multimedia/mpv034/Makefile220
-rw-r--r--multimedia/mpv034/distinfo21
-rw-r--r--multimedia/mpv034/files/patch-libmpv_mpv.def15
-rw-r--r--multimedia/mpv034/pkg-descr5
-rw-r--r--multimedia/mpv034/pkg-plist26
7 files changed, 290 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 133aeb209116..e99ae08d64d0 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -244,6 +244,7 @@
SUBDIR += mplex
SUBDIR += mpv
SUBDIR += mpv-mpris
+ SUBDIR += mpv034
SUBDIR += mpvpaper
SUBDIR += msdl
SUBDIR += msopenh264
diff --git a/multimedia/mpv/Makefile b/multimedia/mpv/Makefile
index 2ad311ddb982..f0da9faf5c21 100644
--- a/multimedia/mpv/Makefile
+++ b/multimedia/mpv/Makefile
@@ -51,6 +51,8 @@ CONFIGURE_ARGS= --docdir="${EXAMPLESDIR}" \
--disable-vapoursynth \
--enable-libmpv-shared
+CONFLICTS_INSTALL= ${PORTNAME}034
+
OPTIONS_DEFINE= ARCHIVE DOCS LCMS2 MANPAGES MUJS TEST UCHARDET EXAMPLES ZIMG
OPTIONS_DEFAULT= ARCHIVE DVDNAV LUA MANPAGES NVDEC OPENGL UCHARDET \
V4L VAAPI VDPAU VULKAN WAYLAND X11 YTDLP
diff --git a/multimedia/mpv034/Makefile b/multimedia/mpv034/Makefile
new file mode 100644
index 000000000000..0902a5dc636f
--- /dev/null
+++ b/multimedia/mpv034/Makefile
@@ -0,0 +1,220 @@
+PORTNAME= mpv
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.34.1
+CATEGORIES= multimedia audio wayland
+MASTER_SITES= https://waf.io/:waf
+PKGNAMESUFFIX= 034
+DISTFILES= ${WAF_RELEASE}${EXTRACT_SUFX}:waf
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= b030cfe05f58.patch:-p1 # https://github.com/mpv-player/mpv/pull/9440
+PATCHFILES+= edf0039d7621.patch:-p1 # https://github.com/mpv-player/mpv/pull/9298
+PATCHFILES+= 5319731526fb.patch:-p1 # https://github.com/mpv-player/mpv/pull/9298
+PATCHFILES+= 82390d212123.patch:-p1 # https://github.com/mpv-player/mpv/pull/9587
+PATCHFILES+= 22b0bac28e6c.patch:-p1 # https://github.com/mpv-player/mpv/pull/9587
+PATCHFILES+= b7a71ea70671.patch:-p1 # https://github.com/mpv-player/mpv/pull/9734
+PATCHFILES+= 09343bc86e8b.patch:-p1 # https://github.com/mpv-player/mpv/pull/9734
+PATCHFILES+= bc9805c71a67.patch:-p1 # https://github.com/mpv-player/mpv/pull/9830
+
+MAINTAINER= multimedia@FreeBSD.org
+COMMENT= Free and open-source general-purpose video player
+WWW= https://mpv.io
+
+LICENSE= GPLv2+ LGPL21+
+LICENSE_COMB= multi
+
+BUILD_DEPENDS= ffmpeg>=4.0.2,1:multimedia/ffmpeg
+LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
+ libass.so:multimedia/libass
+
+USES= compiler:c11 cpe desktop-file-utils iconv jpeg localbase:ldflags \
+ pkgconfig python:build tar:bz2 waf
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= mpv-player
+
+# Keep in sync with bootstrap.py to avoid regressions
+WAF_CMD= ${WRKDIR}/${WAF_RELEASE}/waf-light
+WAF_RELEASE= waf-2.0.20
+
+CONFIGURE_ENV= BIN_PYTHON="${PYTHON_CMD}"
+CONFIGURE_ARGS= --docdir="${EXAMPLESDIR}" \
+ --htmldir="${DOCSDIR}/html" \
+ --mandir="${MANPREFIX}/man" \
+ --disable-debug-build \
+ --disable-optimize \
+ --disable-pdf \
+ --disable-rubberband \
+ --disable-shaderc \
+ --disable-vapoursynth \
+ --enable-libmpv-shared
+
+CONFLICTS_INSTALL= ${PORTNAME}
+PORTSCOUT= limit:^0\.34
+
+OPTIONS_DEFINE= ARCHIVE DOCS LCMS2 MANPAGES MUJS TEST UCHARDET EXAMPLES ZIMG
+OPTIONS_DEFAULT= ARCHIVE DVDNAV LUA MANPAGES NVDEC OPENGL UCHARDET \
+ V4L VAAPI VDPAU VULKAN WAYLAND X11 YTDLP
+OPTIONS_GROUP= IN VO AO
+OPTIONS_GROUP_IN= CDIO DVDNAV LIBBLURAY V4L
+OPTIONS_GROUP_VO= CACA NVDEC OPENGL SIXEL VAAPI VDPAU VULKAN WAYLAND X11
+OPTIONS_GROUP_AO= ALSA JACK OPENAL PIPEWIRE PULSEAUDIO SDL SNDIO
+OPTIONS_RADIO= YOUTUBE
+OPTIONS_RADIO_YOUTUBE= YTDL YTDLP
+OPTIONS_SINGLE= LUA
+OPTIONS_SINGLE_LUA= LUA LUAJIT LUA_NONE
+OPTIONS_SUB= yes
+
+DVDNAV_DESC= DVD menu navigation
+LUA_NONE_DESC= Disable Lua scripting language support
+LUAJIT_DESC= Use LuaJIT instead of Lua scripting language support
+MUJS_DESC= Use MuJS for Javascript language support
+NVDEC_DESC= NVIDIA decoder with CUDA support
+PIPEWIRE_DESC= Pipewire sound server support
+SIXEL_DESC= Sixel graphics support
+UCHARDET_DESC= Guess subtitle encoding via uchardet
+VULKAN_DESC= Vulkan output support
+YTDLP_DESC= Install yt-dlp (youtube-dl fork)
+YTDL_DESC= Install youtube-dl
+ZIMG_DESC= High quality software scaling via "z" library
+IN_DESC= Input
+VO_DESC= Video Output
+AO_DESC= Audio Output
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CONFIGURE_OFF= --disable-alsa
+
+ARCHIVE_USES= libarchive
+ARCHIVE_CONFIGURE_ON= --enable-libarchive
+
+CACA_LIB_DEPENDS= libcaca.so:graphics/libcaca
+CACA_CONFIGURE_OFF= --disable-caca
+
+CDIO_LIB_DEPENDS= libcdio_paranoia.so:sysutils/libcdio-paranoia
+CDIO_CONFIGURE_ON= --enable-cdda
+
+DOCS_BUILD_DEPENDS= rst2html:textproc/py-docutils
+DOCS_CONFIGURE_ON= --enable-html
+
+DVDNAV_LIB_DEPENDS= libdvdnav.so:multimedia/libdvdnav \
+ libdvdread.so:multimedia/libdvdread
+DVDNAV_CONFIGURE_ON= --enable-dvdnav
+
+JACK_LIB_DEPENDS= libjack.so:audio/jack
+JACK_CONFIGURE_OFF= --disable-jack
+
+LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2
+LCMS2_CONFIGURE_OFF= --disable-lcms2
+
+LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
+LIBBLURAY_CONFIGURE_ON= --enable-libbluray
+LIBBLURAY_CONFIGURE_OFF= --disable-libbluray
+
+LUA_USES= lua:51-52
+LUA_CONFIGURE_ON= --lua=${LUA_VER_STR}fbsd
+
+LUAJIT_USES= luajit
+LUAJIT_CONFIGURE_ON= --lua=luajit
+
+LUA_NONE_CONFIGURE_ON= --disable-lua
+
+MANPAGES_BUILD_DEPENDS= rst2man:textproc/py-docutils
+MANPAGES_CONFIGURE_OFF= --disable-manpage
+
+MUJS_LIB_DEPENDS= libmujs.so:lang/mujs
+MUJS_CONFIGURE_ON= --enable-javascript
+MUJS_CONFIGURE_OFF= --disable-javascript
+
+NVDEC_BUILD_DEPENDS= ${LOCALBASE}/include/ffnvcodec/dynlink_loader.h:multimedia/ffnvcodec-headers
+NVDEC_CONFIGURE_OFF= --disable-cuda-hwaccel
+
+OPENAL_CONFIGURE_ENABLE= openal
+OPENAL_USES= openal
+OPENAL_LDFLAGS= ${_OPENAL_LDFLAGS_${ARCH}}
+_OPENAL_LDFLAGS_i386= -Wl,-znotext
+
+OPENGL_USES= gl
+OPENGL_USE= GL=egl,gbm
+OPENGL_CONFIGURE_OFF= --disable-gl
+
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_CONFIGURE_OFF= --disable-pipewire
+
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
+
+SDL_USES= sdl
+SDL_USE= SDL=sdl2
+SDL_CONFIGURE_ON= --enable-sdl2
+
+SIXEL_LIB_DEPENDS= libsixel.so:graphics/libsixel
+SIXEL_CONFIGURE_OFF= --disable-sixel
+
+SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
+SNDIO_CONFIGURE_ON= --enable-sndio
+SNDIO_CONFIGURE_OFF= --disable-sndio
+
+TEST_CONFIGURE_ON= --enable-tests
+
+UCHARDET_LIB_DEPENDS= libuchardet.so:textproc/uchardet
+UCHARDET_CONFIGURE_OFF= --disable-uchardet
+
+V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/dvb/dmx.h:multimedia/v4l_compat
+V4L_CONFIGURE_ON= --enable-dvbin
+
+VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
+VAAPI_CONFIGURE_OFF= --disable-vaapi
+
+VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
+VDPAU_CONFIGURE_OFF= --disable-vdpau
+
+VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
+VULKAN_LIB_DEPENDS= libplacebo.so:graphics/libplacebo \
+ libvulkan.so:graphics/vulkan-loader
+VULKAN_CONFIGURE_OFF= --disable-vulkan --disable-libplacebo
+
+WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.15:graphics/wayland-protocols \
+ ${LOCALBASE}/include/linux/input-event-codes.h:devel/evdev-proto
+WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
+ libwayland-cursor.so:graphics/wayland \
+ libxkbcommon.so:x11/libxkbcommon
+WAYLAND_CONFIGURE_OFF= --disable-wayland
+WAYLAND_IMPLIES= OPENGL
+
+X11_USES= gnome xorg
+X11_USE= XORG=x11,xext,xinerama,xorgproto,xrandr,xscrnsaver,xv,xxf86vm
+X11_CONFIGURE_OFF= --disable-x11
+
+YTDLP_RUN_DEPENDS= yt-dlp:www/yt-dlp
+
+YTDL_RUN_DEPENDS= youtube-dl:www/youtube_dl
+
+ZIMG_LIB_DEPENDS= libzimg.so:graphics/sekrit-twc-zimg
+ZIMG_CONFIGURE_OFF= --disable-zimg
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MVAAPI} && ${PORT_OPTIONS:MWAYLAND}
+CONFIGURE_ARGS+= --enable-vaapi-wayland
+LIB_DEPENDS+= libva-wayland.so:multimedia/libva
+.else
+CONFIGURE_ARGS+= --disable-vaapi-wayland
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/pkgconfig/mpv.pc|data/pkgconfig/mpv.pc|g' \
+ ${WRKSRC}/wscript_build.py
+
+post-patch-MANPAGES-on:
+ @${FIND} ${WRKSRC}/DOCS/man -name '*.rst' | ${XARGS} ${REINPLACE_CMD} \
+ -e 's|/usr/local|${PREFIX}|g'
+
+pre-install-TEST-on:
+ @(cd ${WRKSRC} && ${SETENV} ${TEST_ENV} build/mpv --unittest=all-simple)
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mpv
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmpv.so
+
+.include <bsd.port.mk>
diff --git a/multimedia/mpv034/distinfo b/multimedia/mpv034/distinfo
new file mode 100644
index 000000000000..7ef6c96d685f
--- /dev/null
+++ b/multimedia/mpv034/distinfo
@@ -0,0 +1,21 @@
+TIMESTAMP = 1641246801
+SHA256 (waf-2.0.20.tar.bz2) = cce635c2d1a0f93b4f5b811e0452a35b8066e8ccd78632447f5be24c4c3f1a63
+SIZE (waf-2.0.20.tar.bz2) = 682619
+SHA256 (mpv-player-mpv-v0.34.1_GH0.tar.gz) = 32ded8c13b6398310fa27767378193dc1db6d78b006b70dbcbd3123a1445e746
+SIZE (mpv-player-mpv-v0.34.1_GH0.tar.gz) = 3288356
+SHA256 (b030cfe05f58.patch) = df7590e1d27e8e6c0e326781723ee87ef7c3fdf5a88438c8c29bb729a911ff74
+SIZE (b030cfe05f58.patch) = 5270
+SHA256 (edf0039d7621.patch) = 8c7e75d9e2a0ae2622fd23df8121d756fc919f7f9733edd7c59c2cc1900a3507
+SIZE (edf0039d7621.patch) = 12278
+SHA256 (5319731526fb.patch) = 29364fa31f184a5f6d59bbcceea0a7c9269ca4af08a34f93eccd283254709a68
+SIZE (5319731526fb.patch) = 6629
+SHA256 (82390d212123.patch) = b47dca6672ff2b03ee694a326978d592756fb83f23b90dd7bb8ddf7d87b3b445
+SIZE (82390d212123.patch) = 17920
+SHA256 (22b0bac28e6c.patch) = 12c49edd4e0a33130275f26703c14e013e46f316dd2b39b8e606fdc3ef60b01f
+SIZE (22b0bac28e6c.patch) = 1726
+SHA256 (b7a71ea70671.patch) = 0a4f1e8fc0f2d482fb8b919b50a30c4852af473b79da3dca34157a4f51eb6e94
+SIZE (b7a71ea70671.patch) = 8174
+SHA256 (09343bc86e8b.patch) = 2516860fba5492aaa76b44ea15d32b39d4326ca5fe8611803ed845b38b7cca70
+SIZE (09343bc86e8b.patch) = 1389
+SHA256 (bc9805c71a67.patch) = 7988418e51537391c34b415f2a629e064716bd49835af5ca660966ddcbe5a49b
+SIZE (bc9805c71a67.patch) = 1909
diff --git a/multimedia/mpv034/files/patch-libmpv_mpv.def b/multimedia/mpv034/files/patch-libmpv_mpv.def
new file mode 100644
index 000000000000..cc952d3dc4e3
--- /dev/null
+++ b/multimedia/mpv034/files/patch-libmpv_mpv.def
@@ -0,0 +1,15 @@
+--- libmpv/mpv.def.orig 2017-12-25 20:44:17 UTC
++++ libmpv/mpv.def
+@@ -1,3 +1,5 @@
++__progname
++environ
+ mpv_client_api_version
+ mpv_client_name
+ mpv_command
+@@ -43,4 +45,4 @@ mpv_terminate_destroy
+ mpv_unobserve_property
+ mpv_wait_async_requests
+ mpv_wait_event
+-mpv_wakeup
+\ No newline at end of file
++mpv_wakeup
diff --git a/multimedia/mpv034/pkg-descr b/multimedia/mpv034/pkg-descr
new file mode 100644
index 000000000000..b069ed8a5b43
--- /dev/null
+++ b/multimedia/mpv034/pkg-descr
@@ -0,0 +1,5 @@
+Mpv is based on the MPlayer and mplayer2 projects which it greatly improves.
+It supports a wide variety of video file formats, audio and video codecs, and
+subtitle types. Special input URL types are available to read input from
+a variety of sources other than disk files. Depending on platform, a variety of
+different video and audio output methods are supported.
diff --git a/multimedia/mpv034/pkg-plist b/multimedia/mpv034/pkg-plist
new file mode 100644
index 000000000000..7d8ff1f18df1
--- /dev/null
+++ b/multimedia/mpv034/pkg-plist
@@ -0,0 +1,26 @@
+bin/mpv
+%%ETCDIR%%/encoding-profiles.conf
+include/mpv/client.h
+include/mpv/opengl_cb.h
+include/mpv/render.h
+include/mpv/render_gl.h
+include/mpv/stream_cb.h
+lib/libmpv.so
+lib/libmpv.so.1
+lib/libmpv.so.1.109.0
+libdata/pkgconfig/mpv.pc
+%%MANPAGES%%man/man1/mpv.1.gz
+share/applications/mpv.desktop
+share/bash-completion/completions/mpv
+share/icons/hicolor/128x128/apps/mpv.png
+share/icons/hicolor/16x16/apps/mpv.png
+share/icons/hicolor/32x32/apps/mpv.png
+share/icons/hicolor/64x64/apps/mpv.png
+share/icons/hicolor/scalable/apps/mpv.svg
+share/icons/hicolor/symbolic/apps/mpv-symbolic.svg
+%%PORTDOCS%%%%DOCSDIR%%/html/mpv.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/input.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mplayer-input.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mpv.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/restore-old-bindings.conf
+share/zsh/site-functions/_mpv