svn commit: r566688 - in head/devel/elixir-bson: . files

Vanilla I. Shu vanilla at FreeBSD.org
Sat Feb 27 10:55:43 UTC 2021


Author: vanilla
Date: Sat Feb 27 10:55:41 2021
New Revision: 566688
URL: https://svnweb.freebsd.org/changeset/ports/566688

Log:
  Fix building with latest elixir.

Added:
  head/devel/elixir-bson/files/patch-lib_bson__decoder.ex   (contents, props changed)
  head/devel/elixir-bson/files/patch-lib_bson__encoder.ex   (contents, props changed)
Modified:
  head/devel/elixir-bson/Makefile
  head/devel/elixir-bson/files/patch-mix.exs

Modified: head/devel/elixir-bson/Makefile
==============================================================================
--- head/devel/elixir-bson/Makefile	Sat Feb 27 10:54:58 2021	(r566687)
+++ head/devel/elixir-bson/Makefile	Sat Feb 27 10:55:41 2021	(r566688)
@@ -2,14 +2,13 @@
 
 PORTNAME=	elixir-bson
 PORTVERSION=	0.4.4
+PORTREVISION=	1
 CATEGORIES=	devel
 
 MAINTAINER=	vanilla at FreeBSD.org
 COMMENT=	BSON implementation in Elixir
 
 LICENSE=	MIT
-
-IGNORE=		does not build with Elixir 1.6
 
 USES=		elixir
 USE_GITHUB=	yes

Added: head/devel/elixir-bson/files/patch-lib_bson__decoder.ex
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/elixir-bson/files/patch-lib_bson__decoder.ex	Sat Feb 27 10:55:41 2021	(r566688)
@@ -0,0 +1,29 @@
+--- lib/bson_decoder.ex.orig	2021-02-27 04:49:09 UTC
++++ lib/bson_decoder.ex
+@@ -51,7 +51,7 @@ defmodule Bson.Decoder do
+ 
+   ```
+   """
+-  def elist_to_hashdict(elist), do: elist |> Enum.reduce %HashDict{}, fn({k, v}, h) -> HashDict.put(h, k, v) end
++  def elist_to_hashdict(elist), do: elist |> Enum.reduce(%HashDict{}, fn({k, v}, h) -> HashDict.put(h, k, v) end)
+ 
+   @doc """
+   Transform an elist to a Keyword
+@@ -62,7 +62,7 @@ defmodule Bson.Decoder do
+ 
+   ```
+   """
+-  def elist_to_keyword(elist), do: elist |> Enum.map fn({k, v}) -> {String.to_atom(k), v} end
++  def elist_to_keyword(elist), do: elist |> Enum.map(fn({k, v}) -> {String.to_atom(k), v} end)
+ 
+   @doc """
+   Identity function
+@@ -91,7 +91,7 @@ defmodule Bson.Decoder do
+   ...>  %{a: "r"},
+   ...>  %{a: ""},
+   ...>  %{a: 1, b: 5}
+-  ...> ] |> Enum.all? fn(term) -> assert term == term |> Bson.encode |> Bson.decode end
++  ...> ] |> Enum.all?(fn(term) -> assert term == term |> Bson.encode |> Bson.decode end)
+   true
+ 
+   iex> term = %{

Added: head/devel/elixir-bson/files/patch-lib_bson__encoder.ex
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/elixir-bson/files/patch-lib_bson__encoder.ex	Sat Feb 27 10:55:41 2021	(r566688)
@@ -0,0 +1,170 @@
+--- lib/bson_encoder.ex.orig	2021-02-27 04:48:02 UTC
++++ lib/bson_encoder.ex
+@@ -1,32 +1,33 @@
+-defmodule Bson.Encoder do
+-  defprotocol Protocol do
+-    @moduledoc """
+-    `Bson.Encoder.Protocol` protocol defines Bson encoding according to Elxir terms and some Bson predefined structs (see `Bson`).
++defprotocol Bson.Encoder.Protocol do
++  @moduledoc """
++  `Bson.Encoder.Protocol` protocol defines Bson encoding according to Elxir terms and some Bson predefined structs (see `Bson`).
+ 
+-    List of the protocol implementations:
++  List of the protocol implementations:
+ 
+-    * `Map` - Encodes a map into a document
+-    * `HasDict` - Encodes a HashDict into a document
+-    * `Keyword` - Encodes a Keyword into a document
+-    *  `List` - Encodes a list of key-alue pairs into a document otherwize encode list into array
+-    * `Integer` - Encodes integer in 32 or 64 bits
+-    * `Float` - Encodes float in 64 bits
+-    * `Atom` - Encodes special atom (`false`, `true`, `nil`,
+-    `:nan`, `:+inf`, `:-inf`, `MIN_KEY` and `MAX_KEY`) in appropriate format
+-    others in special type Symbol
+-    * `BitString` - as binary string
+-    * `Bson.Regex' - see specs
+-    * `Bson.ObjectId' - see specs
+-    * `Bson.JS' - see specs
+-    * `Bson.Bin' - see specs
+-    * `Bson.Timestamp  ' - see specs
+-    """
++  * `Map` - Encodes a map into a document
++  * `HasDict` - Encodes a HashDict into a document
++  * `Keyword` - Encodes a Keyword into a document
++  *  `List` - Encodes a list of key-alue pairs into a document otherwize encode list into array
++  * `Integer` - Encodes integer in 32 or 64 bits
++  * `Float` - Encodes float in 64 bits
++  * `Atom` - Encodes special atom (`false`, `true`, `nil`,
++  `:nan`, `:+inf`, `:-inf`, `MIN_KEY` and `MAX_KEY`) in appropriate format
++  others in special type Symbol
++  * `BitString` - as binary string
++  * `Bson.Regex' - see specs
++  * `Bson.ObjectId' - see specs
++  * `Bson.JS' - see specs
++  * `Bson.Bin' - see specs
++  * `Bson.Timestamp  ' - see specs
++  """
+ 
+-    @doc """
+-    Returns a binary representing a term in Bson format
+-    """
+-    def encode(term)
+-  end
++  @doc """
++  Returns a binary representing a term in Bson format
++  """
++  def encode(term)
++end
++
++defmodule Bson.Encoder do
+   defmodule Error do
+     @moduledoc """
+     Container for error messages
+@@ -56,7 +57,7 @@ defmodule Bson.Encoder do
+     end
+   end
+ 
+-  defimpl Protocol, for: Integer do
++  defimpl Bson.Encoder.Protocol, for: Integer do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(2)
+     {<<16>>, <<2, 0, 0, 0>>}
+@@ -73,7 +74,7 @@ defmodule Bson.Encoder do
+     def encode(i), do: %Error{what: [Integer], term: i}
+   end
+ 
+-  defimpl Protocol, for: Float do
++  defimpl Bson.Encoder.Protocol, for: Float do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(1.1)
+     {<<1>>, <<154, 153, 153, 153, 153, 153, 241, 63>>}
+@@ -81,7 +82,7 @@ defmodule Bson.Encoder do
+     def encode(f), do: {<<0x01>>, <<(f)::size(64)-float-little>>}
+   end
+ 
+-  defimpl Protocol, for: Atom do
++  defimpl Bson.Encoder.Protocol, for: Atom do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(true)
+     {<<8>>, <<1>>}
+@@ -114,7 +115,7 @@ defmodule Bson.Encoder do
+     def encode(atom),    do: {<<0x0e>>, (atom |> Atom.to_string |> Bson.Encoder.wrap_string)}
+   end
+ 
+-  defimpl Protocol, for: Bson.UTC do
++  defimpl Bson.Encoder.Protocol, for: Bson.UTC do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(Bson.UTC.from_now({1390, 324703, 518471}))
+     {<<9>>, <<30, 97, 207, 181, 67, 1, 0, 0>>}
+@@ -123,7 +124,7 @@ defmodule Bson.Encoder do
+     def encode(utc), do: %Error{what: [Bson.UTC], term: utc}
+   end
+ 
+-  defimpl Protocol, for: Bson.Regex do
++  defimpl Bson.Encoder.Protocol, for: Bson.Regex do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(%Bson.Regex{pattern: "p", opts: "i"})
+     {<<11>>, ["p", <<0>>, "i", <<0>>]}
+@@ -132,7 +133,7 @@ defmodule Bson.Encoder do
+     def encode(regex), do: %Error{what: [Bson.Regex], term: regex}
+   end
+ 
+-  defimpl Protocol, for: Bson.ObjectId do
++  defimpl Bson.Encoder.Protocol, for: Bson.ObjectId do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(%Bson.ObjectId{oid: <<0xFF>>})
+     {<<0x07>>, <<255>>}
+@@ -144,7 +145,7 @@ defmodule Bson.Encoder do
+     def encode(oid), do: %Error{what: [Bson.ObjectId], term: oid}
+   end
+ 
+-  defimpl Protocol, for: Bson.JS do
++  defimpl Bson.Encoder.Protocol, for: Bson.JS do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(%Bson.JS{code: "1+1;"})
+     {<<13>>, [<<5, 0, 0, 0>>, "1+1;", <<0>>]}
+@@ -166,7 +167,7 @@ defmodule Bson.Encoder do
+     defp js_ctx(jsctx), do: <<(byte_size(jsctx)+4)::32-little-signed, jsctx::binary>>
+   end
+ 
+-  defimpl Protocol, for: Bson.Bin do
++  defimpl Bson.Encoder.Protocol, for: Bson.Bin do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(%Bson.Bin{bin: "e", subtype: Bson.Bin.subtyx(:user)})
+     {<<5>>,[<<1, 0, 0, 0>>, 128, "e"]}
+@@ -178,7 +179,7 @@ defmodule Bson.Encoder do
+     def encode(bin, subtype), do: %Error{what: [Bson.Bin], term: {bin, subtype}}
+   end
+ 
+-  defimpl Protocol, for: Bson.Timestamp do
++  defimpl Bson.Encoder.Protocol, for: Bson.Timestamp do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode(%Bson.Timestamp{inc: 1, ts: 2})
+     {<<17>>,<<1, 0, 0, 0, 2, 0, 0, 0>>}
+@@ -190,7 +191,7 @@ defmodule Bson.Encoder do
+       def encode(ts), do: %Error{what: [Bson.Timestamp], term: ts}
+   end
+ 
+-  defimpl Protocol, for: BitString do
++  defimpl Bson.Encoder.Protocol, for: BitString do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode("a")
+     {<<2>>, [<<2, 0, 0, 0>>, "a", <<0>>]}
+@@ -199,7 +200,7 @@ defmodule Bson.Encoder do
+     def encode(bits), do: %Error{what: [BitString], term: bits}
+   end
+ 
+-  defimpl Protocol, for: List do
++  defimpl Bson.Encoder.Protocol, for: List do
+     @doc """
+     iex> Bson.Encoder.Protocol.encode([])
+     {<<4>>,<<5, 0, 0, 0, 0>>}
+@@ -241,7 +242,7 @@ defmodule Bson.Encoder do
+     end
+   end
+ 
+-  defimpl Protocol, for: [Map, HashDict, Keyword] do
++  defimpl Bson.Encoder.Protocol, for: [Map, HashDict, Keyword] do
+     @doc """
+     # Map
+     iex> Bson.Encoder.Protocol.encode(%{})

Modified: head/devel/elixir-bson/files/patch-mix.exs
==============================================================================
--- head/devel/elixir-bson/files/patch-mix.exs	Sat Feb 27 10:54:58 2021	(r566687)
+++ head/devel/elixir-bson/files/patch-mix.exs	Sat Feb 27 10:55:41 2021	(r566688)
@@ -1,6 +1,6 @@
---- mix.exs.orig	2015-09-26 08:10:10 UTC
+--- mix.exs.orig	2015-09-18 11:00:09 UTC
 +++ mix.exs
-@@ -5,7 +5,6 @@ defmodule Bson.Mixfile do
+@@ -5,11 +5,10 @@ defmodule Bson.Mixfile do
      [ app: :bson,
        name: "bson",
        version: "0.4.3",
@@ -8,3 +8,8 @@
        description: "BSON implementation for Elixir",
        source_url: "https://github.com/checkiz/elixir-bson",
        deps: deps(Mix.env),
+-      package: package,
++      package: package(),
+       docs: &docs/0 ]
+   end
+ 


More information about the svn-ports-all mailing list