pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/elixir Update lang/elixir to 1.6.0.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8c1096ae74c5
branches:  trunk
changeset: 374424:8c1096ae74c5
user:      fhajny <fhajny%pkgsrc.org@localhost>
date:      Mon Jan 22 14:59:53 2018 +0000

description:
Update lang/elixir to 1.6.0.

1. Enhancements

EEx
- [EEx] Allow markers `/` and `|` to be used in a custom EEx engine

Elixir
- [Calendar] Add truncate to `Time`, `DateTime` and `NaiveDateTime` to
  facilitate microsecond precision pruning
- [Code] Add `format_string!/2` and `format_file!/2` for automatic
  code formatting
- [Code] Support column annotations in quoted expressions with
  `columns: true` in `Code.string_to_quoted/2`
- [DynamicSupervisor] Add `DynamicSupervisor` designed to manage
  children that are added and removed dynamically
- [Exception] Make `Exception.blame/3` extensible by adding an
  optional `blame/2` callback to exceptions
- [Exception] Improve the printing of guards on blamed exceptions
- [Enumerable] Add `Enumerable.slice/1` and optimize many `Enum`
  operations with the new protocol. This allows data-structures with
  index-based random access to provide a non-linear implementation
- [Inspect] Show UTF-8 BOM on inspected strings
- [Inspect.Algebra] Add `:strict` and `:flex` breaks - this gives more
  control over the document fitting
- [Inspect.Algebra] Allow a group to inherit the parent group break
- [Inspect.Algebra] Add `force_unfit/1` and `next_break_fits/2` which
  give more control over document fitting
- [Inspect.Algebra] Add `collapse_lines/1` for collapsing multiple
  lines to a maximum value
- [Inspect.Algebra] Allow `nest/2` to be `:reset` or be set to the
  current `:cursor` position
- [Kernel] Prefix variables with V when emitting Erlang code. This
  improves the integration with tools such as Erlang code formatters
  and the GUI debugger
- [Kernel] Warn on the use of `length(x) == 0` in guards
- [Kernel] Warn if `catch` comes before `rescue` in try
- [Kernel] Warn if heredoc is outdented compared to its closing quotes
- [Kernel] Add `defguard/1` and `defguardp/1` to make it easier to
  build guard-safe macros
- [Kernel.ParallelCompiler] Add `compile/2`, `compile_to_path/3` and
  `require/2` which provide detailed information about warnings and
  errors
- [Kernel.SpecialForms] Support the `uniq: true` flag in `for`
  comprehensions
- [Module] Introduce `@deprecated` and `@since` attributes
- [Module] Emit conflicting behaviour warnings if the same behaviour
  is given more than once
- [List] Rearrange equals and inserts for shorter diff scripts in
  `List.myers_difference/2`
- [Record] Allow `:macros` and `:includes` to be given to
  `Record.extract/2`
- [Stream] Add `Stream.intersperse/2`
- [String] Update to Unicode 10
- [String] Allow passing empty string `match` to `String.replace/4`
- [String] Support context and language sensitive operations in
  `String.upcase/2` and `String.downcase/2`. Currently only the
  `:greek` context is supported
- [String] Support `:ascii` conversion in `String.upcase/2` and
  `String.downcase/2`
- [Time] Add `Time.add/3`

ExUnit
- [ExUnit.Assertions] Perform inclusive checks in `assert_in_delta`
- [ExUnit.Callbacks] Add `ExUnit.Callbacks.start_supervised!/2`
- [ExUnit.Case] Generate a random seed per test based on the test
  suite seed

IEx
- [IEx.Autocomplete] Provide contextual autocompletion: `t Enum.` will
  autocomplete types, `b Enum` will autocomplete callbacks
- [IEx.CLI] Provide hints for developers when a bad host name is given
  to `--remsh`
- [IEx.Helpers] Automatically include specs when showing documentation
  for functions/macros
- [IEx.Helpers] Improve formatting of behaviours and typespecs by
  using the formatter
- [IEx.Helpers] Allow pattern matching and guard expressions when on
  `IEx.break!`

Logger
- [Logger] Add `:discard_threshold` to Logger to help with message
  queue overflow

Mix
- [mix app.start] Add `--preload-modules` to `mix app.start`
- [mix archive.build] Allow `mix archive.build` to bundle dot files
  via an option
- [mix compile] Define a behavior for Mix compiler tasks and return
  diagnostics from compiler tasks
- [mix compile] Track struct dependencies between files and recompile
  them only if the struct changes
- [mix deps] Support `:system_env` option when specifying dependencies
- [mix format] Add a `mix format` task that formats the given files
  (or the files specified in a `.formatter.exs` file)
- [mix profile.eprof] Add a new task for time-based profiling with
  eprof
- [mix test] Run all functions in a describe block by giving the
  `file:line` the describe block starts
- [mix test] Report the top N slowest tests with the `--slowest N`
  flag
- [mix test] Report the number of doctests and tests separately
- [mix xref] Support `--include-siblings` in reports for umbrella
  support
- [mix xref] Add `mix xref graph --format stats`
- [mix xref] Add `--only-nodes` and `--label` filters to mix xref
  graph
- [mix xref] Add `mix xref deprecated` that shows the callsite of
  deprecated functions

2. Bug fixes

Elixir
- [CLI] Support path with spaces as argument to elixir.bat
- [Inspect] Properly handle minus signal for non-decimal negative
  integers
- [Integer] Do not raise on non-integer values in `is_odd`/`is_even`
- [Kernel] Solve a precedence issue between `&` and `|`, such as
  `[&Foo.bar/1 | &Baz.bat/2]`
- [Kernel] Do not load dynamic Elixir modules as `:in_memory` as this
  value is not officially supported by the code server. Instead, use
  an empty list, which is the same value used by Erlang.
- [Kernel] Validate variable struct name is atom when used in pattern
  matching
- [Macro] Fix `Macro.to_string/2` for tuple calls, such as `alias
  Foo.{Bar, Baz}`
- [MapSet] Return valid MapSet when unioning a legacy MapSet
- [Regex] Return a leading empty space when splitting on empty
  pattern. This makes the `split` operation consistent with the other
  operations in the `Regex` module
- [Stream] Ensure `Stream.chunk_while/4` does not emit more elements
  than necessary when halted
- [String] Return a leading empty space when splitting on empty
  string. This makes the `split` operation consistent with the other
  operations in the `String` module
- [URI] Preserve empty fragments in `URI.parse/1`

Mix
- [mix app.start] Improve the quality of reports if app fails to boot
- [mix cmd] Allow `mix cmd` to be invoked multiple times without
  marking it as executed
- [mix deps] Ensure optional dependencies in umbrella applications are
  loaded
- [mix deps.update] Ensure transitive new non-Hex dependencies are
  also fetched when a repo is updated
- [mix xref] Take compile dependencies with higher priority than
  runtime ones when building a graph
- [mix xref] Handle external files for xref callers and warnings

3. Soft deprecations (no warnings emitted)

Elixir
- [Inspect.Algebra] `surround/3` and `surround_many/6` are deprecated
  in favor of `container_doc/6`
- [Kernel.ParallelCompiler] `files/2` and `files_to_path/3` are
  deprecated in favor of `compile/2` and `compile_to_path/3`
- [Kernel.ParallelRequire] `files/2` is deprecated in favor of
  `Kernel.ParallelCompiler.require/2`
- [GenServer] Warn if `init/1` is not defined in `GenServer`. This
  brings GenServer closer to the implementation in OTP and aligns all
  behaviours to require the `init/1` callback

ExUnit
- [ExUnit.Formatter] `:case_started` and `:case_finished` events are
  deprecated in favor of `:module_started` and `:module_finished`

4. Deprecations

Elixir
- [Enum] `Enum.partition/2` is deprecated in favor of
  `Enum.split_with/2`
- [Keyword] `Keyword.replace/3` is deprecated in favor of
  `Keyword.fetch/2` and `Keyword.put/3`
- [Map] `Map.replace/3` is deprecated in favor of `Map.fetch/2` and
  `Map.put/3`
- [Macro] `Macro.unescape_tokens/1` and `Macro.unescape_tokens/2` are
  deprecated in favor of `Enum.map/2`
- [Range] Deprecate `Range.range?/1` in favor of pattern matching on
  `_ .. _`

diffstat:

 lang/elixir/Makefile |   4 ++--
 lang/elixir/PLIST    |  11 +++++++++--
 lang/elixir/distinfo |  10 +++++-----
 3 files changed, 16 insertions(+), 9 deletions(-)

diffs (95 lines):

diff -r e5a3ca5b9a03 -r 8c1096ae74c5 lang/elixir/Makefile
--- a/lang/elixir/Makefile      Mon Jan 22 14:18:11 2018 +0000
+++ b/lang/elixir/Makefile      Mon Jan 22 14:59:53 2018 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2018/01/03 13:06:17 fhajny Exp $
+# $NetBSD: Makefile,v 1.2 2018/01/22 14:59:53 fhajny Exp $
 
-DISTNAME=              elixir-1.5.2
+DISTNAME=              elixir-1.6.0
 CATEGORIES=            lang
 MASTER_SITES=          ${MASTER_SITE_GITHUB:=elixir-lang/}
 
diff -r e5a3ca5b9a03 -r 8c1096ae74c5 lang/elixir/PLIST
--- a/lang/elixir/PLIST Mon Jan 22 14:18:11 2018 +0000
+++ b/lang/elixir/PLIST Mon Jan 22 14:59:53 2018 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2018/01/03 13:06:17 fhajny Exp $
+@comment $NetBSD: PLIST,v 1.2 2018/01/22 14:59:53 fhajny Exp $
 bin/elixir
 bin/elixirc
 bin/iex
@@ -32,6 +32,8 @@
 lib/elixir/lib/elixir/ebin/Elixir.Calendar.ISO.beam
 lib/elixir/lib/elixir/ebin/Elixir.Calendar.beam
 lib/elixir/lib/elixir/ebin/Elixir.CaseClauseError.beam
+lib/elixir/lib/elixir/ebin/Elixir.Code.Formatter.beam
+lib/elixir/lib/elixir/ebin/Elixir.Code.Identifier.beam
 lib/elixir/lib/elixir/ebin/Elixir.Code.LoadError.beam
 lib/elixir/lib/elixir/ebin/Elixir.Code.beam
 lib/elixir/lib/elixir/ebin/Elixir.Collectable.BitString.beam
@@ -49,6 +51,7 @@
 lib/elixir/lib/elixir/ebin/Elixir.Date.beam
 lib/elixir/lib/elixir/ebin/Elixir.DateTime.beam
 lib/elixir/lib/elixir/ebin/Elixir.Dict.beam
+lib/elixir/lib/elixir/ebin/Elixir.DynamicSupervisor.beam
 lib/elixir/lib/elixir/ebin/Elixir.Enum.EmptyError.beam
 lib/elixir/lib/elixir/ebin/Elixir.Enum.OutOfBoundsError.beam
 lib/elixir/lib/elixir/ebin/Elixir.Enum.beam
@@ -264,6 +267,7 @@
 lib/elixir/lib/ex_unit/ebin/Elixir.ExUnit.Server.beam
 lib/elixir/lib/ex_unit/ebin/Elixir.ExUnit.Test.beam
 lib/elixir/lib/ex_unit/ebin/Elixir.ExUnit.TestCase.beam
+lib/elixir/lib/ex_unit/ebin/Elixir.ExUnit.TestModule.beam
 lib/elixir/lib/ex_unit/ebin/Elixir.ExUnit.TimeoutError.beam
 lib/elixir/lib/ex_unit/ebin/Elixir.ExUnit.beam
 lib/elixir/lib/ex_unit/ebin/ex_unit.app
@@ -273,7 +277,6 @@
 lib/elixir/lib/iex/ebin/Elixir.IEx.Config.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Evaluator.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Helpers.beam
-lib/elixir/lib/iex/ebin/Elixir.IEx.History.State.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.History.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Any.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Info.Atom.beam
@@ -345,6 +348,8 @@
 lib/elixir/lib/mix/ebin/Elixir.Mix.Shell.Quiet.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Shell.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.State.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Task.Compiler.Diagnostic.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Task.Compiler.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Task.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.App.Start.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.App.Tree.beam
@@ -378,6 +383,7 @@
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Escript.Install.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Escript.Uninstall.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Escript.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Format.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Help.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Iex.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Loadconfig.beam
@@ -388,6 +394,7 @@
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Local.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.New.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Profile.Cprof.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Profile.Eprof.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Profile.Fprof.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Run.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Test.Cover.beam
diff -r e5a3ca5b9a03 -r 8c1096ae74c5 lang/elixir/distinfo
--- a/lang/elixir/distinfo      Mon Jan 22 14:18:11 2018 +0000
+++ b/lang/elixir/distinfo      Mon Jan 22 14:59:53 2018 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.1 2018/01/03 13:06:17 fhajny Exp $
+$NetBSD: distinfo,v 1.2 2018/01/22 14:59:53 fhajny Exp $
 
-SHA1 (elixir-1.5.2.tar.gz) = aefc3523fb0be58bb08f987e4ed5c305fab4afc1
-RMD160 (elixir-1.5.2.tar.gz) = cffdc4619ca29ef62a3036e06a97b26ffcba18b8
-SHA512 (elixir-1.5.2.tar.gz) = ca8bdd8d97d68a49f9db1cffbb2ff028363ff7679c88aad543208688909f915c55f5a69293c423747f34be6171b38e0180f3654581ab38014c4988a3972cd024
-Size (elixir-1.5.2.tar.gz) = 1947836 bytes
+SHA1 (elixir-1.6.0.tar.gz) = 760a0620719464551ce10b2e43c0483457f68163
+RMD160 (elixir-1.6.0.tar.gz) = 8b6aed0fdd4ff7e917ce7113527422927c0bc801
+SHA512 (elixir-1.6.0.tar.gz) = 5af84c134fac299dd723e94219fbb354743a1c75d6f9c21b3976300f6f2c038da1664688c5e024a0b6ef1f7e22f7f2226ea75d190aa3a8e18bd20d1f5d3b4633
+Size (elixir-1.6.0.tar.gz) = 2064828 bytes
 SHA1 (patch-Makefile) = 0d7e87272cf5b837ecdbeb0638cd1c415ac7cd52



Home | Main Index | Thread Index | Old Index