Thursday, December 01, 2022

Re: UPDATE: mpv

ping.

On 11/20/2022 9:00 PM, Brad Smith wrote:
> Convert the port over to using Meson and add zimg support while here.
>
>
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/multimedia/mpv/Makefile,v
> retrieving revision 1.85
> diff -u -p -u -p -r1.85 Makefile
> --- Makefile 20 Nov 2022 07:22:59 -0000 1.85
> +++ Makefile 21 Nov 2022 01:34:27 -0000
> @@ -3,7 +3,7 @@ COMMENT = movie player based on MPlayer
> GH_ACCOUNT = mpv-player
> GH_PROJECT = mpv
> GH_TAGNAME = v0.35.0
> -REVISION = 0
> +REVISION = 1
>
> SHARED_LIBS += mpv 1.0 # 2.0
>
> @@ -11,28 +11,22 @@ CATEGORIES = multimedia x11
>
> HOMEPAGE = https://mpv.io/
>
> -WAF = ${WRKSRC}/waf-2.0.24
> -MASTER_SITES0 = https://waf.io/
> -DISTFILES = ${GH_DISTFILE} ${WAF:T}:0
> -EXTRACT_ONLY = ${DISTNAME}${EXTRACT_SUFX}
> -
> # GPLv2+
> PERMIT_PACKAGE = Yes
>
> -WANTLIB += EGL GL SDL2 X11 X11-xcb Xau Xdmcp Xext Xfixes Xinerama Xpresent
> -WANTLIB += Xrandr Xrender Xss Xv Xxf86vm archive ass avcodec avdevice
> -WANTLIB += avfilter avformat avresample avutil bluray c cdio cdio_cdda
> -WANTLIB += cdio_paranoia drm dvdnav dvdread epoxy expat fontconfig
> -WANTLIB += freetype fribidi gbm glib-2.0 graphite2 harfbuzz iconv
> -WANTLIB += intl jpeg lcms2 ${MODLUA_WANTLIB} m pcre2-8 placebo postproc
> -WANTLIB += pthread sndio swresample swscale udfread xcb xcb-dri2
> -WANTLIB += xcb-glx xml2 z
> +WANTLIB += EGL SDL2 X11 Xext Xinerama Xpresent Xrandr Xss Xv archive
> +WANTLIB += ass avcodec avdevice avfilter avformat avutil bluray
> +WANTLIB += c cdio cdio_cdda cdio_paranoia dvdnav iconv jpeg lcms2
> +WANTLIB += ${MODLUA_WANTLIB} m placebo pthread sndio swresample
> +WANTLIB += swscale z zimg
>
> -MODULES = lang/lua \
> +MODULES = devel/meson \
> + lang/lua \
> lang/python
>
> COMPILER = base-clang ports-gcc
> COMPILER_LANGS = c
> +
> DEBUG_PACKAGES = ${BUILD_PACKAGES}
>
> BUILD_DEPENDS = audio/ladspa \
> @@ -43,10 +37,11 @@ LIB_DEPENDS = archivers/libarchive \
> audio/libcdio-paranoia \
> converters/libiconv \
> devel/sdl2 \
> - graphics/ffmpeg>=4.1.1 \
> + graphics/ffmpeg \
> graphics/jpeg \
> graphics/lcms2 \
> graphics/libplacebo \
> + graphics/zimg \
> multimedia/libass \
> multimedia/libbluray \
> multimedia/libdvdnav
> @@ -57,69 +52,84 @@ RUN_DEPENDS = devel/desktop-file-utils
> x11/gtk+3,-guic
>
> SEPARATE_BUILD = Yes
> -CONFIGURE_ARGS = --confloaddir=${SYSCONFDIR}/mpv \
> - --confdir=${LOCALBASE}/share/examples/mpv \
> - --mandir=${LOCALBASE}/man \
> - --docdir=${LOCALBASE}/share/examples/mpv \
> - --lua="${MODLUA_DEP_VERSION}obsd" \
> - --enable-cdda \
> - --enable-dvdnav \
> - --enable-libmpv-shared \
> - --enable-sdl2 \
> - --enable-sndio \
> - --disable-alsa \
> - --disable-caca \
> - --disable-cuda-hwaccel \
> - --disable-egl-drm \
> - --disable-gl-wayland \
> - --disable-jack \
> - --disable-rubberband \
> - --disable-openal \
> - --disable-optimize \
> - --disable-pipewire \
> - --disable-pulse \
> - --disable-sixel \
> - --disable-sdl2-audio \
> - --disable-uchardet \
> - --disable-vaapi \
> - --disable-vaapi-drm \
> - --disable-vaapi-x-egl \
> - --disable-vaapi-x11 \
> - --disable-vaapi-wayland \
> - --disable-vapoursynth \
> - --disable-vdpau \
> - --disable-vdpau-gl-x11 \
> - --disable-videotoolbox-gl \
> - --disable-vulkan \
> - --disable-wayland
> -
> -MAKE_ENV = CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
> - LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib" \
> - LIBmpv_VERSION=${LIBmpv_VERSION}
> -MAKE_FLAGS = -o "${WRKBUILD}" -t "${WRKSRC}" --destdir="${DESTDIR}"
> -
> -NO_TEST = Yes
> -
> -DO_WAF = cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MODPY_BIN} \
> - ${WAF} ${MAKE_FLAGS}
>
> -SUBST_VARS += LIBmpv_VERSION
> +CONFIGURE_ARGS = -Dlua=lua${MODLUA_DEP_VERSION} \
> + -Dcdda=enabled \
> + -Ddvdnav=enabled \
> + -Dlibmpv=true \
> + -Dsdl2=enabled \
> + -Dsndio=enabled \
> + -Dalsa=disabled \
> + -Dandroid-media-ndk=disabled \
> + -Daudiounit=disabled \
> + -Dcaca=disabled \
> + -Dcocoa=disabled \
> + -Dcoreaudio=disabled \
> + -Dcuda-hwaccel=disabled \
> + -Dcuda-interop=disabled \
> + -Dd3d9-hwaccel=disabled \
> + -Dd3d11=disabled \
> + -Dd3d-hwaccel=disabled \
> + -Ddirect3d=disabled \
> + -Degl-android=disabled \
> + -Degl-angle=disabled \
> + -Degl-angle-lib=disabled \
> + -Degl-angle-win32=disabled \
> + -Degl-drm=disabled \
> + -Degl-wayland=disabled \
> + -Dgl-cocoa=disabled \
> + -Dgl-dxinterop=disabled \
> + -Dgl-dxinterop-d3d9=disabled \
> + -Dgl-win32=disabled \
> + -Dios-gl=disabled \
> + -Djack=disabled \
> + -Djavascript=disabled \
> + -Dmacos-10-11-features=disabled \
> + -Dmacos-10-12-2-features=disabled \
> + -Dmacos-10-14-features=disabled \
> + -Dmacos-cocoa-cb=disabled \
> + -Dmacos-media-player=disabled \
> + -Dmacos-touchbar=disabled \
> + -Dopenal=disabled \
> + -Dopensles=disabled \
> + -Doss-audio=disabled \
> + -Dpipewire=disabled \
> + -Dpulse=disabled \
> + -Drpi-mmal=disabled \
> + -Drubberband=disabled \
> + -Dshaderc=disabled \
> + -Dsixel=disabled \
> + -Dswift-build=disabled \
> + -Dsdl2-audio=disabled \
> + -Dspirv-cross=disabled \
> + -Duchardet=disabled \
> + -Dvaapi=disabled \
> + -Dvaapi-drm=disabled \
> + -Dvaapi-x-egl=disabled \
> + -Dvaapi-x11=disabled \
> + -Dvaapi-wayland=disabled \
> + -Dvapoursynth=disabled \
> + -Dvdpau=disabled \
> + -Dvdpau-gl-x11=disabled \
> + -Dvideotoolbox-gl=disabled \
> + -Dvulkan=disabled \
> + -Dwayland=disabled \
> + -Dwin32-internal-pthreads=disabled \
> + -Dwasapi=disabled
>
> -post-patch:
> - cp ${DISTDIR}/${WAF:T} ${WAF}
> - ${SUBST_CMD} ${WRKSRC}/wscript_build.py
> +CFLAGS += -I${LOCALBASE}/include
> +LDFLAGS += -L${LOCALBASE}/lib
>
> -do-configure:
> - ${DO_WAF} configure ${CONFIGURE_ARGS}
> +MODMESON_CONFIGURE_ENV += LDFLAGS="${LDFLAGS}"
>
> -do-build:
> - ${DO_WAF} build -v
> +NO_TEST = Yes
>
> -do-install:
> - ${DO_WAF} install
> +post-install:
> + mv -f ${PREFIX}/share/doc/mpv ${PREFIX}/share/examples
> ${INSTALL_DATA} ${WRKDIST}/TOOLS/mpv_identify.sh \
> ${WRKDIST}/TOOLS/umpv ${PREFIX}/share/examples/mpv
> ${MODPY_BIN_ADJ} ${PREFIX}/share/examples/mpv/umpv
> + mv -f ${WRKINST}${SYSCONFDIR}/mpv/* ${PREFIX}/share/examples/mpv
> sed -Ei 's,(/dev/dvd|/dev/cdrom),/dev/rcd0c,g' ${PREFIX}/man/man1/mpv.1
>
> .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /home/cvs/ports/multimedia/mpv/distinfo,v
> retrieving revision 1.29
> diff -u -p -u -p -r1.29 distinfo
> --- distinfo 17 Nov 2022 06:46:46 -0000 1.29
> +++ distinfo 20 Nov 2022 06:33:55 -0000
> @@ -1,4 +1,2 @@
> SHA256 (mpv-0.35.0.tar.gz) = 3EEciZpkVIJQwUK/H6GqdSjxtDmKJMhrgWCTmZBJ7AA=
> -SHA256 (waf-2.0.24) = k5CbyoI6Z1+fQK98ZbJIh8OjwO/fQR/xl4uoJxlL3rA=
> SIZE (mpv-0.35.0.tar.gz) = 3365752
> -SIZE (waf-2.0.24) = 105408
> Index: patches/patch-meson_build
> ===================================================================
> RCS file: patches/patch-meson_build
> diff -N patches/patch-meson_build
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-meson_build 21 Nov 2022 01:18:17 -0000
> @@ -0,0 +1,30 @@
> +- meson: unbreak dl check on BSDs without libdl
> + 04f765da6fb407c7ebe1833403a6049e2c9df6ce
> +
> +Index: meson.build
> +--- meson.build.orig
> ++++ meson.build
> +@@ -327,7 +327,7 @@ endif
> + features += {'ta-leak-report': get_option('ta-leak-report')}
> +
> + libdl_dep = cc.find_library('dl', required: false)
> +-features += {'libdl': libdl_dep.found() and cc.has_function('dlopen', dependencies: libdl_dep, prefix: '#include <dlfcn.h>')}
> ++features += {'libdl': cc.has_function('dlopen', dependencies: libdl_dep, prefix: '#include <dlfcn.h>')}
> + if features['libdl']
> + dependencies += libdl_dep
> + endif
> +@@ -716,10 +716,11 @@ if features['sdl2-gamepad']
> + sources += files('input/sdl_gamepad.c')
> + endif
> +
> +-stdatomic = cc.find_library('atomic', required: get_option('stdatomic'))
> +-features += {'stdatomic': stdatomic.found()}
> ++stdatomic_dep = cc.find_library('atomic', required: false)
> ++features += {'stdatomic': cc.has_header_symbol('stdatomic.h', 'atomic_int', dependencies: stdatomic_dep,
> ++ required: get_option('stdatomic'))}
> + if features['stdatomic']
> +- dependencies += stdatomic
> ++ dependencies += stdatomic_dep
> + endif
> +
> + uchardet_opt = get_option('uchardet').require(
> Index: patches/patch-wscript_build_py
> ===================================================================
> RCS file: patches/patch-wscript_build_py
> diff -N patches/patch-wscript_build_py
> --- patches/patch-wscript_build_py 17 Nov 2022 06:46:46 -0000 1.5
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -Index: wscript_build.py
> ---- wscript_build.py.orig
> -+++ wscript_build.py
> -@@ -673,7 +673,7 @@ def build(ctx):
> - vre = '#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION\((.*), (.*)\)'
> - libmpv_header = ctx.path.find_node("libmpv/client.h").read()
> - major, minor = re.search(vre, libmpv_header).groups()
> -- libversion = major + '.' + minor + '.0'
> -+ libversion = '${LIBmpv_VERSION}' + '.0'
> -
> - def _build_libmpv(shared):
> - features = "c "

No comments:

Post a Comment