Hi,

Zhuk@ noticed that inkscape extensions only work if you have interpreter
symlinks installed. The following diff fixes this. OK?

Index: Makefile
===================================================================
RCS file: /home/edd/cvsync/cvs/ports/graphics/inkscape/Makefile,v
retrieving revision 1.37
diff -u -p -r1.37 Makefile
--- Makefile    22 Oct 2013 00:14:59 -0000      1.37
+++ Makefile    22 Oct 2013 13:17:38 -0000
@@ -3,6 +3,7 @@
 COMMENT=       SVG vector drawing application
 
 DISTNAME=      inkscape-0.48.4
+REVISION =     0
 CATEGORIES=    graphics
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=inkscape/}
 
@@ -21,7 +22,9 @@ WANTLIB += pangoft2-1.0 pangomm-1.4 png 
 WANTLIB += pthread sigc-2.0 stdc++ xml2 xslt z
 
 MODULES=       devel/gettext \
-               textproc/intltool
+               textproc/intltool \
+               lang/python \
+               lang/ruby
 
 BUILD_DEPENDS= devel/boost
 LIB_DEPENDS=   devel/boehm-gc \
@@ -53,6 +56,10 @@ NO_TEST=     Yes
 # pages, as our mandoc implementation does not yet deal with them properly.
 RM_MANS=       man/el man/fr man/ja man/man1/inkscape.*.1 \
                man/sk man/zh_TW
+
+SUBST_VARS +=  RUBY
+pre-configure:
+       ${SUBST_CMD} ${WRKSRC}/src/extension/implementation/script.cpp
 
 post-install:
 .for i in ${RM_MANS}
Index: patches/patch-src_extension_implementation_script_cpp
===================================================================
RCS file: 
/home/edd/cvsync/cvs/ports/graphics/inkscape/patches/patch-src_extension_implementation_script_cpp,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_extension_implementation_script_cpp
--- patches/patch-src_extension_implementation_script_cpp       22 Oct 2013 
00:15:00 -0000      1.2
+++ patches/patch-src_extension_implementation_script_cpp       22 Oct 2013 
12:02:35 -0000
@@ -5,8 +5,29 @@ Security fix for CVE-2012-6076 inkscape:
 Patch taken from Debian:
 
http://patch-tracker.debian.org/patch/series/view/inkscape/0.48.3.1-1.3/04-fix-LP911146.diff
 
+Also patch in correct interpreter paths.
+
 --- src/extension/implementation/script.cpp.orig       Thu Dec 13 17:00:46 2012
-+++ src/extension/implementation/script.cpp    Thu Oct 10 14:50:24 2013
++++ src/extension/implementation/script.cpp    Tue Oct 22 13:02:20 2013
+@@ -85,14 +85,14 @@ void Script::pump_events (void) {
+     the given interpreter to a custom one per user.
+ */
+ Script::interpreter_t const Script::interpreterTab[] = {
+-        {"perl",   "perl-interpreter",   "perl"   },
++        {"perl",   "perl-interpreter",   "/usr/bin/perl"   },
+ #ifdef WIN32
+         {"python", "python-interpreter", "pythonw" },
+ #else
+-        {"python", "python-interpreter", "python" },
++        {"python", "python-interpreter", "${MODPY_BIN}" },
+ #endif
+-        {"ruby",   "ruby-interpreter",   "ruby"   },
+-        {"shell",  "shell-interpreter",  "sh"     },
++        {"ruby",   "ruby-interpreter",   "${RUBY}"   },
++        {"shell",  "shell-interpreter",  "/bin/sh"     },
+         { NULL,    NULL,                  NULL    }
+ };
+ 
 @@ -956,7 +956,14 @@ int Script::execute (const std::list<std::string> &in_
      // assemble the rest of argv
      std::copy(in_params.begin(), in_params.end(), std::back_inserter(argv));
-- 
Best Regards
Edd Barrett

http://www.theunixzoo.co.uk

Reply via email to