CoffeeScript is a little language that compiles into JavaScript.
Underneath all of those embarrassing braces and semicolons,
JavaScript has always had a gorgeous object model at its heart.
CoffeeScript is an attempt to expose the good parts of JavaScript
in a simple way.
Changes in Objective Caml 3.12.1:
Features:
- added '-ml-synonym' and '-mli-synonym' options to ocamldep
- added '-ocamldoc' option to ocamlbuild
- added possibility to add options to ocamlbuild
- added access to current camlp4 parsers and printers
- improved instruction selection for float operations on amd64
- stdlib: added a 'usage_string' function to Arg
- allow with constraints to add a type equation to a datatype definition
- ocamldoc: allow to merge '@before' tags like other ones
- ocamlbuild: allow dependency on file "_oasis"
Other changes:
- Changed default minor heap size from 32k to 256k words.
- Added new operation 'compare_ext' to custom blocks, called when
comparing a custom block value with an unboxed integer.
Multiple bug fixes.
* also rename idle3 with version suffix to avoid conflict with future python3.
* stop to rename smtpd.py, it will not be installed as script in python3.
Bump PKGREVISION.
GCC 4.6.3 was released 01 MAR 2012. It is a bug-fix release for regressions
and serious bugs. Seventy-four bug reports were addressed. The link is
available at bottom of http://gcc.gnu.org/gcc-4.6/changes.html
Unlike release 4.6.2, a few Ada issues were among those addressed.
---
Module Name: pkgsrc
Committed By: sbd
Date: Tue Feb 21 21:04:30 UTC 2012
Modified Files:
pkgsrc/lang/python: pyversion.mk
Log Message:
Add _PYTHON_VERSION_DEFAULT with the "default" python version and set
PYTHON_VERSION_DEFAULT from that.
To generate a diff of this commit:
cvs rdiff -u -r1.93 -r1.94 pkgsrc/lang/python/pyversion.mk
This patch should be verified on none-BSD platform.
* Distribution file of Ruby 1.9.3 patchlevel 125 was update with the
same file name.
Packages are repacked to fix [Bug #6040].
See http://www.ruby-lang.org/en/news/2012/02/16/ruby-1-9-3-p125-is-released/
These files are changed:
enc/trans/big5.c
insns_info.inc
Implictly update lang/ruby193 and devel/ruby-mode (nothing change).
== Fixes
* Fix for Ruby OpenSSL module: Allow "0/n splitting" as a prevention
for the TLS BEAST attack
* Fixed: LLVM/clang support [Bug #5076]
* Fixed: GCC 4.7 support [Bug #5851]
* other bug fixes
For more detail, please refer:
http://svn.ruby-lang.org/repos/ruby/tags/v1_9_3_125/ChangeLog
Wed Feb 8 14:06:59 2012 Hiroshi Nakamura <nahi@ruby-lang.org>
* ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL
option to prevent BEAST attack. See [Bug #5353].
In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent
TLS-CBC-IV vulunerability described at
http://www.openssl.org/~bodo/tls-cbc.txt
It's known issue of TLSv1/SSLv3 but it attracts lots of attention
these days as BEAST attack. (CVE-2011-3389)
Until now ossl sets OP_ALL at SSLContext allocation and call
SSL_CTX_set_options at connection. SSL_CTX_set_options updates the
value by using |= so bits set by OP_ALL cannot be unset afterwards.
This commit changes to call SSL_CTX_set_options only 1 time for each
SSLContext. It sets the specified value if SSLContext#options= are
called and sets OP_ALL if not.
To help users to unset bits in OP_ALL, this commit also adds several
constant to SSL such as
OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS. These constants were
not exposed in Ruby because there's no way to unset bits in OP_ALL
before.
Following is an example to enable 0/n split for BEAST prevention.
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
* test/openssl/test_ssl.rb: Test above option exists.
Changelog:
10.3.4
Reworked 'send'/'receive' message API is multiple times faster and has
more consistent performance on different platforms. Better on BSDs
than on Linux. The channel for each child is now a dual read/write
message queue. In previous version only one message could be written
to the queue with send, now mutiple message can be send on the same
channel and retrieved on the receiving side with multiple 'receive'
until returning 'nil'.
In the new syntax of 'receive' the <message> parameter is optional:
(receive <pid>) ; returns the message or nil
(receive <pid> <message>) ; returns true or nil
Both 'send' and 'receive' now have syntax to return a list of all
ready child channels using either (send) to get a list of child
pid's ready to receive data or (receive) to get a list od child
pid's ready to be read. This greatly speeds up asyncrounous
messaging, where multiple child processes, but not all, have sent
messages. Previously:
(dolist (p (sync)) (until (receive p msg))) ; (sync) -> child pids
Now using only a ready subset, 'receive' can be used non-blocking
and only a subset of all child pids is iterated through:
(dolist (p (receive)) (receive p msg))
Now, when a 'spawn'ed child process ends abormally the variable in the
spawn command will contain an error message and a result number,
e.g. '9' from a kill signal sent by an external process.
Fixed longstanding bug for list-mode 'net-select'. Now returns
socket numbers in the ready list not 0's.
Documention for the messaging API has been updated in the reference
manual and code patterns documents.
10.3.5
'invert' over-allocated memory
Fixed a crash bug in purgeSpawnList()
icmp6.h include for cygwin in nl-sock.c (thanks KOSH)
The creation of a communications channel between and parent process
and 'spawn'ed child processes for usage with the message API of
'send' and 'receive', is now optional:
(spawn <sym-variable> <child-process> [true])
If the'send' or 'receive' is used on the child process spawned, the
optional flag must be set to 'true'.
The fakes versions on 'spawn', 'sync' and 'abort' in Win32 have been
taken out.
The newLISP shell "newlisp-x.x.x/util/nls" now works on MS Windows too.
The link feature using util/link.lsp did no works with 64-bit versions
of newLISP.
In the MinGW compile of nl-sock.c the include file wspapi.h has been
replaced with ws2spi.h. This file is part of the normal MinGW install.
newlisp.dll now lives in NEWLISPDIR again as it did before 10.3.3
10.3.6 development release November 18th, 2011
Speedup of string stream conversion for 'format', 'string'.
A bug fix in 'spawn' when aborting child processes
Preparations for expanded FFI (grep for FFI in all files)
10.3.7 development release
Fix in printing FFI primitives (FFI is disabled by default)
Updated newlispdoc now all tags (including custom) are title-case'ed
Simple ffi calls working on Mac OSX, UBUNTU Linux (Intel) and Win32
three (and more) new ffi makfiles:
makefile_darwin_utf8_ffi # std OSX install has libs and headers
makefile_linux_utf8_ffi # must install package libffi-dev
makefile_mingw_ffi # must install libffi.a library for build
New qa-specific-tests/qa-ffi for ffi API testing
The new ffi extension work with the existing 'import' functon:
(import "libc.dylib" "atof" "double" "char*")
(atof "123.456") => 123.456
No "cdecl" or "stdcall" mustbe specified. The parameter after
the function name is the return type. The remaining parameters
are the function arguments.
As before, the imported function can be renamed:
(set 'strtof (import "libc.dylib" "atof" "double" "char*"))
(strtof "123.456") => 123.456
The followong types are implemented for LP64, LLP64 and ILP32
"byte"
"char"
"short int"
"unsigned short int"
"unsigned int"
"int"
"long long"
"float"
"double"
"char*"
"void*"
For pointer return values "char*" and "void*", the address
is returned as a number. Use 'get-string' or 'unpack' to
retrieve contents. This method allows returning binary info.
THIS IS CHANGED IN 10.3.9 where "char*" returns a string
directly and "void*" a number
10.3.8
Make sure FFIMPORT struct memory gets freed when doing multiple
'import' of the same function or deleting the func symbol.
When using 'configure' and 'make' FFI will be chosen by
default on Mac OSX, Linux and Windows (MinGW)
Both "char*" and "void*" accept either a newLISP string buffer or an
address number as input. On return "char*" will return a newLISP
string buffer and "void*" will return an address number.
Comprehensive qa-specific-tests/qa-ffitest compiles util/ffitest.c
on the current platform then tests all data types.
Now ffi checks for nummber of arguments matching call pattern.
The opengl-demo-ffi.lsp now runs on both 32-bit and 64-bit newLISP
and libraries. On Windows glut32.dll is required. On Mac OSX everything
is installed by default.
ffi callback (ffi closure) working now on Mac OS X, Win32 and UBUNTU Linux
with standard installed libraries. Only for compiling/linking
libfffi-dev is necessary on UBUNTU linux.
The extended 'callback' API will not work on 64-bit Mac OSX newLISP,
but there is no problem to mix extended 'import' and simple 'callback' API
(see examples/opengl-demo.lsp)
Bit 11 for 0x400 in the last field of 'sys-info' is set for extended ffi
enabled versions requiring ffilib.
(not (zero? (& 0x400 (sys-info -1)))) => true for FFI support
Avoid passing on list or string references in primitives taking strings
or lists but creating new objects. This caused an error when doing
(inc (char str)) when str is protected. symbolCheck = NULL only neccessary
if not set to NULL by previous evaluateExprtession() to non-string/list.
Fixed on selected primitives.
qa-ffi and qa-libffi are now part of 'make testall'. They will not be
executed on versions not compiled for libffi based FFI.
10.3.9 development release December 21st 2011
'struct' function for extended FFI usage now working for 32 and 64 bit
(struct 'foo "char" "int" "short int")
Foo can now be used as a data type in the extended FFI API:
(import "thelib" "afunc" "foo" "foo") ; takes ans returns a struct foo
(unpack foo (afunc (pack foo 1 2 3))) => returns a list with 3 numbers
The additional syntax forms of 'pack' and 'unpack' take care for packing
and unpacking wirth the correct number of pad bytes to make align
structures on different Architectures.
See qa-special-tests/qa-libffi for an example.
Accept data lists in struct packing just like in traditional 'pack':
(struct 'pair "int" "int") => pair
(pack pair 1 2) => "\001\000\000\000\002\000\000\000"
(pack pair '(1 2)) => "\001\000\000\000\002\000\000\000"
Nested structure now can be packed:
(struct 'pair "char" "char") => pair
(struct 'comp "pair" "short int") => comp
(pack comp (pack pair 1 2) 3) => "\001\002\003\000"
Sub-structures are unpacked manually (may be changed):
(unpack comp (pack comp (pack pair 1 2) 3)) => ("\001\002" 3)
(set 'p (first (unpack comp (pack comp (pack pair 1 2) 3))))
(unpack pair p) => (1 2)
Because of memory management issues with cells in FFI symbols
extended ffi functions, structs and callbacks can only be defined
once. Subsequent definitions return nil and the existing definition
stays untouched.
Miscellanous fixes for 64-bit newLISP and ffilib usage.
Added custom ffi_type ffi_type_charpointer for displayable strings
now 'unpack' unpacks strings for "char*", not address numbers.
On Mac OSX 64-bits extended callback (ffi closure) does now work.
SHA256 crypto algorithm has been added to the module crypto.lsp.
Thanks to Marc Hildman for this contribution.
10.3.10 Development release Janaury 10th, 2012
Repeating ffi 'callback' with the same symbol will just return the old
address but not redefine the callback or return nil (as in 10.3.9).
examples/opengl-demo-ffi.lsp now also working with extended callback API
on 32-bit and 64-bit.
Huge speed improvement in 'read-line' with file handle parameter,
now as fast as STDIN. For file and pipe operations.
'struct's returned by the extended FFI will now be unpacked automatically.
Nested structures will be unpacked recursively too:
(struct 'pair "char" "char") -> pair
(struct 'comp "pair" "int") => comp
(pack comp (pack pair 1 2) 3) => "\001\002\000\000\003\000\000\000"
(unpack comp "\001\002\000\000\003\000\000\000") => ((1 2) 3)
Imported functions can now be default functors:
(define myprintf:myprintf (import "libc.dylib" "printf"))
(myprintf "%s %d" "hello world" 123)
All makefile_mingwdll* tweaked for MinGW gcc 4.6.2. But binaries are still
delivered compiled on gcc 4.4.0 and made on Windows XP SP2, run fine on
Windows 7. 10.3.6 to 10.3.9 had newlisp.dll compiled for cdecl now in
10.3.10 newlisp.dll calling conventations are back to stdcall.
10.4.0
UCT offset minutes as reported by the 'now' function now have reversed the
sign conform to ISO 8601. Positive for locations east of UCT and negative
for locations west of the UCT meridian (formerly GMT). Days of the year are
now reported from 1 - 365 (366 in leap years) instead of starting with
offset 0.
'read-char' w/o file handle reads from the current I/O device.
New version Guiserver 1.45 avoids error loops when midi system is unavailable.
In 'unify' the underscore symbol '_' matches any atom or list or variable.
Two new make files for the Raspberry PI development VM from:
http://russelldavis.org/2012/01/20/new-raspberry-pi-development-vm-v0-2/
These makefikes don't need the readline library, although it could be installed
as shown here:
http://russelldavis.org/2012/01/23/building-newlisp-for-the-raspberry-pi-using-the-development-vm/
newlisp.dll now also on Winsock version 2.2 (like the main executable since 10.2.10)
parallel installation with other versions
-don't install documentation - this will be done by the newest
stable version
-drop the "vapigen" option, this was not worth the effort
bump PKGREV
Pkgsrc changes:
* Add a patch to fix usleep(1000000) problem causing test failures,
submitted upstream.
* Adapt to changes in the set of installed files.
Upstream changes:
- Core
+ The whiteknight/kill_threads branch was merged, which removes
the old and broken thread/concurrency implementation. Better
and more flexible concurrency primitives are currently being
worked on. This also involved removing some of the last vestiges
of assembly code from Parrot as well as removing the share and
share_ro vtables.
+ random_lib.pir was removed, since better alternatives already exist
+ The freeze and thaw vtables were removed from Default PMC,
because they weren't useful and caused hard-to-find bugs.
+ A new subroutine profiling runcore was added. It can be enabled
with the command-line argument of -R subprof. The resulting
data can be analyzed with kcachegrind.
+ Added get_string VTABLE to FixedIntegerArray and FixedFloatArray PMCs
+ The update() method was added to the Hash PMC, which updates
one Hash with the contents of another. This speeds up rakudo/nqp
startup time.
- Languages
+ Winxed
- Updated snapshot to version 1.3.0
- Added the builtin sleep
- Modifier 'multi' allows some more multi functionality
- Community
+ New repo for the Parrot Alternate Compiler Toolkit, a re-implementation of
PCT in Winxed: https://github.com/parrot/PACT
- Documentation
+ We are in the process to migrating our Trac wiki at
http://trac.parrot.org/ to Github at https://github.com/parrot/parrot/wiki
+ Packfile PMC documentation was updated
- Tests
+ Select PMC tests improved to pass on non-Linuxy platforms
http://pcc.ludd.ltu.se/fisheye/changelog/pcc
some work was done with build system, and so gmake is no longer
required, and parallel builds should work fine
while here, fix some pkglint complaints
Changes in Racket 5.2.1
* Performance improvements include the use of epoll()/kqueue()
instead of select() for the Racket thread scheduler, cross-module
inlining of small functions, and the use of SSE instead of x87 for
JIT-compiled floating-point operations on platforms where SSE is
always available (including x86_64 platforms). A related change
is the interning of literal numbers, strings, byte strings,
characters, and regexps that appear in code and syntax objects.
* DrRacket uses a set of composable ray-traced icons available from
the new `images' library collection.
* Typed Racket's `typecheck-fail' form allows macro creators to
customize the error messages that Typed Racket produces. This is
especially useful when creating pattern matching macros.
* The performance of Redex's matcher has been substantially
improved; depending on the model you should see improvements
between 2x and 50x in the time it takes to reduce terms.
* Plots look nicer and are more correct at very small and very large
scales. New features include customizable dual axis ticks and
transforms (e.g., log axes, date and currency ticks, axis interval
collapse and stretch), stacked histograms, and 3D vector fields.
The legacy `fit' function and libfit have been removed.
* The `2htdp/universe' library's `big-bang' form supports an
experimental game pad key handler.
* The `db' library now supports nested transactions and PostgreSQL
arrays. Bugs involving MySQL authentication and memory corruption
in the SQLite bindings have been fixed.
* The Macro Stepper tool in DrRacket no longer executes a program
after expanding it.
* In the DMdA teaching languages, infinite recursive signatures
("streams", for example) with no intervening `mixed' are now
supported, and the signatures of record definitions without fields
now have generators for use with `property'.
* MysterX's ActiveX support is deprecated and will be removed in the
next release. MysterX's core COM functionality will become
deprecated in the next release, but COM functionality will be
supported for the foreseeable future as a compatibility layer over
a forthcoming `ffi/com' library.