pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/lang/elixir elixir: Update to 1.9.1



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a7876c2e83f1
branches:  trunk
changeset: 399028:a7876c2e83f1
user:      nia <nia%pkgsrc.org@localhost>
date:      Thu Aug 01 09:52:52 2019 +0000

description:
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`

diffstat:

 lang/elixir/Makefile               |  11 ++++++-----
 lang/elixir/PLIST                  |  17 +++++++++++++----
 lang/elixir/distinfo               |  12 ++++++------
 lang/elixir/patches/patch-Makefile |  24 ++++--------------------
 4 files changed, 29 insertions(+), 35 deletions(-)

diffs (189 lines):

diff -r f2adabbdd894 -r a7876c2e83f1 lang/elixir/Makefile
--- a/lang/elixir/Makefile      Thu Aug 01 01:23:20 2019 +0000
+++ b/lang/elixir/Makefile      Thu Aug 01 09:52:52 2019 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.12 2019/06/17 16:58:42 nia Exp $
+# $NetBSD: Makefile,v 1.13 2019/08/01 09:52:52 nia Exp $
 
-DISTNAME=              elixir-1.7.4
-PKGREVISION=           1
+DISTNAME=              elixir-1.9.1
 CATEGORIES=            lang
 MASTER_SITES=          ${MASTER_SITE_GITHUB:=elixir-lang/}
 GITHUB_TAG=            v${PKGVERSION_NOREV}
@@ -11,13 +10,15 @@
 COMMENT=               Functional, meta-programming aware language built on top of Erlang VM
 LICENSE=               apache-2.0
 
-DEPENDS+=              erlang>=18.0:../../lang/erlang
+DEPENDS+=              erlang>=20.0:../../lang/erlang
 
 USE_TOOLS+=            gmake
 
+MAKE_FLAGS+=           MAN_PREFIX=${PREFIX}/${PKGMANDIR}
+
 REPLACE_INTERPRETER+=  elixir
 REPLACE.elixir.old=    .*elixir
-REPLACE.elixir.new=    ${TOOLS_PLATFORM.env} ${PREFIX}/bin/elixir
+REPLACE.elixir.new=    ${TOOLS_PLATFORM.env:Q} ${PREFIX}/bin/elixir
 REPLACE_FILES.elixir=  bin/mix
 
 CHECK_INTERPRETER_SKIP+=       bin/mix
diff -r f2adabbdd894 -r a7876c2e83f1 lang/elixir/PLIST
--- a/lang/elixir/PLIST Thu Aug 01 01:23:20 2019 +0000
+++ b/lang/elixir/PLIST Thu Aug 01 09:52:52 2019 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2018/09/04 13:49:25 fhajny Exp $
+@comment $NetBSD: PLIST,v 1.4 2019/08/01 09:52:52 nia Exp $
 bin/elixir
 bin/elixirc
 bin/iex
@@ -30,6 +30,8 @@
 lib/elixir/lib/elixir/ebin/Elixir.Behaviour.beam
 lib/elixir/lib/elixir/ebin/Elixir.Bitwise.beam
 lib/elixir/lib/elixir/ebin/Elixir.Calendar.ISO.beam
+lib/elixir/lib/elixir/ebin/Elixir.Calendar.TimeZoneDatabase.beam
+lib/elixir/lib/elixir/ebin/Elixir.Calendar.UTCOnlyTimeZoneDatabase.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
@@ -48,6 +50,9 @@
 lib/elixir/lib/elixir/ebin/Elixir.Collectable.beam
 lib/elixir/lib/elixir/ebin/Elixir.CompileError.beam
 lib/elixir/lib/elixir/ebin/Elixir.CondClauseError.beam
+lib/elixir/lib/elixir/ebin/Elixir.Config.Provider.beam
+lib/elixir/lib/elixir/ebin/Elixir.Config.Reader.beam
+lib/elixir/lib/elixir/ebin/Elixir.Config.beam
 lib/elixir/lib/elixir/ebin/Elixir.Date.Range.beam
 lib/elixir/lib/elixir/ebin/Elixir.Date.beam
 lib/elixir/lib/elixir/ebin/Elixir.DateTime.beam
@@ -74,6 +79,7 @@
 lib/elixir/lib/elixir/ebin/Elixir.File.CopyError.beam
 lib/elixir/lib/elixir/ebin/Elixir.File.Error.beam
 lib/elixir/lib/elixir/ebin/Elixir.File.LinkError.beam
+lib/elixir/lib/elixir/ebin/Elixir.File.RenameError.beam
 lib/elixir/lib/elixir/ebin/Elixir.File.Stat.beam
 lib/elixir/lib/elixir/ebin/Elixir.File.Stream.beam
 lib/elixir/lib/elixir/ebin/Elixir.File.beam
@@ -183,7 +189,6 @@
 lib/elixir/lib/elixir/ebin/Elixir.String.Chars.Version.Requirement.beam
 lib/elixir/lib/elixir/ebin/Elixir.String.Chars.Version.beam
 lib/elixir/lib/elixir/ebin/Elixir.String.Chars.beam
-lib/elixir/lib/elixir/ebin/Elixir.String.Normalizer.beam
 lib/elixir/lib/elixir/ebin/Elixir.String.Tokenizer.beam
 lib/elixir/lib/elixir/ebin/Elixir.String.Unicode.beam
 lib/elixir/lib/elixir/ebin/Elixir.String.beam
@@ -276,6 +281,7 @@
 lib/elixir/lib/ex_unit/ebin/ex_unit.app
 lib/elixir/lib/iex/ebin/Elixir.IEx.App.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Autocomplete.beam
+lib/elixir/lib/iex/ebin/Elixir.IEx.Broker.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.CLI.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Config.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Evaluator.beam
@@ -299,12 +305,12 @@
 lib/elixir/lib/iex/ebin/Elixir.IEx.Info.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Introspection.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Pry.beam
-lib/elixir/lib/iex/ebin/Elixir.IEx.Remsh.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.Server.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.State.beam
 lib/elixir/lib/iex/ebin/Elixir.IEx.beam
 lib/elixir/lib/iex/ebin/iex.app
 lib/elixir/lib/logger/ebin/Elixir.Logger.App.beam
+lib/elixir/lib/logger/ebin/Elixir.Logger.BackendSupervisor.beam
 lib/elixir/lib/logger/ebin/Elixir.Logger.Backends.Console.beam
 lib/elixir/lib/logger/ebin/Elixir.Logger.Config.beam
 lib/elixir/lib/logger/ebin/Elixir.Logger.ErlangHandler.beam
@@ -313,7 +319,6 @@
 lib/elixir/lib/logger/ebin/Elixir.Logger.Translator.beam
 lib/elixir/lib/logger/ebin/Elixir.Logger.Utils.beam
 lib/elixir/lib/logger/ebin/Elixir.Logger.Watcher.beam
-lib/elixir/lib/logger/ebin/Elixir.Logger.WatcherSupervisor.beam
 lib/elixir/lib/logger/ebin/Elixir.Logger.beam
 lib/elixir/lib/logger/ebin/logger.app
 lib/elixir/lib/mix/ebin/Elixir.Mix.CLI.beam
@@ -341,6 +346,7 @@
 lib/elixir/lib/mix/ebin/Elixir.Mix.ProjectStack.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.PublicKey.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Rebar.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Release.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.RemoteConverger.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.SCM.Git.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.SCM.Path.beam
@@ -398,9 +404,12 @@
 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.Release.Init.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Release.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Run.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Test.Cover.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Test.beam
+lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.WillRecompile.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Tasks.Xref.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.TasksServer.beam
 lib/elixir/lib/mix/ebin/Elixir.Mix.Utils.beam
diff -r f2adabbdd894 -r a7876c2e83f1 lang/elixir/distinfo
--- a/lang/elixir/distinfo      Thu Aug 01 01:23:20 2019 +0000
+++ b/lang/elixir/distinfo      Thu Aug 01 09:52:52 2019 +0000
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.10 2018/11/09 17:17:28 nia Exp $
+$NetBSD: distinfo,v 1.11 2019/08/01 09:52:52 nia Exp $
 
-SHA1 (elixir-1.7.4.tar.gz) = 0e8e51ae2a7b446850fc711da5a70c66d2329976
-RMD160 (elixir-1.7.4.tar.gz) = 627d80e31bdef16df1b9ba173ad5c0ac67f440a4
-SHA512 (elixir-1.7.4.tar.gz) = 594e76601e0d6f7eeddfcaa9b76a2e5c66f702a497599fffc5e9255790c18ac5e00b986fc45fd3b90335522f51272bcd4bcf2b9f8951b94eebfb1d56ac7cebc2
-Size (elixir-1.7.4.tar.gz) = 2139938 bytes
-SHA1 (patch-Makefile) = 815906a3d7532a95582a53d7c9ef9f42dc9d215f
+SHA1 (elixir-1.9.1.tar.gz) = 42aa6031f5aabbad8a5cc098b50ec74a2dff0902
+RMD160 (elixir-1.9.1.tar.gz) = 9f4f0aaaf96ce8f5051b9c0a0176a3ff91dfa5f7
+SHA512 (elixir-1.9.1.tar.gz) = 4cfc672d3a2d02e044ffa305ae2986658a431a264b7e06b0fde1773d8d062bde27ea06f0d31433107ef8bfdf6e931c75c6a39de81bc54b275e06edbe0cc87bda
+Size (elixir-1.9.1.tar.gz) = 2248780 bytes
+SHA1 (patch-Makefile) = 00a68538bae40effba33fc3bc5019fdbf38a91f3
diff -r f2adabbdd894 -r a7876c2e83f1 lang/elixir/patches/patch-Makefile
--- a/lang/elixir/patches/patch-Makefile        Thu Aug 01 01:23:20 2019 +0000
+++ b/lang/elixir/patches/patch-Makefile        Thu Aug 01 09:52:52 2019 +0000
@@ -1,11 +1,10 @@
-$NetBSD: patch-Makefile,v 1.3 2018/10/11 12:10:09 jperkin Exp $
+$NetBSD: patch-Makefile,v 1.4 2019/08/01 09:52:52 nia Exp $
 
 Use portable sed calls to avoid gsed.
-Use pkgsrc paths for man pages.
 
---- Makefile.orig      2018-08-24 18:46:27.000000000 +0000
+--- Makefile.orig      2019-07-18 10:17:13.000000000 +0000
 +++ Makefile
-@@ -109,7 +109,7 @@ install: compile
+@@ -120,7 +120,7 @@ install: compile
                $(INSTALL_DATA) $$dir/ebin/* "$(DESTDIR)$(PREFIX)/$(LIBDIR)/elixir/$$dir/ebin"; \
        done
        $(Q) $(INSTALL_DIR) "$(DESTDIR)$(PREFIX)/$(LIBDIR)/elixir/bin"
@@ -14,7 +13,7 @@
        $(Q) $(INSTALL_DIR) "$(DESTDIR)$(PREFIX)/$(BINDIR)"
        $(Q) for file in "$(DESTDIR)$(PREFIX)"/$(LIBDIR)/elixir/bin/*; do \
                ln -sf "../$(LIBDIR)/elixir/bin/$${file##*/}" "$(DESTDIR)$(PREFIX)/$(BINDIR)/"; \
-@@ -262,14 +262,14 @@ build_man: man/iex.1 man/elixir.1
+@@ -296,14 +296,14 @@ build_man: man/iex.1 man/elixir.1
  
  man/iex.1:
        $(Q) cp man/iex.1.in man/iex.1
@@ -33,18 +32,3 @@
        $(Q) rm -f man/elixir.1.bak
  
  clean_man:
-@@ -279,9 +279,9 @@ clean_man:
-       rm -f man/iex.1.bak
- 
- install_man: build_man
--      $(Q) mkdir -p $(DESTDIR)$(SHARE_PREFIX)/man/man1
--      $(Q) $(INSTALL_DATA) man/elixir.1  $(DESTDIR)$(SHARE_PREFIX)/man/man1
--      $(Q) $(INSTALL_DATA) man/elixirc.1 $(DESTDIR)$(SHARE_PREFIX)/man/man1
--      $(Q) $(INSTALL_DATA) man/iex.1     $(DESTDIR)$(SHARE_PREFIX)/man/man1
--      $(Q) $(INSTALL_DATA) man/mix.1     $(DESTDIR)$(SHARE_PREFIX)/man/man1
-+      $(Q) mkdir -p $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man1
-+      $(Q) $(INSTALL_DATA) man/elixir.1  $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man1
-+      $(Q) $(INSTALL_DATA) man/elixirc.1 $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man1
-+      $(Q) $(INSTALL_DATA) man/iex.1     $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man1
-+      $(Q) $(INSTALL_DATA) man/mix.1     $(DESTDIR)$(PREFIX)/$(PKGMANDIR)/man1
-       $(MAKE) clean_man



Home | Main Index | Thread Index | Old Index