pkgsrc/net/ocamlnet/Makefile

44 lines
1.1 KiB
Makefile
Raw Normal View History

2020-06-02 10:22:31 +02:00
# $NetBSD: Makefile,v 1.74 2020/06/02 08:24:34 adam Exp $
#
DISTNAME= ocamlnet-4.1.7
2020-06-02 10:22:31 +02:00
PKGREVISION= 2
CATEGORIES= net
2009-10-18 21:46:36 +02:00
MASTER_SITES= http://download.camlcity.org/download/
2013-11-01 12:11:18 +01:00
MAINTAINER= jaapb@NetBSD.org
2009-10-18 21:46:36 +02:00
HOMEPAGE= http://projects.camlcity.org/projects/ocamlnet.html
COMMENT= Library focusing on application-level network protocols (OCaml)
Update to 3.5.1, from Jaap Boender. 6 years of changes. 3.5.1 in particular has: it is time for another version of Ocamlnet. The new release 3.5 focuses on the system interface, and includes a long list of smaller improvements. The system interface, Netsys_posix, is extended by: - Support for POSIX clocks and POSIX timers (with nanosecond resolution) - Netsys_posix.spawn usses now the posix_spawn call if present on the OS - Adding support for pollable events (as e.g. provided by Linux via eventfd). For other OS an emulation is available. - Support for epoll on Linux Note that Netsys_posix covers now large parts of POSIX realtime. Other improvements: - The code generator for XDR has been improved. A new switch -direct for ocamlrpcgen can be used to generate direct mappings between OCaml values and binary representation (in many cases). Speedups up to 50% are possible for large XDR values. - The new module Uq_mt allows it to access an event-driven resource from several kernel threads (e.g. use an RPC client commonly from several threads). - The thread-safety of Netplex container functions has been improved. - Netmulticore condition variables can now be polled, for better integration into event-based programs. - Option greedy_accepts for Netplex to support servers that accept many connections per second. With this improvement, Netplex can now accept more than 5000 connections/s, and assign them to worker processes. Last but not least there is now a new tutorial for Equeue (event systems and engines). In particular, the section about combining Ocamlnet with Lwt might be interesting.
2012-07-06 11:29:14 +02:00
LICENSE= zlib AND gnu-gpl-v2
2010-01-30 20:36:35 +01:00
MAKE_JOBS_SAFE= no
HAS_CONFIGURE= yes
Updated package to newest version, 4.0.4. Changes include: * GnuTLS: compatibility with GnuTLS-3.4.2 * Nethttpd_plex: the post_add_hook was not called by accident (since OCamlnet-4); this is now fixed. * Nethtml: new option case_sensitive * GnuTLS: initializing the library on-demand. This avoids that /dev/random is kept open all the time since program start, and works around incompatibilities with Netplex. (Thomas Calderon found the problem.) * GnuTLS: setting DH parameters on certificates (this was forgotten in previous releases). (Thomas Calderon found the problem.) * GnuTLS: supporting GnuTLS versions where SRP is disabled. Supporting GnuTLS-3.4. * OpenBSD build: fix linker option (Christopher Zimmermann) * Equeue: There is a new method request_proxy_notification, which is only used by Uq_engines.qseq_engine (but unfortunately needs to appear in the public type of the object). This new method permits that chains of Uq_engines.qseq_engine pairs can now be arbitrarily long without consuming too much memory and without the danger of getting stack overflows. This fixes issues where notification chains got too long. In particular, we saw a stack overflow when retrieving a video stream via HTTP. The stream was sent with many chunks, resulting in a long Uq_engines.qseq_engine chain. Implementers of engines can simply define request_proxy_notification as no-ops. * Nethttp.set_content_range: this function generated an incorrect header (the "bytes" word was missing). (Török Edwin) * _oasis is generated from _oasis.in * Netplex: the Netplex socket directory has a different default if not specified in the config file. * Netshm: the POSIX specifier has now two args * IPv6: automatically enabled if there is a global IPv6 address * Unicode tables: Moved them to a separate netunidata library. This library needs to be linked in for getting access to the tables (this is no longer the default). * Renamings: Http_client, Ftp_client etc. => Nethttp_client, Netftp_client Mimestring => Netmime_string Xdr => Netxdr * Netmime: moved functions to Netmime_header and Netmime_channels * Netmech_scram: Removed the check that passwords only consist of ASCII chars. The user can now call Netsaslprep.saslprep. * Removed: rpc-auth-dh, nethttpd-for-netcgi2 * Http_client: the authentication mechanisms are now encapsulated in a first-class module HTTP_MECHANISM. So far, there is Digest authentication in this form. The signature of HTTP_MECHANISM is similar to SASL_MECHANISM. Another visible change is that the insecure Basic authentication is no longer enabled for non-TLS-secured connections. This can be changed back by setting flags, though. Some fixes in the design improve Digest authentication for proxy connections. * Netpop: implementating SASL authentication for POP3. Moved Netpop into netclient. * Netsmtp: implementing SASL authentication for SMTP. Moved Netsmtp into netclient. * Adding a framework for SASL, and a number of mechanisms (PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM-SHA1). * fcgi/scgi/ajp connectors: exporting a handle_connection function, and unifying existing such functions (Christopher Zimmermann) * adding support for modular cryptography (symmetric ciphers and digests) * SCRAM is now implemented with the new crypto providers * removing dependency on Cryptokit * removed library netgssapi; now part of netsys/netstring * removed library netmech-scram; now part of netstring Ocamlnet-4 adds: - new library netgss-system - new library nettls-gnutls - removed equeue-ssl and rpc-ssl - X.500 modules Netasn1, Netdn, Netx509 - Crypto definitions Netsys_crypto_types, Netsys_crypto - TLS modules Netsys_tls, Nettls_support - Support for SASL and GSSAPI - Moved many functions from Uq_engines to new modules in the equeue library (Uq_client, Uq_server, Uq_multiplex, Uq_transfer)
2016-02-03 14:19:26 +01:00
CONFIGURE_ARGS+= -without-nethttpd -disable-tcl -disable-apache \
-enable-pcre -enable-zip
USE_TOOLS+= gmake
Update to 3.5.1, from Jaap Boender. 6 years of changes. 3.5.1 in particular has: it is time for another version of Ocamlnet. The new release 3.5 focuses on the system interface, and includes a long list of smaller improvements. The system interface, Netsys_posix, is extended by: - Support for POSIX clocks and POSIX timers (with nanosecond resolution) - Netsys_posix.spawn usses now the posix_spawn call if present on the OS - Adding support for pollable events (as e.g. provided by Linux via eventfd). For other OS an emulation is available. - Support for epoll on Linux Note that Netsys_posix covers now large parts of POSIX realtime. Other improvements: - The code generator for XDR has been improved. A new switch -direct for ocamlrpcgen can be used to generate direct mappings between OCaml values and binary representation (in many cases). Speedups up to 50% are possible for large XDR values. - The new module Uq_mt allows it to access an event-driven resource from several kernel threads (e.g. use an RPC client commonly from several threads). - The thread-safety of Netplex container functions has been improved. - Netmulticore condition variables can now be polled, for better integration into event-based programs. - Option greedy_accepts for Netplex to support servers that accept many connections per second. With this improvement, Netplex can now accept more than 5000 connections/s, and assign them to worker processes. Last but not least there is now a new tutorial for Equeue (event systems and engines). In particular, the section about combining Ocamlnet with Lwt might be interesting.
2012-07-06 11:29:14 +02:00
BUILD_TARGET= all
OCAML_USE_FINDLIB= yes
OCAML_FINDLIB_DIRS= \
equeue netcamlbox netcgi2-plex netcgi2 netclient netmulticore \
netplex netshm netstring-pcre netstring netsys netunidata \
netzip rpc-auth-local rpc-generator rpc
Update to 3.5.1, from Jaap Boender. 6 years of changes. 3.5.1 in particular has: it is time for another version of Ocamlnet. The new release 3.5 focuses on the system interface, and includes a long list of smaller improvements. The system interface, Netsys_posix, is extended by: - Support for POSIX clocks and POSIX timers (with nanosecond resolution) - Netsys_posix.spawn usses now the posix_spawn call if present on the OS - Adding support for pollable events (as e.g. provided by Linux via eventfd). For other OS an emulation is available. - Support for epoll on Linux Note that Netsys_posix covers now large parts of POSIX realtime. Other improvements: - The code generator for XDR has been improved. A new switch -direct for ocamlrpcgen can be used to generate direct mappings between OCaml values and binary representation (in many cases). Speedups up to 50% are possible for large XDR values. - The new module Uq_mt allows it to access an event-driven resource from several kernel threads (e.g. use an RPC client commonly from several threads). - The thread-safety of Netplex container functions has been improved. - Netmulticore condition variables can now be polled, for better integration into event-based programs. - Option greedy_accepts for Netplex to support servers that accept many connections per second. With this improvement, Netplex can now accept more than 5000 connections/s, and assign them to worker processes. Last but not least there is now a new tutorial for Equeue (event systems and engines). In particular, the section about combining Ocamlnet with Lwt might be interesting.
2012-07-06 11:29:14 +02:00
.include "../../mk/ocaml.mk"
.include "../../mk/bsd.prefs.mk"
Updated package to newest version, 4.0.4. Changes include: * GnuTLS: compatibility with GnuTLS-3.4.2 * Nethttpd_plex: the post_add_hook was not called by accident (since OCamlnet-4); this is now fixed. * Nethtml: new option case_sensitive * GnuTLS: initializing the library on-demand. This avoids that /dev/random is kept open all the time since program start, and works around incompatibilities with Netplex. (Thomas Calderon found the problem.) * GnuTLS: setting DH parameters on certificates (this was forgotten in previous releases). (Thomas Calderon found the problem.) * GnuTLS: supporting GnuTLS versions where SRP is disabled. Supporting GnuTLS-3.4. * OpenBSD build: fix linker option (Christopher Zimmermann) * Equeue: There is a new method request_proxy_notification, which is only used by Uq_engines.qseq_engine (but unfortunately needs to appear in the public type of the object). This new method permits that chains of Uq_engines.qseq_engine pairs can now be arbitrarily long without consuming too much memory and without the danger of getting stack overflows. This fixes issues where notification chains got too long. In particular, we saw a stack overflow when retrieving a video stream via HTTP. The stream was sent with many chunks, resulting in a long Uq_engines.qseq_engine chain. Implementers of engines can simply define request_proxy_notification as no-ops. * Nethttp.set_content_range: this function generated an incorrect header (the "bytes" word was missing). (Török Edwin) * _oasis is generated from _oasis.in * Netplex: the Netplex socket directory has a different default if not specified in the config file. * Netshm: the POSIX specifier has now two args * IPv6: automatically enabled if there is a global IPv6 address * Unicode tables: Moved them to a separate netunidata library. This library needs to be linked in for getting access to the tables (this is no longer the default). * Renamings: Http_client, Ftp_client etc. => Nethttp_client, Netftp_client Mimestring => Netmime_string Xdr => Netxdr * Netmime: moved functions to Netmime_header and Netmime_channels * Netmech_scram: Removed the check that passwords only consist of ASCII chars. The user can now call Netsaslprep.saslprep. * Removed: rpc-auth-dh, nethttpd-for-netcgi2 * Http_client: the authentication mechanisms are now encapsulated in a first-class module HTTP_MECHANISM. So far, there is Digest authentication in this form. The signature of HTTP_MECHANISM is similar to SASL_MECHANISM. Another visible change is that the insecure Basic authentication is no longer enabled for non-TLS-secured connections. This can be changed back by setting flags, though. Some fixes in the design improve Digest authentication for proxy connections. * Netpop: implementating SASL authentication for POP3. Moved Netpop into netclient. * Netsmtp: implementing SASL authentication for SMTP. Moved Netsmtp into netclient. * Adding a framework for SASL, and a number of mechanisms (PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM-SHA1). * fcgi/scgi/ajp connectors: exporting a handle_connection function, and unifying existing such functions (Christopher Zimmermann) * adding support for modular cryptography (symmetric ciphers and digests) * SCRAM is now implemented with the new crypto providers * removing dependency on Cryptokit * removed library netgssapi; now part of netsys/netstring * removed library netmech-scram; now part of netstring Ocamlnet-4 adds: - new library netgss-system - new library nettls-gnutls - removed equeue-ssl and rpc-ssl - X.500 modules Netasn1, Netdn, Netx509 - Crypto definitions Netsys_crypto_types, Netsys_crypto - TLS modules Netsys_tls, Nettls_support - Support for SASL and GSSAPI - Moved many functions from Uq_engines to new modules in the equeue library (Uq_client, Uq_server, Uq_multiplex, Uq_transfer)
2016-02-03 14:19:26 +01:00
PLIST_VARS+= xti
.if ${OCAML_USE_OPT_COMPILER} == "yes"
Update to 3.5.1, from Jaap Boender. 6 years of changes. 3.5.1 in particular has: it is time for another version of Ocamlnet. The new release 3.5 focuses on the system interface, and includes a long list of smaller improvements. The system interface, Netsys_posix, is extended by: - Support for POSIX clocks and POSIX timers (with nanosecond resolution) - Netsys_posix.spawn usses now the posix_spawn call if present on the OS - Adding support for pollable events (as e.g. provided by Linux via eventfd). For other OS an emulation is available. - Support for epoll on Linux Note that Netsys_posix covers now large parts of POSIX realtime. Other improvements: - The code generator for XDR has been improved. A new switch -direct for ocamlrpcgen can be used to generate direct mappings between OCaml values and binary representation (in many cases). Speedups up to 50% are possible for large XDR values. - The new module Uq_mt allows it to access an event-driven resource from several kernel threads (e.g. use an RPC client commonly from several threads). - The thread-safety of Netplex container functions has been improved. - Netmulticore condition variables can now be polled, for better integration into event-based programs. - Option greedy_accepts for Netplex to support servers that accept many connections per second. With this improvement, Netplex can now accept more than 5000 connections/s, and assign them to worker processes. Last but not least there is now a new tutorial for Equeue (event systems and engines). In particular, the section about combining Ocamlnet with Lwt might be interesting.
2012-07-06 11:29:14 +02:00
BUILD_TARGET+= opt
.endif
.if ${OPSYS} == "SunOS"
PLIST.xti= yes
OCAML_FINDLIB_DIRS+= rpc-xti
.endif
Update to 3.5.1, from Jaap Boender. 6 years of changes. 3.5.1 in particular has: it is time for another version of Ocamlnet. The new release 3.5 focuses on the system interface, and includes a long list of smaller improvements. The system interface, Netsys_posix, is extended by: - Support for POSIX clocks and POSIX timers (with nanosecond resolution) - Netsys_posix.spawn usses now the posix_spawn call if present on the OS - Adding support for pollable events (as e.g. provided by Linux via eventfd). For other OS an emulation is available. - Support for epoll on Linux Note that Netsys_posix covers now large parts of POSIX realtime. Other improvements: - The code generator for XDR has been improved. A new switch -direct for ocamlrpcgen can be used to generate direct mappings between OCaml values and binary representation (in many cases). Speedups up to 50% are possible for large XDR values. - The new module Uq_mt allows it to access an event-driven resource from several kernel threads (e.g. use an RPC client commonly from several threads). - The thread-safety of Netplex container functions has been improved. - Netmulticore condition variables can now be polled, for better integration into event-based programs. - Option greedy_accepts for Netplex to support servers that accept many connections per second. With this improvement, Netplex can now accept more than 5000 connections/s, and assign them to worker processes. Last but not least there is now a new tutorial for Equeue (event systems and engines). In particular, the section about combining Ocamlnet with Lwt might be interesting.
2012-07-06 11:29:14 +02:00
.include "options.mk"
Update to 3.5.1, from Jaap Boender. 6 years of changes. 3.5.1 in particular has: it is time for another version of Ocamlnet. The new release 3.5 focuses on the system interface, and includes a long list of smaller improvements. The system interface, Netsys_posix, is extended by: - Support for POSIX clocks and POSIX timers (with nanosecond resolution) - Netsys_posix.spawn usses now the posix_spawn call if present on the OS - Adding support for pollable events (as e.g. provided by Linux via eventfd). For other OS an emulation is available. - Support for epoll on Linux Note that Netsys_posix covers now large parts of POSIX realtime. Other improvements: - The code generator for XDR has been improved. A new switch -direct for ocamlrpcgen can be used to generate direct mappings between OCaml values and binary representation (in many cases). Speedups up to 50% are possible for large XDR values. - The new module Uq_mt allows it to access an event-driven resource from several kernel threads (e.g. use an RPC client commonly from several threads). - The thread-safety of Netplex container functions has been improved. - Netmulticore condition variables can now be polled, for better integration into event-based programs. - Option greedy_accepts for Netplex to support servers that accept many connections per second. With this improvement, Netplex can now accept more than 5000 connections/s, and assign them to worker processes. Last but not least there is now a new tutorial for Equeue (event systems and engines). In particular, the section about combining Ocamlnet with Lwt might be interesting.
2012-07-06 11:29:14 +02:00
.include "../../devel/pcre-ocaml/buildlink3.mk"
Updated package to newest version, 4.0.4. Changes include: * GnuTLS: compatibility with GnuTLS-3.4.2 * Nethttpd_plex: the post_add_hook was not called by accident (since OCamlnet-4); this is now fixed. * Nethtml: new option case_sensitive * GnuTLS: initializing the library on-demand. This avoids that /dev/random is kept open all the time since program start, and works around incompatibilities with Netplex. (Thomas Calderon found the problem.) * GnuTLS: setting DH parameters on certificates (this was forgotten in previous releases). (Thomas Calderon found the problem.) * GnuTLS: supporting GnuTLS versions where SRP is disabled. Supporting GnuTLS-3.4. * OpenBSD build: fix linker option (Christopher Zimmermann) * Equeue: There is a new method request_proxy_notification, which is only used by Uq_engines.qseq_engine (but unfortunately needs to appear in the public type of the object). This new method permits that chains of Uq_engines.qseq_engine pairs can now be arbitrarily long without consuming too much memory and without the danger of getting stack overflows. This fixes issues where notification chains got too long. In particular, we saw a stack overflow when retrieving a video stream via HTTP. The stream was sent with many chunks, resulting in a long Uq_engines.qseq_engine chain. Implementers of engines can simply define request_proxy_notification as no-ops. * Nethttp.set_content_range: this function generated an incorrect header (the "bytes" word was missing). (Török Edwin) * _oasis is generated from _oasis.in * Netplex: the Netplex socket directory has a different default if not specified in the config file. * Netshm: the POSIX specifier has now two args * IPv6: automatically enabled if there is a global IPv6 address * Unicode tables: Moved them to a separate netunidata library. This library needs to be linked in for getting access to the tables (this is no longer the default). * Renamings: Http_client, Ftp_client etc. => Nethttp_client, Netftp_client Mimestring => Netmime_string Xdr => Netxdr * Netmime: moved functions to Netmime_header and Netmime_channels * Netmech_scram: Removed the check that passwords only consist of ASCII chars. The user can now call Netsaslprep.saslprep. * Removed: rpc-auth-dh, nethttpd-for-netcgi2 * Http_client: the authentication mechanisms are now encapsulated in a first-class module HTTP_MECHANISM. So far, there is Digest authentication in this form. The signature of HTTP_MECHANISM is similar to SASL_MECHANISM. Another visible change is that the insecure Basic authentication is no longer enabled for non-TLS-secured connections. This can be changed back by setting flags, though. Some fixes in the design improve Digest authentication for proxy connections. * Netpop: implementating SASL authentication for POP3. Moved Netpop into netclient. * Netsmtp: implementing SASL authentication for SMTP. Moved Netsmtp into netclient. * Adding a framework for SASL, and a number of mechanisms (PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM-SHA1). * fcgi/scgi/ajp connectors: exporting a handle_connection function, and unifying existing such functions (Christopher Zimmermann) * adding support for modular cryptography (symmetric ciphers and digests) * SCRAM is now implemented with the new crypto providers * removing dependency on Cryptokit * removed library netgssapi; now part of netsys/netstring * removed library netmech-scram; now part of netstring Ocamlnet-4 adds: - new library netgss-system - new library nettls-gnutls - removed equeue-ssl and rpc-ssl - X.500 modules Netasn1, Netdn, Netx509 - Crypto definitions Netsys_crypto_types, Netsys_crypto - TLS modules Netsys_tls, Nettls_support - Support for SASL and GSSAPI - Moved many functions from Uq_engines to new modules in the equeue library (Uq_client, Uq_server, Uq_multiplex, Uq_transfer)
2016-02-03 14:19:26 +01:00
.include "../../archivers/ocaml-zip/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"