pkgsrc/devel/ocaml-lwt/Makefile

33 lines
1 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.43 2020/12/13 13:41:59 mef Exp $
#
Updated package to latest version, 3.1.0, which includes some infrastructure changes as well (packages for glib, react and ssl support have been split off). Upstream changes include: ===== 3.1.0 (2017-07-19) ===== ====== Additions ====== * Port to Jbuilder (#374, Andrew Ray). * Lwt_io.establish_server_with_client_address (#346, Rudi Grinberg). * Lwt_unix.getcwd (#403, Rapha?l Proust). ====== Planned to break in 4.0.0 ====== * Delete lwt.simple-top (#371). * Delete Lwt_chan (#441). ====== Fixes ====== * Make Lwt_log functions tail-recursive (#348, Jan Doms). * Make more of Lwt_list tail-recursive (#347, Jan Doms). * Improve string messages in exceptions (#368, #382, Jan Doms, Rapha?l Proust). * Don't call Unix.set_nonblock or Unix.clear_nonblock unnecessarily on some fds (#356, David Sheets). * Lwt_unix.sleep and Lwt_unix.timeout returning too early when using libev (#433, Stijn Devriendt). * Lwt_sequence.fold_r iterating the wrong way in some cases (#405, Stijn Devriendt). * Build conflicts in some cases due to duplicate cst_to_constr function (#362, J?r?mie Dimino). * Don't use deprecated readdir_r system call (#430, Rapha?l Proust). ====== Miscellaneous ====== * The Lwt core, lwt.ml, has been thoroughly refactored and commented (#354, reviewed Gabriel Radanne, Edwin T?r?k, Rapha?l Proust, Jan Doms, Fabian Hemmer, Sebastien Mondet, Simon Cruanes, Anil Madhavapeddy, Pierre Chambart, and many others). * Lots of tests for most of the Lwt core (#339, #389, #392, #440, #448, #450, Joseph Thomas, Ryan Slade). * Documentation fixes (including by Joseph Thomas, Rapha?l Proust, Richard Degenne, Stavros Polymenis). * Contributing documentation (#379). * Massively adjust whitespace for legibility (#400, #409, #416, Richard Degenne). * Improvements to CI (Etienne Millon, Raphael Rafatpanah, Zack Coker, Yotam Barnoy). * The additional packages lwt_ssl, lwt_react, lwt_glib get new minor releases, the change being new Jbuilder build systems (#374, Andrew Ray). ===== 3.0.0 (2017-04-10) ===== ====== Breaking ====== * These changes were originally announced in release 2.7.0 (#308). * Lwt_engine.libev now has an optional argument for selecting the libev back end (#269, #294, Jeremy Yallop). * Lwt_io.establish_server has been changed to make it more difficult to leak file descriptors (#258, #260). * Lwt_io.shutdown_server now evaluates to a promise, which completes when the listening socket's close(2) operation completes (#259). * Lwt_unix.bind now evaluates to a promise, because the bind(2) system call can block for Unix domain sockets (#296, requested David Sheets). * ocamlfind packages lwt.react, lwt.ssl, lwt.glib are replaced by lwt_react, lwt_ssl, lwt_glib. These have been separate OPAM packages, under those names, since 2.7.0 (#301).
2017-09-08 14:45:33 +02:00
.include "Makefile.common"
PKGNAME= ocaml-${DISTNAME}
CATEGORIES= devel
MAINTAINER= jaapb@NetBSD.org
HOMEPAGE= http://www.ocsigen.org/
COMMENT= Cooperative threading library for OCaml
OCAML_FINDLIB_DIRS= lwt stublibs
DUNE_BUILD_PACKAGES= lwt
2010-01-30 20:10:25 +01:00
CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS
MAKE_ENV+= LWT_DISCOVER_ARGUMENTS="--use-pthread true --use-libev true --verbose"
.include "../../mk/ocaml.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../devel/libev/buildlink3.mk"
Update package to version 2.7.1. Changes include: ===== 2.7.1 (2017-04-08) ===== ====== Fixes ====== * OCaml 4.05 compatibility (Mauricio Fernandez, #322). * Give Lwt_unix.file_exists the same semantics as Sys.file_exists, with respect to not raising Unix.Unix_error (Mauricio Fernandez, #316). * Improve diagnostics from build scripts (Tim Cuthbertson, #313, #314). ====== Additions ====== * Announce Lwt_result, which was originally released as an experimental module in release 2.6.0 (Simon Cruanes, #320, #247). ===== 2.7.0 (2017-01-03) ===== ====== General ====== * Values of types a Lwt.t are now referred to as promises rather than threads (#300). The manual has not yet been updated. ====== Breaking ====== * After this release, Lwt will switch to semantic versioning. Future breaking changes will first require deprecation, then a major version number increase (#293). * Lwt no longer supports OCaml 4.01 (#272). * Lwt_unix.fdatasync is no longer available on macOS. It was calling an undocumented system call on that system (#285, Jeremy Yallop). ====== Planned to break in 3.0.0 ====== * APIs in this category have deprecation messages attached. The messages will be displayed if you recompile your code, and can also be seen in #308. * Lwt_engine.libev will have an argument for selecting the libev back end (#269, #294, Jeremy Yallop). * Lwt_io.establish_server will be replaced by a version that makes it difficult to leak file descriptors (#258, #260). * Lwt_io.shutdown_server will evaluate to a promise, which indicates when the close operation completes (#259). * Lwt_unix.bind will evaluate to a promise, since bind can block for Unix domain sockets (#296, requested David Sheets). * ocamlfind packages lwt.react, lwt.ssl, and lwt.glib will be replaced by the new lwt_react, lwt_ssl, and lwt_glib. These are now distributed in new OPAM packages with the same names, separately from OPAM package lwt (#301). ====== Additions ====== * Lwt_unix.readv and Lwt_unix.writev - zero-copy scatter/gather I/O (#291, #299). * ?fail_on_error argument for Lwt_log.load_rules (#306, Daniil Baturin). * Lwt_log.level_of_string (#306, Daniil Baturin). ====== Changes ====== * Lwt_stream.of_list, Lwt_stream.of_array, Lwt_stream.of_string now immediately push all elements into the created streams (#239, Spiros Eliopoulos). ====== Deprecations ====== * Lwt_stream.map_exn in favor of Lwt_stream.wrap_exn, which uses OCaml's standard result type (#295). ====== Bugs fixed ====== * Ungraceful failure if directory handle used after Lwt_unix.closedir (#292). * Buffer overflow in Lwt_unix.readdir and Lwt_unix.readdir_n (#292). * Unnecessary allocations in Lwt_unix.readdir_n (#292, found Jeremly Yallop). ====== Miscellaneous ====== * Annotate existing deprecations with [@@ocaml.deprecated ...] (5737f5b). * Improvements to the examples (#288, Rich Neswold). * Documentation fixes, including by Rich Neswold. * New tests and various minor internal improvements. * Run tests in CI with all OCaml warnings enabled (dadb926). * Much cleaner build output. * Add scratch/ directory for local use by developers. ===== 2.6.0 (2016-10-27) ===== ====== Additions ====== * Lwt_stream.closed and Lwt_stream.is_closed (#223, Spiros Eliopoulos). * Lwt_switch.with_switch (#256, Thomas Leonard). * Define 'a Lwt.result as ('a, exn) result (#247, Simon Cruanes). * Lwt_condition.broadcast_exn (#241, Nicolas Ojeda Bar). * Lwt_unix.utimes (#193). ====== Bugfixes ====== * Memory leak in Lwt_unix.readdir_n (#229, diagnosed Thomas Leonard). * Memory leak in Lwt.protected (#56, #181, reported @ygrek, Mauricio Fernandez). * Lwt_switch.turn_off hook exception handling (995b704). * Handling of ENOTCONN when channels passed to handler of Lwt_io.establish_server are closed (95fb431). * Duplicate exceptions on implicit close in Lwt_io.with_connection (b1afe45). * Deadlock in Lwt_main.at_exit (#48, #114, reported Jérôme Vouillon, Vincent Bernardoff). * Performance of Lwt_preemptive.detach (#218, #219, Mauricio Fernandez). * Bad hash functions for libev loops (#146, reported Mark Christiaens). * Hash of uninitialized data in Lwt_io (#217, reported Jeremy Yallop). * Update log sections after Lwt_log.load_rules (#188, reported @rand00). * Print three digits for milliseconds in Lwt_log (#264, Fabian Hemmer). * Do not truncate Unix job notification ids in C (#277, diagnosed @stijn-devriendt). ====== Deprecations ====== * Lwt_stream.on_termination: bind on Lwt_stream.closed instead. * Lwt.make_value, Lwt.make_error: use result's Ok and Error constructors. * Lwt_pqueue, Lwt_sequence: use min-heaps and linked lists from another library (#135). * Pa_lwt, Pa_lwt_log: use Ppx_lwt. ====== Miscellaneous ====== * Update examples to use PPX syntax instead of Camlp4 (#108, Peter Zotov). * Set up Travis, AppVeyor for testing on Linux, OS X, Cygwin, and MinGW. MSVC also planned. * Large amount of local documentation fixes (Hezekiah Carty, Etienne Millon, Leo Wzukw, Sebastien Mondet, reports by others). * A bunch of new tests.
2017-07-11 13:06:54 +02:00
.include "../../devel/ocaml-cppo/buildlink3.mk"
.include "../../devel/ocaml-dune-configurator/buildlink3.mk"
Update package to version 2.7.1. Changes include: ===== 2.7.1 (2017-04-08) ===== ====== Fixes ====== * OCaml 4.05 compatibility (Mauricio Fernandez, #322). * Give Lwt_unix.file_exists the same semantics as Sys.file_exists, with respect to not raising Unix.Unix_error (Mauricio Fernandez, #316). * Improve diagnostics from build scripts (Tim Cuthbertson, #313, #314). ====== Additions ====== * Announce Lwt_result, which was originally released as an experimental module in release 2.6.0 (Simon Cruanes, #320, #247). ===== 2.7.0 (2017-01-03) ===== ====== General ====== * Values of types a Lwt.t are now referred to as promises rather than threads (#300). The manual has not yet been updated. ====== Breaking ====== * After this release, Lwt will switch to semantic versioning. Future breaking changes will first require deprecation, then a major version number increase (#293). * Lwt no longer supports OCaml 4.01 (#272). * Lwt_unix.fdatasync is no longer available on macOS. It was calling an undocumented system call on that system (#285, Jeremy Yallop). ====== Planned to break in 3.0.0 ====== * APIs in this category have deprecation messages attached. The messages will be displayed if you recompile your code, and can also be seen in #308. * Lwt_engine.libev will have an argument for selecting the libev back end (#269, #294, Jeremy Yallop). * Lwt_io.establish_server will be replaced by a version that makes it difficult to leak file descriptors (#258, #260). * Lwt_io.shutdown_server will evaluate to a promise, which indicates when the close operation completes (#259). * Lwt_unix.bind will evaluate to a promise, since bind can block for Unix domain sockets (#296, requested David Sheets). * ocamlfind packages lwt.react, lwt.ssl, and lwt.glib will be replaced by the new lwt_react, lwt_ssl, and lwt_glib. These are now distributed in new OPAM packages with the same names, separately from OPAM package lwt (#301). ====== Additions ====== * Lwt_unix.readv and Lwt_unix.writev - zero-copy scatter/gather I/O (#291, #299). * ?fail_on_error argument for Lwt_log.load_rules (#306, Daniil Baturin). * Lwt_log.level_of_string (#306, Daniil Baturin). ====== Changes ====== * Lwt_stream.of_list, Lwt_stream.of_array, Lwt_stream.of_string now immediately push all elements into the created streams (#239, Spiros Eliopoulos). ====== Deprecations ====== * Lwt_stream.map_exn in favor of Lwt_stream.wrap_exn, which uses OCaml's standard result type (#295). ====== Bugs fixed ====== * Ungraceful failure if directory handle used after Lwt_unix.closedir (#292). * Buffer overflow in Lwt_unix.readdir and Lwt_unix.readdir_n (#292). * Unnecessary allocations in Lwt_unix.readdir_n (#292, found Jeremly Yallop). ====== Miscellaneous ====== * Annotate existing deprecations with [@@ocaml.deprecated ...] (5737f5b). * Improvements to the examples (#288, Rich Neswold). * Documentation fixes, including by Rich Neswold. * New tests and various minor internal improvements. * Run tests in CI with all OCaml warnings enabled (dadb926). * Much cleaner build output. * Add scratch/ directory for local use by developers. ===== 2.6.0 (2016-10-27) ===== ====== Additions ====== * Lwt_stream.closed and Lwt_stream.is_closed (#223, Spiros Eliopoulos). * Lwt_switch.with_switch (#256, Thomas Leonard). * Define 'a Lwt.result as ('a, exn) result (#247, Simon Cruanes). * Lwt_condition.broadcast_exn (#241, Nicolas Ojeda Bar). * Lwt_unix.utimes (#193). ====== Bugfixes ====== * Memory leak in Lwt_unix.readdir_n (#229, diagnosed Thomas Leonard). * Memory leak in Lwt.protected (#56, #181, reported @ygrek, Mauricio Fernandez). * Lwt_switch.turn_off hook exception handling (995b704). * Handling of ENOTCONN when channels passed to handler of Lwt_io.establish_server are closed (95fb431). * Duplicate exceptions on implicit close in Lwt_io.with_connection (b1afe45). * Deadlock in Lwt_main.at_exit (#48, #114, reported Jérôme Vouillon, Vincent Bernardoff). * Performance of Lwt_preemptive.detach (#218, #219, Mauricio Fernandez). * Bad hash functions for libev loops (#146, reported Mark Christiaens). * Hash of uninitialized data in Lwt_io (#217, reported Jeremy Yallop). * Update log sections after Lwt_log.load_rules (#188, reported @rand00). * Print three digits for milliseconds in Lwt_log (#264, Fabian Hemmer). * Do not truncate Unix job notification ids in C (#277, diagnosed @stijn-devriendt). ====== Deprecations ====== * Lwt_stream.on_termination: bind on Lwt_stream.closed instead. * Lwt.make_value, Lwt.make_error: use result's Ok and Error constructors. * Lwt_pqueue, Lwt_sequence: use min-heaps and linked lists from another library (#135). * Pa_lwt, Pa_lwt_log: use Ppx_lwt. ====== Miscellaneous ====== * Update examples to use PPX syntax instead of Camlp4 (#108, Peter Zotov). * Set up Travis, AppVeyor for testing on Linux, OS X, Cygwin, and MinGW. MSVC also planned. * Large amount of local documentation fixes (Hezekiah Carty, Etienne Millon, Leo Wzukw, Sebastien Mondet, reports by others). * A bunch of new tests.
2017-07-11 13:06:54 +02:00
.include "../../devel/ocaml-findlib/buildlink3.mk"
Updated package to latest version, 3.1.0, which includes some infrastructure changes as well (packages for glib, react and ssl support have been split off). Upstream changes include: ===== 3.1.0 (2017-07-19) ===== ====== Additions ====== * Port to Jbuilder (#374, Andrew Ray). * Lwt_io.establish_server_with_client_address (#346, Rudi Grinberg). * Lwt_unix.getcwd (#403, Rapha?l Proust). ====== Planned to break in 4.0.0 ====== * Delete lwt.simple-top (#371). * Delete Lwt_chan (#441). ====== Fixes ====== * Make Lwt_log functions tail-recursive (#348, Jan Doms). * Make more of Lwt_list tail-recursive (#347, Jan Doms). * Improve string messages in exceptions (#368, #382, Jan Doms, Rapha?l Proust). * Don't call Unix.set_nonblock or Unix.clear_nonblock unnecessarily on some fds (#356, David Sheets). * Lwt_unix.sleep and Lwt_unix.timeout returning too early when using libev (#433, Stijn Devriendt). * Lwt_sequence.fold_r iterating the wrong way in some cases (#405, Stijn Devriendt). * Build conflicts in some cases due to duplicate cst_to_constr function (#362, J?r?mie Dimino). * Don't use deprecated readdir_r system call (#430, Rapha?l Proust). ====== Miscellaneous ====== * The Lwt core, lwt.ml, has been thoroughly refactored and commented (#354, reviewed Gabriel Radanne, Edwin T?r?k, Rapha?l Proust, Jan Doms, Fabian Hemmer, Sebastien Mondet, Simon Cruanes, Anil Madhavapeddy, Pierre Chambart, and many others). * Lots of tests for most of the Lwt core (#339, #389, #392, #440, #448, #450, Joseph Thomas, Ryan Slade). * Documentation fixes (including by Joseph Thomas, Rapha?l Proust, Richard Degenne, Stavros Polymenis). * Contributing documentation (#379). * Massively adjust whitespace for legibility (#400, #409, #416, Richard Degenne). * Improvements to CI (Etienne Millon, Raphael Rafatpanah, Zack Coker, Yotam Barnoy). * The additional packages lwt_ssl, lwt_react, lwt_glib get new minor releases, the change being new Jbuilder build systems (#374, Andrew Ray). ===== 3.0.0 (2017-04-10) ===== ====== Breaking ====== * These changes were originally announced in release 2.7.0 (#308). * Lwt_engine.libev now has an optional argument for selecting the libev back end (#269, #294, Jeremy Yallop). * Lwt_io.establish_server has been changed to make it more difficult to leak file descriptors (#258, #260). * Lwt_io.shutdown_server now evaluates to a promise, which completes when the listening socket's close(2) operation completes (#259). * Lwt_unix.bind now evaluates to a promise, because the bind(2) system call can block for Unix domain sockets (#296, requested David Sheets). * ocamlfind packages lwt.react, lwt.ssl, lwt.glib are replaced by lwt_react, lwt_ssl, lwt_glib. These have been separate OPAM packages, under those names, since 2.7.0 (#301).
2017-09-08 14:45:33 +02:00
.include "../../devel/ocaml-migrate-parsetree/buildlink3.mk"
.include "../../devel/ocaml-mmap/buildlink3.mk"
.include "../../devel/ocaml-ocplib-endian/buildlink3.mk"
Updated package to latest version, 3.1.0, which includes some infrastructure changes as well (packages for glib, react and ssl support have been split off). Upstream changes include: ===== 3.1.0 (2017-07-19) ===== ====== Additions ====== * Port to Jbuilder (#374, Andrew Ray). * Lwt_io.establish_server_with_client_address (#346, Rudi Grinberg). * Lwt_unix.getcwd (#403, Rapha?l Proust). ====== Planned to break in 4.0.0 ====== * Delete lwt.simple-top (#371). * Delete Lwt_chan (#441). ====== Fixes ====== * Make Lwt_log functions tail-recursive (#348, Jan Doms). * Make more of Lwt_list tail-recursive (#347, Jan Doms). * Improve string messages in exceptions (#368, #382, Jan Doms, Rapha?l Proust). * Don't call Unix.set_nonblock or Unix.clear_nonblock unnecessarily on some fds (#356, David Sheets). * Lwt_unix.sleep and Lwt_unix.timeout returning too early when using libev (#433, Stijn Devriendt). * Lwt_sequence.fold_r iterating the wrong way in some cases (#405, Stijn Devriendt). * Build conflicts in some cases due to duplicate cst_to_constr function (#362, J?r?mie Dimino). * Don't use deprecated readdir_r system call (#430, Rapha?l Proust). ====== Miscellaneous ====== * The Lwt core, lwt.ml, has been thoroughly refactored and commented (#354, reviewed Gabriel Radanne, Edwin T?r?k, Rapha?l Proust, Jan Doms, Fabian Hemmer, Sebastien Mondet, Simon Cruanes, Anil Madhavapeddy, Pierre Chambart, and many others). * Lots of tests for most of the Lwt core (#339, #389, #392, #440, #448, #450, Joseph Thomas, Ryan Slade). * Documentation fixes (including by Joseph Thomas, Rapha?l Proust, Richard Degenne, Stavros Polymenis). * Contributing documentation (#379). * Massively adjust whitespace for legibility (#400, #409, #416, Richard Degenne). * Improvements to CI (Etienne Millon, Raphael Rafatpanah, Zack Coker, Yotam Barnoy). * The additional packages lwt_ssl, lwt_react, lwt_glib get new minor releases, the change being new Jbuilder build systems (#374, Andrew Ray). ===== 3.0.0 (2017-04-10) ===== ====== Breaking ====== * These changes were originally announced in release 2.7.0 (#308). * Lwt_engine.libev now has an optional argument for selecting the libev back end (#269, #294, Jeremy Yallop). * Lwt_io.establish_server has been changed to make it more difficult to leak file descriptors (#258, #260). * Lwt_io.shutdown_server now evaluates to a promise, which completes when the listening socket's close(2) operation completes (#259). * Lwt_unix.bind now evaluates to a promise, because the bind(2) system call can block for Unix domain sockets (#296, requested David Sheets). * ocamlfind packages lwt.react, lwt.ssl, lwt.glib are replaced by lwt_react, lwt_ssl, lwt_glib. These have been separate OPAM packages, under those names, since 2.7.0 (#301).
2017-09-08 14:45:33 +02:00
.include "../../devel/ocaml-ppx_tools_versioned/buildlink3.mk"
.include "../../devel/ocaml-result/buildlink3.mk"
.include "../../devel/ocaml-seq/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"