Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ocaml-variants.5.1.1+flambda2 #26471

Merged
merged 26 commits into from
Sep 5, 2024
Merged

Add ocaml-variants.5.1.1+flambda2 #26471

merged 26 commits into from
Sep 5, 2024

Conversation

dkalinichenko-js
Copy link
Contributor

This updates #25928. Now there are two new packages: ocaml-variants.5.1.1+flambda2 refers to the compiler version used (and updated) with https://github.com/janestreet/opam-repository/tree/with-extensions, while ocaml-variants.5.1.1+flambda2+trunk refers to our main branch.

@dkalinichenko-js dkalinichenko-js marked this pull request as draft September 3, 2024 16:07
@avsm
Copy link
Member

avsm commented Sep 3, 2024

Thanks @dkalinichenko-js! Just one comment: might you be able to move the META file from this package into the git repository for your fork? We're trying not to hold patch files in the opam-repo to keep it lighter weight. You can add a shell script entry to install it from the source code into the compiler libs directory.

@avsm avsm requested review from dra27 and avsm September 3, 2024 18:01
@dkalinichenko-js
Copy link
Contributor Author

Done.

avsm and others added 25 commits September 5, 2024 09:07
This introduces the flambda2 in-development variant, along with
the various base packages required to compile it. These are secondary
packages for dune/menhir (required to bootstrap the development version
of the forked compiler), and also a new base-flambda2 package to

The only variation to package selection should be that the new
ocaml-secondary-compiler could be selected by existing ocamlfind-secondary
packages, but it should be fine as it is just a newer version of
the bootstrap OCaml used to build the ocamlfind binaries.
menhir-secondary must be constrained (check in the build) but Dune
should always remain upgradable.
CHANGES:

* improve documentation (robur-coop/builder#37 et al, fixes robur-coop/builder#27)
* adapt to asn1-combinators 0.3.0 API: remove cstruct (robur-coop/builder#49 @hannesm)
* queue up observe messages (robur-coop/builder#48 @reynir)
* use "/job/_/build/_/main-binary" alias - eases bootstrapping (robur-coop/builder#42 @reynir)
* drop platform: advice to shutdown workers (robur-coop/builder#39 @reynir)
* FreeBSD: add builder_worker service script (robur-coop/builder#37 @hannesm)
* client: enumerate valid periods in `--help` (robur-coop/builder#36 @reynir)
* add an interval of "never" to never schedule a job (robur-coop/builder#34 @hannesm, fixes robur-coop/builder#32)
* client: observe omit the UUID (robur-coop/builder#33 @hannesm)
CHANGES:

- Fix the way to decode an empty user in commits (@dinosaure, mirage/ocaml-git#645 -
  reported by @kopecs mirage/ocaml-git#639)
- Update to TLS 1.0.0 and mirage-crypto 1.0.0 API (@hannesm, mirage/ocaml-git#646)
CHANGES:

- Major additions, changes, bug fixes, improvements, and restructuring
  (@polytypic, @c-cube)

  - Additions:

    - Minimalistic Cohttp implementation
    - Implicitly propagated `Flock` of fibers for structured concurrency
    - Option to terminate `Bundle` and `Flock` on return
    - `Event` abstraction
    - Synchronization and communication primitives:
      - Incremental variable or `Ivar`
      - Countdown `Latch`
      - `Semaphore`
      - `Stream` of events
    - Multi-producer, multi-consumer lock-free queue optimized for schedulers
    - Multithreaded (work-stealing) FIFO scheduler
    - Support `quota` for FIFO based schedulers
    - Transactional interface for atomically completing multiple `Computation`s

  - Changes:

    - Redesigned resource management based on `('r -> 'a) -> 'a` functions
    - Redesigned `spawn` interface allowing `FLS` entries to be populated before
      spawn
    - Introduced concept of fatal errors, which must terminate the scheduler or
      the whole program
    - Simplified `FLS` interface

  - Improvements:

    - Signficantly reduced per fiber memory usage of various sample schedulers

  - Picos has now been split into multiple packages and libraries:

    - pkg: `picos`
      - lib: `picos`
      - lib: `picos.domain`
      - lib: `picos.thread`
    - pkg: `picos_aux`
      - lib: `picos_aux.htbl`
      - lib: `picos_aux.mpmcq`
      - lib: `picos_aux.mpscq`
      - lib: `picos_aux.rc`
    - pkg: `picos_lwt`
      - lib: `picos_lwt`
      - lib: `picos_lwt.unix`
    - pkg: `picos_meta` (integration tests)
    - pkg: `picos_mux`
      - lib: `picos_mux.fifo`
      - lib: `picos_mux.multififo`
      - lib: `picos_mux.random`
      - lib: `picos_mux.thread`
    - pkg: `picos_std`
      - lib: `picos_std.event`
      - lib: `picos_std.finally`
      - lib: `picos_std.structured`
      - lib: `picos_std.sync`
    - pkg: `picos_io`
      - lib: `picos_io`
      - lib: `picos_io.fd`
      - lib: `picos_io.select`
    - pkg: `picos_io_cohttp`
      - lib: `picos_io_cohttp`
CHANGES:

* tls-lwt: `read` now has an optional `?off:int` argument (mirleft/ocaml-tls#510 @hannesm)
* Use the kdf package instead of hkdf (mirleft/ocaml-tls#509 @hannesm)
This is just for simplicity, since we could also introduce a
ocamlfind-secondary dependency here, but this package really will
not be used much on such old base compilers.
@avsm avsm marked this pull request as ready for review September 5, 2024 12:18
Copy link
Member

@avsm avsm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on macos/linux , some lint fixes pushed, out of band approval from @dra27 (and added his fixes)

@avsm avsm merged commit e90d009 into ocaml:master Sep 5, 2024
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants