summaryrefslogtreecommitdiff
path: root/net/erlang-xmlrpc
diff options
context:
space:
mode:
Diffstat (limited to 'net/erlang-xmlrpc')
-rw-r--r--net/erlang-xmlrpc/Makefile45
-rw-r--r--net/erlang-xmlrpc/distinfo2
-rw-r--r--net/erlang-xmlrpc/files/patch-src_xmlrpc.erl18
-rw-r--r--net/erlang-xmlrpc/files/patch-src_xmlrpc__decode.erl11
-rw-r--r--net/erlang-xmlrpc/files/patch-src_xmlrpc__http.erl26
-rw-r--r--net/erlang-xmlrpc/pkg-descr6
-rw-r--r--net/erlang-xmlrpc/pkg-plist30
7 files changed, 138 insertions, 0 deletions
diff --git a/net/erlang-xmlrpc/Makefile b/net/erlang-xmlrpc/Makefile
new file mode 100644
index 000000000000..50a164f17dc6
--- /dev/null
+++ b/net/erlang-xmlrpc/Makefile
@@ -0,0 +1,45 @@
+# $FreeBSD$
+
+PORTNAME= xmlrpc
+PORTVERSION= 1.13
+PORTREVISION= 12
+CATEGORIES= net
+MASTER_SITES= http://www.erlang.org/contrib/
+PKGNAMEPREFIX= erlang-
+DIST_SUBDIR= erlang
+
+MAINTAINER= olgeni@FreeBSD.org
+COMMENT= Library for XMLRPC support in Erlang
+
+BUILD_DEPENDS= erl:${PORTSDIR}/lang/erlang
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+
+PLIST_SUB= VERSION="${PORTVERSION}"
+
+USES= gmake tar:tgz
+WRKSRC= ${WRKDIR}/xmlrpc-${PORTVERSION}
+
+PORTDOCS= *
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|XMERL_PATH=.*|XMERL_PATH=${LOCALBASE}/lib/erlang/lib/xmerl|g' ${WRKSRC}/src/Makefile
+ @${RM} ${WRKSRC}/src/Makefile.bak ${WRKSRC}/src/*.orig
+
+do-build:
+ @cd ${WRKSRC}/src && ${MAKE_CMD}
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ for FILE in xmlrpc.pdf xmlrpc.ps xmlrpc.txt; do \
+ ${INSTALL_DATA} ${WRKSRC}/doc/$${FILE} ${STAGEDIR}${DOCSDIR}; \
+ done
+ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/xmlrpc-${PORTVERSION}
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/xmlrpc-${PORTVERSION}/ebin
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/xmlrpc-${PORTVERSION}/src
+ ${INSTALL_DATA} ${WRKSRC}/ebin/* ${STAGEDIR}${PREFIX}/lib/erlang/lib/xmlrpc-${PORTVERSION}/ebin
+ ${INSTALL_DATA} ${WRKSRC}/src/* ${STAGEDIR}${PREFIX}/lib/erlang/lib/xmlrpc-${PORTVERSION}/src
+ ${INSTALL_MAN} ${WRKSRC}/doc/xmlrpc.3 ${STAGEDIR}${MANPREFIX}/man/man3/erlang_xmlrpc.3
+
+.include <bsd.port.mk>
diff --git a/net/erlang-xmlrpc/distinfo b/net/erlang-xmlrpc/distinfo
new file mode 100644
index 000000000000..932a4af4f551
--- /dev/null
+++ b/net/erlang-xmlrpc/distinfo
@@ -0,0 +1,2 @@
+SHA256 (erlang/xmlrpc-1.13.tgz) = 7b129f17c277e17a2e44a1344bbc5c238ef2f5154c012c48a8b32ab061badb9a
+SIZE (erlang/xmlrpc-1.13.tgz) = 38169
diff --git a/net/erlang-xmlrpc/files/patch-src_xmlrpc.erl b/net/erlang-xmlrpc/files/patch-src_xmlrpc.erl
new file mode 100644
index 000000000000..6e2ee005302e
--- /dev/null
+++ b/net/erlang-xmlrpc/files/patch-src_xmlrpc.erl
@@ -0,0 +1,18 @@
+--- src/xmlrpc.erl.orig 2003-04-23 19:06:45 UTC
++++ src/xmlrpc.erl
+@@ -164,7 +164,14 @@ handle_payload(Socket, KeepAlive, Timeou
+
+ get_payload(Socket, Timeout, ContentLength) ->
+ inet:setopts(Socket, [{packet, raw}]),
+- gen_tcp:recv(Socket, ContentLength, Timeout).
++ get_payload(Socket, Timeout, ContentLength, []).
++
++get_payload(Socket, Timeout, 0, Payload) ->
++ {ok, lists:concat(lists:reverse(Payload))};
++
++get_payload(Socket, Timeout, ContentLength, Payload) ->
++ {ok, Bin} = gen_tcp:recv(Socket, 0, Timeout),
++ get_payload(Socket, Timeout, ContentLength - length(Bin), [Bin|Payload]).
+
+ %% Exported: start_link/{1,5,6}
+
diff --git a/net/erlang-xmlrpc/files/patch-src_xmlrpc__decode.erl b/net/erlang-xmlrpc/files/patch-src_xmlrpc__decode.erl
new file mode 100644
index 000000000000..6186d57c8f27
--- /dev/null
+++ b/net/erlang-xmlrpc/files/patch-src_xmlrpc__decode.erl
@@ -0,0 +1,11 @@
+--- src/xmlrpc_decode.erl.orig 2003-04-23 19:06:45 UTC
++++ src/xmlrpc_decode.erl
+@@ -28,7 +28,7 @@
+ -author('jocke@gleipnir.com').
+ -export([payload/1]).
+
+--include("xmerl.hrl").
++-include_lib("xmerl/include/xmerl.hrl").
+
+ payload(Payload) ->
+ case xmerl_scan:string(Payload) of
diff --git a/net/erlang-xmlrpc/files/patch-src_xmlrpc__http.erl b/net/erlang-xmlrpc/files/patch-src_xmlrpc__http.erl
new file mode 100644
index 000000000000..417a03305e61
--- /dev/null
+++ b/net/erlang-xmlrpc/files/patch-src_xmlrpc__http.erl
@@ -0,0 +1,26 @@
+--- src/xmlrpc_http.erl.orig 2003-04-23 19:06:45 UTC
++++ src/xmlrpc_http.erl
+@@ -142,7 +142,14 @@ handle_payload(Socket, Timeout, Handler,
+
+ get_payload(Socket, Timeout, ContentLength) ->
+ inet:setopts(Socket, [{packet, raw}]),
+- gen_tcp:recv(Socket, ContentLength, Timeout).
++ get_payload(Socket, Timeout, ContentLength, []).
++
++get_payload(Socket, Timeout, 0, Payload) ->
++ {ok, lists:concat(lists:reverse(Payload))};
++
++get_payload(Socket, Timeout, ContentLength, Payload) ->
++ {ok, Bin} = gen_tcp:recv(Socket, 0, Timeout),
++ get_payload(Socket, Timeout, ContentLength - length(Bin), [Bin|Payload]).
+
+ eval_payload(Socket, Timeout, {M, F} = Handler, State, Connection, Payload) ->
+ case catch M:F(State, Payload) of
+@@ -190,6 +197,7 @@ send(Socket, StatusCode, ExtraHeader, Pa
+ Response =
+ ["HTTP/1.1 ", integer_to_list(StatusCode), " ",
+ reason_phrase(StatusCode), "\r\n",
++ "Content-Type: text/xml\r\n",
+ "Content-Length: ", integer_to_list(lists:flatlength(Payload)),
+ "\r\n",
+ "Server: Erlang/1.13\r\n",
diff --git a/net/erlang-xmlrpc/pkg-descr b/net/erlang-xmlrpc/pkg-descr
new file mode 100644
index 000000000000..1bf83ba0a663
--- /dev/null
+++ b/net/erlang-xmlrpc/pkg-descr
@@ -0,0 +1,6 @@
+This is an HTTP 1.1 compliant XML-RPC library for Erlang. It is
+designed to make it easy to write XML-RPC Erlang clients and/or
+servers.
+
+WWW: http://www.xmlrpc.com/
+WWW: http://www.erlang.org/
diff --git a/net/erlang-xmlrpc/pkg-plist b/net/erlang-xmlrpc/pkg-plist
new file mode 100644
index 000000000000..6d021240c9ad
--- /dev/null
+++ b/net/erlang-xmlrpc/pkg-plist
@@ -0,0 +1,30 @@
+lib/erlang/lib/xmlrpc-%%VERSION%%/ebin/tcp_serv.beam
+lib/erlang/lib/xmlrpc-%%VERSION%%/ebin/xmlrpc.beam
+lib/erlang/lib/xmlrpc-%%VERSION%%/ebin/xmlrpc_decode.beam
+lib/erlang/lib/xmlrpc-%%VERSION%%/ebin/xmlrpc_encode.beam
+lib/erlang/lib/xmlrpc-%%VERSION%%/ebin/xmlrpc_http.beam
+lib/erlang/lib/xmlrpc-%%VERSION%%/ebin/xmlrpc_util.beam
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/Makefile
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/example_serv.erl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/log.hrl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/tcp_serv.erl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/xmlrpc.erl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/xmlrpc.hrl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/xmlrpc_decode.erl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/xmlrpc_encode.erl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/xmlrpc_http.erl
+lib/erlang/lib/xmlrpc-%%VERSION%%/src/xmlrpc_util.erl
+man/man3/erlang_xmlrpc.3.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/BankClient.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/DateClient.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/EchoClient.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/FibClient.java
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/date_server.erl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/echo_server.erl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/fib_server.erl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/robust_bank_client.erl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/robust_bank_server.erl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/robust_banking.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/validator.erl