Compare commits
10 Commits
080104977f
...
753169d7f6
Author | SHA256 | Date | |
---|---|---|---|
753169d7f6 | |||
|
c1a5f954f9 | ||
|
52900b3790 | ||
|
d93e08d944 | ||
|
cc1b704819 | ||
|
c118f9ee11 | ||
|
023394ab52 | ||
|
c5cacf986c | ||
|
7eac62b149 | ||
|
25d72586e0 |
@@ -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
3
JE-0.066.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:12b552edaaf2fa078a5bc709a113cb9f16a8c7b109305fcbc972ac28e3e9f155
|
||||
size 281592
|
20
cpanspec.yml
Normal file
20
cpanspec.yml
Normal 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
|
219
perl-JE.changes
219
perl-JE.changes
@@ -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. (We’ll 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 latter’s 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
|
||||
|
||||
|
162
perl-JE.spec
162
perl-JE.spec
@@ -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
20
survive_test_suite.patch
Normal 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') ;
|
||||
|
Reference in New Issue
Block a user