summaryrefslogtreecommitdiff
path: root/lang
AgeCommit message (Collapse)AuthorFilesLines
2018-09-05-flup +cherrypyadam1-3/+3
2018-09-04lang/elixir: Update to 1.7.3.fhajny3-14/+12
v1.7.3 ====== 1. Bug fixes ExUnit - [ExUnit.Assertions] Do not attempt to expand `try/1` as it is a special form Mix - [mix compile.app] Do not include applications with `runtime: false` as a runtime dependency for applications coming from Hex v1.7.2 ====== 1. Bug fixes Elixir - [DateTime] Take negative years into account in `DateTime.from_iso8601/1` - [Kernel] Do not emit warnings for repeated docs over different clauses due to false positives Mix - [mix compile] Properly mark top-level dependencies as optional and as runtime. This fixes a bug where Mix attempted to start optional dependencies of a package when those optional dependencies were not available - [mix compile] Avoid deadlock when a config has a timestamp later than current time - [mix help] Show task and alias help when both are available - [mix test] Do not fail suite if there are no test files v1.7.1 ====== 1. Bug fixes Elixir - [Calendar] Work-around a Dialyzer bug that causes it to loop for a long time, potentially indefinitely v1.7.0 ====== 1. Enhancements Elixir - [Calendar.ISO] Support negative dates in `Calendar.ISO` - [Calendar] Add `Calendar.months_in_year/1` callback - [Code] Add `Code.compile_file/2` that compiles files without leaving footprints on the system - [Code] Add `Code.purge_compiler_modules/0` that purges any compiler module left behind. This is useful for live systems dynamically compiling code - [Code] Add `Code.fetch_docs/1` that returns docs in the [EEP 48](http://erlang.org/eep/eeps/eep-0048.html) format - [Date] Add `Date.months_in_year/1` function - [DynamicSupervisor] Use the name of the `DynamicSupervisor` as the ID whenever possible - [Exception] Provide "did you mean" suggestions on KeyError - [Exception] Provide more information on ArithmeticError on Erlang/OTP 21+ - [Function] Add `Function` module with `capture/3`, `info/1` and `info/2` functions - [GenServer] Support the new `handle_continue/2` callback on Erlang/OTP 21+ - [IO.ANSI] Add cursor movement to `IO.ANSI` - [Kernel] Support adding arbitrary documentation metadata by passing a keyword list to `@doc`, `@moduledoc` and `@typedoc` - [Kernel] Introduce `__STACKTRACE__` to retrieve the current stacktrace inside `catch`/`rescue` (this will be a requirement for Erlang/OTP 21+) - [Kernel] Raise on unsafe variables in order to allow us to better track unused variables - [Kernel] Warn when using `length` to check if a list is not empty on guards - [Kernel] Add hints on mismatched `do`/`end` and others pairs - [Kernel] Warn when comparing structs using the `>`, `<`, `>=` and `<=` operators - [Kernel] Warn on unsupported nested comparisons such as `x < y < z` - [Kernel] Warn if redefining documentation across clauses of the same definition - [Kernel] Warn on unnecessary quotes around atoms, keywords and calls - [Macro] Add `Macro.special_form?/2` and `Macro.operator?/2` that returns `true` if the given name/arity is a special form or operator respectively - [Macro.Env] Add `Macro.Env.vars/1` and `Macro.Env.has_var?/2` that gives access to environment data without accessing private fields - [Regex] Include endianness in the regex version. This allows regexes to be recompiled when an archive is installed in a system with a different endianness - [Registry] Add `Registry.count/1` and `Registry.count_match/4` - [String] Update to Unicode 11 - [StringIO] Add `StringIO.open/3` - [System] Use ISO 8601 in `System.build_info/0` ExUnit - [ExUnit.Assertion] Print the arguments in error reports when asserting on a function call. For example, if `assert is_list(arg)` fails, the argument will be shown in the report - [ExUnit.Diff] Improve diffing of lists when one list is a subset of the other - [ExUnit.DocTest] Show colored diffs on failed doctests - [ExUnit.Formatter] Excluded tests, via the `--exclude` and `--only` flags, are now shown as "Excluded" in reports. Tests skipped via `@tag :skip` are now exclusively shown as "Skipped" and in yellow IEx - [IEx.Helpers] Add `use_if_available/2` - [IEx.Helpers] Allow `force: true` option in `recompile/1` - [IEx.Helpers] Add `:allocators` pane to `runtime_info/1` - [IEx.Helpers] Show documentation metadata in `h/1` helpers Logger - [Logger] Ensure nil metadata is always pruned - [Logger] Only evaluate Logger macro arguments when the message will be logged - [Logger] Add `:compile_time_purge_matching` to purge logger calls that match certain compile time metadata, such as module names and application names - [Logger] Log to `:stderr` if a backend fails and there are no other backends - [Logger] Allow translators to return custom metadata - [Logger] Return `:crash_reason`, `:initial_call` and `:registered_name` as metadata in crash reports coming from Erlang/OTP Mix - [mix archive.install] Add support for the Hex organization via `--organization` - [mix archive.uninstall] Support `--force` flag - [mix compile] Improve support for external build tools such as `rebar` - [mix deps] Include `override: true` in rebar dependencies to make the behaviour closer to how rebar3 works (although diverged deps are still marked as diverged) - [mix escript.install] Add support for the Hex organization via `--organization` - [mix escript.uninstall] Support `--force` flag - [mix help] Also list aliases - [mix local] Use ipv6 with auto fallback to ipv4 when downloading data - [mix profile] Allow all profiling tasks to run programatically - [mix test] Add `--failed` option that only runs previously failed tests - [mix test] Print coverage summary by default when the `--cover` flag is given - [Mix.Project] Add `Mix.Project.clear_deps_cache/0` - [Mix.Project] Add `Mix.Project.config_mtime/0` that caches the config mtime values to avoid filesystem access 2. Bug fixes Elixir - [IO.ANSI.Docs] Fix table column alignment when converting docs to ANSI escapes - [Code] Ensure `string_to_quoted` returns error tuples instead of raising in certain constructs - [Code.Formatter] Consistently format keyword lists in function calls with and without parens - [Code.Formatter] Do not break after `->` when there are only comments and one-line clauses - [File] Allow the `:trim_bom` option to be used with `:encoding` - [Kernel] Raise on unsafe variables as some of the code emitted with unsafe variables would not correctly propagate variables or would disable tail call optimization semantics - [Kernel] Do not crash on dynamic sizes in binary generators with collectable into in comprehensions - [Kernel] Do not crash on literals with non-unary size in binary generators with collectable into in comprehensions - [Task] Improve error reports and exit reasons for failed tasks on Erlang/OTP 20+ ExUnit - [ExUnit.Case] Raise proper error if `@tag` and `@moduletag` are used before `use ExUnit.Case` - [ExUnit.Case] Raise proper error if `@describetag` is used outside of `describe/2` blocks - [ExUnit.DocTest] Emit proper assertion error on doctests with invalid UTF-8 Mix - [mix archive.install] Fetch optional dependencies when installing an archive from Git/Hex - [mix compile] Properly track config files in umbrella projects and recompile when any relevant umbrella configuration changes - [mix deps] Ensure the same dependency from different SCMs are tagged as diverged when those SCMs are remote and non-remote - [mix deps] Ensure we re-run dependency resolution when overriding a skipped dep in umbrella - [mix deps.compile] Perform clean builds for dependencies on outdated locks to avoid old modules from affecting future compilation - [mix escript.install] Fetch optional dependencies when installing an escript from Git/Hex 3. Soft-deprecations (no warnings emitted) Elixir - [Code] Deprecate `Code.load_file/2` in favor of `Code.compile_file/2` - [Code] Deprecate `Code.loaded_files/0` in favor of `Code.required_files/0` - [Code] Deprecate `Code.unload_files/1` in favor of `Code.unrequire_files/1` Logger - [Logger] `compile_time_purge_level` is deprecated in favor of `compile_time_purge_matching` 4. Hard-deprecations Elixir - [Code] `Code.get_docs/2` is deprecated in favor of `Code.fetch_docs/1` - [Enum] `Enum.chunk/2/3/4` is deprecated in favor of `Enum.chunk_every/2/3/4` - notice `chunk_every` does not discard incomplete chunks by default - [GenServer] Warn if `super` is used in any of the GenServer callbacks - [Kernel] `not left in right` is ambiguous and is deprecated in favor of `left not in right` - [Kernel] Warn on confusing operator sequences, such as `1+++1` meaning `1 ++ +1` or `........` meaning `... .. ...` - [OptionParser] Deprecate dynamic option parser mode that depended on atoms to be previously loaded and therefore behaved inconsistently - [Stream] `Stream.chunk/2/3/4` is deprecated in favor of `Stream.chunk_every/2/3/4` - notice `chunk_every` does not discard incomplete chunks by default
2018-09-03erlang: disable PGO on netbsd. gcov doesn't work on netbsd-8 at least.maya1-1/+6
From Michael Taylor in PR pkg/53567
2018-09-03Restore maybe accidental comment-out in NetBSD/i386 conditional.ryoon2-7/+16
And do not use 1.28.0 bootstrap for FreeBSD. This will fix the problem from gdt@.
2018-09-03Remove duplicate SunOS-only items from PLIST. Fixes non-SunOS builds.fhajny1-5/+1
2018-09-03vala: update to 0.42.0.wiz4-349/+295
Vala 0.42.0 =========== * Bindings: - gstreamer: Update from 1.15+ git master - webkit2gtk-4.0: Update to 2.21.92 - Update GIR-based bindings Vala 0.41.92 ============ * Various improvements and bug fixes: - codegen: Fix floating reference regression with Variants [#661] - build: Correctly quote square brackets in regular expression - codegen: Call ref_sink on Object.new_valist/new_with_properties if needed - vala: Don't bail early on property with not supported default value - manual: Update from wiki.gnome.org * Bindings: - glib-2.0: Add return-type of Queue.remove*(), add HashTable.foreach_steal() - glib-2.0: Add float.parse/try_parse() [#649] - gstreamer: Update from 1.15+ git master - webkit2gtk-4.0: Update to 2.21.91 Vala 0.41.91 ============ * Various bug fixes: - codegen: Call ref_sink on objects passed to generic type [#655] - codegen: Free errors after returning them on GDBusMethodInvocation [#657] - girparser: Actually resolve type-arguments to be able to box them if needed - vala: Add consts/methods to retrieve and check library version [#304] * Bindings: - glib-2.0: Add Array.remove*() wrapper to avoid leaking generic elements - glib-2.0: Add (u)long.parse/try_parse() [#649] - gstreamer: Update from 1.15+ git master - gtk+-3.0: Update to 3.23.2+6b6e53fd - gtk+-4.0: Update to 3.94.0+4e868584 Vala 0.41.90 ============ * Highlights - Reintroduce POSIX profile - parser: Add support for explicit "unlock" syntax - vala: Support anonymous definitions of delegates in bindings - codegen: Support automatic properties as GtkChild - codegen: Apply G_PARAM_EXPLICIT_NOTIFY on properties with "notify = false" - codegen: Drop support for non-auto property initializer in gobjects - codegen: Avoid using deprecated "g_type_class_add_private" * Various bug fixes: - vala: Constants and signals are not lockable - codegen: Don't apply ref_sink_function if target_type is floating_reference - vala: Treat floating method-return-type as nullable if error may be thrown - vala: Transfer floating-reference attribute while casting - analyzer: Break cyclic references of BasicBlock - vala: Break reference chain between DataType and Symbol if possible - codegen: Fix invocation of abstract/virtual methods with NoWrapper in compact classes - vala: Report error for invalid base access in method/property of compact class - libvaladoc: Replace void* with corresponding Vala API - codegen: Don't include the full absolute path in line directives - codegen: Add source_reference to unsupported floating reference error * Bindings: - gobject-2.0: Make GLib.Signal a struct of uint and bind g_signal_new* - clutter-1.0: Change type of Clutter.Key.* constants to uint - gdk-3.0: Change type of Gdk.Key.* constants to uint - gtk+-4.0: Change type of Gdk.Key.* constants to uint - gstreamer: Update from 1.15+ git master - webkit2gtk-4.0: Add JSC namespace to javascriptcoregtk-4.0 and fix depends - Remove clutter-gst-1.0, GStreamer 0.10, rest-0.6, tracker-indexer-module-1.0, libsoup-2.2, gdu and gdu-gtk, twitter-glib-1.0, mx-1.0 - Remove vala-specific deprecations <= vala-0.22
2018-09-02python: fix a pkglint warningwiz1-2/+2
2018-09-01Fix Storable build on OS X where DYLD_LIBRARY_PATH is no longerschmonz3-5/+33
inherited by child processes.
2018-08-29lang/go/go-package: Honor MAKE_ENV and set GOCACHE under WRKDIRleot1-3/+6
Previously GOCACHE was not passed as environment variable and hence during the build of packages the cache was stored in `${GO} env GOCACHE' (${XDG_CACHE_HOME} if defined or ${HOME}/.cache). Pass GOCACHE so that all cached file will ends up under ${WRKDIR}. While here also pass both GOPATH and GOCACHE via MAKE_ENV. Thanks to Antonio Huete Jimenez for spotting this problem! Discussed and ok by <bsiegert>, thanks!
2018-08-27Update Go to 1.10.4.bsiegert4-10/+28
go1.10.4 (released 2018/08/24) includes fixes to the go command, linker, and the net/http, mime/multipart, ld/macho, bytes, and strings packages. See the Go 1.10.4 milestone on our issue tracker for details. pkgsrc note: After the import of Go 1.11, this package will be renamed to lang/go110.
2018-08-27tcl-expect: update to 5.45.0nb4.wiz3-5/+14
Honor LDFLAGS when linking. Fixes RELRO build.
2018-08-25npm: fix building with PKGREVISIONadam1-2/+2
2018-08-22Recursive bump for perl5-5.28.0wiz42-81/+84
2018-08-22Recursive bump for perl5-5.28.0wiz1-4/+4
2018-08-22perl: update to 5.28.0.wiz16-536/+39
Removed some ancient patches. Fix a pkglint warning. Core Enhancements Unicode 10.0 is supported delete on key/value hash slices Experimentally, there are now alphabetic synonyms for some regular expression assertions Mixed Unicode scripts are now detectable In-place editing with perl -i is now safer Initialisation of aggregate state variables Full-size inode numbers The sprintf %j format size modifier is now available with pre-C99 compilers Close-on-exec flag set atomically String- and number-specific bitwise ops are no longer experimental Locales are now thread-safe on systems that support them New read-only predefined variable ${^SAFE_LOCALES} Security [CVE-2017-12837] Heap buffer overflow in regular expression compiler [CVE-2017-12883] Buffer over-read in regular expression parser [CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows Default Hash Function Change Incompatible Changes Subroutine attribute and signature order Comma-less variable lists in formats are no longer allowed The :locked and :unique attributes have been removed \N{} with nothing between the braces is now illegal Opening the same symbol as both a file and directory handle is no longer allowed Use of bare << to mean <<"" is no longer allowed Setting $/ to a reference to a non-positive integer no longer allowed Unicode code points with values exceeding IV_MAX are now fatal The B::OP::terse method has been removed Use of inherited AUTOLOAD for non-methods is no longer allowed Use of strings with code points over 0xFF is not allowed for bitwise string operators Setting ${^ENCODING} to a defined value is now illegal Backslash no longer escapes colon in PATH for the -S switch the -DH (DEBUG_H) misfeature has been removed Yada-yada is now strictly a statement Sort algorithm can no longer be specified Over-radix digits in floating point literals Return type of unpackstring() Deprecations Use of vec on strings with code points above 0xFF is deprecated Some uses of unescaped "{" in regexes are no longer fatal Use of unescaped "{" immediately after a "(" in regular expression patterns is deprecated Assignment to $[ will be fatal in Perl 5.30 hostname() won't accept arguments in Perl 5.32 Module removals Performance Enhancements Modules and Pragmata Removal of use vars Use of DynaLoader changed to XSLoader in many modules Updated Modules and Pragmata Removed Modules and Pragmata More details are in the included perldelta.pod.
2018-08-20BUILD_DEPENDS+= -> TEST_DEPENDS+=szptvlfn1-4/+3
2018-08-20Reinsert uses of ${PLIST.ocaml-spacetime} in PLIST, apparently lostdholland1-11/+11
in last update.
2018-08-20openjdk8: apply upstream changeset be59128afb76 (fixes SEGV w/ clang>=6)tnn9-4/+142
2018-08-20openjdk: remove todo itemtnn2-8/+6
2018-08-19*: reset maintainer for drochnerwiz1-2/+2
2018-08-19lang/php72: update to 7.2.9taca2-7/+7
16 Aug 2018, PHP 7.2.9 - Calendar: . Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset). (cmb) - Filter: . Fixed bug #76366 (References in sub-array for filtering breaks the filter). (ZiHang Gao) - PDO_Firebird: . Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis) - PDO_PgSQL: . Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option). (Anatol) - SQLite3: . Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle). (cmb) - Standard: . Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb) . Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result). (Laruence) . Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`). (cmb) - Zip: . Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)). (Timur Ibragimov)
2018-08-19lang/php71: Update to 7.1.21taca2-7/+7
PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 16 Aug 2018, PHP 7.1.21 - Calendar: . Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset). (cmb) - Filter: . Fixed bug #76366 (References in sub-array for filtering breaks the filter). (ZiHang Gao) - PDO_Firebird: . Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis) - PDO_PgSQL: . Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option). (Anatol) - SQLite3: . Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle). (cmb) - Standard: . Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result). (Laruence) . Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb) . Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`). (cmb) - Zip: . Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)). (Timur Ibragimov)
2018-08-16revbump after boost-libs updateadam2-3/+4
2018-08-16lang/nodejs6: Update to 6.14.4.fhajny2-7/+7
- buffer: Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2 encoding (CVE-2018-12115)
2018-08-16vala: update to 0.40.8.wiz2-7/+7
Vala 0.40.8 =========== * Various improvements and bug fixes: - Fix links in the Manual - libvaladoc: Change link to Valadoc wiki page for HTML doclet - valadoc: Use HTML5 doctype in HTML doclet - codegen: Let methods return -1 on error by default if possible [#526] - Allow TypeModule subclasses as parameter-type in module-init-method [#648] - girparser: Allow changing the type of constants using metadata [#643] - girwriter: Add boolean GIR visible attribute to allow skipping symbols - vala: Report error for error-domains without any code - parser: Accept "empty" enums/error-domains [#253] - codewriter: Output bodies of code-blocks if in VAPIGEN mode [#253] * Bindings: - gobject-2.0: Add lower_case_csuffix attributes to Type* symbols - gdk-3.0,gtk+-3.0: Update to 3.23.0+df045423 - gio-2.0: Add custom IOError.from_errno() to make it work as expected [#253] - gtk+-4.0: Update to 3.94.0+bf5f27c6 - gstreamer-rtsp-server-1.0: Update from 1.14+ git master [#653]
2018-08-16lang/nodejs8: Update 8.11.4.fhajny2-8/+7
- buffer: Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2 encoding (CVE-2018-12115)
2018-08-16lang/nodejs: Update to 10.9.0.fhajny2-8/+7
- buffer: - Fix out-of-bounds (OOB) write in `Buffer.write()` for UCS-2 encoding (CVE-2018-12115) - Fix unintentional exposure of uninitialized memory in `Buffer.alloc()` (CVE-2018-7166) - deps: - Upgrade to OpenSSL 1.1.0i, fixing: - Client DoS due to large DH parameter (CVE-2018-0732) - ECDSA key extraction via local side-channel (CVE not assigned) - Upgrade V8 from 6.7 to 6.8 - Memory reduction and performance improvements - http: `http.get()` and `http.request()` (and `https` variants) can now accept three arguments to allow for a `URL` _and_ an `options` object
2018-08-16guile22: update to 2.2.4.wiz3-10/+11
Changes in 2.2.4 (since 2.2.3): * New interfaces and functionality ** SRFI-71 (Extended LET-syntax for multiple values) Guile now includes SRFI-71, which extends let, let*, and letrec to support assigning multiple values. See "SRFI-71" in the manual for details. ** (web client) export 'http-request' procedure The 'http-request' procedure is the generalized procedure underneath 'http-get', 'http-post', etc. ** GDB support now registers the 'guile-backtrace' GDB command The 'guile-backtrace' GDB command displays a backtrace of the VM stack for the current thread. ** Recognize RISC-V compilation targets in (system base target) * Bug fixes ** Fix stack-marking bug affecting multi-threaded programs (<https://bugs.gnu.org/28211>) ** Add missing SYNC_IP calls in the VM These could cause multi-threaded code to crash. ** Fix multi-threaded access to modules (<https://bugs.gnu.org/30602>, <https://bugs.gnu.org/31879>, and <https://bugs.gnu.org/31878>) ** (ice-9 match) now has better documentation ** 'get-bytevector-n' and 'get-bytevector-n!' can now read more than 4 GB ** Fix cross-compilation support for elisp ** Fix error reporting in 'load-thunk-from-memory' ** Fix GOOPS 'instance?' to work on objects that aren't structs (<https://bugs.gnu.org/31606>) ** Fix type inference for bitwise logical operators (<https://bugs.gnu.org/31474>) ** Avoid inexact arithmetic in the type inferrer for 'sqrt' ** Fix floating point unboxing regression in 2.2.3 (<https://bugs.gnu.org/30020>) ** Fix eta-conversion edge cases in peval (<https://bugs.gnu.org/29520>) ** Correctly interpret SRFI-18 timeout parameters (<https://bugs.gnu.org/29704>) ** 'select' returns empty sets upon EINTR and EAGAIN (<https://bugs.gnu.org/30368>) ** Restore pre-2.2.3 '%fresh-auto-compile' behavior This reverts an incorrect fix for <https://bugs.gnu.org/29226>.
2018-08-14lang/erlang: make the SCTP patch work again.nia2-9/+9
2018-08-13rust: Switch to the 1.28.0 bootstrap for SunOS too.jperkin2-6/+7
It looks like I accidentally built the 1.27.2 bootstrap without the stack clash fix required for newer illumos platforms, so just use 1.28.0 which was built correctly for now.
2018-08-10compiler-rt: Needs python for the build.jperkin1-1/+4
2018-08-09Enable NetBSD/i386 support and fix NetBSD buildryoon2-10/+12
* 1.27.2 bootstrap kit has a serious bug and does not work under NetBSD. So use 1.28.0 instead.
2018-08-09rust: Update to version 1.28.0.jperkin5-108/+129
NetBSD/i386 is temporarily disabled due to missing binary bootstraps. Version 1.28.0 (2018-08-02) =========================== Language -------- - [The `#[repr(transparent)]` attribute is now stable.][51562] This attribute allows a Rust newtype wrapper (`struct NewType<T>(T);`) to be represented as the inner type across Foreign Function Interface (FFI) boundaries. - [The keywords `pure`, `sizeof`, `alignof`, and `offsetof` have been unreserved and can now be used as identifiers.][51196] - [The `GlobalAlloc` trait and `#[global_allocator]` attribute are now stable.][51241] This will allow users to specify a global allocator for their program. - [Unit test functions marked with the `#[test]` attribute can now return `Result<(), E: Debug>` in addition to `()`.][51298] - [The `lifetime` specifier for `macro_rules!` is now stable.][50385] This allows macros to easily target lifetimes. Compiler -------- - [The `s` and `z` optimisation levels are now stable.][50265] These optimisations prioritise making smaller binary sizes. `z` is the same as `s` with the exception that it does not vectorise loops, which typically results in an even smaller binary. - [The short error format is now stable.][49546] Specified with `--error-format=short` this option will provide a more compressed output of rust error messages. - [Added a lint warning when you have duplicated `macro_export`s.][50143] - [Reduced the number of allocations in the macro parser.][50855] This can improve compile times of macro heavy crates on average by 5%. Libraries --------- - [Implemented `Default` for `&mut str`.][51306] - [Implemented `From<bool>` for all integer and unsigned number types.][50554] - [Implemented `Extend` for `()`.][50234] - [The `Debug` implementation of `time::Duration` should now be more easily human readable.][50364] Previously a `Duration` of one second would printed as `Duration { secs: 1, nanos: 0 }` and will now be printed as `1s`. - [Implemented `From<&String>` for `Cow<str>`, `From<&Vec<T>>` for `Cow<[T]>`, `From<Cow<CStr>>` for `CString`, `From<CString>, From<CStr>, From<&CString>` for `Cow<CStr>`, `From<OsString>, From<OsStr>, From<&OsString>` for `Cow<OsStr>`, `From<&PathBuf>` for `Cow<Path>`, and `From<Cow<Path>>` for `PathBuf`.][50170] - [Implemented `Shl` and `Shr` for `Wrapping<u128>` and `Wrapping<i128>`.][50465] - [`DirEntry::metadata` now uses `fstatat` instead of `lstat` when possible.][51050] This can provide up to a 40% speed increase. - [Improved error messages when using `format!`.][50610] Stabilized APIs --------------- - [`Iterator::step_by`] - [`Path::ancestors`] - [`SystemTime::UNIX_EPOCH`] - [`alloc::GlobalAlloc`] - [`alloc::Layout`] - [`alloc::LayoutErr`] - [`alloc::System`] - [`alloc::alloc`] - [`alloc::alloc_zeroed`] - [`alloc::dealloc`] - [`alloc::realloc`] - [`alloc::handle_alloc_error`] - [`btree_map::Entry::or_default`] - [`fmt::Alignment`] - [`hash_map::Entry::or_default`] - [`iter::repeat_with`] - [`num::NonZeroUsize`] - [`num::NonZeroU128`] - [`num::NonZeroU16`] - [`num::NonZeroU32`] - [`num::NonZeroU64`] - [`num::NonZeroU8`] - [`ops::RangeBounds`] - [`slice::SliceIndex`] - [`slice::from_mut`] - [`slice::from_ref`] - [`{Any + Send + Sync}::downcast_mut`] - [`{Any + Send + Sync}::downcast_ref`] - [`{Any + Send + Sync}::is`] Cargo ----- - [Cargo will now no longer allow you to publish crates with build scripts that modify the `src` directory.][cargo/5584] The `src` directory in a crate should be considered to be immutable. Misc ---- - [The `suggestion_applicability` field in `rustc`'s json output is now stable.][50486] This will allow dev tools to check whether a code suggestion would apply to them. Compatibility Notes ------------------- - [Rust will no longer consider trait objects with duplicated constraints to have implementations.][51276] For example the below code will now fail to compile. ```rust trait Trait {} impl Trait + Send { fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test` } impl Trait + Send + Send { fn test(&self) { println!("two"); } } ```
2018-08-09llvm: Add libcxx and libcxxabi to sync list.jperkin1-1/+3
2018-08-09clang: Use the full LLVM suite on SunOS.jperkin6-2/+292
This enables compiler-rt, libcxx, and libunwind, as well as fixing various assumptions in the code about what should be set on SunOS. In bulk builds a while back this was able to compete favourably with GCC.
2018-08-09lang: Import libcxx version 6.0.1.jperkin7-1/+279
libc++ is a new implementation of the C++ standard library, targeting C++11. Features and Goals * Correctness as defined by the C++11 standard. * Fast execution. * Minimal memory use. * Fast compile times. * ABI compatibility with gcc's libstdc++ for some low-level features such as exception objects, rtti and memory allocation. * Extensive unit tests.
2018-08-09lang: Import libcxxabi version 6.0.1.jperkin6-1/+79
libc++abi is a new implementation of low level support for a standard C++ library. Features and Goals * Correctness as defined by the C++11 standard. * Provide a portable sublayer to ease the porting of libc++ * On Mac OS X, be ABI compatible with the existing low-level support.
2018-08-09llvm: Add compiler-rt to list of packages to sync.jperkin1-1/+2
2018-08-09compiler-rt: Disable SSP.jperkin1-1/+2
2018-08-09libunwind: Disable SSP.jperkin1-1/+2
2018-08-09lang: Import compiler-rt version 6.0.1.jperkin7-1/+155
The compiler-rt project consists of: - builtins - a simple library that provides an implementation of the low-level target-specific hooks required by code generation and other runtime components. For example, when compiling for a 32-bit target, converting a double to a 64-bit unsigned integer is compiling into a runtime call to the "__fixunsdfdi" function. The builtins library provides optimized implementations of this and other low-level routines, either in target-independent C form, or as a heavily-optimized assembly. - sanitizer runtimes - runtime libraries that are required to run the code with sanitizer instrumentation. This includes runtimes for: * AddressSanitizer * ThreadSanitizer * UndefinedBehaviorSanitizer * MemorySanitizer * LeakSanitizer * DataFlowSanitizer - profile - library which is used to collect coverage information. - BlocksRuntime - a target-independent implementation of Apple "Blocks" runtime interfaces.
2018-08-09py35-html-docs: Update lang/py35-html-docs to 3.5.6leot3-472/+473
Changes: 3.5.6 ----- Documentation - bpo-33216: Clarify the documentation for CALL_FUNCTION_VAR, CALL_FUNCTION_KW, and CALL_FUNCTION_VAR_KW.
2018-08-09py34-html-docs: Update lang/py34-html-docs to 3.4.9leot3-468/+469
Changes: Sync py34-html-docs to current python34 version (no changes regarding documentation in the 3.4.9 changelog).
2018-08-07llvm: Fix PLIST for disabled target arm and bpfkamil1-3/+3
Mark lib/libLLVMARMUtils.a with PLIST.ARM. Mark lib/libLLVMBPFAsmParser.a with PLIST.BPF.
2018-08-07llvm: updated to 6.0.1adam10-76/+184
6.0.1: Non-comprehensive list of changes in this release Support for retpolines was added to help mitigate “branch target injection” (variant 2) of the “Spectre” speculative side channels described by Project Zero and the Spectre paper. The Redirects argument of llvm::sys::ExecuteAndWait and llvm::sys::ExecuteNoWait was changed to an ArrayRef of optional StringRef‘s to make it safer and more convenient to use. The backend name was added to the Target Registry to allow run-time information to be fed back into TableGen. Out-of-tree targets will need to add the name used in the def X : Target definition to the call to RegisterTarget. The Debugify pass was added to opt to facilitate testing of debug info preservation. This pass attaches synthetic DILocations and DIVariables to the instructions in a Module. The CheckDebugify pass determines how much of the metadata is lost. Significantly improved quality of CodeView debug info for Windows. Preliminary support for Sanitizers and sibling features on X86(_64) NetBSD (ASan, UBsan, TSan, MSan, SafeStack, libFuzzer). Changes to the LLVM IR ---------------------- The fast-math-flags (FMF) have been updated. Previously, the ‘fast’ flag indicated that floating-point reassociation was allowed and all other flags were set too. The ‘fast’ flag still exists, but there is a new flag called ‘reassoc’ to indicate specifically that reassociation is allowed. A new bit called ‘afn’ was also added to selectively allow approximations for common mathlib functions like square-root. The new flags provide more flexibility to enable/disable specific floating-point optimizations. Making the optimizer respond appropriately to these flags is an ongoing effort. Changes to the AArch64 Target ----------------------------- Enabled the new GlobalISel instruction selection framework by default at -O0. Changes to the ARM Target ------------------------- Support for enabling SjLj exception handling on platforms where it isn’t the default. Changes to the Hexagon Target ----------------------------- The Hexagon backend now supports V65 ISA. The -mhvx option now takes an optional value that specifies the ISA version of the HVX coprocessor. The available values are v60, v62 and v65. By default, the value is set to be the same as the CPU version. The compiler option -mhvx-double is deprecated and will be removed in the next release of the compiler. Programmers should use the -mhvx-length option to specify the desired vector length: -mhvx-length=64b for 64-byte vectors and -mhvx-length=128b for 128-byte vectors. While the current default vector length is 64 bytes, users should always specify the length explicitly, since the default value may change in the future. The target feature hvx-double is deprecated and will be removed in the next release. LLVM IR generators should use target features hvx-length64b and hvx-length128b to indicate the vector length. The length should always be specified when HVX code generation is enabled. Changes to the MIPS Target -------------------------- Fixed numerous bugs: fpowi on MIPS64 giving incorrect results when used with a negative integer. Usage of the asm ‘c’ constraint with the wrong datatype causing an assert/crash. Fixed a conversion bug when using the DSP ASE. Fixed an inconsistency where objects were not marked as using the microMIPS as when the micromips function attribute or the ”.set micromips” directive was used. Reordered the MIPSR6 specific hazard scheduler pass to after the delay slot filler, fixing a class of rare edge case bugs where the delay slot filler would violate ISA restrictions. Fixed a crash when using a type of unknown size with gp relative addressing. Corrected the j macro for microMIPS. Corrected the encoding of movep for microMIPS32r6. Fixed an issue with the usage of insert instructions having an invalid set of operands. Fixed an issue where TLS symbols were not marked as such. Enabled the usage of register scavenging with MSA, due to its shorter offsets for loads and stores. Corrected the ELF headers when using the DSP ASE. New features: The long branch pass now generates some R6 specific instructions when targeting MIPSR6. The delay slot filler now performs more branch conversions if delay slots cannot be filled. The MIPS MT ASE is now fully supported. Added support for the lapc pseudo instruction. Improved the selection of multiple instructions (dext, nmadd, nmsub). Further improved microMIPS codesize reduction. Deprecation notices: microMIPS64R6 support was been deprecated since 5.0, and has now been completely removed. Changes to the SystemZ Target ----------------------------- During this release the SystemZ target has: Added support for 128-bit atomic operations. Added support for the “o” constraint for inline asm statements. Changes to the X86 Target ------------------------- During this release the X86 target has: Added support for enabling SjLj exception handling on platforms where it isn’t the default. Added intrinsics for Intel Extensions: VAES, GFNI, VPCLMULQDQ, AVX512VBMI2, AVX512BITALG, AVX512VNNI. Added support for Intel Icelake CPU. Fixed some X87 codegen bugs. Added instruction scheduling information for Intel Sandy Bridge, Ivy Bridge, Haswell, Broadwell, and Skylake CPUs. Improved scheduler model for AMD Jaguar CPUs. Improved llvm-mc’s disassembler for some EVEX encoded instructions. Add support for i8 and i16 vector signed/unsigned min/max horizontal reductions. Improved codegen for memory comparisons Improved codegen for i32 vector multiplies Improved codegen for scalar integer absolute values Improved codegen for vector integer rotations (XOP and AVX512) Improved codegen of data being transferred between GPRs and K-registers. Improved codegen for vector truncations. Improved folding of address computations into gather/scatter instructions. Gained initial support recognizing variable shuffles from vector element extracts and inserts. Improved documentation for SSE/AVX intrinsics in intrin.h header files. Gained support for emitting retpolines, including automatic insertion of the necessary thunks or using external thunks.
2018-08-07py-paver: alternate bin/paveradam3-3/+7
2018-08-07py-paver: added version 1.3.4adam5-1/+193
Paver is a Python-based build/distribution/deployment scripting tool along the lines of Make or Rake. What makes Paver unique is its integration with commonly used Python libraries. Common tasks that were easy before remain easy. More importantly, dealing with your applications specific needs and requirements is also easy.
2018-08-07python34: updated to 3.4.9adam3-9/+8
3.4.9: Bug fix release for Python 3.4.
2018-08-07python35: updated to 3.5.6adam3-9/+8
3.5.6: Bug fix release for Python 3.5.
2018-08-05nodejs needs a recent libuv (1.22.0).bsiegert1-1/+5
Bump revision. This fixes a build failure on my machine with an older libuv version installed.