Commit graph

29 commits

Author SHA1 Message Date
nia
2176cc7249 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-26 10:51:29 +00:00
nia
1361343c24 lang: Remove SHA1 hashes for distfiles 2021-10-07 14:20:45 +00:00
nia
135fb685bc elixir: update to 1.12.3
This release contains only bug fixes:

Elixir

     * [Code] Make sure that bindings in the default context returned by
       Code.eval_* functions are not returned as tagged tuples
     * [Kernel] Do not crash when handling ambiguity errors
     * [Range] Still match on old range patterns throughout the stdlib

IEx

     * [IEx.Autocomplete] Do not error autocompletion with module
       attribute

Mix

     * [Mix] Rename inconsistent :exit_code option to :exit_status on
       Mix.raise/2
2021-09-19 07:02:00 +00:00
nia
faab90b6c7 elixir: update to 1.12.2
1. Bug fixes

Elixir

    [Kernel] Ensure deprecated macros emit warnings

Mix

    [mix deps] Ensure unconstrained rebar deps generate valid mix specifications

2. Enhancements

Elixir

    [elixirc] Change the output of --profile time to make it easier to detect outliers
    [Application] Do not add compile time deps on args to Application.compile_env/2 and Application.compile_env!/2
    [Enum] Optimize Enum.into/3 and Map.new/2

Mix

    [mix compile] Compile most recently changed files first
    [mix compile, mix run, mix test] Speed up the time taken to load dependencies. This should make the usage of Mix inside projects quite more responsive
2021-08-10 11:18:57 +00:00
nia
b6bb3f4f8f elixir: update to 1.12.1
Release notes for 1.12.x:
https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/
2021-06-12 09:25:24 +00:00
nia
63e90b0dd9 elixir: Update to 1.11.4
This release introduces fixes for better support of Erlang/OTP 24+.

1. Enhancements

Elixir

    [Kernel] Update formatting when printing warnings and errors from Erlang/OTP 24+
    [Kernel] Support float-16 on bitstrings

Mix

    [mix local.rebar] This task will now install rebar3 version 3.14.4, compiled with Erlang/OTP 21
2021-04-08 10:34:36 +00:00
adam
b2ddd385a7 elixir: updated to 1.11.3
v1.11.3

1. Enhancements

Elixir

[Macro] Add Macro.unique_var/2 and Macro.generate_unique_arguments/2

2. Bug fixes

Elixir

[Code] Do not raise when checking for operator ambiguity when :static_atoms_encoder is set in Code.string_to_quoted
[Kernel] Emit undefined function warnings from with
[Kernel] Do not fail type checking when literals are used in guards
[Module] Do not warn for attributes used in @after_compile
[Record] Make sure nested record names do not clobber each other

ExUnit

[ExUnit.Assertions] Do not crash if there are macros and module attributes on the left side of ++

IEx

[IEx.Helpers] Do not use Unicode chars if ANSI is disabled

Mix

[mix deps.compile] Fix compatibility with rebar v3.14
[mix release] Do not use private ram_file:compress/1
[mix xref] Do not crash when retrieving calls for modules in memory
2021-01-15 12:10:33 +00:00
nia
bcfb56aa49 elixir: Update to 1.11.2
Elixir

    [Code] Do not crash when getting docs for missing erts appdir
    [Kernel] Raise meaningful error if :erlang.is_record is used in guards
    [Kernel] Prune tracers when fetching __ENV__ inside functions

Mix

    [mix] Fix regression where aliases could not call themselves recursively
    [mix compile] Do not discard tracers that are set programmatically
2020-11-19 11:49:17 +00:00
nia
4d3622fa25 elixir: Update to 1.11.1
"Over the last releases, the Elixir team has been focusing on the compiler, both in terms of catching more mistakes at compilation time and making it faster. Elixir v1.11 has made excellent progress on both fronts. This release also includes many other goodies, such as tighter Erlang integration, support for more guard expressions, built-in datetime formatting, and other calendar enhancements."
2020-10-19 17:48:41 +00:00
nia
e37026f562 elixir: gmake is a runtime dependency 2020-09-11 15:14:12 +00:00
nia
e0836037ec elixir: Use 'gmake' when compiling native libraries on NetBSD
Bump PKGREVISION
2020-09-11 15:05:06 +00:00
nia
d6714b4e93 elixir: Update to 1.10.4
## v1.10.4 (2020-07-04)

### 1. Bug fixes

#### Elixir

  * [Kernel] Fix a bug where custom types were printed as built-in types
  * [Kernel] Don't add compile-time dependency on `defdelegate`
  * [Kernel] Add line numbers to warnings on deprecated imports
  * [Kernel] Report the correct line number when raising inside a macro
  * [Task] Include callers in translated Logger metadata for Task
  * [Task] Fix Task PID and caller in Task Supervisor reports

#### ExUnit

  * [ExUnit.Formatter] Avoid crashes when diffing guards when the pattern does not match
  * [ExUnit.Formatter] Also blame exceptions that come from linked and trapped exits

#### IEx

  * [IEx.Helpers] Do not crash when printing a type that cannot be code formatted

####  Mix

  * [mix app.start] Fix reading `.app` file located in archives (`.ez` files)
  * [mix local.hex] Provide more guidance when Hex can't be installed
  * [mix release] Properly encode config in releases
2020-07-07 11:34:29 +00:00
nia
083c035edf elixir: Update to 1.10.3
## v1.10.3 (2020-04-25)

### 1. Bug fixes

#### Elixir

  * [Code] Return `[{mod, bin}]` from `Code.compile_file/2`, `Code.require_file/2`, `Code.load_file/2`
  * [Code] Make sure the formatter respects newlines before and after module attributes
  * [Kernel.ParallelCompiler] Fix a bug where the parallel compiler would raise in long compilation cycles
  * [Kernel.ParallelCompiler] Fix a bug where the parallel compiler would raise if some of the modules being compiled referred to a module that has been loaded directly to memory
  * [Module] Fix accidental breaking change where bodiless clauses had their body value on `@on_definition` callbacks set to an empty list instead of `nil`
  * [String] Undeprecate `String.normalize/2` normalize and fix infinite loop caused by certain invalid strings

#### ExUnit

  * [ExUnit.Assertions] Fix pattern matching diff when matching on pinned variables
  * [ExUnit.Assertions] Fix pattern matching diff when matching variable struct names
  * [ExUnit.Assertions] Fix pattern matching diff when matching on the binary concat operator (`<>`) and the left side is not a literal string
  * [ExUnit.Assertions] Fix pattern matching diff when matching on pseudo-vars (`__MODULE__`, `__DIR__`, etc)

#### Mix

  * [mix release] Respect the `:path` option when creating a `:tar` file for releases
2020-05-17 14:44:21 +00:00
joerg
d4986232af Increase resource limits due to Erlang's default allocations 2020-03-26 02:31:23 +00:00
adam
78d7df5d19 elixir: updated to 1.10.2
v1.10.2

Bug fixes

Elixir
[Macro] Fix a bug where Macro.to_string/1 would emit invalid code for sigils
[Task] Do not crash async_stream monitor if it receives spurious DOWN messages

Logger
[Logger] Fix a bug where the Logger formatter would fail when handling unknown metadata values

Mix
[mix compile] Do not write files to disk if --warnings-as-errors was given and warnings were emitted
2020-02-26 19:21:50 +00:00
adam
0c8e87d861 elixir: updated to 1.10.0
v1.10.0
Support for Erlang/OTP 21+
Releases improvements

Elixir v1.9 introduced releases as a mechanism to package self-contained applications. Elixir v1.10 further improves releases with bug fixes and new enhancements based on feedback we got from the community. The highlights are:

* Allow the dual boot system of releases to be disabled on environments that are boot-time sensitive, such as embedded devices
* Track and raise if compile-time configuration is set or changes at runtime (more in the next section)
* Support for easily adding extra files to releases via overlays
* Allow RELEASE_DISTRIBUTION to be set to none in order to fully disable it
* Add a built-in :tar step that automatically packages releases
2020-02-13 18:27:23 +00:00
nia
77c5203342 elixir: Update to 1.9.1
## v1.9.1 (2019-07-18)

### 1. Enhancements

#### Mix

  * [mix format] Print relative paths in `--check-formatted` output
  * [mix release] Support included applications

### 2. Bug fixes

#### Elixir

  * [Code] Fix formatter wrongly removing nested parens in nested calls

#### Logger

  * [Logger] Do not crash translator on poorly formatted supervisor names

#### Mix

  * [mix compile] Raise readable error for mismatched sources during compilation
  * [mix release] Preserve UTF8 encoding in release config files

## v1.9.0 (2019-06-24)

### 1. Enhancements

#### EEx

  * [EEx] Allow more complex mixed expressions when tokenizing

#### Elixir

  * [Access] Allow `Access.at/1` to handle negative index
  * [CLI] Add support for `--boot`, `--boot-var`, `--erl-config`, `--pipe-to`, `--rpc-eval`, and `--vm-args` options
  * [Code] Add `static_atom_encoder` option to `Code.string_to_quoted/2`
  * [Code] Support `:force_do_end_blocks` on `Code.format_string!/2` and `Code.format_file!/2`
  * [Code] Do not raise on deadlocks on `Code.ensure_compiled/1`
  * [Config] Add `Config`, `Config.Reader`, and `Config.Provider` modules for working with configuration
  * [File] Add `File.rename!/2`
  * [Inspect] Add `:inspect_fun` and `:custom_options` to `Inspect.Opts`
  * [Kernel] Add `~U` sigil for UTC date times
  * [Kernel] Optimize `&super/arity` and `&super(&1)`
  * [Kernel] Optimize generated code for `with` with a catch-all clause
  * [Kernel] Validate `__struct__` key in map returned by `__struct__/0,1`
  * [Module] Add `Module.get_attribute/3`
  * [Protocol] Improve `Protocol.UndefinedError` messages to also include the type that was attempted to dispatch on
  * [Protocol] Optimize performance of dynamic dispatching for non-consolidated protocols
  * [Record] Include field names in generated type for records
  * [Regex] Automatically recompile regexes
  * [Registry] Add `Registry.select/2`
  * [System] Add `System.restart/0`, `System.pid/0` and `System.no_halt/1`
  * [System] Add `System.get_env/2`, `System.fetch_env/1`, and `System.fetch_env!/1`
  * [System] Support `SOURCE_DATE_EPOCH` for reproducible builds

#### ExUnit

  * [ExUnit] Allow multiple `:exclude` on configuration/CLI
  * [ExUnit.DocTest] No longer wrap doctest errors in custom exceptions. They ended-up hiding more information than showing
  * [ExUnit.DocTest] Display the actual doctest code when doctest fails

#### IEx

  * [IEx.CLI] Copy ticktime from remote node on IEx `--remsh`
  * [IEx.CLI] Automatically add a host on node given to `--remsh`

#### Logger

  * [Logger] Use a decentralized mode computation for Logger which allows overloads to be detected more quickly
  * [Logger] Use `persistent_term` to store configuration whenever available for performance

#### Mix

  * [Mix] Follow XDG base dir specification in Mix for temporary and configuration files
  * [Mix.Generator] Add `copy_file/3`, `copy_template/4`, and `overwite?/2`
  * [Mix.Project] Add `preferred_cli_target` that works like `preferred_cli_env`
  * [mix archive.uninstall] Allow `mix archive.uninstall APP` to uninstall any installed version of APP
  * [mix new] No longer generate a `config/` directory for mix new
  * [mix release] Add support for releases
  * [mix release.init] Add templates for release configuration
  * [mix test] Allow running tests for a given umbrella app from the umbrella root with `mix test apps/APP/test`. Test failures also include the `apps/APP` prefix in the test location

### 2. Bug fixes

#### EEx

  * [EEx] Consistently trim newlines when you have a single EEx expression per line on multiple lines

#### Elixir

  * [Code] Quote `::` in `Code.format_string!/1` to avoid ambiguity
  * [Code] Do not crash formatter on false positive sigils
  * [Enum] Ensure the first equal entry is returned by `Enum.min/2` and `Enum.max/2`
  * [Kernel] Improve error message when string interpolation is used in a guard
  * [Kernel] Properly merge and handle docs for callbacks with multiple clauses
  * [Kernel] Guarantee reproducible builds on modules with dozens of specs
  * [Kernel] Resolve `__MODULE__` accordingly in nested `defmodule` to avoid double nesting
  * [Kernel] Type variables starting with an underscore (`_foo`) should not raise compile error
  * [Kernel] Keep order of elements when macro `in/2` is expanded with a literal list on the right-hand side
  * [Kernel] Print proper location on undefined function error from dynamically generated functions
  * [Kernel] **Potentially breaking** Do not leak aliases when nesting module definitions that are fully namespaced modules. If you defined `defmodule Elixir.Foo.Bar` inside `defmodule Foo`, previous Elixir versions would automatically define an alias, but fully namespaced modules such as `Elixir.Foo.Bar` should never define or require an alias. If you were accidentally relying on this broken behaviour, your code may no longer work
  * [System] Make sure `:init.get_status/0` is set to `{:started, :started}` once the system starts
  * [Path] Do not expand `~` in `Path.expand/2` when not followed by a path separator
  * [Protocol] Ensure `debug_info` is kept in protocols
  * [Regex] Ensure inspect returns valid `~r//` expressions when they are manually compiled with backslashes
  * [Registry] Fix ETS leak in `Registry.register/2` for already registered calls in unique registries while the process is still alive

#### ExUnit

  * [ExUnit] Raise error if attempting to run single line tests on multiple files
  * [ExUnit] Return proper error on duplicate child IDs on `start_supervised`

#### IEx

  * [IEx] Automatically shut down IEx if we receive EOF

#### Logger

  * [Logger] Don't discard Logger messages from other nodes as to leave a trail on both systems

#### Mix

  * [mix compile] Ensure Erlang-based Mix compilers (erlang, leex, yecc) set valid position on diagnostics
  * [mix compile] Ensure compilation halts in an umbrella project if one of the siblings fail to compile
  * [mix deps] Raise an error if the umbrella app's dir name and `mix.exs` app name don't match
  * [mix deps.compile] Fix subcommand splitting bug in rebar3
  * [mix test] Do not consider modules that are no longer cover compiled when computing coverage report, which could lead to flawed reports

### 3. Soft-deprecations (no warnings emitted)

#### Mix

  * [Mix.Config] `Mix.Config` has been deprecated in favor of the `Config` module that now ships as part of Elixir itself. Reading configuration files should now be done by the `Config.Reader` module

### 4. Hard-deprecations

#### Elixir

  * [CLI] Deprecate `--detached` option, use `--erl "-detached"` instead
  * [Map] Deprecate Enumerable keys in `Map.drop/2`, `Map.split/2`, and `Map.take/2`
  * [String] The `:insert_replaced` option in `String.replace/4` has been deprecated. Instead you may pass a function as a replacement or use `:binary.replace/4` if you need to support earlier Elixir versions

#### Mix

  * [Mix.Project] Deprecate `Mix.Project.load_paths/1` in favor of `Mix.Project.compile_path/1`
2019-08-01 09:52:52 +00:00
nia
9eeb5f298b elixir: Avoid errors from check-interpreter.mk after addition of interpreter
workaround.
2019-06-17 16:58:42 +00:00
yyamano
762d89fd76 Make bin/mix works.
shebang doesn't work if an interpreter is a shell script.
See http://mail-index.netbsd.org/tech-pkg/2019/05/21/msg021312.html
2019-05-23 23:42:27 +00:00
nia
9759df6e6f lang/elixir: update to 1.7.4.
1. Enhancements

Elixir

    [Kernel] Expand left..right at compile time in more cases, which leads to improved performance under different scenarios, especially on x in left..right expressions

Mix

    [mix deps.loadpaths] Add --no-load-deps flag. This is useful for Rebar 3 compatibility

2. Bug fixes

Elixir

    [Calendar] Fix for converting from negative iso days on New Year in a leap year
    [Kernel] Ensure @spec, @callback, @type and friends can be read accordingly
    [Module] Avoid warnings when using Module.eval_quoted in the middle of existing definitions

Mix

    [mix archive.build] Unload previous archive versions before building
    [mix format] Expand paths so mix format path\for\windows.ex works
    [mix test] Ensure that --cover displays correct coverage in an umbrella app
2018-11-09 17:17:28 +00:00
jperkin
f8611f86ed elixir: Fix PKGMANDIR. Add TEST_TARGET. 2018-10-11 12:10:08 +00:00
fhajny
3d2ee04e14 lang/elixir: Update to 1.7.3.
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-04 13:49:25 +00:00
fhajny
3c0623fb6a lang/elixir: Update to 1.6.5.
- [Code] Preserve the user's choice in the formatter on parens call
  with next break fits
- [Code] Preserve the user's choice in the formatter on calls without
  parens when we have one argument per line
- [Code] Fix formatting when there is a tilde in the first element of
  a bitstring
- [Kernel] Support specsdiff flag on __info__ spec clauses
- [Kernel] Do not exclude hygienic vars in defguard
- [Kernel.SpecialForms] Mark for comprehensions as generated to avoid
  dialyzer warnings
- [Macro] Make sure Macro.to_string/2 emits valid quoted expressions
- [Task] Support :infinity timeout on Task.yield_many/2
- [Task.Supervisor] Do not crash spawning supervised tasks when the
  parent process is dead
- [URI] Fix parsing of URIs with trailing ?
2018-05-14 15:57:13 +00:00
fhajny
2048b50853 lang/elixir: Update to 1.6.4.
- [Code.Formatter] Do not double escape quoted keyword list identifiers
- [Kernel] Properly support into: binary in Erlang/OTP 20.3
2018-03-23 11:54:58 +00:00
fhajny
af720a8f44 lang/elixir: Update to 1.6.3.
Elixir
- [Code.Formatter] Support comments in the middle of pipelines,
  when and | expressions
- [Code.Formatter] Consider commas when breaking groups
- [Code.Formatter] Ensure proper precedence between & and operators
- [Code.Formatter] Consider .formatter.exs when formatting stdin

Logger
- [Logger.Translator] Ensure logger doesn't crash when reporting
  named DynamicSupervisor
2018-03-13 09:18:19 +00:00
fhajny
6af9d8b363 lang/elixit: Update to 1.6.2.
1. Enhancements

Mix
- [mix compile.erlang] Teach Mix erlang compiler alternative spelling
  for -behavior declaration
- [mix format] Support the :subdirectories configuration that points
  to other directories with their own .formatter.exs file. This is
  useful in umbrella applications. mix new --umbrella has also been
  changed to use this new configuration by default
- [mix format] Include the current environment for missing dependency
  errors

2. Bug fixes

Elixir
- [Code.Formatter] Ensure -> does not exceed line length
- [DynamicSupervisor] Properly tag error reports generated by dynamic
  supervisors so they can be properly translated by Logger
- [DynamicSupervisor] Consider extra arguments during child restart
- [Kernel] Ensure arguments given to a guard defined with defguard are
  evaluated in the correct order
- [Module] Do not remove docs for previous function declaration when
  @impl true is used
- [Supervisor] Ensure use Supervisor properly adds the @behaviour
  Supervisor annotation

Mix
- [Mix.Shell] Bring back Mix.Shell.cmd/2 - this arity was defined via
  a default argument that was accidentally removed
2018-02-28 15:14:02 +00:00
fhajny
d943c140a0 Update lang/elixir to 1.6.1.
1. Enhancements

Elixir
- [DynamicSupervisor] Implement child_spec/1 for DynamicSupervisor
- [Kernel] Raise better error messages on invalid map syntax

2. Bug fixes

Elixir
- [Code.Formatter] Only rearrange not in operator if explicitly
  opted-in
- [Code.Formatter] Ensure do blocks do not exceed line length on calls
  with a single argument
- [Collectable] Support bitstrings in Collectable and
  for-comprehensions (regression in v1.6.0)
- [GenServer] Do not override user own @opts attribute
- [Enum] Reintroduce zipping of any enumerable of enumerables in
  Enum.zip/1 (regression in v1.6.0)
- [Macro] Reorder kw blocks in Macro.to_string/1 to avoid warnings
- [Protocol] Fix protocol consolidation when some chunks may be
  missing
- [Stream] Reintroduce zipping of any enumerable of enumerables in
  Stream.zip/1 (regression in v1.6.0)
- [Supervisor] Do not override user own @opts attribute
- [Supervisor] Add @spec to second clause of start_link/2

ExUnit
- [ExUnit.Case] Reintroduce :case in ExUnit setup/setup_all/test
  context
2018-01-30 16:27:10 +00:00
fhajny
b96a217e4d 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
  `_ .. _`
2018-01-22 14:59:53 +00:00
fhajny
da8550acb4 Import elixir-1.5.2 as lang/elixir.
Elixir is a functional, meta-programming aware language built on top of the
Erlang VM. It is a dynamic language that focuses on tooling to leverage
Erlang's abilities to build concurrent, distributed and fault-tolerant
applications with hot code upgrades.
2018-01-03 13:06:17 +00:00