Compare commits

...

10 Commits

Author SHA256 Message Date
753169d7f6 Normalize CPAN version
See https://github.com/openSUSE/cpanspec/issues/47 for details

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=15
2024-08-10 21:13:42 +00:00
Stephan Kulow
c1a5f954f9 Accepting request 297572 from devel:languages:perl:autoupdate
automatic update

OBS-URL: https://build.opensuse.org/request/show/297572
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=14
2015-04-17 09:41:24 +00:00
Stephan Kulow
52900b3790 - updated to 0.055
Some pod fixes from Damyan Ivanov  (RT #64015).  (Thank you.)
        One bug fix:  ‘throw new Error’ and ‘$@ = bless[],'JE::Scope'’
        will no longer cause a  crash  when  *@  has  been  localised.
0.054   30 January, 2011
        Bug fix: JE::Object::Errors thrown from within store handlers
        now propagate instead of turning into ‘Cannot assign to a non-
        lvalue’ message.  (Thanks to Chia-liang Kao for fixing this.)
0.053   12 December, 2010
        Bug fixes:
        • The regular expression module was relying on a bug in  perl
          that is fixed in 5.13.8.
        • The  match  and  search  methods of  strings  now  work  if
          no regular expressions have  been  used  yet.  (A  ‘require’
          was missing.)
0.052   5 December, 2010
        Bug fix:  The return value of JE::LValue->can can now be used
        and will delegate properly to the referent.
        Test fix:  t/parse08-regexps.t  has been fixed to  work  with
        the new (?^u:...)  stringification of internally-UTF8 regular
        expressions in perl 5.13.8.
0.051   10 October, 2010
        Bug fix:  On DragonFly BSD,  exp(Infinity) and exp(-Infinity)
        now correctly return Infinity and 0, respectively, instead of
        NaN (I hope).
0.050   3 October, 2010
        • Fix t/parse08-regexps.t to work with the new (?^...) syntax
          in perl 5.13.5.
        • constant::lexical is no longer required.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=13
2011-06-08 12:57:24 +00:00
Stephan Kulow
d93e08d944 new macros
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=12
2010-12-05 12:44:24 +00:00
Stephan Kulow
cc1b704819 - remove /var/adm/perl-modules
- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

- remove /var/adm/perl-modules

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=11
2010-11-29 18:56:27 +00:00
Juergen Weigert
c118f9ee11 - ipdated to 0.049
upstreamed workaround for https://rt.cpan.org/Ticket/Display.html?id=58371

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=10
2010-06-21 11:04:06 +00:00
Juergen Weigert
023394ab52 - update to 0.048
Incompatible change: for-in loops now treat undefined/null on
	the rhs as {}, instead of dying.  This brings JE into conform-
	ity with JScript, Nitro, SpiderMonkey, Opera and ECMAScript 5.
	(So it is no  longer  in  conformity  with  ECMAScript 3  and
	ExtendScript in this regard.)
   * lots of new features and a few bug fixes. See Changes.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=9
2010-06-14 10:31:11 +00:00
Juergen Weigert
c5cacf986c - update to 0.046
Incompatible change:  The long-deprecated JE::Object::new_con-
        structor method has been deleted.
        New features:  The RegExp  constructor now has the  lastMatch
        ($&), lastParen ($+), leftContext ($`), rightContext ($') and
        $1 to $9 properties.
        Bug fixes:
        * RegExp.prototype.exec  now reads  lastIndex  correctly when
          global  is true.
        * The Error  constructor's  length  property and those of its
          subclasses are now 1, not 0.
        * The Error  constructor no longer adds a message property to
          an error object if no message was provided. 
        * Error  subclasses now have their  internal  class  property
          (used by Object.prototype.toString)  set to  Error,  rather
          than  RangeError,  etc.  
        * The overload methods of  JE::LValue  objects  (returned  by
          code like  $je->eval("a.b"))  no longer produce warnings if
          the caller has warnings disabled. 
        * Suppress  "use of goto  ...  is deprecated"  warnings  that
          appear in perl 5.12.
        * Updated to work with perl  5.13.1's  improved  $@  handling.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=8
2010-05-17 11:08:23 +00:00
Christian Wittmer
7eac62b149 Accepting request 35962 from home:jnweiger:branches:devel:languages:perl
Copy from home:jnweiger:branches:devel:languages:perl/perl-JE via accept of submit request 35962 revision 4.
Request was accepted with message:
reviewed, OK, Thank you :)

OBS-URL: https://build.opensuse.org/request/show/35962
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=7
2010-03-29 22:40:42 +00:00
Stephan Kulow
25d72586e0 Accepting request 29351 from home:jnweiger:branches:devel:languages:perl
Copy from home:jnweiger:branches:devel:languages:perl/perl-JE via accept of submit request 29351 revision 9.
Request was accepted with message:
Reviewed ok

OBS-URL: https://build.opensuse.org/request/show/29351
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-JE?expand=0&rev=6
2010-01-13 15:02:34 +00:00
6 changed files with 377 additions and 50 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:65f4a99bedfcd525002a5199b5ffba0936862c3d7bd80438d239140b1e79220c
size 220676

3
JE-0.066.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12b552edaaf2fa078a5bc709a113cb9f16a8c7b109305fcbc972ac28e3e9f155
size 281592

20
cpanspec.yml Normal file
View File

@@ -0,0 +1,20 @@
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: -
#./Build build flags=%{?_smp_mflags} --myflag

View File

@@ -1,3 +1,222 @@
-------------------------------------------------------------------
Fri Apr 17 08:07:08 UTC 2015 - coolo@suse.com
- updated to 0.066
see /usr/share/doc/packages/perl-JE/Changes
0.066 26 October, 2014
Bug fix: Math.pow tries harder to give correct results for
Math.pow(-Infinity, whatever) on platforms where the underly-
ing mathematics libraries give results different from what
ECMAScript specifies (i.e., some Windows compilers).
0.065 12 October, 2014
Enhancement: Regexp stringification (and RegExp.source) now
escape backslashes so that new RegExp('/') stringified is a
valid regexp literal.
Tests: Two badly-written tests added to t/15.09-dates.t in
0.063 that were supposedly fixed in the previous release have
now actually been fixed. (Well see. :-)
0.064 5 October, 2014
Enhancement: new Date() now uses Time::HiRes to get the cur-
rent time to the nearest millisecond.
Tests: Two badly-written tests added to t/15.09-dates.t in
the previous release have been fixed.
0.063 28 September, 2014
Bug fix: Date edge cases were not handled correctly; specific-
ally negative years and months out of range. Also, due to a
caching problem, creation of dates with negative years could
cause creation of dates in the far future to give incor-
rect results.
0.062 17 August, 2014
Bug fixes:
 Object literals (aka object constructors) now allow a trail-
ing comma, as in {foo: 123,} (RT #83661).
 Regular expression literals now allow unescaped slashes in
character classes (i.e., /[^/]/) (RT #83661).
0.061 10 August, 2014
Fixed to work with Perl 5.20.
0.060 21 October, 2012
Incompatible change: We now require perl 5.8.4 or higher,
instead of pretending that 5.8.3 is supported. (It was
already broken enough to spew out warnings.)
Bug fixes:
• An escaped surrogate in a regular expression now matches
that surrogate, instead of trying to match a backslash fol-
lowed by a literal x{d800} or similar.
... ? this : ...  no longer confuses the run-time engine,
resulting in an error (RT #79855).
•  The run-time engine now suppresses recursion warnings,
which legitimate JavaScript code could trigger.
0.059 18 March, 2012
New feature: JE now provides TO_JSON methods to allow serial-
isation with JSON.pm (when the latters convert_blessed
option is enabled). Thanks to Toby Inkster for the suggestion
(RT #75369).
t/15.09-dates.t no longer fails on the 29th of February
(RT #75402).
0.058 1 January, 2012
Bug fix: Remove some debugging code inadvertently included in
the previous release. It was spewing out warnings.
0.057 1 January, 2012
Bug fix: The JE::Destroyer class introduced in the previous
release was still leaking quite a few objects. Hopefully this
has now been fixed.
New feature: The JE::Object::Function constructor now allows
Perl functions to request the global object in their lists of
arguments.
0.056 4 December, 2011
New feature: An experimental JE::Destroyer class, which, if
loaded before any JE objects are created, will track all of
them, allowing JE::Destroyer::destroy($je) to destroy all cir-
cular references.
-------------------------------------------------------------------
Tue May 31 14:35:43 UTC 2011 - coolo@novell.com
- updated to 0.055
Some pod fixes from Damyan Ivanov (RT #64015). (Thank you.)
One bug fix: throw new Error and $@ = bless[],'JE::Scope'
will no longer cause a crash when *@ has been localised.
0.054 30 January, 2011
Bug fix: JE::Object::Errors thrown from within store handlers
now propagate instead of turning into Cannot assign to a non-
lvalue message. (Thanks to Chia-liang Kao for fixing this.)
0.053 12 December, 2010
Bug fixes:
• The regular expression module was relying on a bug in perl
that is fixed in 5.13.8.
• The match and search methods of strings now work if
no regular expressions have been used yet. (A require
 was missing.)
0.052 5 December, 2010
Bug fix: The return value of JE::LValue->can can now be used
and will delegate properly to the referent.
Test fix: t/parse08-regexps.t has been fixed to work with
the new (?^u:...) stringification of internally-UTF8 regular
expressions in perl 5.13.8.
0.051 10 October, 2010
Bug fix: On DragonFly BSD, exp(Infinity) and exp(-Infinity)
now correctly return Infinity and 0, respectively, instead of
NaN (I hope).
0.050 3 October, 2010
• Fix t/parse08-regexps.t to work with the new (?^...) syntax
in perl 5.13.5.
• constant::lexical is no longer required.
-------------------------------------------------------------------
Mon Nov 29 18:30:19 UTC 2010 - coolo@novell.com
- remove /var/adm/perl-modules
-------------------------------------------------------------------
Mon Jun 21 10:58:18 UTC 2010 - jw@novell.com
- ipdated to 0.049
upstreamed workaround for https://rt.cpan.org/Ticket/Display.html?id=58371
-------------------------------------------------------------------
Mon Jun 14 12:29:05 CEST 2010 - jw@suse.de
- update to 0.048
Incompatible change: for-in loops now treat undefined/null on
the rhs as {}, instead of dying. This brings JE into conform-
ity with JScript, Nitro, SpiderMonkey, Opera and ECMAScript 5.
(So it is no longer in conformity with ECMAScript 3 and
ExtendScript in this regard.)
* lots of new features and a few bug fixes. See Changes.
-------------------------------------------------------------------
Mon May 17 11:05:28 UTC 2010 - jw@novell.com
- update to 0.046
Incompatible change: The long-deprecated JE::Object::new_con-
structor method has been deleted.
New features: The RegExp constructor now has the lastMatch
($&), lastParen ($+), leftContext ($`), rightContext ($') and
$1 to $9 properties.
Bug fixes:
* RegExp.prototype.exec now reads lastIndex correctly when
global is true.
* The Error constructor's length property and those of its
subclasses are now 1, not 0.
* The Error constructor no longer adds a message property to
an error object if no message was provided.
* Error subclasses now have their internal class property
(used by Object.prototype.toString) set to Error, rather
than RangeError, etc.
* The overload methods of JE::LValue objects (returned by
code like $je->eval("a.b")) no longer produce warnings if
the caller has warnings disabled.
* Suppress "use of goto ... is deprecated" warnings that
appear in perl 5.12.
* Updated to work with perl 5.13.1's improved $@ handling.
-------------------------------------------------------------------
Mon Mar 29 11:29:58 UTC 2010 - jw@novell.com
- updated to 0.045
* Bug fix: RegExp(re) used to clone the regular expression
object passed to it, instead of simply returning it.
* Test fixes:
Some badly-written date tests were failing consistently in some time zones.
* A couple of toPrecision tests are now skipped, as they are too unreliable and system-dependent.
- t/15.05-string-objects remains unfixed.
-------------------------------------------------------------------
Mon Mar 15 16:33:42 CET 2010 - jw@suse.de
- updated to 0.044
- added survive_test_suite.patch to silence this:
t/15.05-string-objects..................../t/jstest.pl: t/15.05-string-objects.t: Error: panic: utf8_mg_pos_cache_update cache
76 real 3 for at /usr/src/packages/BUILD/JE-0.044/blib/lib/JE/Object/String.pm line 317, <DATA> line 1.
# Looks like you planned 514 tests but ran 155.
-------------------------------------------------------------------
Thu Oct 29 19:04:05 CET 2009 - jw@suse.de
- 0.040 Bug fixes: .valueOf(); Number.prototype.toPrecision
- 0.039 Bug fix: .valueOf()
- 0.038 Incompatible change:
* When a JavaScript function is called as a coderef, the unde-
fined value is now returned as a Perl undef, instead of a
JE::Undefined object.
* New features:
New date methods: setDate, setHours, setMinutes, setMonth and setSeconds
* Function objects now have a call_with method.
-------------------------------------------------------------------
Mon Sep 14 15:32:39 CEST 2009 - jw@suse.de
- version update to 0.036
preovious version did not compile.
The Changelog lists only new features and more advanced bugfixed,
so this will probably fail too.
-------------------------------------------------------------------
Tue Sep 1 11:47:34 CEST 2009 - jw@suse.de
- version jump to 0.035
Changes file has 303 lines of bugfixes and new features since
0.021 which is quite outdated now.
-------------------------------------------------------------------
Mon Jul 14 21:47:54 CEST 2008 - jw@suse.de

View File

@@ -1,69 +1,137 @@
#
# spec file for package perl-JE (Version 0.038)
# spec file for package perl-JE
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
# Copyright (c) 2024 SUSE LLC
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# norootforbuild
%define modname JE
Name: perl-%{modname}
Version: 0.038
Release: 1
URL: http://search.cpan.org/~sprout/JE-0.021/lib/JE.pm
%define cpan_name JE
Name: perl-JE
Version: 0.66.0
Release: 0
# 0.066 -> normalize -> 0.66.0
%define cpan_version 0.066
License: This program is free software; you may redistribute it and/or modify it under the same terms as perl. 2006, 2007, 2008 by Andrew Main (Zefram).
Summary: Pure-Perl ECMAScript (JavaScript) Engine
Requires: perl = %{perl_version} perl-libwww-perl
Requires: perl-TimeDate
BuildRequires: perl perl-libwww-perl perl-TimeDate
%if 0%{?suse_version} <= 1030
Requires: perl-Tie-RefHash-Weak
BuildRequires: perl-Tie-RefHash-Weak
%endif
License: GPL/Artistic
Group: Development/Libraries/Perl
Source: http://search.cpan.org/CPAN/authors/id/S/SP/SPROUT/%{modname}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-root
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/S/SP/SPROUT/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Date::Parse)
BuildRequires: perl(Time::Zone)
Requires: perl(Date::Parse)
Requires: perl(Time::Zone)
Provides: perl(JE) = %{version}
Provides: perl(JE::Boolean) = %{version}
Provides: perl(JE::Code) = %{version}
Provides: perl(JE::Code::Arguments) = %{version}
Provides: perl(JE::Code::Expression) = %{version}
Provides: perl(JE::Code::Statement) = %{version}
Provides: perl(JE::Code::Subscript) = %{version}
Provides: perl(JE::Destroyer) = %{version}
Provides: perl(JE::LValue) = %{version}
Provides: perl(JE::Null) = %{version}
Provides: perl(JE::Number) = %{version}
Provides: perl(JE::Object) = %{version}
Provides: perl(JE::Object::Array) = %{version}
Provides: perl(JE::Object::Boolean) = %{version}
Provides: perl(JE::Object::Date) = %{version}
Provides: perl(JE::Object::Error) = %{version}
Provides: perl(JE::Object::Error::RangeError) = %{version}
Provides: perl(JE::Object::Error::ReferenceError) = %{version}
Provides: perl(JE::Object::Error::SyntaxError) = %{version}
Provides: perl(JE::Object::Error::TypeError) = %{version}
Provides: perl(JE::Object::Error::URIError) = %{version}
Provides: perl(JE::Object::Function) = %{version}
Provides: perl(JE::Object::Function::Arguments) = %{version}
Provides: perl(JE::Object::Function::Call) = %{version}
Provides: perl(JE::Object::Math) = %{version}
Provides: perl(JE::Object::Number) = %{version}
Provides: perl(JE::Object::Proxy) = %{version}
Provides: perl(JE::Object::Proxy::Array) = %{version}
Provides: perl(JE::Object::RegExp) = %{version}
Provides: perl(JE::Object::String) = %{version}
Provides: perl(JE::Parser) = %{version}
Provides: perl(JE::Scope) = %{version}
Provides: perl(JE::String) = %{version}
Provides: perl(JE::Undefined) = %{version}
Provides: perl(JE::_FieldHash) = %{version}
Provides: perl(JavaScript::Engine) = %{version}
%undefine __perllib_provides
%{perl_requires}
%description
JE, short for JavaScript::Engine (imaginative, isn't it?), is a pure-Perl JavaScript engine. Here are some of its strengths:
- Easy to install (no C compiler necessary*)
- Compatible with Data::Dump::Streamer, so the runtime environment can be serialised
- The parser can be extended/customised to support extra (or fewer) language features (not yet complete)
- All JavaScript datatypes can be manipulated directly from Perl (they all have overloaded operators)
JE's greatest weakness is that it's slow (well, what did you expect?). It also uses and leaks lots of memory, but that will be fixed.
JE, short for JavaScript::Engine (imaginative, isn't it?), is a pure-Perl
JavaScript engine. Here are some of its strengths:
Authors:
--------
Father Chrysostomos <sprout@cpan.org>
* -
Easy to install (no C compiler necessary*)
* -
The parser can be extended/customised to support extra (or fewer) language
features (not yet complete)
* -
All JavaScript datatypes can be manipulated directly from Perl (they all
have overloaded operators)
* -
The JavaScript datatypes provide 'TO_JSON' methods for compatibility with
JSON.pm.
JE's greatest weakness is that it's slow (well, what did you expect?). It
also uses and leaks lots of memory. (There is an experimental JE::Destroyer
(q.v.) module that solves this if you load it first and then call
'JE::Destroyer::destroy($j)' on the JE object when you have finished with
it.)
* If you are using perl 5.9.3 or lower, then Tie::RefHash::Weak is
required. Recent versions of it require Variable::Magic, an XS module
(which requires a compiler of course), but version 0.02 of the former is
just pure Perl with no XS dependencies.
There is currently an experimental version of the run-time engine, which is
supposed to be faster, although it currently makes compilation slower. (If
you serialise the compiled code and use that, you should notice a
speed-up.) It will eventually replace the current one when it is complete.
(It does not yet respect tainting or max_ops, or report line numbers
correctly.) You can activate it by setting to 1 the ridiculously named
YES_I_WANT_JE_TO_OPTIMISE environment variable, which is just a temporary
hack that will later be removed.
%prep
%setup -q -n %{modname}-%{version}
%autosetup -n %{cpan_name}-%{cpan_version}
%build
echo y | perl Makefile.PL OPTIMIZE="$RPM_OPT_FLAGS -Wall"
make
perl Makefile.PL INSTALLDIRS=vendor
%make_build
%check
make test
%install
make DESTDIR=$RPM_BUILD_ROOT install_vendor
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root)
%files -f %{name}.files
%doc Changes README
%doc %{_mandir}/man?/*
%{perl_vendorlib}/JE.pm
%{perl_vendorlib}/JE
%{perl_vendorlib}/JavaScript
%{perl_vendorarch}/auto/JE
/var/adm/perl-modules/%{name}
%changelog

20
survive_test_suite.patch Normal file
View File

@@ -0,0 +1,20 @@
---
t/15.05-string-objects.t | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Index: JE-0.048/t/15.05-string-objects.t
===================================================================
--- JE-0.048.orig/t/15.05-string-objects.t
+++ JE-0.048/t/15.05-string-objects.t
@@ -267,7 +267,10 @@ ok(' '.indexOf(' ', null) === 0, 'inde
ok(' '.indexOf(' ', 1.2) === 1, 'indexOf w/ fractional pos');
ok(' '. indexOf(' ', -3) === 0, 'indexOf w/neg pos');
-ok(' '. indexOf(' ', 76) === -1, 'indexOf w pos > length (failed)');
+ok(' '. indexOf(' ', -3) === 0, 'indexOf w/neg pos');
+diag("\n skipping 'indexOf w pos > length'\n")
+// ok(' '. indexOf(' ', 76) === -1, 'indexOf w pos > length (failed)');
+
ok(' '. indexOf('', 76) === 3, 'indexOf w pos > length (matched)')
|| diag(' '. indexOf('', 76) + ' !== 3') ;