svn commit: r422596 - in head/textproc/erlang-p1xml: . files
Jimmy Olgeni
olgeni at FreeBSD.org
Thu Sep 22 10:24:29 UTC 2016
Author: olgeni
Date: Thu Sep 22 10:24:27 2016
New Revision: 422596
URL: https://svnweb.freebsd.org/changeset/ports/422596
Log:
Unbreak textproc/erlang-p1xml on Erlang 19.
Added:
head/textproc/erlang-p1xml/files/
head/textproc/erlang-p1xml/files/patch-src_xml.erl (contents, props changed)
head/textproc/erlang-p1xml/files/patch-src_xml__util.erl (contents, props changed)
Modified:
head/textproc/erlang-p1xml/Makefile
Modified: head/textproc/erlang-p1xml/Makefile
==============================================================================
--- head/textproc/erlang-p1xml/Makefile Thu Sep 22 10:15:34 2016 (r422595)
+++ head/textproc/erlang-p1xml/Makefile Thu Sep 22 10:24:27 2016 (r422596)
@@ -3,6 +3,7 @@
PORTNAME= p1xml
PORTVERSION= 1.1.2
+PORTREVISION= 1
CATEGORIES= textproc
PKGNAMEPREFIX= erlang-
@@ -11,8 +12,6 @@ COMMENT= Fast Expat based Erlang XML par
LICENSE= GPLv2
-BROKEN= fails to build
-
LIB_DEPENDS= libexpat.so:textproc/expat2
USES= erlang:rebar
@@ -31,6 +30,7 @@ post-patch:
-e 's|{"LDFLAGS", ".*"|{"LDFLAGS", "${LDFLAGS}"|' ${WRKSRC}/rebar.config.script.in
post-install:
+ ${CHMOD} 644 ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/priv/lib/*.so
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/priv/lib/*.so
.include <bsd.port.mk>
Added: head/textproc/erlang-p1xml/files/patch-src_xml.erl
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/erlang-p1xml/files/patch-src_xml.erl Thu Sep 22 10:24:27 2016 (r422596)
@@ -0,0 +1,334 @@
+--- src/xml.erl.orig 2016-08-23 11:33:47 UTC
++++ src/xml.erl
+@@ -98,21 +98,11 @@ terminate(_Reason, _State) ->
+ ok.
+
+ %%
+--spec(element_to_binary/1 ::
+-(
+- El :: xmlel() | cdata())
+- -> binary()
+-).
+
+ element_to_binary(El) ->
+ iolist_to_binary(element_to_string(El)).
+
+ %%
+--spec(element_to_string/1 ::
+-(
+- El :: xmlel() | cdata())
+- -> string()
+-).
+
+ element_to_string(El) ->
+ case catch element_to_string_nocatch(El) of
+@@ -120,12 +110,6 @@ element_to_string(El) ->
+ Result -> Result
+ end.
+
+--spec(element_to_string_nocatch/1 ::
+-(
+- El :: xmlel() | cdata())
+- -> iolist()
+-).
+-
+ element_to_string_nocatch(El) ->
+ case El of
+ #xmlel{name = Name, attrs = Attrs, children = Els} ->
+@@ -157,11 +141,6 @@ crypt(S) ->
+ || <<C>> <= S >>.
+
+ %%
+--spec(make_text_node/1 ::
+-(
+- CData :: binary())
+- -> binary()
+-).
+
+ make_text_node(CData) ->
+ case cdata_need_escape(CData) of
+@@ -221,34 +200,17 @@ escape_cdata(CData, Index, [Pos | Positi
+ [CDATA2, Part, CDATA1 | Acc]).
+
+ %%
+--spec(remove_cdata_p/1 ::
+-(
+- El :: xmlel() | cdata())
+- -> boolean()
+-).
+
+ remove_cdata_p(#xmlel{}) -> true;
+ remove_cdata_p(_) -> false.
+
+ %%
+--spec(remove_cdata/1 ::
+-(
+- L :: [xmlel() | cdata()])
+- -> [xmlel()]
+-).
+
+ remove_cdata(L) -> [E || E <- L, remove_cdata_p(E)].
+
+ %% This function is intended to remove subtags based on a name and an
+ %% attribute, usually an xmlns attribute for a specific XMPP
+ %% extension.
+--spec(remove_subtags/3 ::
+-(
+- Xmlel :: xmlel(),
+- Name :: binary(),
+- Attr :: attr())
+- -> Xmlel :: xmlel()
+-).
+
+ remove_subtags(#xmlel{name = TagName, attrs = TagAttrs, children = Els},
+ Name, Attr) ->
+@@ -256,14 +218,6 @@ remove_subtags(#xmlel{name = TagName, at
+ children = remove_subtags1(Els, [], Name, Attr)}.
+
+ %%
+--spec(remove_subtags1/4 ::
+-(
+- Els :: [xmlel() | cdata()],
+- NewEls :: [xmlel()],
+- Name :: binary(),
+- Attr :: attr())
+- -> NewEls :: [xmlel()]
+-).
+
+ remove_subtags1([], NewEls, _Name, _Attr) ->
+ lists:reverse(NewEls);
+@@ -281,43 +235,17 @@ remove_subtags1([El | Els], NewEls, Name
+ _ -> remove_subtags1(Els, [El | NewEls], Name, Attr)
+ end.
+
+--spec(get_cdata/1 ::
+-(
+- L :: [xmlel() | cdata()])
+- -> binary()
+-).
+-
+ get_cdata(L) ->
+ (iolist_to_binary(get_cdata(L, <<"">>))).
+
+--spec(get_cdata/2 ::
+-(
+- L :: [xmlel() | cdata()],
+- S :: binary() | iolist())
+- -> binary() | iolist()
+-).
+-
+ get_cdata([{xmlcdata, CData} | L], S) ->
+ get_cdata(L, [S, CData]);
+ get_cdata([_ | L], S) -> get_cdata(L, S);
+ get_cdata([], S) -> S.
+
+--spec(get_tag_cdata/1 ::
+-(
+- Xmlel :: xmlel())
+- -> binary()
+-).
+-
+ get_tag_cdata(#xmlel{children = Els}) -> get_cdata(Els).
+
+ %%
+--spec(get_attr/2 ::
+-(
+- AttrName :: binary(),
+- Attrs :: [attr()])
+- -> {value, binary()}
+- | false
+-).
+
+ get_attr(AttrName, Attrs) ->
+ case lists:keysearch(AttrName, 1, Attrs) of
+@@ -326,12 +254,6 @@ get_attr(AttrName, Attrs) ->
+ end.
+
+ %%
+--spec(get_attr_s/2 ::
+-(
+- AttrName :: binary(),
+- Attrs :: [attr()])
+- -> Val :: binary()
+-).
+
+ get_attr_s(AttrName, Attrs) ->
+ case lists:keysearch(AttrName, 1, Attrs) of
+@@ -340,46 +262,21 @@ get_attr_s(AttrName, Attrs) ->
+ end.
+
+ %%
+--spec(get_tag_attr/2 ::
+-(
+- AttrName :: binary(),
+- Xmlel :: xmlel())
+- -> {value, binary()}
+- | false
+-).
+
+ get_tag_attr(AttrName, #xmlel{attrs = Attrs}) ->
+ get_attr(AttrName, Attrs).
+
+ %%
+--spec(get_tag_attr_s/2 ::
+-(
+- AttrName :: binary(),
+- Xmlel :: xmlel())
+- -> binary()
+-).
+
+ get_tag_attr_s(AttrName, #xmlel{attrs = Attrs}) ->
+ get_attr_s(AttrName, Attrs).
+
+ %%
+--spec(get_subtag/2 ::
+-(
+- Xmlel :: xmlel(),
+- Name :: binary())
+- -> xmlel() | false
+-).
+
+ get_subtag(#xmlel{children = Els}, Name) ->
+ get_subtag1(Els, Name).
+
+ %%
+--spec(get_subtag1/2 ::
+-(
+- Els :: [xmlel() | cdata()],
+- Name :: binary())
+- -> xmlel() | false
+-).
+
+ get_subtag1( [El | Els], Name) ->
+ case El of
+@@ -388,13 +285,6 @@ get_subtag1( [El | Els], Name) ->
+ end;
+ get_subtag1([], _) -> false.
+
+--spec(get_subtags/2 ::
+-(
+- Xmlel :: xmlel(),
+- Name :: binary())
+- -> [xmlel()]
+-).
+-
+ get_subtags(#xmlel{children = Els}, Name) ->
+ get_subtags1(Els, Name, []).
+
+@@ -407,25 +297,11 @@ get_subtags1([El | Els], Name, Acc) ->
+ end.
+
+ %%
+--spec(get_subtag_with_xmlns/3 ::
+-(
+- Xmlel :: xmlel(),
+- Name :: binary(),
+- XMLNS :: binary())
+- -> xmlel() | false
+-).
+
+ get_subtag_with_xmlns(#xmlel{children = Els}, Name, XMLNS) ->
+ get_subtag_with_xmlns1(Els, Name, XMLNS).
+
+ %%
+--spec(get_subtag_with_xmlns1/3 ::
+-(
+- Els :: [xmlel() | cdata()],
+- Name :: binary(),
+- XMLNS :: binary())
+- -> xmlel() | false
+-).
+
+ get_subtag_with_xmlns1([El | Els], Name, XMLNS) ->
+ case El of
+@@ -442,14 +318,6 @@ get_subtag_with_xmlns1([El | Els], Name,
+ get_subtag_with_xmlns1([], _, _) ->
+ false.
+
+--spec(get_subtags_with_xmlns/3 ::
+-(
+- Xmlel :: xmlel(),
+- Name :: binary(),
+- XMLNS :: binary())
+- -> [xmlel()]
+-).
+-
+ get_subtags_with_xmlns(#xmlel{children = Els}, Name, XMLNS) ->
+ get_subtags_with_xmlns1(Els, Name, XMLNS, []).
+
+@@ -469,12 +337,6 @@ get_subtags_with_xmlns1([El | Els], Name
+ end.
+
+ %%
+--spec(get_subtag_cdata/2 ::
+-(
+- Tag :: xmlel(),
+- Name :: binary())
+- -> binary()
+-).
+
+ get_subtag_cdata(Tag, Name) ->
+ case get_subtag(Tag, Name) of
+@@ -483,26 +345,11 @@ get_subtag_cdata(Tag, Name) ->
+ end.
+
+ %%
+--spec(append_subtags/2 ::
+-(
+- Xmlel :: xmlel(),
+- SubTags2 :: [xmlel() | cdata()])
+- -> Xmlel :: xmlel()
+-).
+
+ append_subtags(#xmlel{name = Name, attrs = Attrs, children = SubTags1}, SubTags2) ->
+ #xmlel{name = Name, attrs = Attrs, children = SubTags1 ++ SubTags2}.
+
+ %%
+--spec(get_path_s/2 ::
+-(
+- El :: xmlel(),
+- Path :: [{elem, Name::binary()}
+- |{attr, Name::binary()}
+- |cdata])
+- -> xmlel()
+- | binary()
+-).
+
+ get_path_s(El, []) -> El;
+ get_path_s(El, [{elem, Name} | Path]) ->
+@@ -515,35 +362,12 @@ get_path_s(El, [{attr, Name}]) ->
+ get_path_s(El, [cdata]) -> get_tag_cdata(El).
+
+ %%
+--spec(replace_tag_attr/3 ::
+-(
+- Name :: binary(),
+- Value :: binary(),
+- Xmlel :: xmlel())
+- -> Xmlel :: #xmlel{
+- name :: binary(),
+- attrs :: [attr(),...],
+- children :: [xmlel() | cdata()]
+- }
+-).
+
+ replace_tag_attr(Name, Value, Xmlel) ->
+ Xmlel#xmlel{
+ attrs = [{Name, Value} | lists:keydelete(Name, 1, Xmlel#xmlel.attrs)]
+ }.
+
+-
+--spec(replace_subtag/2 ::
+-(
+- Tag :: xmlel(),
+- Xmlel :: xmlel())
+- -> Xmlel :: #xmlel{
+- name :: binary(),
+- attrs :: [attr(),...],
+- children :: [xmlel() | cdata()]
+- }
+-).
+-
+ replace_subtag(#xmlel{name = Name} = Tag, Xmlel) ->
+ Xmlel#xmlel{
+ children = [Tag | lists:keydelete(Name, #xmlel.name, Xmlel#xmlel.children)]
Added: head/textproc/erlang-p1xml/files/patch-src_xml__util.erl
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/erlang-p1xml/files/patch-src_xml__util.erl Thu Sep 22 10:24:27 2016 (r422596)
@@ -0,0 +1,61 @@
+--- src/xml_util.erl.orig 2016-08-23 11:32:58 UTC
++++ src/xml_util.erl
+@@ -29,58 +29,20 @@
+ -export([binary_to_float/1, binary_to_integer/1, binary_to_integer/2,
+ float_to_binary/1, integer_to_binary/1, integer_to_binary/2]).
+
+--spec(binary_to_float/1 ::
+-(
+- Binary :: binary())
+- -> float()
+-).
+-
+ binary_to_float(Binary) ->
+ list_to_float(binary_to_list(Binary)).
+
+--spec(binary_to_integer/1 ::
+-(
+- Binary :: binary())
+- -> integer()
+-).
+-
+ binary_to_integer(Binary) ->
+ list_to_integer(binary_to_list(Binary)).
+
+--spec(binary_to_integer/2 ::
+-(
+- Binary :: binary(),
+- Base :: 2..36)
+- -> integer()
+-).
+-
+ binary_to_integer(Binary, Base) ->
+ list_to_integer(binary_to_list(Binary), Base).
+
+--spec(float_to_binary/1 ::
+-(
+- Float :: float())
+- -> binary()
+-).
+-
+ float_to_binary(Float) ->
+ list_to_binary(float_to_list(Float)).
+
+--spec(integer_to_binary/1 ::
+-(
+- Integer :: integer())
+- -> binary()
+-).
+-
+ integer_to_binary(Integer) ->
+ list_to_binary(integer_to_list(Integer)).
+
+--spec(integer_to_binary/2 ::
+-(
+- Integer :: integer(),
+- Base :: 2..36)
+- -> binary()
+-).
+-
+ integer_to_binary(Integer, Base) ->
+ list_to_binary(integer_to_list(Integer, Base)).
More information about the svn-ports-head
mailing list