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