Commit Graph

2341 Commits

Author SHA1 Message Date
Vincent Laporte
982bdad584 ocamlPackages.cairo2: use Dune 2 2021-04-16 11:07:36 +02:00
Vincent Laporte
e3aa8c650b ocamlPackages.lablgtk3: use Dune 2 2021-04-16 11:07:36 +02:00
sternenseemann
894b606945 ocamlPackages.wayland: init at 0.2 2021-04-15 11:51:06 +02:00
Vincent Laporte
fd75d3b722 ocamlPackages.safepass: 3.0 → 3.1 2021-04-15 07:04:35 +02:00
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 988f5a5910bdba12f34b500e0dc3aa60042a75a6.

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