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

Reply via email to