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.

Reply via email to