commit: 6848ba2fb2727dd91e9ff0003e052068afc110de Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> AuthorDate: Sun May 8 13:15:29 2016 +0000 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> CommitDate: Sun May 8 16:26:49 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6848ba2f
media-video/makemkv: Launch executables from the PATH Upstream launches wget as /usr/bin/wget and uses a hardcoded set of paths to search for other executables. All the required executables should be in the PATH anyway and this will fix prefixed systems. Also add missing dependency on wget. It's in @system but it's one of the less obvious entries. Package-Manager: portage-2.2.28 media-video/makemkv/files/makemkv-path.patch | 72 +++++++++++++++++++++++----- media-video/makemkv/makemkv-1.9.10.ebuild | 5 +- 2 files changed, 62 insertions(+), 15 deletions(-) diff --git a/media-video/makemkv/files/makemkv-path.patch b/media-video/makemkv/files/makemkv-path.patch index 88f44a9..7c66849 100644 --- a/media-video/makemkv/files/makemkv-path.patch +++ b/media-video/makemkv/files/makemkv-path.patch @@ -1,13 +1,59 @@ ---- makemkv-oss-1.8.10/makemkvgui/src/api_linux.cpp.orig 2014-04-13 14:01:36.000000000 +0100 -+++ makemkv-oss-1.8.10/makemkvgui/src/api_linux.cpp 2014-05-08 00:09:52.863784998 +0100 -@@ -36,9 +36,7 @@ - } - - static const char* const app_locations[]={ -- "/bin", -- "/usr/bin", -- "/usr/local/bin", -+ "/opt/bin", - NULL }; - - const char* const* ApGetAppLocations() +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/makemkv-1.9.10.ebuild b/media-video/makemkv/makemkv-1.9.10.ebuild index bafbae6..57fd31d 100644 --- a/media-video/makemkv/makemkv-1.9.10.ebuild +++ b/media-video/makemkv/makemkv-1.9.10.ebuild @@ -22,7 +22,7 @@ REQUIRED_USE="?? ( qt4 qt5 )" QA_PREBUILT="opt/bin/makemkvcon opt/bin/mmdtsdec" -RDEPEND=" +DEPEND=" sys-libs/glibc[multilib?] dev-libs/expat dev-libs/openssl:0 @@ -41,7 +41,8 @@ RDEPEND=" !libav? ( >=media-video/ffmpeg-1.0.0:0= ) libav? ( >=media-video/libav-0.8.9:0= ) " -DEPEND="${RDEPEND}" +RDEPEND="${DEPEND} + net-misc/wget" # Upstream uses non-standard locale names so map them with this # associative array and perform some tricks below.