ports/101206: [PATCH] net/ocaml-netclient: update to 0.92.2, fix permissions, PREFIX safety

Stanislav Sedov ssedov at mbsd.msk.ru
Tue Aug 1 18:10:33 UTC 2006


>Number:         101206
>Category:       ports
>Synopsis:       [PATCH] net/ocaml-netclient: update to 0.92.2, fix permissions, PREFIX safety
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 01 18:10:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Stanislav Sedov
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
MBSD labs, Inc.
>Environment:
System: FreeBSD fonon.realnet 7.0-CURRENT FreeBSD 7.0-CURRENT #7: Sun Jun 18 20:51:36 MSD 2006
>Description:
- Use new OCaml framework (requires ports/101100)
- Permissions safety via replacing cp to install
- Honour PREFIX
- Use subdirectory of ocaml for docs and examples
- Update to 0.92.2

Copy of this message was sent to (dsh at vlink.ru).

>How-To-Repeat:
>Fix:

--- ocaml-netclient-0.92.2.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/net/ocaml-netclient/Makefile /var/tmp/ocaml-netclient/Makefile
--- /usr/ports/net/ocaml-netclient/Makefile	Mon Oct  3 18:00:01 2005
+++ /var/tmp/ocaml-netclient/Makefile	Tue Aug  1 21:56:31 2006
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	netclient
-PORTVERSION=	0.91.1
+PORTVERSION=	0.92.2
 CATEGORIES=	net
 MASTER_SITES=	http://www.ocaml-programming.de/packages/
 PKGNAMEPREFIX=	ocaml-
@@ -14,27 +14,52 @@
 MAINTAINER=	dsh at vlink.ru
 COMMENT=	A HTTP 1.0/1.1, FTP and Telnet client for OCaml
 
-BUILD_DEPENDS=	ocamlc:${PORTSDIR}/lang/ocaml \
-		ocamlfind:${PORTSDIR}/devel/ocaml-findlib \
-		${OCAML_SITELIBDIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net \
-		${OCAML_SITELIBDIR}/equeue/equeue.a:${PORTSDIR}/devel/ocaml-equeue
-RUN_DEPENDS=	${BUILD_DEPENDS}
+BUILD_DEPENDS=	${SA_DIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net \
+		${SA_DIR}/equeue/equeue.a:${PORTSDIR}/devel/ocaml-equeue
+RUN_DEPENDS=	${SA_DIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net \
+		${SA_DIR}/equeue/equeue.a:${PORTSDIR}/devel/ocaml-equeue
 
 USE_GMAKE=	yes
+USE_OCAML=	yes
+USE_OCAML_FINDLIB=yes
 
 ALL_TARGET=	all opt
-DOCSDIR=	${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
-EXAMPLESDIR=	${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}
+DOCSDIR=	${PREFIX}/share/doc/ocaml/${PORTNAME}
+EXAMPLESDIR=	${PREFIX}/share/examples/ocaml/${PORTNAME}
 
-OCAML_SITELIBDIR=	${LOCALBASE}/lib/ocaml/site-lib
+SA_DIR=		${LOCALBASE}/${OCAML_SITELIBDIR}
+MASTERPORT=	${PORTSDIR}/devel/ocaml-camlidl
+
+# XXX: exists untill it will be committed to bsd.port.mk
+COPYTREE_SHARE=	${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \
+		2>&1) && \
+		${CHOWN} -R ${SHAREOWN}:${SHAREGRP} $$1 && \
+		${FIND} $$1/ -type d -exec ${CHMOD} 755 {} \; && \
+		${FIND} $$1/ -type f -exec ${CHMOD} ${SHAREMODE} {} \;' --
+
+.if !defined(NOPORTDOCS)
+PORTDOCS=	*
+.endif
+
+.include <bsd.port.pre.mk>
+.include "${MASTERPORT}/bsd.ocaml.mk"
+
+post-extract:
+# For nonstandard prefixes
+.if !exists(${OCAMLFIND_DESTDIR})
+	${MKDIR} ${OCAMLFIND_DESTDIR}
+.endif
+.if !exists(${OCAMLFIND_LDCONF})
+	${TOUCH} ${OCAMLFIND_LDCONF}
+.endif
 
 post-install:
 	${MKDIR} ${EXAMPLESDIR}
-	${CP} -R ${WRKSRC}/examples/ ${EXAMPLESDIR}
+	@(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} \* ${EXAMPLESDIR})
 
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
-	${CP} -R ${WRKSRC}/doc/ ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCSDIR}
 .endif
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -ruN --exclude=CVS /usr/ports/net/ocaml-netclient/distinfo /var/tmp/ocaml-netclient/distinfo
--- /usr/ports/net/ocaml-netclient/distinfo	Mon Jan 23 00:23:21 2006
+++ /var/tmp/ocaml-netclient/distinfo	Tue Aug  1 21:54:57 2006
@@ -1,3 +1,3 @@
-MD5 (netclient-0.91.1.tar.gz) = aa9ac43ea13e68b89f9cbfaa27b4c01e
-SHA256 (netclient-0.91.1.tar.gz) = 41e11e289e257d4122ab818c760b99240b3be0dd46efabf06d07a04b75147470
-SIZE (netclient-0.91.1.tar.gz) = 169353
+MD5 (netclient-0.92.2.tar.gz) = 91ea282829014748eaf94d26dcc911cd
+SHA256 (netclient-0.92.2.tar.gz) = 7550fe9ab4577df29693e769b62af4c6f8e12f072c58689c8029bf90188a7193
+SIZE (netclient-0.92.2.tar.gz) = 188493
diff -ruN --exclude=CVS /usr/ports/net/ocaml-netclient/pkg-plist /var/tmp/ocaml-netclient/pkg-plist
--- /usr/ports/net/ocaml-netclient/pkg-plist	Mon Oct  3 18:00:01 2005
+++ /var/tmp/ocaml-netclient/pkg-plist	Tue Aug  1 21:58:58 2006
@@ -1,22 +1,23 @@
-lib/ocaml/site-lib/netclient/META
-lib/ocaml/site-lib/netclient/ftp_client.cmi
-lib/ocaml/site-lib/netclient/ftp_client.mli
-lib/ocaml/site-lib/netclient/ftp_data_endpoint.cmi
-lib/ocaml/site-lib/netclient/ftp_data_endpoint.mli
-lib/ocaml/site-lib/netclient/http_client.cmi
-lib/ocaml/site-lib/netclient/http_client.mli
-lib/ocaml/site-lib/netclient/http_client_mt.cmi
-lib/ocaml/site-lib/netclient/http_client_mt.cmo
-lib/ocaml/site-lib/netclient/http_client_mt.cmx
-lib/ocaml/site-lib/netclient/http_client_mt.mli
-lib/ocaml/site-lib/netclient/http_client_mt.o
-lib/ocaml/site-lib/netclient/netclient.a
-lib/ocaml/site-lib/netclient/netclient.cma
-lib/ocaml/site-lib/netclient/netclient.cmxa
-lib/ocaml/site-lib/netclient/telnet_client.cmi
-lib/ocaml/site-lib/netclient/telnet_client.mli
+%%OCAML_SITELIBDIR%%/netclient/META
+%%OCAML_SITELIBDIR%%/netclient/ftp_client.cmi
+%%OCAML_SITELIBDIR%%/netclient/ftp_client.mli
+%%OCAML_SITELIBDIR%%/netclient/ftp_data_endpoint.cmi
+%%OCAML_SITELIBDIR%%/netclient/ftp_data_endpoint.mli
+%%OCAML_SITELIBDIR%%/netclient/http_client.cmi
+%%OCAML_SITELIBDIR%%/netclient/http_client.mli
+%%OCAML_SITELIBDIR%%/netclient/http_client_mt.cmi
+%%OCAML_SITELIBDIR%%/netclient/http_client_mt.cmo
+%%OCAML_SITELIBDIR%%/netclient/http_client_mt.cmx
+%%OCAML_SITELIBDIR%%/netclient/http_client_mt.mli
+%%OCAML_SITELIBDIR%%/netclient/http_client_mt.o
+%%OCAML_SITELIBDIR%%/netclient/netclient.a
+%%OCAML_SITELIBDIR%%/netclient/netclient.cma
+%%OCAML_SITELIBDIR%%/netclient/netclient.cmxa
+%%OCAML_SITELIBDIR%%/netclient/telnet_client.cmi
+%%OCAML_SITELIBDIR%%/netclient/telnet_client.mli
 %%EXAMPLESDIR%%/simple/http_download.ml
 %%EXAMPLESDIR%%/simple/http_get.ml
+%%EXAMPLESDIR%%/simple/http_mt.ml
 %%EXAMPLESDIR%%/simple/http_pipeline.ml
 %%EXAMPLESDIR%%/simple/telnet.ml
 %%EXAMPLESDIR%%/spider/Makefile
@@ -32,117 +33,9 @@
 %%EXAMPLESDIR%%/telnet_labltk/Makefile
 %%EXAMPLESDIR%%/telnet_labltk/main.ml
 %%EXAMPLESDIR%%/telnet_labltk/telnet.ml
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.connect_method.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.ftp_client.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.ftp_client_pi.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.ftp_method.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.get_method.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_client.login_method.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.data_converter.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.ftp_data_engine.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.ftp_data_receiver.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.ftp_data_sender.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.in_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.out_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.read_in_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/Ftp_data_endpoint.write_out_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.Convenience.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.auth_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.auth_session.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.basic_auth_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.basic_auth_method.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.delete.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.delete_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.digest_auth_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.digest_auth_method.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.generic_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.get.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.get_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.head.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.head_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.http_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.key.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.key_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.key_ring.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.options.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.options_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.pipeline.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.post.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.post_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.post_raw.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.put.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.put_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.trace.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client.trace_call.html
-%%PORTDOCS%%%%DOCSDIR%%/Http_client_mt.html
-%%PORTDOCS%%%%DOCSDIR%%/Telnet_client.html
-%%PORTDOCS%%%%DOCSDIR%%/Telnet_client.telnet_session.html
-%%PORTDOCS%%%%DOCSDIR%%/index.html
-%%PORTDOCS%%%%DOCSDIR%%/index_attributes.html
-%%PORTDOCS%%%%DOCSDIR%%/index_class_types.html
-%%PORTDOCS%%%%DOCSDIR%%/index_classes.html
-%%PORTDOCS%%%%DOCSDIR%%/index_exceptions.html
-%%PORTDOCS%%%%DOCSDIR%%/index_methods.html
-%%PORTDOCS%%%%DOCSDIR%%/index_module_types.html
-%%PORTDOCS%%%%DOCSDIR%%/index_modules.html
-%%PORTDOCS%%%%DOCSDIR%%/index_types.html
-%%PORTDOCS%%%%DOCSDIR%%/index_values.html
-%%PORTDOCS%%%%DOCSDIR%%/style.css
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.connect_method.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.ftp_client.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.ftp_client_pi.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.ftp_method.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.get_method.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_client.login_method.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.data_converter.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.ftp_data_engine.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.ftp_data_receiver.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.ftp_data_sender.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.in_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.out_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.read_in_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Ftp_data_endpoint.write_out_record_channel.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.Convenience.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.auth_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.auth_session.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.basic_auth_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.basic_auth_method.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.delete.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.delete_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.digest_auth_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.digest_auth_method.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.generic_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.get.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.get_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.head.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.head_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.http_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.key.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.key_handler.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.key_ring.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.options.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.options_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.pipeline.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.post.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.post_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.post_raw.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.put.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.put_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.trace.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client.trace_call.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Http_client_mt.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Telnet_client.html
-%%PORTDOCS%%%%DOCSDIR%%/type_Telnet_client.telnet_session.html
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
- at dirrm %%EXAMPLESDIR%%/simple
- at dirrm %%EXAMPLESDIR%%/spider
 @dirrm %%EXAMPLESDIR%%/telnet_labltk
+ at dirrm %%EXAMPLESDIR%%/spider
+ at dirrm %%EXAMPLESDIR%%/simple
 @dirrm %%EXAMPLESDIR%%
- at dirrm lib/ocaml/site-lib/netclient
- at unexec ocamlfind remove netclient 2>/dev/null || true
+ at dirrmtry share/examples/ocaml
+ at dirrmtry share/doc/ocaml
--- ocaml-netclient-0.92.2.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list