mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-28 05:29:48 +00:00
efd1774d3a
For some reason, while there's no issue with building on powerpc64le, there's a problem on powerpc and powerpc64 (same as with multimedia/ffmpeg).
139 lines
4.2 KiB
Makefile
139 lines
4.2 KiB
Makefile
# Created by: Andrew Thompson <andy@fud.org.nz>
|
|
|
|
PORTNAME= handbrake
|
|
DISTVERSION= 1.4.0
|
|
CATEGORIES= multimedia
|
|
DIST_SUBDIR= ${PORTNAME}
|
|
|
|
MAINTAINER= naito.yuichiro@gmail.com
|
|
COMMENT= Versatile DVD ripper and video transcoder
|
|
|
|
LICENSE= GPLv2
|
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
|
|
|
ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le
|
|
|
|
BUILD_DEPENDS= bash:shells/bash \
|
|
nasm:devel/nasm \
|
|
cmake:devel/cmake \
|
|
meson:devel/meson
|
|
LIB_DEPENDS= libdbus-1.so:devel/dbus \
|
|
libgudev-1.0.so:devel/libgudev \
|
|
libharfbuzz.so:print/harfbuzz \
|
|
libfontconfig.so:x11-fonts/fontconfig \
|
|
libfreetype.so:print/freetype2 \
|
|
libfribidi.so:converters/fribidi \
|
|
libturbojpeg.so:graphics/libjpeg-turbo \
|
|
libxml2.so:textproc/libxml2 \
|
|
libass.so:multimedia/libass \
|
|
libspeex.so:audio/speex \
|
|
libogg.so:audio/libogg \
|
|
libvorbis.so:audio/libvorbis \
|
|
libvorbisenc.so:audio/libvorbis \
|
|
libtheoradec.so:multimedia/libtheora \
|
|
libtheoraenc.so:multimedia/libtheora \
|
|
libx264.so:multimedia/libx264 \
|
|
libvpx.so:multimedia/libvpx \
|
|
libmp3lame.so:audio/lame \
|
|
libopus.so:audio/opus \
|
|
libjansson.so:devel/jansson
|
|
|
|
USES= autoreconf:build compiler:c11 gmake iconv libtool:build \
|
|
localbase:ldflags ninja:build pkgconfig python:3.6+,build
|
|
|
|
CONTRIB_FILES= fdk-aac-2.0.1.tar.gz \
|
|
ffmpeg-4.4.tar.bz2 \
|
|
libbluray-1.3.0.tar.bz2 \
|
|
libdvdnav-6.1.1.tar.bz2 \
|
|
libdvdread-6.1.1.tar.bz2 \
|
|
dav1d-0.9.0.tar.bz2 \
|
|
x265_3.5.tar.gz \
|
|
zimg-3.0.1.tar.gz
|
|
|
|
MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/:contrib
|
|
|
|
DISTFILES+= ${CONTRIB_FILES:S/$/:contrib/}
|
|
|
|
.if !defined(PACKAGE_BUILDING)
|
|
# DVDCSS version hardcoded in contrib/libdvdread/libdvdread-5.0.0-6-gcb1ae87/src/dvd_input.c (dlopen'ed)
|
|
LIB_DEPENDS+= libdvdcss.so:multimedia/libdvdcss
|
|
.endif
|
|
|
|
GNU_CONFIGURE= yes
|
|
MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal
|
|
|
|
BINARY_ALIAS= python3=${PYTHON_VERSION}
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= HandBrake
|
|
GH_PROJECT= HandBrake
|
|
|
|
CONFIGURE_ARGS= --force --enable-x265
|
|
CONFIGURE_TARGET= build
|
|
|
|
BUILD_WRKSRC= ${WRKSRC}/build
|
|
INSTALL_WRKSRC= ${WRKSRC}/build
|
|
MAKEFILE= GNUmakefile
|
|
ALL_TARGET= #
|
|
INSTALL_TARGET= install-strip
|
|
|
|
NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264
|
|
|
|
# Enforce linking to bundled libraries instead of system libraries
|
|
LDFLAGS+= -L${BUILD_WRKSRC}/contrib/lib
|
|
|
|
OPTIONS_DEFINE= FDK_AAC MFX X11
|
|
OPTIONS_DEFAULT= MFX X11
|
|
OPTIONS_EXCLUDE_powerpc= MFX
|
|
OPTIONS_EXCLUDE_powerpc64= MFX
|
|
OPTIONS_EXCLUDE_powerpc64le= MFX
|
|
|
|
OPTIONS_SUB= yes
|
|
|
|
FDK_AAC_DESC= Enable non-free Fraunhofer FDK AAC codec
|
|
MFX_DESC= Intel MediaSDK (aka Quick Sync Video)
|
|
X11_DESC= Build GTK+3 based GUI program
|
|
|
|
FDK_AAC_CONFIGURE_ENABLE= fdk-aac
|
|
FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi
|
|
LICENSE_NAME_FDK_AAC= Software License for The Fraunhofer FDK AAC Codec Library for Android
|
|
LICENSE_FILE_FDK_AAC= ${WRKDIR}/${DISTFILES:Mfdk*:R:R}/NOTICE
|
|
LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept
|
|
|
|
MFX_LIB_DEPENDS= libmfx.so:multimedia/intel-media-sdk \
|
|
libva-drm.so:multimedia/libva
|
|
MFX_CONFIGURE_ON= --enable-qsv
|
|
|
|
X11_CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin
|
|
X11_MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin
|
|
X11_CONFIGURE_ON= --disable-gtk-update-checks
|
|
X11_CONFIGURE_OFF= --disable-gtk
|
|
X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx \
|
|
libnotify.so:devel/libnotify
|
|
X11_USES= gettext desktop-file-utils gnome
|
|
X11_USE= gstreamer1=gdkpixbuf,libav \
|
|
gnome=gtk30,intltool,cairo,gdkpixbuf2
|
|
|
|
# HandBrake tries to fetch its dependencies during build phase, which is not
|
|
# considered good in FreeBSD. Instead, we will provide the downloaded files.
|
|
post-extract: .SILENT
|
|
${MKDIR} ${WRKSRC}/download
|
|
|
|
pre-configure:
|
|
cd ${DISTDIR}/${DIST_SUBDIR} && \
|
|
${INSTALL_DATA} ${CONTRIB_FILES} \
|
|
${WRKSRC}/download
|
|
# Install version information.
|
|
${CP} ${FILESDIR}/version.txt ${WRKSRC}
|
|
# Following patches reduces warnings with clang.
|
|
${CP} ${FILESDIR}/P00-freebsd-libavutil-x86-asm-h.patch ${WRKSRC}/contrib/ffmpeg
|
|
${CP} ${FILESDIR}/P01-freebsd-ifo_types.h.patch ${WRKSRC}/contrib/libdvdread
|
|
# for powerpc64
|
|
# picked from multimedia/ffmpeg/files/patch-libswscale_ppc_yuv2rgb__altivec.c
|
|
${CP} ${FILESDIR}/P02-freebsd-ppc-libswscale.patch ${WRKSRC}/contrib/ffmpeg
|
|
|
|
post-install-X11-on:
|
|
${LN} -sf ghb ${STAGEDIR}${PREFIX}/bin/HandBrake
|
|
|
|
.include <bsd.port.mk>
|