Commit Graph

2337 Commits

Author SHA1 Message Date
Vincent Laporte 1c6935fbe4 ocamlPackages.postgresql: 4.6.3 → 5.0.0 2021-04-14 22:39:03 +02:00
Vincent Laporte 7db1853f5c ocamlPackages.rpclib: 8.0.0 → 8.1.0 2021-04-12 21:37:58 +02:00
Vincent Laporte f01a04abd4
ocamlPackages.jsonrpc: 1.4.1 → 1.5.0 2021-04-12 08:22:24 +02:00
sterni 2140791f9b
ocamlPackages.janeStreet{,_0_9_0}: join the ocamlPackages fix point, allowing overriding to work as expected (#113696)
* ocamlPackages.janeStreet_0_9_0: join the ocamlPackages fix point

Internal dependencies in the janeStreet sets were always taken from the
own rec attribute set. While this is pretty simple and convenient, it
has the disadvantage that it doesn't play nice with overriding: If you'd
override an attribute in a janeStreet set previously, it would be
changed when referenced directly, but the other packages in that
janeStreet set still would use the original, non-overridden version of
the derivation.

This is easily fixed by passing janeStreet_0_9_0 itself from the fix
point of ocamlPackages and using it to reference the dependencies.

Example showing it now works as expected:

test-overlay.nix:

    self: super: {
      ocamlPackages = super.ocamlPackages.overrideScope (old: _: {
        janeStreet_0_9_0 = old.janeStreet_0_9_0 // {
          base = old.janeStreet_0_9_0.base.overrideAttrs (_: {
            meta.broken = true;
          });
        };
      });
    }

nix-repl> (import ./. {
  overlays = [ (import ./test-overlay.nix) ];
}).ocamlPackages.janeStreet_0_9_0.stdio

error: Package ‘ocaml4.10.0-base-0.9.4’ in /home/lukas/src/nix/nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage.nix:6 is marked as broken, refusing to evaluate.

a) To temporarily allow broken packages, you can use an environment variable
   for a single invocation of the nix tools.

     $ export NIXPKGS_ALLOW_BROKEN=1

b) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

* ocamlPackages.janeStreet: take part in fixpoint for OCaml >= 4.08

This change makes overrides to the janeStreet set work as expected by
making the janeStreet set take part in the ocamlPackages fixpoint for
janeStreet 0.14, i. e. OCaml >= 4.08

* ocamlPackages.janeStreet: take part in fixpoint for OCaml == 4.07

This change makes overrides to the janeStreet set work as expected by
making the janeStreet set take part in the ocamlPackages fixpoint for
janeStreet 0.12, i. e. OCaml == 4.07

* ocamlPackages.janeStreet: take part in fixpoint for OCaml < 4.07

This change makes overrides to the janeStreet set work as expected by
making the janeStreet set take part in the ocamlPackages fixpoint for
janeStreet 0.11, i. e. OCaml < 4.07

* ocamlPackages.janeStreet: remove self - super distinction

Previously, we inherited non-janestreet ocaml dependencies from super
and janestreet dependencies from self which always was super.janeStreet.

This behavior is however not really what we want due to liftJaneStreet:
Users and other packages will use ocamlPackages.base etc. instead of
ocamlPackages.janeStreet.base and the like. Consequently they also would
override the top-level attributes which would mean that other janestreet
packages would not pick up on it however.

As a consequence however, overriding ocamlPackages.janeStreet.base
doesn't work. Since this was never possible, I don't think this is an
issue. It is probably a good idea to deprecate that set anyways and
printing a warning when it is used via trace.

janeStreet_0_9_0 is unchanged as the disticniton between self and super
makes sense for it.

Below is an example showing how overriding would work from an user's
perspective:

test-overlay.nix:

    self: super: {
      ocamlPackages = super.ocamlPackages.overrideScope (old: _: {
        base = old.base.overrideAttrs (_: {
          meta.broken = true;
        });
      });
    }

nix-repl> (import ./. { overlays = [ (import ./test-overlay.nix) ]; }).ocamlPackages.
stdio
error: Package ‘ocaml4.10.0-base-0.14.0’ in /home/lukas/src/nix/nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix:12 is marked as broken, refusing to evaluate.

a) To temporarily allow broken packages, you can use an environment variable
   for a single invocation of the nix tools.

     $ export NIXPKGS_ALLOW_BROKEN=1

b) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.
2021-04-11 12:26:10 +02:00
Vincent Laporte 0062afc050 ocamlPackages.printbox: 0.4 → 0.5 2021-04-11 10:10:38 +02:00
sternenseemann f0ceaf880e ocamlPackages.mirage-crypto*: 0.9.1 -> 0.9.2
https://github.com/mirage/mirage-crypto/releases/tag/v0.9.2
2021-04-09 14:23:12 +02:00
sternenseemann 4462a1f678 ocamlPackages.irmin*: 2.5.1 -> 2.5.2
https://github.com/mirage/irmin/releases/tag/2.5.2
2021-04-09 07:57:04 +02:00
Vincent Laporte cf42b2eb0f
ocamlPackages.sqlite3: use Dune 2 2021-04-07 21:27:13 +02:00
Vincent Laporte cc6d25b0d3 ocamlPackages.merlin-extend: use Dune 2 2021-04-07 20:34:26 +02:00
Vincent Laporte 55ddc94d92 ocamlPackages.ocamlnet: 4.1.8 → 4.1.9 2021-04-07 20:32:28 +02:00
Vincent Laporte c86f67bfb9 ocamlPackages.minisat: 0.2 → 0.3 2021-04-06 08:43:38 +02:00
Vincent Laporte 026b9db487
ocamlPackages.opti: use Dune 2 2021-04-05 17:19:44 +02:00
Vincent Laporte 938741a71b
ocamlPackages.parmap: use Dune 2 2021-04-05 16:50:15 +02:00
Vincent Laporte 3eb054abd8
ocamlPackages.gnuplot: use Dune 2 2021-04-05 15:14:40 +02:00
sternenseemann 83eb1fe06d ocamlPackages.pbkdf: init at 1.1.0
Necessary for the upcoming x509 0.12.0 release.
2021-04-05 15:09:05 +02:00
sternenseemann 60fa97197d ocamlPackages.mirage-crypto: 0.9.0 -> 0.9.1 2021-04-05 14:59:36 +02:00
sternenseemann 4350ede15e ocamlPackages.mimic: 0.0.1 -> 0.0.2
https://github.com/mirage/ocaml-git/releases/tag/mimic-v0.0.2
2021-04-05 14:27:57 +02:00
sternenseemann 2f368c2060 ocamlPackages.decompress-1-2: remove at 1.2.0
With imagelib updated there remains no user of this in nixpkgs.
2021-04-02 15:03:44 +02:00
sternenseemann a6425a6008 ocamlPackages.imagelib: 20200929 -> 20210402
Allows us to get rid of decompress 1.2.0:

https://github.com/rlepigre/ocaml-imagelib/releases/tag/20210402
2021-04-02 15:03:44 +02:00
Vincent Laporte 170bad5b0a
ocamlPackages.gsl: use Dune 2 2021-04-02 14:12:12 +02:00
Vincent Laporte 9ac5c7df17 ocamlPackages.gettext-camomile: init at 0.4.2 2021-04-02 09:13:44 +02:00
Vincent Laporte ef0e64ec60
ocamlPackages.sosa: remove spurious dependency on nonstd 2021-04-02 09:01:22 +02:00
sternenseemann 77ffcfa47a ocamlPackages.mirage-crypto*: 0.8.10 -> 0.9.0
ocamlPackages.mirage-crypto: allow compiling with ocaml-freestanding

ocamlPackages.mirage-crypto-ec: init at 0.9.0

https://github.com/mirage/mirage-crypto/releases/tag/v0.9.0
2021-04-01 22:14:30 +02:00
sternenseemann 83820fe6db ocamlPackages.mirage-clock-freestanding: init at 3.1.0 2021-04-01 16:10:15 +02:00
Vincent Laporte 94837b564d
ocamlPackages.crowbar: use Dune 2 2021-04-01 09:37:32 +02:00
Vincent Laporte 595363a38f
ocamlPackages.dtoa: use Dune 2 2021-04-01 09:08:13 +02:00
Vincent Laporte dc68bad367
ocamlPackages.cpu: use Dune 2 2021-04-01 08:49:17 +02:00
Vincent Laporte 6373ef78c6
ocamlPackages.parany: use Dune 2 2021-04-01 08:46:19 +02:00
Vincent Laporte 086ae4a06d ocamlPackages.bigstring: 0.2 → 0.3 2021-04-01 08:33:08 +02:00
Vincent Laporte d99c24d00a ocamlPackages.hidapi: use Dune 2 2021-04-01 08:33:08 +02:00
sternenseemann 7c9de65429 ocamlPackages.tcpip: 6.0.0 -> 6.1.0
https://github.com/mirage/mirage-tcpip/releases/tag/v6.1.0
2021-03-30 08:57:29 +02:00
sternenseemann 3ec81e0849 ocaml-freestanding: propagate solo5
solo5's bindings and ocaml-freestanding are both statically linked and
thus packages depending on ocaml-freestanding need the solo5 bindings as
well.
2021-03-30 08:57:29 +02:00
Vincent Laporte 1b21d00de8
ocamlPackages.spacetime_lib: use Dune 2 2021-03-30 08:32:05 +02:00
Vincent Laporte 25a75128d3
ocamlPackages.spelll: use Dune 2 2021-03-29 22:05:45 +02:00
Vincent Laporte 768bbabf0c
ocamlPackages.cpuid: use Dune 2 2021-03-28 22:29:40 +02:00
Vincent Laporte 43846a5834
ocamlPackages.wtf8: use Dune 2 2021-03-28 22:05:32 +02:00
Vincent Laporte cf86741d99
ocamlPackages.ocaml-version: use Dune 2 2021-03-28 17:47:05 +02:00
sternenseemann b2eb2c8b4f Revert "ocamlPackages.tcpip: 6.0.0 -> 6.1.0"
This reverts commit 988f5a5910.

The release process for many OCaml packages and in extension mirage
related packages usually entails creating a release in the respective
own repository so a release tarball becomes available and then opening a
PR against ocaml/opam-repository to finalize the release. During this
new issues can be discovered which push the release back.

This happened for mirage-tcpip 6.1.0 several times:
https://github.com/ocaml/opam-repository/pull/18357
Prompting in total 3 different 6.1.0 releases with different hashes
respectively (the hash for ocamlPackages.tcpip.src shouldn't be
reproducible anymore, but we probably have cached the tarball already).
Ultimately the PR to opam-repository was closed to investigate some
failures on opam-repository's CI and the release postponed:
https://github.com/ocaml/opam-repository/pull/18357#issuecomment-808434285

I jumped the gun with the release and updated tcpip in nixpkgs before
tcpip was “properly” released in opam. I usually watch the github
repository of package I maintain for releases and can react pretty
quickly to a release as a result. Most of the time I also check
opam-repository's PRs nowadays for extra context or information, but
when everything seems fine and tests succeed I deem the update alright
to PR to nixpkgs. Being faster than opam was achievable in these cases
and actually seems kind of tantalizing.

In the light of this experience however, we should wait for the opam
PR getting merged at least for some packages that exhibit this behavior
of rereleasing the same version number multiple times to get the release
just right (afaik the 6.1.0 tag pointed to three different revisions for
tcpip). To me this is questionable upstream behavior we just have to deal
with in some way.
2021-03-27 14:33:49 +01:00
sternenseemann 13a8519b4b ocamlPackages.ocaml-freestanding: init at 0.6.4
Contains vendored in patches from https://github.com/mirage/ocaml-freestanding/pull/93
to make building within nixpkgs simpler. These serve as a makeshift
solution until ocaml-freestanding is released with its overhauled dune
based build system which will also support cross compiling. Upstream has
indicated that they are interested in making it work well with nix as
well.
2021-03-26 12:24:42 +01:00
sternenseemann cf83099225 ocamlPackages.js_of_ocaml: 3.8.0 -> 3.9.1
Apply patch from eliom's master to fix build with the new js_of_ocaml
version.
2021-03-26 08:43:14 +01:00
sternenseemann 6aac9b563f ocamlPackages.git: 3.3.2 -> 3.3.3
Fixes a stack-overflow for very large trees.

https://github.com/mirage/ocaml-git/releases/tag/3.3.3
2021-03-25 20:04:23 +01:00
Vincent Laporte 92a1b57bb1 ocamlPackages.ppxlib: default to 0.22.0
ocamlPackages.base_quickcheck 0.14.0 → 0.14.1

ocamlPackages.ppx_custom_printf: 0.14.0 → 0.14.1

ocamlPackages.ppx_expect: 0.14.0 → 0.14.1

ocamlPackages.ppx_optcomp: 0.14.0 → 0.14.1

ocamlPackages.ppx_sexp_conv: 0.14.1 → 0.14.3

ocamlPackages.ppx_sexp_message: 0.14.1 → 0.14.2

ocamlPackages.ppx_typerep_conv: 0.14.1 → 0.14.2

ocamlPackages.visitors: 20210127 → 20210316

ocamlPackages.pgocaml: 4.2.2 → 4.2.2-dev-20210111
2021-03-25 17:36:51 +01:00
Vincent Laporte 53a56c9887 ocamlPackages.ppxlib: disable versions 0.15 and 0.18 for OCaml ≥ 4.12 2021-03-25 17:36:51 +01:00
Antonio Nuno Monteiro 70c22f694b ocamlPackages.ocaml_extlib: 1.7.7 -> 1.7.8
1.7.8 changed the behavior of the minimal build type (which we are
keeping as the default because opam-repository does it as well): It now
excludes the Base64 module which is prone to namespacing problems.

Since google-drive-ocamlfuse still uses the Base64 module, we need to
override it to use extlib without the minimal build type. 1.7.9 (?)
should make this obsolete as it is planned to split the Base64 module
into a separate package.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2021-03-23 08:36:25 +01:00
Antonio Nuno Monteiro 6a0b9d6992 faraday-{lwt,lwt-unix,async}: add Faraday runtimes
Co-authored-by: Vincent Laporte <vbgl@users.noreply.github.com>
2021-03-22 18:54:04 +01:00
Vincent Laporte a1b2b1225c ocamlPackages.npy: unstable-2019-04-02 → 0.0.9 2021-03-22 10:01:13 +01:00
Symphorien Gibol d08e1d78e7 ocamlPackages.ocaml-lsp: wrap with dot-merlin-reader
this requires that dot-merlin-reader be built with the same ocaml version as
ocaml-lsp
2021-03-21 22:09:52 +01:00
Antonio Nuno Monteiro 669cfc195f ocaml-lsp, lsp, jsonrpc: allow overriding the source globally
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-03-21 12:17:08 -07:00
Sandro 4fdc2111b2
Merge pull request #111999 from r-ryantm/auto-update/ocaml4.10.0-graphics
ocamlPackages.graphics: 5.1.0 -> 5.1.1
2021-03-21 05:10:24 +01:00
Frederik Rietdijk 1ecb97eae9 Merge master into staging-next 2021-03-19 18:17:01 +01:00