summaryrefslogtreecommitdiff
path: root/media-video/makemkv
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/makemkv')
-rw-r--r--media-video/makemkv/Manifest8
-rw-r--r--media-video/makemkv/files/makemkv-path.patch59
-rw-r--r--media-video/makemkv/files/makemkv-wget.patch29
-rw-r--r--media-video/makemkv/makemkv-1.10.7.ebuild119
-rw-r--r--media-video/makemkv/metadata.xml25
5 files changed, 240 insertions, 0 deletions
diff --git a/media-video/makemkv/Manifest b/media-video/makemkv/Manifest
new file mode 100644
index 000000000000..1c662da1532b
--- /dev/null
+++ b/media-video/makemkv/Manifest
@@ -0,0 +1,8 @@
+AUX makemkv-path.patch 2153 SHA256 daf69f09e936929e78c82ef8efdd6014a3b1bfdf776751f57cc86a8f50888022 SHA512 c7744f92ed7a5f09f0301c454afa32e4fce7251f276129917d2ce602b35f5961e629fa0328213f6e5a8d260b5964db099c44b1e870b209f7bb78712cf52b6e95 WHIRLPOOL baa98199b7735117d756d7458359f4dcc9b12b463d5707d7606fd7676fc157b1868a21e8da803da6c7fc7c577a09ae027fbfc4fd5f2eb0da528dbb545e550289
+AUX makemkv-wget.patch 1013 SHA256 8153281145a2299c190e5b3453fa3f76c9451e1eb16006fde459e6665a7bad80 SHA512 09ece751d6765a93ff18e0eb8edbb7c413e1074676bc5c6fbc57bb1b8c2314f66198737c5077ecef18d286d724088d2db6731977885713bc095531281f104e0f WHIRLPOOL 453a619c70b8ef28e0d8ccfb80141109fe129879f7a4e31355d52d059d95a2abfebe74b16b05d14b033b0c63fa28a0f1567d4382c370937c63990d66d22a1b67
+DIST makemkv-bin-1.10.7.tar.gz 8724225 SHA256 2b9a9e6fb779bc876371b2f88b23fddad3e92d6449fe5d1541dcd9ad04e01eac SHA512 7c3c1713df6b4009de2337a28f4c5b1f38d37be3a30f08ceafc6dc276c960960f6443fd5b29f5f96f10597093ff170fb5ab69d6244db5165da30abe1d3732aab WHIRLPOOL 7cdbd0aef4d1d5e9d7eb0b5ba1e7be5d478a84dfa4fe2c6528c91db29c2ebe86db4ee2cd5059b84b934bb720f293979e0afec9bcce2a3c8460825d9c5a6ce104
+DIST makemkv-oss-1.10.7.tar.gz 4570003 SHA256 be61fcee31dc52944ec7ef440ff8fffbc140d24877e6afb19149c541564eb654 SHA512 f329449ed1bb4240a8256c3171c3c6cc0843c8d07a79526608fa3ea83e012634e6c6d9dd17160853b973d012e3483bcdaa17d9d1e6f7beb90c048b6063c12aa8 WHIRLPOOL 2e74e6d025bf26c12b036c971648975a4e7d9b753a2015e9282f5a4ded0885e83df4f54ca30200c8f50ba5f748283c582fba3b65b4e26211a7d87e4d431ec137
+EBUILD makemkv-1.10.7.ebuild 3113 SHA256 bd8dfb616f0219994f7ea82ca2526ad1030ecb1d4ed765ad2968049fef631d88 SHA512 4733ad340dd9ab8fe247e6f37005620ea5ed5e364c21911d81bb54e7a31e02b5c652699422a14d0fdd3113c2870529e20dba8b3166b424ab3472971c7a960202 WHIRLPOOL 078a37c1892a4fa9700848db25b34f1c232f7428f328303822819d0e86afd35eee61e350f862c68b3af96f681b984f4c53b782e1ecb1fb60b9cbc34be516853e
+MISC ChangeLog 7615 SHA256 377311aefb24e51892ac094ee9733edecad630891cdea77e76c745b3059fc0b1 SHA512 99510e41787abe9edefd918edaff201c5a43f3c8e05c0bf49f9499a9b31e685c6dc8f1d5763f9feb251a352e76a9a9b7d5a13488c33ea8d18ddc32cb6370d1e5 WHIRLPOOL b30a6ec149a2c90ec532b38c4ed8c10b33a7285ee9174c792fdb44123e454704906ebebd92f497c0a5302392884559cabf35af71c7a1e0621f3a7f1534b43cc5
+MISC ChangeLog-2015 12085 SHA256 fbf29eb91bf5bf4b516857b2e3e778bc4ed54b6fe382d80f84ffd688dc0afb02 SHA512 63a0713ae6a6cee55f3077d850a86cc6079a574145683b61b643b8324dcf9ed55dc207e54e70709d1b818489a9fb016c12d553076b5f7aa9a298c599990a565f WHIRLPOOL 3a54bb835dea1cd815cfc2daab46338b46b65e785bc0684a7787ee74ff69b8fd19f8741d821fb5a4de968a3029742e8f7666589e03d64d34b518289a9294c2e6
+MISC metadata.xml 1221 SHA256 19e142b9a9c08384f526c0bf2175aa9443a31c8082f8fe6804dc5011421db4c8 SHA512 697327658b9d1dff99431417d48d9184377c56eacdaf61d98f22a1f7df1e596ee34971f6f75f13cd3842ccb49a21bd2f70592acee8269ae9c130261f72d6a92b WHIRLPOOL 9231c2da5d1d02def5eff7b9609f470720710ea9fb6d2c807226a7488b84f9baa000215761ae71acb88306d59c9429a5bd6ec761bfe1c0918baadd6dc5886083
diff --git a/media-video/makemkv/files/makemkv-path.patch b/media-video/makemkv/files/makemkv-path.patch
new file mode 100644
index 000000000000..7c66849b3234
--- /dev/null
+++ b/media-video/makemkv/files/makemkv-path.patch
@@ -0,0 +1,59 @@
+diff -Naur makemkv-oss-1.9.10.orig/libabi/src/httplinux.cpp makemkv-oss-1.9.10/libabi/src/httplinux.cpp
+--- makemkv-oss-1.9.10.orig/libabi/src/httplinux.cpp 2016-04-15 21:35:36.000000000 +0100
++++ makemkv-oss-1.9.10/libabi/src/httplinux.cpp 2016-05-08 10:52:42.481501963 +0100
+@@ -45,7 +45,7 @@
+ lurl = (char*)alloca(strlen(Url)+1);
+ strcpy(lurl,Url);
+
+- strcpy(argv0,"/usr/bin/wget"); argv[0]=argv0;
++ strcpy(argv0,"wget"); argv[0]=argv0;
+ strcpy(argv1,"-q"); argv[1]=argv1;
+ strcpy(argv2,"-O"); argv[2]=argv2;
+ strcpy(argv3,"-"); argv[3]=argv3;
+diff -Naur makemkv-oss-1.9.10.orig/makemkvgui/src/api_posix.cpp makemkv-oss-1.9.10/makemkvgui/src/api_posix.cpp
+--- makemkv-oss-1.9.10.orig/makemkvgui/src/api_posix.cpp 2016-04-15 21:35:36.000000000 +0100
++++ makemkv-oss-1.9.10/makemkvgui/src/api_posix.cpp 2016-05-08 13:51:48.761885862 +0100
+@@ -54,8 +54,6 @@
+
+ if (AppName[0]==':')
+ {
+- bool app_found = false;
+- const char* const* app_locations = ApGetAppLocations();
+ const char* p_env = getenv("MAKEMKVCON");
+
+ AppName++;
+@@ -63,6 +61,13 @@
+ if (p_env!=NULL)
+ {
+ strcpy(app_path,p_env);
++ } else {
++ strcpy(app_path,AppName);
++ }
++ } else {
++ strcpy(app_path,AppName);
++ }
++/*
+ app_found = true;
+ } else {
+ for (size_t i=0;app_locations[i]!=NULL;i++)
+@@ -105,7 +110,7 @@
+ }
+ strcpy(p,AppName);
+ }
+-
++*/
+ strcpy(str_guiserver,"guiserver");
+ strcpy(str_apver,verstr);
+
+diff -Naur makemkv-oss-1.9.10.orig/makemkvgui/src/spawn_posix.cpp makemkv-oss-1.9.10/makemkvgui/src/spawn_posix.cpp
+--- makemkv-oss-1.9.10.orig/makemkvgui/src/spawn_posix.cpp 2016-04-15 21:35:36.000000000 +0100
++++ makemkv-oss-1.9.10/makemkvgui/src/spawn_posix.cpp 2016-05-08 10:52:37.137598384 +0100
+@@ -70,7 +70,7 @@
+ }
+ }
+
+- err = posix_spawn(&pid,argv[0],&spawn_actions,&spawn_attr,argv,envp);
++ err = posix_spawnp(&pid,argv[0],&spawn_actions,&spawn_attr,argv,envp);
+
+ posix_spawn_file_actions_destroy(&spawn_actions);
+ posix_spawnattr_destroy(&spawn_attr);
diff --git a/media-video/makemkv/files/makemkv-wget.patch b/media-video/makemkv/files/makemkv-wget.patch
new file mode 100644
index 000000000000..01398469ae6d
--- /dev/null
+++ b/media-video/makemkv/files/makemkv-wget.patch
@@ -0,0 +1,29 @@
+https://www.makemkv.com/forum2/viewtopic.php?f=3&t=15885
+
+diff -Naur a/libabi/src/httplinux.cpp b/libabi/src/httplinux.cpp
+--- a/libabi/src/httplinux.cpp 2017-03-26 16:33:04.000000000 +0100
++++ b/libabi/src/httplinux.cpp 2017-03-26 20:31:04.630357491 +0100
+@@ -29,8 +29,8 @@
+ int HTTP_Download(const char* Url,const char* Agent,void* Buffer,uint32_t* Size)
+ {
+ int pipe_fd[2],err;
+- char* argv[10];
+- char argv0[16],argv1[4],argv2[4],argv3[4],argv4[4],argv5[4],argv6[4];
++ char* argv[12];
++ char argv0[16],argv1[4],argv2[4],argv3[4],argv4[4],argv5[4],argv6[4],argv8[4],argv9[16];
+ char *lagent,*lurl;
+ ssize_t rd;
+
+@@ -53,8 +53,10 @@
+ strcpy(argv5,"20"); argv[5]=argv5;
+ strcpy(argv6,"-U"); argv[6]=argv6;
+ argv[7]=lagent;
+- argv[8]=lurl;
+- argv[9]=NULL;
++ strcpy(argv8,"-o"); argv[8]=argv8;
++ strcpy(argv9,"/dev/null"); argv[9]=argv9;
++ argv[10]=lurl;
++ argv[11]=NULL;
+
+ err = SYS_posix_launch(argv,0,pipe_fd[1],0,SYS_posix_envp());
+
diff --git a/media-video/makemkv/makemkv-1.10.7.ebuild b/media-video/makemkv/makemkv-1.10.7.ebuild
new file mode 100644
index 000000000000..f01bbdb662fc
--- /dev/null
+++ b/media-video/makemkv/makemkv-1.10.7.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils flag-o-matic
+
+MY_P=makemkv-oss-${PV}
+MY_PB=makemkv-bin-${PV}
+
+DESCRIPTION="Tool for ripping and streaming Blu-ray, HD-DVD and DVD discs"
+HOMEPAGE="http://www.makemkv.com/"
+SRC_URI="http://www.makemkv.com/download/${MY_P}.tar.gz
+ http://www.makemkv.com/download/${MY_PB}.tar.gz"
+
+LICENSE="LGPL-2.1 MPL-1.1 MakeMKV-EULA openssl"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="libav multilib qt4 qt5"
+
+QA_PREBUILT="usr/bin/makemkvcon usr/bin/mmdtsdec"
+
+DEPEND="
+ sys-libs/glibc[multilib?]
+ dev-libs/expat
+ dev-libs/openssl:0[-bindist(-)]
+ sys-libs/zlib
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ !qt5? ( qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtdbus:4
+ dev-qt/qtgui:4
+ ) )
+ !libav? ( >=media-video/ffmpeg-1.0.0:0= )
+ libav? ( >=media-video/libav-0.8.9:0= )
+"
+RDEPEND="${DEPEND}
+ net-misc/wget"
+
+S="${WORKDIR}/makemkv-oss-${PV}"
+PATCHES=( "${FILESDIR}"/${PN}-{wget,path}.patch )
+
+src_configure() {
+ # See bug #439380.
+ replace-flags -O* -Os
+
+ local econf_args=()
+
+ if use qt5 || use qt4; then
+ econf_args+=( --enable-gui )
+ else
+ econf_args+=( --disable-gui )
+ fi
+
+ econf \
+ --enable-debug \
+ --disable-noec \
+ $(use_enable qt5) \
+ $(use_enable qt4) \
+ "${econf_args[@]}"
+}
+
+src_install() {
+ default
+
+ # add missing symlinks for QA
+ dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so.0.${PV}
+ dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so
+ dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so.1.${PV}
+ dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so
+ dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so
+ dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so.0.${PV}
+
+ cd "${WORKDIR}"/${MY_PB} || die
+
+ # install prebuilt bins
+ if use x86; then
+ dobin bin/i386/{makemkvcon,mmdtsdec}
+ elif use amd64; then
+ dobin bin/amd64/makemkvcon
+ use multilib && dobin bin/i386/mmdtsdec
+ fi
+
+ # install profiles and locales
+ insinto /usr/share/MakeMKV
+ doins src/share/*.{mo.gz,xml}
+}
+
+pkg_preinst() { gnome2_icon_savelist; }
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+
+ elog "While MakeMKV is in beta mode, upstream has provided a license"
+ elog "to use if you do not want to purchase one."
+ elog ""
+ elog "See this forum thread for more information, including the key:"
+ elog "http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053"
+ elog ""
+ elog "Note that beta license may have an expiration date and you will"
+ elog "need to check for newer licenses/releases. "
+ elog ""
+ elog "We previously said to copy default.mmcp.xml to ~/.MakeMKV/. This"
+ elog "is no longer necessary and you should delete it from there to"
+ elog "avoid warning messages."
+ elog ""
+ elog "MakeMKV can also act as a drop-in replacement for libaacs and"
+ elog "libbdplus, allowing transparent decryption of a wider range of"
+ elog "titles under players like VLC and mplayer. To enable this, set"
+ elog "the following variables when launching the player:"
+ elog "LIBAACS_PATH=libmmbd LIBBDPLUS_PATH=libmmbd"
+}
+
+pkg_postrm() { gnome2_icon_cache_update; }
diff --git a/media-video/makemkv/metadata.xml b/media-video/makemkv/metadata.xml
new file mode 100644
index 000000000000..b650d107cd5b
--- /dev/null
+++ b/media-video/makemkv/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <longdescription>
+ 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.
+
+ Additionally MakeMKV can instantly stream decrypted video
+ without intermediate conversion to wide range of players, so you
+ may watch Blu-ray and DVD discs with your favorite player on
+ your favorite OS or on your favorite device.
+</longdescription>
+</pkgmetadata>