OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 06-Mar-2006 22:51:48 Branch: HEAD Handle: 2006030621514800 Modified files: openpkg-src/js js.patch js.spec Log: add two additional Perl bindings Summary: Revision Changes Path 1.4 +122 -24 openpkg-src/js/js.patch 1.10 +76 -30 openpkg-src/js/js.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/js/js.patch ============================================================================ $ cvs diff -u -r1.3 -r1.4 js.patch --- openpkg-src/js/js.patch 29 Jan 2006 21:19:31 -0000 1.3 +++ openpkg-src/js/js.patch 6 Mar 2006 21:51:48 -0000 1.4 @@ -1,6 +1,92 @@ -Index: jsapi.c ---- jsapi.c.orig 2005-10-22 12:19:14 +0200 -+++ jsapi.c 2006-01-29 22:17:08 +0100 +Index: JavaScript-0.55/JavaScript.xs +--- JavaScript-0.55/JavaScript.xs.orig 2005-06-29 21:07:06 +0200 ++++ JavaScript-0.55/JavaScript.xs 2006-03-06 22:39:04 +0100 +@@ -6,7 +6,7 @@ + #else + #include <jsapi.h> + #endif +-#include <malloc.h> ++#include <stdlib.h> + + #define _IS_UNDEF(a) (SvANY(a) == SvANY(&PL_sv_undef)) + +Index: JavaScript-0.55/Makefile.PL +--- JavaScript-0.55/Makefile.PL.orig 2005-06-28 23:49:03 +0200 ++++ JavaScript-0.55/Makefile.PL 2006-03-06 22:39:04 +0100 +@@ -10,30 +10,13 @@ + $define .= " -DXP_UNIX"; + } + +-my $inc = ''; +- +-if(-f "/etc/gentoo-release") { +- # Gentoo puts libjs in a slightly hidden spot. +- $inc = '-I/usr/lib/MozillaFirefox/include/js/ -I/usr/lib/MozillaFirefox/'; +-} +- +-#test for debian type include files... +-if (-f "/usr/include/smjs/jsapi.h" or -f "/usr/local/include/smjs/jsapi.h") { +- $define .= " -DINCLUDES_IN_SMJS" +-} ++my $inc = '-I../js/src'; + + if($ENV{JS_THREADSAFE}) { + $define .= " -DJS_THREADSAFE"; + } + +-my $lib = "-ljs"; +-#test for debian type libsmjs +-#this could probably be done better, but I'm not sure how to +-#get this platform independant +-if (-f "/usr/lib/libsmjs.so" or -f "/usr/local/lib/libsmjs.so") { +- $lib = "-lsmjs"; +-} +- ++my $lib = "-L../js/src -ljs"; + + WriteMakefile( + 'NAME' => 'JavaScript', +Index: JavaScript-SpiderMonkey-0.15/Makefile.PL +--- JavaScript-SpiderMonkey-0.15/Makefile.PL.orig 2006-02-28 18:13:08 +0100 ++++ JavaScript-SpiderMonkey-0.15/Makefile.PL 2006-03-06 22:39:27 +0100 +@@ -108,7 +108,6 @@ + 'NAME' => 'JavaScript::SpiderMonkey', + 'VERSION_FROM' => 'SpiderMonkey.pm', # finds $VERSION + 'PREREQ_PM' => { +- 'Log::Log4perl' => 0, + 'Data::Dumper' => 0, + }, # e.g., Module::Name => 1.1 + ($] >= 5.005 ? ## Add these new keywords supported since 5.005 +Index: JavaScript-SpiderMonkey-0.15/SpiderMonkey.pm +--- JavaScript-SpiderMonkey-0.15/SpiderMonkey.pm.orig 2006-03-06 17:48:27 +0100 ++++ JavaScript-SpiderMonkey-0.15/SpiderMonkey.pm 2006-03-06 22:39:04 +0100 +@@ -75,7 +75,6 @@ + use strict; + use warnings; + use Data::Dumper; +-use Log::Log4perl qw(:easy); + + require Exporter; + require DynaLoader; +@@ -555,14 +554,7 @@ + ################################################## + sub debug_enabled { + ################################################## +- my $logger = Log::Log4perl::get_logger("JavaScript::SpiderMonkey"); +- if(Log::Log4perl->initialized() and $logger->is_debug()) { +- # print "DEBUG IS ENABLED\n"; +- return 1; +- } else { +- # print "DEBUG IS DISABLED\n"; +- return 0; +- } ++ return 0; + } + + 1; +Index: js/src/jsapi.c +--- js/src/jsapi.c.orig 2005-10-22 12:19:14 +0200 ++++ js/src/jsapi.c 2006-03-06 22:39:04 +0100 @@ -125,7 +125,7 @@ static JSBool @@ -39,9 +125,9 @@ atom = NULL; attrs &= ~JSPROP_INDEX; } else { -Index: jscntxt.c ---- jscntxt.c.orig 2004-08-19 19:57:36 +0200 -+++ jscntxt.c 2006-01-29 22:17:08 +0100 +Index: js/src/jscntxt.c +--- js/src/jscntxt.c.orig 2004-08-19 19:57:36 +0200 ++++ js/src/jscntxt.c 2006-03-06 22:39:04 +0100 @@ -334,7 +334,7 @@ { const JSResolvingKey *key = (const JSResolvingKey *)ptr; @@ -51,9 +137,9 @@ } JS_PUBLIC_API(JSBool) -Index: jsdtoa.c ---- jsdtoa.c.orig 2004-04-04 00:11:11 +0200 -+++ jsdtoa.c 2006-01-29 22:17:08 +0100 +Index: js/src/jsdtoa.c +--- js/src/jsdtoa.c.orig 2004-04-04 00:11:11 +0200 ++++ js/src/jsdtoa.c 2006-03-06 22:39:04 +0100 @@ -257,7 +257,7 @@ #define word1(x) JSDOUBLE_LO32(x) #define set_word1(x, y) JSDOUBLE_SET_LO32(x, y) @@ -90,9 +176,9 @@ set_word0(rv0, Exp_1 - P*Exp_msk1); set_word1(rv0, 0); if ((word0(rv) & Exp_mask) <= P*Exp_msk1 -Index: jsinterp.c ---- jsinterp.c.orig 2004-09-24 04:16:49 +0200 -+++ jsinterp.c 2006-01-29 22:17:08 +0100 +Index: js/src/jsinterp.c +--- js/src/jsinterp.c.orig 2004-09-24 04:16:49 +0200 ++++ js/src/jsinterp.c 2006-03-06 22:39:04 +0100 @@ -1741,11 +1741,11 @@ void *mark; jsbytecode *pc, *pc2, *endpc; @@ -132,9 +218,9 @@ goto out; } sp = newsp + depth; -Index: jsosdep.h ---- jsosdep.h.orig 2003-11-15 01:10:59 +0100 -+++ jsosdep.h 2006-01-29 22:17:08 +0100 +Index: js/src/jsosdep.h +--- js/src/jsosdep.h.orig 2003-11-15 01:10:59 +0100 ++++ js/src/jsosdep.h 2006-03-06 22:39:04 +0100 @@ -101,7 +101,7 @@ #elif defined(SOLARIS) #define JS_HAVE_LONG_LONG @@ -144,9 +230,9 @@ #define JS_HAVE_LONG_LONG #elif defined(SUNOS4) -Index: jspubtd.h ---- jspubtd.h.orig 2004-06-15 18:38:43 +0200 -+++ jspubtd.h 2006-01-29 22:17:08 +0100 +Index: js/src/jspubtd.h +--- js/src/jspubtd.h.orig 2004-06-15 18:38:43 +0200 ++++ js/src/jspubtd.h 2006-03-06 22:39:04 +0100 @@ -531,7 +531,7 @@ typedef JSBool (* JS_DLL_CALLBACK JSArgumentFormatter)(JSContext *cx, const char *format, @@ -156,9 +242,9 @@ #endif typedef JSBool -Index: jstypes.h ---- jstypes.h.orig 2003-11-15 01:11:04 +0100 -+++ jstypes.h 2006-01-29 22:17:08 +0100 +Index: js/src/jstypes.h +--- js/src/jstypes.h.orig 2003-11-15 01:11:04 +0100 ++++ js/src/jstypes.h 2006-03-06 22:39:04 +0100 @@ -203,6 +203,19 @@ #define JS_BITMASK(n) (JS_BIT(n) - 1) @@ -179,9 +265,21 @@ ** MACROS: JS_HOWMANY ** JS_ROUNDUP ** JS_MIN -Index: rules.mk ---- rules.mk.orig 2003-11-15 01:11:04 +0100 -+++ rules.mk 2006-01-29 22:17:08 +0100 +Index: js/src/perlconnect/JS.xs +--- js/src/perlconnect/JS.xs.orig 2005-02-12 21:10:34 +0100 ++++ js/src/perlconnect/JS.xs 2006-03-06 22:39:04 +0100 +@@ -61,7 +61,7 @@ + + #include <jsapi.h> + #include "jsperlpvt.h" +-#include <malloc.h> ++#include <stdlib.h> + + /* __REMOVE__ */ + /* #include <stdio.h> */ +Index: js/src/rules.mk +--- js/src/rules.mk.orig 2003-11-15 01:11:04 +0100 ++++ js/src/rules.mk 2006-03-06 22:39:04 +0100 @@ -58,7 +58,7 @@ # TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now @@ . patch -p0 <<'@@ .' Index: openpkg-src/js/js.spec ============================================================================ $ cvs diff -u -r1.9 -r1.10 js.spec --- openpkg-src/js/js.spec 29 Jan 2006 21:19:32 -0000 1.9 +++ openpkg-src/js/js.spec 6 Mar 2006 21:51:48 -0000 1.10 @@ -22,6 +22,11 @@ ## SUCH DAMAGE. ## +# package version +%define V_js 1.5 +%define V_javascript 0.55 +%define V_javascript_spidermonkey 0.15 + # package information Name: js Summary: Mozilla JavaScript (JS) @@ -32,15 +37,17 @@ Class: EVAL Group: Language License: MPL/GPL/LGPL -Version: 1.5 -Release: 20060129 +Version: %{V_js} +Release: 20060306 # package options %option with_perl no # list of sources -Source0: http://ftp.mozilla.org/pub/mozilla.org/js/js-%{version}.tar.gz -Source1: js.pc +Source0: http://ftp.mozilla.org/pub/mozilla.org/js/js-%{V_js}.tar.gz +Source1: http://www.cpan.org/modules/by-module/JavaScript/JavaScript-%{V_javascript}.tar.gz +Source2: http://www.cpan.org/modules/by-module/JavaScript/JavaScript-SpiderMonkey-%{V_javascript_spidermonkey}.tar.gz +Source3: js.pc Patch0: js.patch # build information @@ -61,45 +68,73 @@ Netscape-developed object scripting language used in millions of web pages and server applications worldwide. Netscape's JavaScript is a superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting - language. + language. This package also optionally provides Perl bindings. %track prog js = { - version = %{version} + version = %{V_js} url = http://ftp.mozilla.org/pub/mozilla.org/js/ regex = js-(__VER__)\.tar\.gz } + prog js:JavaScript = { + version = %{V_javascript} + url = http://www.cpan.org/modules/by-module/JavaScript/ + regex = JavaScript-(__VER__)\.tar\.gz + } + prog js:JavaScript-SpiderMonkey = { + version = %{V_javascript_spidermonkey} + url = http://www.cpan.org/modules/by-module/JavaScript/ + regex = JavaScript-SpiderMonkey-(__VER__)\.tar\.gz + } %prep %setup -q -c - %patch -p0 -d js/src + %setup -q -D -T -a 1 + %setup -q -D -T -a 2 + %patch -p0 %build - cd js/src - # build components - cp Makefile.ref Makefile - case "%{l_platform -t}" in - *-freebsd* ) cp config/Linux_All.mk config/`uname -s``uname -r`.mk ;; - esac - touch config/`uname -s``uname -r`.mk - %{l_make} %{l_mflags} \ - CC="%{l_cc}" \ - XCFLAGS="%{l_cppflags} %{l_cflags -O}" \ - XLDFLAGS="%{l_ldflags}" \ - BUILD_OPT=1 \ - JS_EDITLINE=1 - -%if "%{with_perl}" == "yes" - # build Perl API - objdir="`echo *.OBJ`" - %{l_shtool} subst \ - -e "s:\\(\$inc.=.\"\\).*\\(\";\\):\\1-I../$objdir -I..\\2:g" \ - -e "s:\\(\$libpath.=.\"\\).*\\(\";\\):\\1-L../$objdir\\2:g" \ - perlconnect/Makefile.PL +%if "%{with_perl}" == "yes" %{l_prefix}/bin/perl-openpkg prepare - %{l_prefix}/bin/perl-openpkg -d perlconnect -A "-c" configure - %{l_prefix}/bin/perl-openpkg -d perlconnect build +%endif + ( cd js/src + cp Makefile.ref Makefile + case "%{l_platform -t}" in + *-freebsd* ) cp config/Linux_All.mk config/`uname -s``uname -r`.mk ;; + esac + touch config/`uname -s``uname -r`.mk + %{l_make} %{l_mflags} \ + CC="%{l_cc}" \ + XCFLAGS="%{l_cppflags} %{l_cflags -O}" \ + XLDFLAGS="%{l_ldflags}" \ + BUILD_OPT=1 \ + JS_EDITLINE=1 + +%if "%{with_perl}" == "yes" + # build Perl API + objdir="`echo *.OBJ`" + %{l_shtool} subst \ + -e "s:\\(\$inc.=.\"\\).*\\(\";\\):\\1-I../$objdir -I..\\2:g" \ + -e "s:\\(\$libpath.=.\"\\).*\\(\";\\):\\1-L../$objdir\\2:g" \ + perlconnect/Makefile.PL + %{l_prefix}/bin/perl-openpkg -d perlconnect -A "-c" configure + %{l_prefix}/bin/perl-openpkg -d perlconnect build +%endif + ) || exit $? + +%if "%{with_perl}" == "yes" + # build add-on Perl bindings + ( cd JavaScript-%{V_javascript} + ln ../js/src/`uname -s``uname -r`_OPT.OBJ/libjs.a ../js/src/ + ln ../js/src/`uname -s``uname -r`_OPT.OBJ/jsautocfg.h ../js/src/ + %{l_prefix}/bin/perl-openpkg configure build + rm -f ../js/src/libjs.a + rm -f ../js/src/jsautocfg.h + ) || exit $? + ( cd JavaScript-SpiderMonkey-%{V_javascript_spidermonkey} + %{l_prefix}/bin/perl-openpkg configure build + ) || exit $? %endif %install @@ -130,6 +165,17 @@ %{l_prefix}/bin/perl-openpkg -d perlconnect install %endif ) || exit $? + +%if "%{with_perl}" == "yes" + # install add-on Perl bindings + ( cd JavaScript-%{V_javascript} + %{l_prefix}/bin/perl-openpkg install + ) || exit $? + ( cd JavaScript-SpiderMonkey-%{V_javascript_spidermonkey} + %{l_prefix}/bin/perl-openpkg install + ) || exit $? +%endif + %if "%{with_perl}" == "yes" %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup %else @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org