Commit Graph

640 Commits

Author SHA1 Message Date
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
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
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
9ac5c7df17 ocamlPackages.gettext-camomile: init at 0.4.2 2021-04-02 09:13:44 +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
sternenseemann
ef6450411f ocamlPackages_4_{11,12}: merlin: 3.4.2 -> 4.1
Add nix expression for the OCaml-version specific versions of merlin
4.1 and conditionally call it in ocaml-packages.nix.
2021-03-27 17:26:12 +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
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
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
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
Vincent Laporte
b68839485d ocamlPackages.bitstring: 4.0.1 → 4.1.0 2021-03-19 11:47:03 +01:00
Mario Rodas
30467aa9dd
Merge pull request #116490 from sternenseemann/luv-0.5.7
ocamlPackages.luv: init at 0.5.7
2021-03-18 21:29:18 -05:00
sterni
f0b078ef9d
ocamlPackages.git: 3.3.0 -> 3.3.2; decompress: 1.2.0 -> 1.3.0; duff: 0.3 -> 0.4; and related updates (#116486)
* ocamlPackages.hxd: 0.2.0 -> 0.3.1

ocamlPackages.hxd: disable lwt by default on OCaml 4.06 (syntax error)

* ocamlPackages.duff: 0.3 -> 0.4

* ocamlPackages.decompress: 1.2.0 -> 1.3.0

Keep decompress 1.2.0 around as decompress-1-2 until imagelib supports
decompress 1.3.0: https://github.com/rlepigre/ocaml-imagelib/issues/49

* ocamlPackages.carton*: 0.2.0 -> 0.4.0

* ocamlPackages.git: 3.3.0 -> 3.3.2
2021-03-16 13:07:17 +01:00
sternenseemann
176ab26cce ocamlPackages.luv: init at 0.5.7
Enabling tests is not feasible as the test suite takes > 45min (haven't
even run it to completion yet) which is not a good idea in ocamlPackages
where you often have to build from source. Additionally it would require
fetching the git repository since the test suite is not contained in the
release tarball.

Co-authored-by: locallycompact <dan.firth@homotopic.tech>
2021-03-16 12:38:03 +01:00
Ozan Sener
28c7e68e99 ocamlPackages.ppx_cstubs : Init at 0.6.1.1 2021-03-11 08:28:04 +01:00
Vincent Laporte
60785fe4db ocamlPackages.dune: rename into dune_1 2021-03-07 12:07:14 +01:00
Aaron L. Zeng
2517018ac2 ocamlPackages.directories: init at 0.2 2021-03-03 08:41:55 +01:00
Vincent Laporte
36aa10c0ea ocamlPackages.ppx_bap: init at 0.14 2021-02-26 07:09:22 +01:00
Antonio Nuno Monteiro
98cefe1d6b OCaml 4.12.--beta1 -> 4.12.0 2021-02-25 21:25:10 +01:00
Arthur Teisseire
7cc2f6cc54 ocamlPackages.sha: init at 1.13 2021-02-17 17:45:18 +01:00
sternenseemann
c59b8ce9c3
ocamlPackages: irmin 2.2.0 → 2.4.0; git: 2.13 → 3.2.0; and related changes (#110184)
* ocamlPackages.index: 1.2.1 -> 1.3.0

* ocamlPackages.decompress: 0.9.0 -> 1.2.0

* ocamlPackages.imagelib-unix: remove at 20191011

* ocamlPackages.imagelib: 20191011 -> 20200929

* ocamlPackages.duff: 0.2 -> 0.3

* ocamlPackages.carton{,-git,-lwt}: init at 0.2.0

* ocamlPackages.encore: 0.5 → 0.7

* ocamlPackages.git-http: remove at 2.1.3

* ocamlPackages.git-unix: move into git directory

* ocamlPackages.irmin-mem: remove at 2.2.0

Replaced by irmin.mem contained in ocamlPackages.irmin >= 2.4.0

* ocamlPackages.git*: 2.1.3 -> 3.2.0

ocamlPackages.git-unix: 2.1.3 -> 3.2.0

ocamlPackages.git-cohttp{,-unix,-mirage}: init at 3.2.0

* ocamlPackages.irmin*: 2.2.0 -> 2.4.0

ocamlPackages.irmin-containers: init at 2.4.0
ocamlPackages.irmin-layers: init at 2.4.0
ocamlPackages.irmin-mirage: init at 2.4.0
ocamlPackages.irmin-mirage-git: init at 2.4.0
ocamlPackages.irmin-mirage-graphql: init at 2.4.0

* ocamlPackages.wodan-irmin: mark as broken
2021-02-16 08:39:46 +01:00
Vincent Laporte
3c34795935 ocamlPackages.kafka: 0.4 → 0.5 2021-02-07 14:07:54 +01:00
sternenseemann
f31d62b49e
ocamlPackages.semaphore-compat: init at 1.0.1 2021-02-02 08:34:06 +01:00
sternenseemann
6a27377958 ocamlPackages.cstruct: 5.0.0 → 6.0.0 2021-02-01 16:11:29 +01:00
Vincent Laporte
8f1302995e
ocamlPackages.ppx_deriving: 4.5 → 5.1
ocamlPackages.ppx_deriving_yojson: 3.5.2 → 3.6.1

ocamlPackages.visitors: 20200210 → 20210127

ocamlPackages.pgocaml: disable for OCaml < 4.08

ocamlPackages.nocrypto: disable for OCaml < 4.08

ocamlPackages.lens: mark as broken

ocamlPackages.ppx_deriving_protobuf: mark as broken

Closes #108137
2021-01-31 14:15:46 +01:00
sternenseemann
fdc9d99179
ocamlPackages.progress: init at 0.1.1 2021-01-31 09:53:23 +01:00
Aaron L. Zeng
1b6764da4e
ocamlPackages.caqti*: init at 1.3.0
Except for caqti-type-calendar, whose most recent version number is
1.2.0.
2021-01-30 11:37:36 +01:00
Aaron L. Zeng
5b13986979
ocamlPackages.mariadb: init at 1.1.4 2021-01-30 11:37:36 +01:00
Aaron L. Zeng
f58c4e236f
ocamlPackages.postgresql: init at 4.6.3 2021-01-30 11:37:36 +01:00
sternenseemann
b4668b2699
ocamlPackages.terminal_size: init at 0.1.4 2021-01-29 08:33:49 +01:00
sternenseemann
ae82038d5f ocamlPackages.bheap: init at 2.0.0 2021-01-25 08:39:56 +01:00
sternenseemann
a7a61998e9 ocamlPackages.{repr,ppx_repr}: init at 0.2.1 2021-01-24 21:04:02 +01:00
sternenseemann
7fee56ec59 ocamlPackages.either: init at 1.0.0 2021-01-24 21:04:02 +01:00
sternenseemann
2483ca4c62 ocamlPackages.cohttp-mirage: init at 2.5.4 2021-01-24 17:38:11 +01:00
sternenseemann
0378fedc17 ocamlPackages.conduit-mirage: init at 2.2.2 2021-01-24 17:38:11 +01:00
sternenseemann
3b363283a5 ocamlPackages.vchan: init at 6.0.0 2021-01-24 17:38:11 +01:00
sternenseemann
6aef21c314 ocamlPackages.tls-mirage: init at 0.12.8 2021-01-24 17:38:11 +01:00
sternenseemann
25ab7218c8 ocamlPackages.xenstore-tool: init at 1.3.0 2021-01-24 17:38:11 +01:00
sternenseemann
34457e2fc6 ocamlPackages.xenstore_transport: init at 1.3.0 2021-01-24 17:38:11 +01:00
sternenseemann
148ca8c904 ocamlPackages.xenstore: init at 2.1.1 2021-01-24 17:38:11 +01:00
sternenseemann
b424ecd84e ocamlPackages.emile: init at 1.1 2021-01-22 09:26:17 +01:00
sternenseemann
47818a1ff3 ocamlPackages.pecu: init at 0.5 2021-01-22 09:26:17 +01:00
sternenseemann
0f864eb45b ocamlPackages.hxd: init at 0.2.0 2021-01-22 08:39:58 +01:00
Emery Hemingway
93e31f2a78
ocamlPackages.wodan: init unstable-2020-11-20 2021-01-22 08:34:26 +01:00
sternenseemann
2b014ef903 ocamlPackages.mimic: init at 0.0.1 2021-01-18 10:32:02 +01:00
sternenseemann
426a0a6c9d ocamlPackages.awa: init at 0.0.1 2021-01-18 08:41:58 +01:00