diff options
Diffstat (limited to 'media-video/makemkv')
-rw-r--r-- | media-video/makemkv/Manifest | 8 | ||||
-rw-r--r-- | media-video/makemkv/files/makemkv-path.patch | 59 | ||||
-rw-r--r-- | media-video/makemkv/files/makemkv-wget.patch | 29 | ||||
-rw-r--r-- | media-video/makemkv/makemkv-1.10.7.ebuild | 119 | ||||
-rw-r--r-- | media-video/makemkv/metadata.xml | 25 |
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> |