./lang/libduktape, Embeddable Javascript engine library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.7.0, Package name: libduktape-2.7.0, Maintainer: pkgsrc-users

Duktape is an embeddable Ecmascript E5/E5.1 engine with a focus on
portability and compact footprint. By integrating Duktape into your
C/C++ program you can easily extend its functionality through
scripting. You can also build the main control flow of your program
in Ecmascript and use fast C code functions to do heavy lifting.

The terms Ecmascript and Javascript are often considered more or less
equivalent, although Javascript and its variants are technically just
one environment where the Ecmascript language is used. The line
between the two is not very clear in practice: even non-browser
Ecmascript environments often provide some browser-specific built-ins.
Duktape is no exception, and provides the commonly used print() and
alert() built-ins. Even so, we use the term Ecmascript throughout to
refer to the language implemented by Duktape.


Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 1002.465 KB

Version history: (Expand)


CVS history: (Expand)


   2022-02-25 21:50:07 by Frederic Cambus | Files touched by this commit (3) | Package updated
Log message:
libduktape: update to 2.7.

=========================
Duktape 2.7 release notes
=========================

Release overview
================

Main changes in this release (see RELEASES.rst for full details):

* Various fixes and portability improvements.

Upgrading from Duktape 2.6
==========================

No action (other than recompiling) should be needed for most users to upgrade
from Duktape v2.6.x.
   2021-10-26 12:51:59 by Nia Alarie | Files touched by this commit (260)
Log message:
lang: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (possibly fetched
conditionally?):

./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo \ 
rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo \ 
rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz
./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz
./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz
./lang/oracle-jre8/distinfo jce_policy-8.zip
./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz
./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz
./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz
./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2
./lang/openjdk8/distinfo \ 
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz
./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz
./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz
./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip
./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz
./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/gcc6/distinfo ecj-4.5.jar
./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz
./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
   2021-10-07 16:21:17 by Nia Alarie | Files touched by this commit (282)
Log message:
lang: Remove SHA1 hashes for distfiles
   2021-06-28 22:38:12 by Thomas Klausner | Files touched by this commit (2)
Log message:
libduktape: fix RELRO build.

Clean up some pkglint.

Bump PKGREVISION.
   2021-06-28 14:10:39 by Nia Alarie | Files touched by this commit (4)
Log message:
libduktape: Add a .pc file, copied from various Linux distributions

Needed to build polkit with duktape.

Bump PKGREVISION.
   2020-11-26 16:31:31 by Nia Alarie | Files touched by this commit (4)
Log message:
duktape: Update to 2.6

Release overview
================

Main changes in this release (see RELEASES.rst for full details):

* Various fixes and portability improvements.

Upgrading from Duktape 2.5
==========================

No action (other than recompiling) should be needed for most users to upgrade
from Duktape v2.5.x.
   2020-03-24 14:49:11 by Nia Alarie | Files touched by this commit (4) | Package updated
Log message:
[lib]duktape: Update to 2.5.0

2.5.0 (2019-11-24)
------------------

* Rename the 'global' binding to 'globalThis' to match updated
  proposal-global; enable the binding by default; update
  polyfills/global.js (GH-2160)

* Add duk_pull() API call (GH-2184)

* Add experimental duk_cbor_encode() and duk_cbor_decode() API calls (GH-2163)

* Move CBOR extra into an actual Duktape built-in, enabled by default (GH-2163)

* Include "end of input" in error message if SyntaxError occurs at end of
  file (GH-2152, GH-2165)

* Add missing DUK_DEFPROP_xxx convenience constants for the 'EC' combination
  (like DUK_DEFPROP_EC, DUK_DEFPROP_HAVE_EC, etc) which were accidentally
  missing from the API header (GH-2187)

* Fix behavior of proxied Array objects for: Array.isArray(), duk_is_array(),
  Object.prototype.toString(), JSON.stringify(), Array.prototype.concat()
  (GH-2041, GH-2175, GH-2176)

* Fix a harmless assert in Math.atan2() when compiling with gcc -m32 (GH-2164)

* Fix (suppress) -Wfloat-equal warnings for GCC and Clang (GH-234, GH-2164)

* Fix compile warning when base64 support disabled (GH-2159)

* Fix some compile warnings (GH-2161, GH-2172)

* Add RISC-V architecture detection in duk_config.h; previous versions
  also compiled on RISC-V but identified as "generic" (GH-2174)

* Avoid ast/endian.h header on Solaris (GH-2180)

* Minor performance and footprint improvements (GH-2167, GH-2177)

2.4.0 (2019-07-28)
------------------

* Add duk_to_stacktrace() and duk_safe_to_stacktrace() to make it easier to
  get stacktraces in C code (GH-2059, GH-2086)

* Add duk_push_bare_array() to push an Array instance which doesn't
  inherit from anything (GH-2064)

* Add duk_require_constructable() and duk_require_constructor_call() to
  the public API (previously they were internal helpers) (GH-2102)

* Enable Symbol built-in by default (DUK_USE_SYMBOL_BUILTIN) (GH-1969)

* Remove arguments.caller for strict argument objects to match revised
  ES2017 behavior (GH-2009)

* Add DUK_USE_NATIVE_STACK_CHECK() macro config option (disabled by default)
  for a platform specific stack space check in recursive and stack heavy
  code paths; this is more accurate than the default fixed recursion limit
  (GH-1995)

* When using Proxy wrapping in console extra, don't return a fake NOP
  function for console.toJSON to avoid confusing JX serialization of the
  console object (GH-2052, GH-2054, GH-2055)

* Disable Proxy wrapper for 'duk' console binding because it is no longer
  the preferred console implementation method (GH-2055)

* Update UnicodeData.txt and SpecialCasing.txt used for building internal
  Unicode control data to Unicode version 12.1.0 (GH-2085)

* Use bare objects/arrays in more places internally: variable map and
  formals array of functions loaded from bytecode (to match behavior of
  compiled functions), context dump array for duk_push_context_dump(),
  and error tracedata (GH-2089)

* Expose DUK_INTERNAL_SYMBOL() macro; while an application shouldn't
  normally need to use this macro at all, it may be useful in some cases
  to peek into Duktape internals (with no versioning guarantees) (GH-2118)

* Accept non-plain buffer types in some examples/extras (cmdline, eventloop,
  logging, print-alert) (GH-2107)

* Fix eventloop example .write() method buffer handling which relied on
  Duktape.Buffer, also fix a related TCP client example bug (GH-2107)

* Minor changes to CBOR extra type handling: encode non-UTF-8 strings
  as CBOR byte strings (instead of text strings), encode Symbols as empty
  objects, refuse to decode Symbols, encode pointers as "(%p)" instead of
  "%p" to match JX, decode integers in most cases to fastints when possible
  (GH-2121, GH-2154)

* Minor performance improvements to CBOR extra (GH-2121, GH-2154)

* Add (untested) support for mixed endian targets to CBOR extra (GH-2121)

* Remove support for unnecessary DUK_USE_USER_DECLARE config option, use
  configure.py fixup line/file instead (GH-2123)

* Remove ncurses dependency from the eventloop example, add a new example
  for running a lot of timers, improve init error reporting (GH-2126,
  GH-2128)

* Add --no-auto-complete option to 'duk' to disable linenoise auto
  completion (GH-2131)

* Add support for keeping an array's internal array part in
  Object.defineProperty(), previously the array part was always
  abandoned if an array index was defined using Object.defineProperty()
  (even if property attributes were correct) (GH-2146)

* Rework some internal property handling call sites and helpers to e.g.
  avoid inheriting internal properties when not intended (GH-2149)

* Improve assertion coverage for internal structures during mark-and-sweep
  (GH-2092)

* Fix incorrect parsing of post-increment/post-decrement followed by
  division (e.g. "z++ / 20"), the slash was interpreted as beginning
  a regexp (GH-2140)

* Fix incorrect handling of zero-length dynamic buffer in base-64 fast path
  decoder (GH-2027, GH-2088)

* Fix Object.getOwnPropertySymbols() behavior for the virtual properties
  of arrays, Strings, and buffer objects: string keys were incorrectly
  included in the result (GH-1978, GH-1979)

* Fix Date .setTime(), setYear(), etc behavior for a frozen Date instance;
  they should be allowed, but were rejected with a TypeError (GH-2149)

* Fix compile error (missing DUK_DCERROR_UNSUPPORTED macro) when compiling
  with RegExp support disabled (GH-1990, GH-1991)

* Fix configure.py -D option to accept parenthesized macros, e.g.
  '-DFOO(bar)=quux', which were used in some examples but were not
  actually functional (GH-2013, GH-2014)

* Fix error handling corner case when a property-based call (foo.bar())
  caused an error and Duktape.errCreate returned a callable value (such
  as Float64Array); this caused an assertion failure (GH-2061, GH-2087)

* Fix coercion of +'+' and +'-' to NaN instead of 0 (GH-2019, GH-2134)

* Fix possible out-of-memory in call stack unwind by preallocating the
  environment property table on creation (GH-476, GH-2021, GH-2106)

* Fix possibility for unbounded native recursion without call stack limit
  backstop when call handling triggers a Proxy trap (GH-2032, GH-2108)

* Fix several assertion failures with possible memory unsafe behavior
  (GH-2022, GH-2023, GH-2024, GH-2025, GH-2026, GH-2031, GH-2033, GH-2035,
  GH-2036, GH-2065, GH-2115, GH-2138, GH-2146)

* Fix incorrect assertion with no underlying bug for resolving bound
  function chains with a Proxy object (rather than a plain function)
  as the final non-bound function (GH-2049, GH-2103)

* Fix incorrect assertion with no underlying bug for "thr == heap_thread"
  during heap destruction finalizer runs; the assert is untrue when a
  finalizer (executed during heap destruction) resumes a coroutine (GH-2030,
  GH-2132, GH-2133)

* Fix compile error for extras/eventloop due to missing a header file
  (c_eventloop.h) in the dist package (GH-2090)

* Fix CBOR decoding of text strings and byte strings with a lot of
  concatenated pieces in the CBOR extra (GH-2093)

* Fix CBOR decoding of (ignored) 64-bit tags in the CBOR extra (GH-2095)

* Fix a CBOR encoding wrap check in the CBOR extra (GH-2121)

* Trivial fixes and cleanups: Windows Date provider return code check
  consistency (GH-1956)

* Fix MSVC ARM64 detection (GH-2078)

* Use GCC (>= 5.0) and Clang builtin bswap macros, add internal DUK_BSWAP64()
  macro (GH-2122)

* Short term workaround for a noreturn-related issue with GCC 5+ (GH-2155)
  where some internal duk_require_constructor_call() calls are entirely
  missing in compiler output in certain circumstances (GCC 5+, noreturn
  attributes enabled, debugger support enabled); the workaround is to
  disable noreturn macros for GCC 5+ for now (GH-2156)

* Various portability fixes (GH-1931, GH-1976)
   2019-06-24 12:59:43 by Nia Alarie | Files touched by this commit (20)
Log message:
More http -> https.

Reviewed by hand.