Changeset View
Changeset View
Standalone View
Standalone View
multimedia/makemkv/Makefile
PORTNAME= makemkv | PORTNAME= makemkv | ||||
DISTVERSION= 1.17.1 | DISTVERSION= 1.17.1 | ||||
PORTREVISION= 1 | |||||
CATEGORIES= multimedia | CATEGORIES= multimedia | ||||
MASTER_SITES= http://www.makemkv.com/download/:makemkv \ | MASTER_SITES= http://www.makemkv.com/download/:makemkv \ | ||||
http://www.makemkv.com/download/old/:makemkv \ | http://www.makemkv.com/download/old/:makemkv \ | ||||
SF/opencore-amr/fdk-aac/:fdkaac \ | SF/opencore-amr/fdk-aac/:fdkaac \ | ||||
https://ffmpeg.org/releases/:ffmpeg \ | https://ffmpeg.org/releases/:ffmpeg | ||||
https://www.openssl.org/source/old/${OPENSSLVERSION}/:openssl | DISTFILES= ${DISTFL_MAKEMKV:S/$/:makemkv/} \ | ||||
DISTFILES= ${DISTFL_MAKEMKV:=:makemkv} \ | ${DISTFL_FFMPEG:S/$/:ffmpeg/} | ||||
${DISTFL_FFMPEG:=:ffmpeg} \ | |||||
${DISTFL_OPENSSL:=:openssl} | |||||
DIST_SUBDIR= ${PORTNAME} | DIST_SUBDIR= ${PORTNAME} | ||||
MAINTAINER= zirias@FreeBSD.org | MAINTAINER= zirias@FreeBSD.org | ||||
COMMENT= Video converter reading from DVD and Bluray | COMMENT= Video converter reading from DVD and Bluray | ||||
WWW= https://www.makemkv.com | WWW= https://www.makemkv.com | ||||
LICENSE= MAKEMKV LGPL21+ ${PORT_OPTIONS:MFDK_AAC} | LICENSE= MAKEMKV LGPL21+ ${PORT_OPTIONS:MFDK_AAC} | ||||
LICENSE_COMB= multi | LICENSE_COMB= multi | ||||
LICENSE_NAME_MAKEMKV= The MakeMKV EULA | LICENSE_NAME_MAKEMKV= The MakeMKV EULA | ||||
LICENSE_NAME_FDK_AAC= The FDK AAC License | LICENSE_NAME_FDK_AAC= The FDK AAC License | ||||
LICENSE_FILE_MAKEMKV= ${WRKSRC_bin}/src/eula_en_linux.txt | LICENSE_FILE_MAKEMKV= ${WRKSRC_bin}/src/eula_en_linux.txt | ||||
LICENSE_FILE_FDK_AAC= ${WRKSRC_fdkaac}/NOTICE | LICENSE_FILE_FDK_AAC= ${WRKSRC_fdkaac}/NOTICE | ||||
LICENSE_PERMS_MAKEMKV= dist-mirror pkg-mirror auto-accept \ | LICENSE_PERMS_MAKEMKV= dist-mirror pkg-mirror auto-accept \ | ||||
# eplicit permission granted by copyright owner to \ | # eplicit permission granted by copyright owner to \ | ||||
# distribute a patched makemkvcon binary. | # distribute a patched makemkvcon binary. | ||||
LICENSE_PERMS_FDK_AAC= auto-accept | LICENSE_PERMS_FDK_AAC= auto-accept | ||||
LICENSE_DISTFILES_FDK_AAC= ${DISTFL_FDKAAC} | LICENSE_DISTFILES_FDK_AAC= ${DISTFL_FDKAAC} | ||||
LICENSE_DISTFILES_LGPL21+ = ${DISTFL_FFMPEG} | LICENSE_DISTFILES_LGPL21+ = ${DISTFL_FFMPEG} | ||||
LICENSE_DISTFILES_MAKEMKV= ${DISTFL_MAKEMKV} | LICENSE_DISTFILES_MAKEMKV= ${DISTFL_MAKEMKV} | ||||
ONLY_FOR_ARCHS= aarch64 amd64 i386 | ONLY_FOR_ARCHS= aarch64 amd64 i386 | ||||
USES= gmake linux pkgconfig perl5 | USES= gmake linux pkgconfig | ||||
USE_CSTD= c11 | USE_CSTD= c11 | ||||
USE_CXXSTD= c++11 | USE_CXXSTD= c++11 | ||||
USE_LINUX= base expat expat:build openssl openssl:build devtools:build | USE_LINUX= base expat \ | ||||
USE_PERL5= build | devtools:build expat-devel:build openssl-devel:build \ | ||||
BUILD_DEPENDS= ${LOCALBASE}/include/expat.h:textproc/expat2 \ | zlib-devel:build | ||||
patchelf>0:sysutils/patchelf \ | BUILD_DEPENDS= patchelf:sysutils/patchelf \ | ||||
tcberner: ^ I would add a line break after expat, so that the "build&run" depends are clearly separted… | |||||
${BUILD_DEPENDS_${FFMPEG_ARCH}} | ${BUILD_DEPENDS_${FFMPEG_ARCH}} | ||||
BUILD_DEPENDS_x86= nasm:devel/nasm | BUILD_DEPENDS_x86= nasm:devel/nasm | ||||
WRKSRC= ${WRKDIR}/makemkv-oss-${DISTVERSION} | WRKSRC= ${WRKDIR}/makemkv-oss-${DISTVERSION} | ||||
WRKSRC_bin= ${WRKDIR}/makemkv-bin-${DISTVERSION} | WRKSRC_bin= ${WRKDIR}/makemkv-bin-${DISTVERSION} | ||||
WRKSRC_fdkaac= ${WRKDIR}/fdk-aac-${FDKAACVERSION} | WRKSRC_fdkaac= ${WRKDIR}/fdk-aac-${FDKAACVERSION} | ||||
WRKSRC_ffmpeg= ${WRKDIR}/ffmpeg-${FFMPEGVERSION} | WRKSRC_ffmpeg= ${WRKDIR}/ffmpeg-${FFMPEGVERSION} | ||||
WRKSRC_openssl= ${WRKDIR}/openssl-${OPENSSLFULLVER} | |||||
CONFLICTS_BUILD= v4l_compat | CONFLICTS_BUILD= v4l_compat | ||||
SUB_FILES= update-makemkv-drives | SUB_FILES= update-makemkv-drives | ||||
SUB_LIST= LINUXBASE=${LINUXBASE} | SUB_LIST= LINUXBASE=${LINUXBASE} | ||||
PLIST_SUB= LINUXBASE=${LINUXBASE} | PLIST_SUB= LINUXBASE=${LINUXBASE} | ||||
FDKAACVERSION= 2.0.2 | FDKAACVERSION= 2.0.2 | ||||
FFMPEGVERSION= 5.1 | FFMPEGVERSION= 5.1 | ||||
OPENSSLVERSION= 1.0.2 | |||||
OPENSSLPATCHLEVEL= k | |||||
OPENSSLFULLVER= ${OPENSSLVERSION}${OPENSSLPATCHLEVEL} | |||||
DISTFL_MAKEMKV= makemkv-oss-${DISTVERSION}.tar.gz \ | DISTFL_MAKEMKV= makemkv-oss-${DISTVERSION}.tar.gz \ | ||||
makemkv-bin-${DISTVERSION}.tar.gz | makemkv-bin-${DISTVERSION}.tar.gz | ||||
DISTFL_FDKAAC= fdk-aac-${FDKAACVERSION}.tar.gz | DISTFL_FDKAAC= fdk-aac-${FDKAACVERSION}.tar.gz | ||||
DISTFL_FFMPEG= ffmpeg-${FFMPEGVERSION}.tar.bz2 | DISTFL_FFMPEG= ffmpeg-${FFMPEGVERSION}.tar.bz2 | ||||
DISTFL_OPENSSL= openssl-${OPENSSLFULLVER}.tar.gz | |||||
LINUXLIBDIR= ${LINUXBASE}/${"${ARCH:Mi386}":?lib:lib64} | |||||
OPENSSLTARGET= linux-${ARCH:S/i386/elf/:S/amd64/x86_64/} | |||||
LINUXLIBS= libcrypto.so.10 libexpat.so.1 libz.so.1 | |||||
LINUXSYSROOT= ${WRKDIR}/gnuroot | |||||
OPTIONS_DEFINE= EXAMPLES FDK_AAC | OPTIONS_DEFINE= EXAMPLES FDK_AAC | ||||
OPTIONS_DEFAULT= EXAMPLES | OPTIONS_DEFAULT= EXAMPLES | ||||
FDK_AAC_DESC= Support AAC via statically linked fdk-aac | FDK_AAC_DESC= Support AAC via statically linked fdk-aac | ||||
FDK_AAC_DISTFILES= ${DISTFL_FDKAAC:=:fdkaac} | FDK_AAC_DISTFILES= ${DISTFL_FDKAAC:S/$/:fdkaac/} | ||||
TARGET_ORDER_OVERRIDE= 290:pre-configure-FDK_AAC-on | TARGET_ORDER_OVERRIDE= 290:pre-configure-FDK_AAC-on | ||||
CC= ${LINUXBASE}/bin/gcc | CC= ${LINUXBASE}/bin/gcc | ||||
CXX= ${LINUXBASE}/bin/g++ | CXX= ${LINUXBASE}/bin/g++ | ||||
CPPFLAGS+= -I${LINUXSYSROOT}/include -I${WRKSRC_openssl}/include \ | CPPFLAGS+= -D_linux_ -DFORCE_OPENSSL_NO_EC \ | ||||
-D_linux_ -DFORCE_OPENSSL_NO_EC \ | |||||
${${OSVERSION}<1300000:?-Dcaddr_t=void\* -D__daddr_t_defined:} | ${${OSVERSION}<1300000:?-Dcaddr_t=void\* -D__daddr_t_defined:} | ||||
LDFLAGS+= -L${LINUXSYSROOT}/lib | |||||
PATCHELF_CMD?= ${LOCALBASE}/bin/patchelf | PATCHELF_CMD?= ${LOCALBASE}/bin/patchelf | ||||
LINUXSYSROOT= ${WRKDIR}/gnuroot | |||||
HAS_CONFIGURE= yes | HAS_CONFIGURE= yes | ||||
CONFIGURE_ARGS= --prefix=${PREFIX} --disable-gui --libdir=${PREFIX}/lib/makemkv | CONFIGURE_ARGS= --prefix=${PREFIX} --disable-gui --libdir=${PREFIX}/lib/makemkv | ||||
CONFIGURE_ENV= PKG_CONFIG_PATH=${LINUXSYSROOT}/lib/pkgconfig | CONFIGURE_ENV= PKG_CONFIG_PATH=${LINUXSYSROOT}/lib/pkgconfig | ||||
MAKE_ARGS= CFLAGS="${CXXFLAGS} ${CPPFLAGS} -std=c11" | MAKE_ARGS= CFLAGS="${CXXFLAGS} ${CPPFLAGS} -std=c11" | ||||
FFMPEG_ARCH= ${ARCH:Maarch64:S/^$/x86/} | FFMPEG_ARCH= ${ARCH:Maarch64:S/^$/x86/} | ||||
FFMPEG_CONFIGURE_ARGS= --prefix=${LINUXSYSROOT} --pkg-config=pkg-config \ | FFMPEG_CONFIGURE_ARGS= --prefix=${LINUXSYSROOT} --pkg-config=pkg-config \ | ||||
--disable-shared --enable-static --enable-pic \ | --disable-shared --enable-static --enable-pic \ | ||||
--target-os=linux --cc=${CC} \ | --target-os=linux --cc=${CC} \ | ||||
${"${PORT_OPTIONS:MFDK_AAC}":?--enable-libfdk-aac:} | ${"${PORT_OPTIONS:MFDK_AAC}":?--enable-libfdk-aac:} | ||||
FFMPEG_CONFIGURE_ENV= ${CONFIGURE_ENV} CFLAGS="${CPPFLAGS} ${CFLAGS}" | FFMPEG_CONFIGURE_ENV= ${CONFIGURE_ENV} CFLAGS="${CPPFLAGS} ${CFLAGS}" | ||||
FFMPEG_MAKE_ARGS= V=1 ARCH=${FFMPEG_ARCH} | FFMPEG_MAKE_ARGS= V=1 ARCH=${FFMPEG_ARCH} | ||||
FFMPEG_INSTALL_TARGET= ${ALL_TARGET} ${INSTALL_TARGET} | FFMPEG_INSTALL_TARGET= ${ALL_TARGET} ${INSTALL_TARGET} | ||||
post-extract: | |||||
@${MKDIR} ${LINUXSYSROOT}/lib | |||||
.for lib in ${LINUXLIBS} | |||||
@${LN} -s ${LINUXLIBDIR}/${lib} ${LINUXSYSROOT}/lib/${lib:R} | |||||
.endfor | |||||
post-patch: | post-patch: | ||||
@${REINPLACE_CMD} -e 's:INSTALL) -D:INSTALL):' \ | @${REINPLACE_CMD} -e 's:INSTALL) -D:INSTALL):' \ | ||||
${WRKSRC}/Makefile.in | ${WRKSRC}/Makefile.in | ||||
@${REINPLACE_CMD} -e 's:/bin/bash:/bin/sh:' \ | @${REINPLACE_CMD} -e 's:/bin/bash:/bin/sh:' \ | ||||
-e 's:x86_64:amd64:' \ | -e 's:x86_64:amd64:' \ | ||||
-e 's:i686:i386:' \ | -e 's:i686:i386:' \ | ||||
-e 's:-t \([^ ]*\) \([^ ]*\):\2 \1:' \ | -e 's:-t \([^ ]*\) \([^ ]*\):\2 \1:' \ | ||||
-e 's:ARCH=:BINARCH=:' \ | -e 's:ARCH=:BINARCH=:' \ | ||||
-e 's:bin/$$(ARCH:bin/$$(BINARCH:' \ | -e 's:bin/$$(ARCH:bin/$$(BINARCH:' \ | ||||
${WRKSRC_bin}/Makefile | ${WRKSRC_bin}/Makefile | ||||
pre-configure-FDK_AAC-on: | pre-configure-FDK_AAC-on: | ||||
cd ${WRKSRC_fdkaac}; \ | cd ${WRKSRC_fdkaac}; \ | ||||
${CONFIGURE_ENV} CXX=${CXX} \ | ${CONFIGURE_ENV} CXX=${CXX} \ | ||||
./configure --prefix=${LINUXSYSROOT} --disable-silent-rules \ | ./configure --prefix=${LINUXSYSROOT} --disable-silent-rules \ | ||||
--disable-shared --enable-static --with-pic; \ | --disable-shared --enable-static --with-pic; \ | ||||
${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${INSTALL_TARGET} | ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${INSTALL_TARGET} | ||||
pre-configure: | pre-configure: | ||||
cd ${WRKSRC_ffmpeg}; \ | cd ${WRKSRC_ffmpeg}; \ | ||||
${FFMPEG_CONFIGURE_ENV} ./configure ${FFMPEG_CONFIGURE_ARGS}; \ | ${FFMPEG_CONFIGURE_ENV} ./configure ${FFMPEG_CONFIGURE_ARGS}; \ | ||||
${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} \ | ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} \ | ||||
${FFMPEG_MAKE_ARGS} ${FFMPEG_INSTALL_TARGET} | ${FFMPEG_MAKE_ARGS} ${FFMPEG_INSTALL_TARGET} | ||||
# OpenSSL headers | |||||
cd ${WRKSRC_openssl}; \ | |||||
./Configure --openssldir= --prefix=/usr ${OPENSSLTARGET} | |||||
pre-install: | pre-install: | ||||
${MKDIR} ${STAGEDIR}${PREFIX}/lib/makemkv | ${MKDIR} ${STAGEDIR}${PREFIX}/lib/makemkv | ||||
post-install: | post-install: | ||||
${INSTALL_MAN} ${FILESDIR}/makemkvcon.1 \ | ${INSTALL_MAN} ${FILESDIR}/makemkvcon.1 \ | ||||
${STAGEDIR}${PREFIX}/man/man1 | ${STAGEDIR}${PREFIX}/man/man1 | ||||
cd ${WRKSRC_bin}; \ | cd ${WRKSRC_bin}; \ | ||||
Show All 17 Lines |
^ I would add a line break after expat, so that the "build&run" depends are clearly separted: