FreeBSD Bugzilla – Attachment 207714 Details for
Bug 238004
New port: multimedia/makemkv video converter reading from DVD and Bluray
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
add multimedia/makemkv
makemkv.diff (text/plain), 16.75 KB, created by
Felix Palmen
on 2019-09-22 13:44:26 UTC
(
hide
)
Description:
add multimedia/makemkv
Filename:
MIME Type:
Creator:
Felix Palmen
Created:
2019-09-22 13:44:26 UTC
Size:
16.75 KB
patch
obsolete
>Index: multimedia/Makefile >=================================================================== >--- multimedia/Makefile (revision 512520) >+++ multimedia/Makefile (working copy) >@@ -250,6 +250,7 @@ > SUBDIR += lxdvdrip > SUBDIR += m2tstoavi > SUBDIR += m2vrequantiser >+ SUBDIR += makemkv > SUBDIR += mediainfo > SUBDIR += mencoder > SUBDIR += mimms >Index: multimedia/makemkv/Makefile >=================================================================== >--- multimedia/makemkv/Makefile (nonexistent) >+++ multimedia/makemkv/Makefile (working copy) >@@ -0,0 +1,151 @@ >+# Created by: Felix Palmen <felix@palmen-it.de> >+# $FreeBSD$ >+ >+PORTNAME= makemkv >+PORTVERSION= 1.14.5 >+CATEGORIES= multimedia >+MASTER_SITES= http://www.makemkv.com/download/:makemkv \ >+ http://www.makemkv.com/download/old/:makemkv \ >+ SF/opencore-amr/fdk-aac/:fdkaac \ >+ https://ffmpeg.org/releases/:ffmpeg \ >+ https://www.openssl.org/source/old/${OPENSSLVERSION}/:openssl >+DISTFILES= makemkv-oss-${PORTVERSION}.tar.gz:makemkv \ >+ makemkv-bin-${PORTVERSION}.tar.gz:makemkv \ >+ fdk-aac-${FDKAACVERSION}.tar.gz:fdkaac \ >+ ffmpeg-${FFMPEGVERSION}.tar.bz2:ffmpeg \ >+ openssl-${OPENSSLFULLVER}.tar.gz:openssl >+DIST_SUBDIR= ${PORTNAME} >+ >+MAINTAINER= felix@palmen-it.de >+COMMENT= Video converter reading from DVD and Bluray >+ >+LICENSE= MAKEMKV FDK LGPL21+ OpenSSL >+LICENSE_COMB= multi >+LICENSE_NAME_MAKEMKV= The MakeMKV EULA >+LICENSE_NAME_FDK= The FDK AAC License >+LICENSE_FILE_MAKEMKV= ${WRKDIR}/makemkv-bin-${PORTVERSION}/src/eula_en_linux.txt >+LICENSE_FILE_FDK= ${WRKDIR}/fdk-aac-${FDKAACVERSION}/NOTICE >+LICENSE_PERMS_MAKEMKV= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell \ >+ no-auto-accept >+LICENSE_PERMS_FDK= dist-mirror no-dist-sell pkg-mirror no-pkg-sell \ >+ auto-accept >+LICENSE_DISTFILES_FDK= fdk-aac-${FDKAACVERSION}.tar.gz >+LICENSE_DISTFILES_LGPL21+ = ffmpeg-${FFMPEGVERSION}.tar.bz2 >+LICENSE_DISTFILES_OpenSSL= openssl-${OPENSSLFULLVER}.tar.gz >+LICENSE_DISTFILES_MAKEMKV= makemkv-bin-${PORTVERSION}.tar.gz \ >+ makemkv-oss-${PORTVERSION}.tar.gz >+ >+ONLY_FOR_ARCHS= amd64 i386 >+USES= gmake linux pkgconfig perl5 >+USE_LINUX= base expat expat:build openssl openssl:build devtools:build >+USE_PERL5= build >+BUILD_DEPENDS= nasm>0:devel/nasm \ >+ ${LOCALBASE}/include/expat.h:textproc/expat2 \ >+ patchelf>0:sysutils/patchelf >+ >+RESTRICTED= yes >+RESTRICTED_FILES= makemkv-bin-${PORTVERSION}.tar.gz >+ >+WRKSRC= ${WRKDIR}/makemkv-oss-${PORTVERSION} >+ >+SUB_FILES= update-makemkv-drives >+SUB_LIST= LINUXBASE=${LINUXBASE} >+PLIST_SUB= LINUXBASE=${LINUXBASE} >+ >+FDKAACVERSION= 2.0.0 >+FFMPEGVERSION= 4.2.1 >+OPENSSLVERSION= ${"${linux_ARGS:Mc7}" != "":?1.0.2:1.0.1} >+OPENSSLPATCHLEVEL= ${"${linux_ARGS:Mc7}" != "":?k:e} >+OPENSSLFULLVER= ${OPENSSLVERSION}${OPENSSLPATCHLEVEL} >+ >+LINUXARCH= ${ARCH:S/amd64/x86_64/} >+LINUXTRIPLET= ${LINUXARCH}-redhat-linux >+LINUXLIBDIR= ${LINUXBASE}/${"${LINUXARCH:Mx86_64}" != "":?lib64:lib} >+OPENSSLTARGET= ${"${LINUXARCH:Mx86_64}" != "":?linux-x86_64:linux-elf} >+ >+PATCHELF_CMD= ${LOCALBASE}/bin/patchelf >+ >+CFLAGS+= -DFORCE_OPENSSL_NO_EC \ >+ -I${WRKDIR}/openssl-${OPENSSLFULLVER}/include >+CPPFLAGS+= -I${LOCALBASE}/include >+LDFLAGS+= -L${WRKDIR}/staticlibs/lib >+HAS_CONFIGURE= yes >+CONFIGURE_ARGS= --prefix=${PREFIX} --disable-gui --host=${LINUXTRIPLET} \ >+ --libdir=${PREFIX}/lib/makemkv >+CONFIGURE_ENV= CC=${LINUXTRIPLET}-gcc CXX=${LINUXTRIPLET}-g++ \ >+ PATH=${WRKDIR}/staticlibs/bin:${PATH} \ >+ PKG_CONFIG_PATH=${WRKDIR}/staticlibs/lib/pkgconfig >+MAKE_ENV= PATH=${WRKDIR}/staticlibs/bin:${PATH} >+ >+post-patch: >+ @${REINPLACE_CMD} -e 's:INSTALL) -D:INSTALL):' \ >+ ${WRKSRC}/Makefile.in >+ @${REINPLACE_CMD} -e 's:/bin/bash:/bin/sh:' \ >+ -e 's:x86_64:amd64:' \ >+ -e 's:-t \([^ ]*\) \([^ ]*\):\2 \1:' \ >+ ${WRKDIR}/makemkv-bin-${PORTVERSION}/Makefile >+ >+pre-configure: >+ ${MKDIR} ${WRKDIR}/staticlibs/bin >+ cd ${WRKDIR}/staticlibs/bin; \ >+ for t in gcc link ld objdump ar nm strip ranlib g++; do \ >+ ${LN} -s ${LINUXBASE}/bin/$$t ${LINUXTRIPLET}-$$t; \ >+ done >+ ${MKDIR} ${WRKDIR}/staticlibs/lib >+ cd ${WRKDIR}/staticlibs/lib; \ >+ ${LN} -s ${LINUXLIBDIR}/libz.so.1 libz.so; \ >+ ${LN} -s ${LINUXLIBDIR}/libcrypto.so.10 libcrypto.so; \ >+ ${LN} -s ${LINUXLIBDIR}/libexpat.so.1 libexpat.so >+ cd ${WRKDIR}/fdk-aac-${FDKAACVERSION}; \ >+ PATH=${WRKDIR}/staticlibs/bin:$$PATH \ >+ LDFLAGS=-L${WRKDIR}/staticlibs/lib \ >+ CXXFLAGS="${CFLAGS}" \ >+ ./configure --prefix=${WRKDIR}/staticlibs \ >+ --disable-shared --enable-static --with-pic \ >+ --host=${LINUXTRIPLET} --disable-silent-rules; \ >+ PATH=${WRKDIR}/staticlibs/bin:$$PATH \ >+ CXXFLAGS="${CFLAGS}" \ >+ ${MAKE_CMD} install >+ cd ${WRKDIR}/ffmpeg-${FFMPEGVERSION}; \ >+ PATH=${WRKDIR}/staticlibs/bin:$$PATH \ >+ PKG_CONFIG_PATH=${WRKDIR}/staticlibs/lib/pkgconfig \ >+ CPPFLAGS="-Dcaddr_t=void\* -D__daddr_t_defined" \ >+ LDFLAGS=-L${WRKDIR}/staticlibs/lib \ >+ CFLAGS="${CFLAGS}" \ >+ ./configure --prefix=${WRKDIR}/staticlibs \ >+ --disable-shared --enable-static --enable-pic \ >+ --enable-libfdk-aac --pkg-config=pkg-config \ >+ --cross-prefix=${LINUXTRIPLET}- --arch=${LINUXARCH} \ >+ --target-os=linux --host-cc=${CC}; \ >+ PATH=${WRKDIR}/staticlibs/bin:$$PATH \ >+ CFLAGS="${CFLAGS}" \ >+ ${MAKE_CMD} V=1 ARCH=x86 && \ >+ PATH=${WRKDIR}/staticlibs/bin:$$PATH \ >+ ${MAKE_CMD} install >+ cd ${WRKDIR}/openssl-${OPENSSLFULLVER}; \ >+ ./Configure --openssldir= --prefix=/usr ${OPENSSLTARGET} >+ >+pre-install: >+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/makemkv >+ >+post-install: >+ ${INSTALL_MAN} ${FILESDIR}/makemkvcon.1 \ >+ ${STAGEDIR}${PREFIX}/man/man1 >+ cd ${WRKDIR}/makemkv-bin-${PORTVERSION}; \ >+ ${MKDIR} tmp; \ >+ ${ECHO_CMD} accepted > tmp/eula_accepted; \ >+ ${MAKE_CMD} DESTDIR=${STAGEDIR} PREFIX=${PREFIX} install >+ ${PATCHELF_CMD} --set-rpath ${PREFIX}/lib/makemkv \ >+ ${STAGEDIR}${PREFIX}/bin/makemkvcon >+ ${REINPLACE_CMD} -e 's:/sys/bus/scsi:/etc/makemkv/:' \ >+ ${STAGEDIR}${PREFIX}/bin/makemkvcon >+ ${INSTALL_SCRIPT} ${WRKDIR}/update-makemkv-drives \ >+ ${STAGEDIR}${PREFIX}/sbin >+ >+.include <bsd.port.pre.mk> >+ >+.if ${linux_ARGS} == c6 >+SSP_CFLAGS?= -fstack-protector >+.endif >+ >+.include <bsd.port.post.mk> > >Property changes on: multimedia/makemkv/Makefile >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:keywords >## -0,0 +1 ## >+FreeBSD=%H >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/makemkv/distinfo >=================================================================== >--- multimedia/makemkv/distinfo (nonexistent) >+++ multimedia/makemkv/distinfo (working copy) >@@ -0,0 +1,13 @@ >+TIMESTAMP = 1569080682 >+SHA256 (makemkv/makemkv-oss-1.14.5.tar.gz) = d177f5962054d3b866d871aa06f1611dcced7ef2f0dcd41a771a50467505e1c9 >+SIZE (makemkv/makemkv-oss-1.14.5.tar.gz) = 4384596 >+SHA256 (makemkv/makemkv-bin-1.14.5.tar.gz) = 3a5a34facad3705518cbef26dfd424bc075e3a19a2a159b9bac3261220e8d3e6 >+SIZE (makemkv/makemkv-bin-1.14.5.tar.gz) = 9465109 >+SHA256 (makemkv/fdk-aac-2.0.0.tar.gz) = f7d6e60f978ff1db952f7d5c3e96751816f5aef238ecf1d876972697b85fd96c >+SIZE (makemkv/fdk-aac-2.0.0.tar.gz) = 2864593 >+SHA256 (makemkv/ffmpeg-4.2.1.tar.bz2) = 682a9fa3f6864d7f0dbf224f86b129e337bc60286e0d00dffcd710998d521624 >+SIZE (makemkv/ffmpeg-4.2.1.tar.bz2) = 10953293 >+SHA256 (makemkv/openssl-1.0.1e.tar.gz) = f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 >+SIZE (makemkv/openssl-1.0.1e.tar.gz) = 4459777 >+SHA256 (makemkv/openssl-1.0.2k.tar.gz) = 6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0 >+SIZE (makemkv/openssl-1.0.2k.tar.gz) = 5309236 > >Property changes on: multimedia/makemkv/distinfo >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/makemkv/files/makemkvcon.1 >=================================================================== >--- multimedia/makemkv/files/makemkvcon.1 (nonexistent) >+++ multimedia/makemkv/files/makemkvcon.1 (working copy) >@@ -0,0 +1,94 @@ >+.Dd May 20, 2019 >+.Dt MAKEMKVCON 1 >+.Os >+.Sh NAME >+.Nm makemkvcon >+.Nd read video from DVD or Bluray disc and convert to mkv format >+.Sh SYNOPSIS >+.Nm >+.Op Fl -minlength= Ns Ar seconds >+.Cm info >+.Ar source_spec >+.Nm >+.Op Fl -minlength= Ns Ar seconds >+.Cm mkv >+.Ar source_spec >+.Ar title_spec >+.Pa target_directory >+.Sh DESCRIPTION >+The >+.Nm >+utility shows information about a video disc in an optical drive, the >+.Cm mkv >+subcommand also converts selected titles from the disc to >+.Sy .mkv >+files in a given location. >+.sp >+The arguments are as follows: >+.Bl -tag -width Ds >+.It Fl -minlength= Ns Ar seconds >+Only consider video titles with a minimal length of >+.Ar seconds . No If you use the >+.Cm mkv >+subcommand after the >+.Cm info >+subcommand, make sure to pass the same value for >+.Ar seconds , >+as filtering out titles with a smaller length happens before >+numbering the titles. >+.It Ar source_spec >+Read video disc from the given source. >+Use >+.Dq disc:0 >+here to have >+.Nm >+read from the first video disc it can find. >+.It Ar title_spec >+Determines which titles to read. >+This can be either a whole number from >+.Sy 0 >+to >+.Sy n-1 >+for a disc with >+.Sy n >+titles to read exactly one title, or the string >+.Dq all >+to read all titles found. >+.It Ar target_directory >+The path where to store the converted >+.Sy .mkv >+files. >+.El >+.Sh FILES >+.Bl -tag -width Ds >+.It Pa ~/.MakeMKV/settings.conf >+You may put a license key in this file in the following format: >+.Dl app_Key = Qq XXXXXXXXXXXXXXXX... >+You can either buy a license or use the key, that is freely available >+as long as MakeMKV is in beta from >+.Lk https://www.makemkv.com/forum/ . >+.El >+.Sh EXAMPLES >+.Bd -literal -offset indent >+% makemkvcon mkv disc:0 0 . >+.Ed >+.sp >+This command reads the first title from the first disc it can find and stores >+a converted >+.Sy .mkv >+file in the current directory. >+.Sh SEE ALSO >+This manpage only describes the most commonly used options. >+A more complete documentation is available online at >+.Lk https://www.makemkv.com/developers/usage.txt >+.sp >+For some examples what you can put in your configuration file, see >+.Lk http://wiki.indie-it.com/wiki/MakeMKV >+.Sh BUGS >+On >+.Fx Ns , >+.Nm >+crashes with a signal 11 (segmentation fault) after finishing its job. >+Be aware this might leave a >+.Sy .core >+file on your file system. > >Property changes on: multimedia/makemkv/files/makemkvcon.1 >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/makemkv/files/update-makemkv-drives.in >=================================================================== >--- multimedia/makemkv/files/update-makemkv-drives.in (nonexistent) >+++ multimedia/makemkv/files/update-makemkv-drives.in (working copy) >@@ -0,0 +1,58 @@ >+#!/bin/sh >+ >+trap 'rm -fr $TMPFIFODIR' EXIT >+TMPFIFODIR=$(mktemp -d) >+mkfifo $TMPFIFODIR/campipe >+ >+SGDEVS= >+ >+rm -fr %%LINUXBASE%%/etc/makemkv/devices >+rm -fr %%LINUXBASE%%/etc/makemkv/drivers >+ >+camcontrol devlist | grep -E '[(,]cd[0-9]+[,)]' > $TMPFIFODIR/campipe & >+while read line >+do >+ SCBUS=`echo $line | grep -Eo 'scbus[0-9]+' | sed -e 's:scbus::'` >+ TARGET=`echo $line | grep -Eo 'target [0-9]+' | sed -e 's:target ::'` >+ LUN=`echo $line | grep -Eo 'lun [0-9]+' | sed -e 's:lun ::'` >+ SGDEV=`echo $line | grep -Eo '(.*)' | grep -Eo 'sg[0-9]+'` >+ if [ -n "$SCBUS" -a -n "$TARGET" -a -n "$LUN" ]; then >+ if [ -z "$SGDEV" ]; then >+ cat <<EOF >+Optical drive without 'sg' device found! Make sure your kernel supports >+sg devices. To build a kernel with sg devices, you must add the following >+to your kernel configuration: >+ >+device sg >+ >+Refer to >+<https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html> >+for building a custom kernel. >+ >+When finished, re-run this script (update-makemkv-drives). >+EOF >+ exit 1 >+ fi >+ SGDEVS="$SGDEVS /dev/$SGDEV" >+ LOC=$SCBUS:0:$TARGET:$LUN >+ mkdir -p %%LINUXBASE%%/etc/makemkv/devices/$LOC/scsi_generic/$SGDEV >+ mkdir -p %%LINUXBASE%%/etc/makemkv/drivers/sr >+ ln -s ../../devices/$LOC %%LINUXBASE%%/etc/makemkv/drivers/sr/$LOC >+ echo 5 >%%LINUXBASE%%/etc/makemkv/devices/$LOC/type >+ fi >+done < $TMPFIFODIR/campipe >+ >+if [ -z "$SGDEVS" ]; then >+ cat <<EOF >+No usable optical drives found. Make sure your drive (/dev/cd*) is available. >+Check the output of "camcontrol devlist". >+ >+When finished, re-run this script (update-makemkv-drives). >+EOF >+ exit 1 >+fi >+ >+echo devices linked: $SGDEVS. >+ >+echo "When your configuration changes, re-run this script (update-makemkv-drives)." >+ > >Property changes on: multimedia/makemkv/files/update-makemkv-drives.in >___________________________________________________________________ >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:executable >## -0,0 +1 ## >+* >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/makemkv/pkg-descr >=================================================================== >--- multimedia/makemkv/pkg-descr (nonexistent) >+++ multimedia/makemkv/pkg-descr (working copy) >@@ -0,0 +1,24 @@ >+Video converter reading from DVD and Bluray >+ >+MakeMKV is your one-click solution to convert video that you own into free and >+patents-unencumbered format that can be played everywhere. MakeMKV is a format >+converter, otherwise called "transcoder". It converts the video clips from >+proprietary (and usually encrypted) disc into a set of MKV files, preserving >+most information but not changing it in any way. The MKV format can store >+multiple video/audio tracks with all meta-information and preserve chapters. >+There are many players that can play MKV files nearly on all platforms, and >+there are tools to convert MKV files to many formats, including DVD and Blu-ray >+discs. >+ >+* Reads DVD and Blu-ray discs >+* Reads Blu-ray discs protected with latest versions of AACS and BD+ >+* Preserves all video and audio tracks, including HD audio >+* Preserves chapters information >+* Preserves all meta-information (track language, audio type) >+* Fast conversion - converts as fast as your drive can read data. >+* No additional software is required for conversion or decryption. >+* Functionality to open DVD discs is free and will always stay free. >+* All features (including Blu-ray decryption and processing) are free during >+ BETA. >+ >+WWW: https://www.makemkv.com > >Property changes on: multimedia/makemkv/pkg-descr >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/makemkv/pkg-message >=================================================================== >--- multimedia/makemkv/pkg-message (nonexistent) >+++ multimedia/makemkv/pkg-message (working copy) >@@ -0,0 +1,14 @@ >+This port doesn't include the MakeMKV GUI as it doesn't work on FreeBSD. >+ >+To enable makemkvcon to find a drive on FreeBSD, a part of Linux' sysfs must >+be faked. The included script `update-makemkv-drives' creates these faked >+sysfs entries and is run automatically after installation. If your hardware >+configuration changes, make sure to re-run `update-makemkv-drives'. >+ >+If makemkvcon refuses to work as root, check the permissions of >+/compat/linux/tmp -- it should be world-writable and sticky. To set these >+permissions, use the command >+ >+ chmod 1777 /compat/linux/tmp >+ >+ > >Property changes on: multimedia/makemkv/pkg-message >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: multimedia/makemkv/pkg-plist >=================================================================== >--- multimedia/makemkv/pkg-plist (nonexistent) >+++ multimedia/makemkv/pkg-plist (working copy) >@@ -0,0 +1,11 @@ >+bin/makemkvcon >+lib/makemkv/libdriveio.so.0 >+lib/makemkv/libmakemkv.so.1 >+lib/makemkv/libmmbd.so.0 >+man/man1/makemkvcon.1.gz >+sbin/update-makemkv-drives >+share/MakeMKV/appdata.tar >+share/MakeMKV/blues.jar >+share/MakeMKV/blues.policy >+@postexec update-makemkv-drives >+@preunexec rm -fr %%LINUXBASE%%/etc/makemkv > >Property changes on: multimedia/makemkv/pkg-plist >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 238004
:
204487
|
204545
|
204939
|
205124
|
205127
|
206736
|
207137
|
207714
|
212721
|
213053