forked from Lainports/freebsd-ports
Split out evdev headers (input.h, input-event-codes.h, uinput.h) into their own port, devel/evdev-proto, and update those to be current with the Linux 4.19 kernel. This is done in order to be able to update the rest of the FreeBSD input stack, which is forthcoming. By splititng out the evdev headers we can update them independent of other updates in v4l_compat, which makes it easier for the graphics team to keep track of them and keep them updated as needed. Update devel/libevdev from 1.4.4 to 1.5.9 instead of trying to make it work with the updated headers. This will be further updated. Update devel/py-evdev from 0.5.0 to 0.8.1 instead of trying to make it work with the updated evdev headers. Update consumers to use devel/evdev-proto rather than multimedia/v4l_compat as needed, and bump portrevisions. This is the first step in getting the FreeBSD input stack (libevdev, libinput and so on) updated to newer versions. Many thanks to all who have helped out with testing, code and exp-runs. Apologies if I've forgotten to add any names. PR: 222905, 217248, (based on, in part), 233787 (exp-run) Submitted by: Greg V, wulf Tested by: tcberner, kde Exp-run by: antoine Approved by: portmgr (antoine) Obtained from: FreeBSDDesktop development repo https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/input-ports
193 lines
5.6 KiB
Makefile
193 lines
5.6 KiB
Makefile
# Created by: Grzegorz Blach <gblach@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= mpv
|
|
PORTVERSION= 0.29.1
|
|
DISTVERSIONPREFIX= v
|
|
PORTREVISION= 4
|
|
PORTEPOCH= 1
|
|
CATEGORIES= multimedia audio
|
|
MASTER_SITES= https://waf.io/:waf
|
|
DISTFILES= ${WAF_RELEASE}${EXTRACT_SUFX}:waf
|
|
|
|
MAINTAINER= cpm@FreeBSD.org
|
|
COMMENT= Free and open-source general-purpose video player
|
|
|
|
LICENSE= GPLv2+ LGPL21+
|
|
LICENSE_COMB= multi
|
|
|
|
BUILD_DEPENDS= ffmpeg>=4.0.2,1:multimedia/ffmpeg
|
|
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
|
|
|
|
USES= compiler:c11 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.9
|
|
|
|
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-vapoursynth \
|
|
--disable-vapoursynth-lazy \
|
|
--enable-libmpv-shared
|
|
|
|
OPTIONS_DEFINE= ARCHIVE ASS DOCS LCMS2 LUAJIT MANPAGES TEST UCHARDET ZSH EXAMPLES
|
|
OPTIONS_DEFAULT= ARCHIVE ASS DVDREAD DVDNAV MANPAGES OPENGL UCHARDET \
|
|
V4L VAAPI VDPAU WAYLAND X11 YTDL
|
|
OPTIONS_GROUP= IN VO AO
|
|
OPTIONS_GROUP_IN= CDIO DVDREAD DVDNAV LIBBLURAY V4L YTDL SMB
|
|
OPTIONS_GROUP_VO= CACA OPENGL VAAPI VDPAU WAYLAND X11
|
|
OPTIONS_GROUP_AO= ALSA JACK OPENAL PULSEAUDIO SDL SNDIO
|
|
OPTIONS_SUB= yes
|
|
|
|
ASS_DESC= ASS/SSA subtitle and OSD rendering
|
|
DVDREAD_DESC= DVD Playback support
|
|
DVDNAV_DESC= DVD menu navigation
|
|
LUAJIT_DESC= Use LuaJIT instead of Lua scripting language support
|
|
UCHARDET_DESC= Guess subtitle encoding via uchardet
|
|
WAYLAND_DESC= Wayland (graphics) support
|
|
YTDL_DESC= Install youtube-dl
|
|
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
|
|
|
|
ASS_LIB_DEPENDS= libass.so:multimedia/libass
|
|
ASS_CONFIGURE_OFF= --disable-libass
|
|
|
|
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
|
|
DVDNAV_CONFIGURE_ON= --enable-dvdnav
|
|
|
|
DVDREAD_LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
|
|
DVDREAD_CONFIGURE_ON= --enable-dvdread
|
|
|
|
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
|
|
|
|
LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit
|
|
LUAJIT_USES_OFF= lua
|
|
LUAJIT_CONFIGURE_ON= --lua=luajit
|
|
LUAJIT_CONFIGURE_OFF= --lua=${LUA_VER_STR}fbsd
|
|
|
|
MANPAGES_BUILD_DEPENDS= rst2man:textproc/py-docutils
|
|
MANPAGES_CONFIGURE_OFF= --disable-manpage
|
|
|
|
OPENAL_CONFIGURE_ENABLE= openal
|
|
OPENAL_USES= openal
|
|
OPENAL_VARS= LLD_UNSAFE=yes # cf. PR 226980
|
|
|
|
OPENGL_USES= gl
|
|
OPENGL_USE= GL=egl,gbm,gl
|
|
OPENGL_CONFIGURE_OFF= --disable-gl
|
|
OPENGL_IMPLIES= X11
|
|
|
|
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
|
PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
|
|
|
|
SDL_USE= SDL=sdl2
|
|
SDL_CONFIGURE_ON= --enable-sdl2
|
|
|
|
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
|
|
SNDIO_CONFIGURE_ON= --enable-sndio
|
|
SNDIO_CONFIGURE_OFF= --disable-sndio
|
|
|
|
SMB_USES= samba:lib
|
|
SMB_CONFIGURE_ON= --enable-libsmbclient
|
|
|
|
TEST_BUILD_DEPENDS= cmocka>=1.1.0:sysutils/cmocka
|
|
TEST_CONFIGURE_ON= --enable-test
|
|
TEST_UNITTESTFILES= chmap chmap_sel gl_video
|
|
|
|
UCHARDET_LIB_DEPENDS= libuchardet.so:textproc/uchardet
|
|
UCHARDET_CONFIGURE_OFF= --disable-uchardet
|
|
|
|
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
|
|
V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
|
|
V4L_CONFIGURE_ON= --enable-tv --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
|
|
|
|
WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.14:graphics/wayland-protocols \
|
|
${LOCALBASE}/include/linux/input.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
|
|
|
|
X11_USES= gnome
|
|
X11_USE= XORG=x11,xext,xinerama,xorgproto,xrandr,xscrnsaver,xv,xxf86vm
|
|
X11_VARS= INSTALLS_ICONS=yes
|
|
X11_CONFIGURE_OFF= --disable-x11
|
|
|
|
YTDL_RUN_DEPENDS= youtube-dl:www/youtube_dl
|
|
|
|
ZSH_USES= perl5
|
|
ZSH_USE= PERL5=build
|
|
ZSH_CONFIGURE_ENV= BIN_PERL="${PERL}"
|
|
ZSH_CONFIGURE_ENABLE= zsh-comp
|
|
|
|
.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
|
|
@${REINPLACE_CMD} -e 's|DBL_EPSILON|FLT_EPSILON|'g \
|
|
${WRKSRC}/test/test_helpers.h
|
|
|
|
post-patch-MANPAGES-on:
|
|
@${FIND} ${WRKSRC}/DOCS/man -name '*.rst' | ${XARGS} ${REINPLACE_CMD} \
|
|
-e 's|/usr/local|${PREFIX}|g'
|
|
|
|
pre-install-TEST-on:
|
|
.for test in ${TEST_UNITTESTFILES}
|
|
cd ${WRKSRC}/build/test && ./${test}
|
|
.endfor
|
|
|
|
post-install:
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mpv
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmpv.so
|
|
|
|
.include <bsd.port.mk>
|