Index: head/devel/elixir-bson/Makefile =================================================================== --- head/devel/elixir-bson/Makefile (revision 566687) +++ head/devel/elixir-bson/Makefile (revision 566688) @@ -1,22 +1,21 @@ # $FreeBSD$ PORTNAME= elixir-bson PORTVERSION= 0.4.4 +PORTREVISION= 1 CATEGORIES= devel MAINTAINER= vanilla@FreeBSD.org COMMENT= BSON implementation in Elixir LICENSE= MIT - -IGNORE= does not build with Elixir 1.6 USES= elixir USE_GITHUB= yes GH_ACCOUNT= checkiz ELIXIR_APP_NAME=bson OPTIONS_DEFINE= DOCS .include Index: head/devel/elixir-bson/files/patch-lib_bson__decoder.ex =================================================================== --- head/devel/elixir-bson/files/patch-lib_bson__decoder.ex (nonexistent) +++ head/devel/elixir-bson/files/patch-lib_bson__decoder.ex (revision 566688) @@ -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 = %{ Property changes on: head/devel/elixir-bson/files/patch-lib_bson__decoder.ex ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/elixir-bson/files/patch-lib_bson__encoder.ex =================================================================== --- head/devel/elixir-bson/files/patch-lib_bson__encoder.ex (nonexistent) +++ head/devel/elixir-bson/files/patch-lib_bson__encoder.ex (revision 566688) @@ -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(%{}) Property changes on: head/devel/elixir-bson/files/patch-lib_bson__encoder.ex ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/devel/elixir-bson/files/patch-mix.exs =================================================================== --- head/devel/elixir-bson/files/patch-mix.exs (revision 566687) +++ head/devel/elixir-bson/files/patch-mix.exs (revision 566688) @@ -1,10 +1,15 @@ ---- 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", - elixir: "~> 1.0.0", 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 +