Commit Graph

34 Commits

Author SHA1 Message Date
Vincent Laporte
bb89d8d9ee ocamlPackages.core: 0.11.2 → 0.11.3 2022-02-08 18:09:46 +01: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
sternenseemann
1979284362 ocamlPackages.ctypes: 0.17.1 -> 0.18.0
https://github.com/ocamllabs/ocaml-ctypes/blob/0.18.0/CHANGES.md#ctypes-0180

* ocamlPackages.async_ssl: fix compatibility with ctypes 0.18.0 by using
  ctypes.foreign instead of ctypes.foreign.threaded since the distinction
  between threaded and unthreaded has been removed in this release.
* libbap: link with -thread so linking ctypes.foreign doesn't fail
  https://github.com/BinaryAnalysisPlatform/bap-bindings/issues/18
* ocaml-ng.ocamlPackages_4_07.sodium: patch lib_gen/_tags to also add
  the `package(bigarray)` directive since `ctypes.stubs` no longer
  propgates that, leading to module not found error.
* ocaml-ng.ocamlPackages_4_{04,05,06,07}.async_ssl: mark as broken: due to
  the bigarray-compat dependency, we need dune 2 for ctypes which breaks
  compilation of the legacy async_ssl 0.11 version since we can't
  upgrade to dune 2 for it since that version doesn't support the legacy
  jbuild files.
2021-03-10 16:12:03 +01:00
Vincent Laporte
d050e5e399 ocamlPackages.email_message: remove at 0.11.0 2020-11-06 15:30:03 +01:00
sternenseemann
031037f1ac
ocamlPackages_4_06.ppx_let: propagate base and ppxlib to fix build of angstrom 2020-09-30 07:55:10 +02:00
sternenseemann
2c616aa638
ocamlPackages.angstrom*: 0.13.0 -> 0.14.1
ocamlPackages.email_message: fix 0.12.0 version for angstrom 0.14
ocamlPackages.encore: 0.3 → 0.5
ocamlPackages.git{,-http,-unix}: 2.1.2 → 2.1.3
2020-07-01 13:51:04 +02:00
Vincent Laporte
5c274c6c05 ocamlPackages.core_profiler: remove at 0.11.0
This package is broken with glibc ≥ 2.28
2020-02-28 21:24:26 +01:00
Vincent Laporte
9095ca22bc ocamlPackages.ocaml_plugin: remove at 0.11.0
This package is broken with glibc ≥ 2.28
2020-02-28 21:24:26 +01:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Vincent Laporte
b5c224d2a5 ocamlPackages.bignum: remove at 0.11.0 2019-04-12 16:48:32 +02:00
Vincent Laporte
a01129912f ocamlPackages.re2: fix build on darwin 2019-04-02 09:37:30 +02:00
Théo Zimmermann
794158fcd5
buildDunePackage: new support function; use it to refactor some OCaml derivations 2018-11-07 10:08:03 +01:00
Vincent Laporte
44f18a5a4f ocamlPackages.incremental_kernel: 0.11.0 -> 0.11.1 2018-08-14 07:48:39 +00:00
Vincent Laporte
2aae0c0442 ocamlPackages.async_extra: 0.11.0 -> 0.11.1 2018-08-14 07:48:39 +00:00
Vincent Laporte
72d1be9b96 ocamlPackages.async_kernel: 0.11.0 -> 0.11.1 2018-08-14 07:48:39 +00:00
Vincent Laporte
4b542fdf8e ocamlPackages.core: 0.11.1 -> 0.11.2 2018-08-14 07:48:39 +00:00
Vincent Laporte
18408650fb
ocamlPackages.core_kernel: 0.11.0 -> 0.11.1 2018-07-31 20:15:26 +00:00
Vincent Laporte
5a2ee49f3c ocamlPackages.base: 0.11.0 -> 0.11.1 2018-07-28 14:10:47 +00:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Vincent Laporte
3b0cd74f55
ocamlPackages.janeStreet: 0.10 -> 0.11 2018-07-05 19:40:31 +00:00
Masayuki Takeda
84adbd0d98 janeStreet: 0.9.0 -> 0.10.0 2018-03-03 11:55:35 +09:00
Vincent Laporte
32ac626973
ocamlPackages.sexplib: 0.9.3 -> 0.10.0 2017-12-16 21:47:59 +00:00
Vladimír Čunát
6f5d989478
treewide: checkMeta fixes for x86_64-linux 2017-12-07 07:50:47 -05:00
Vincent Laporte
9e0159c04c
ocamlPackages.stdio: 0.9.0 -> 0.9.1 2017-11-04 18:50:23 +00:00
Vincent Laporte
a8c4829f7c
ocamlPackages.base: 0.9.3 -> 0.9.4 2017-11-04 17:47:38 +00:00
Vincent Laporte
8923737cd5
ocamlPackages.sexplib: 0.9.2 -> 0.9.3 2017-11-04 17:09:50 +00:00
Vincent Laporte
28cd0f240a ocamlPackages.ppx_ast: 0.9.0 -> 0.9.{1,2} 2017-10-09 08:02:11 +00:00
Vincent Laporte
8c506dfb64 ocamlPackages.posixat: mark as broken with OCaml 4.05 2017-08-30 02:28:56 +00:00
Vincent Laporte
77404dbf37 jbuilder: 1.0+beta7 -> 1.0+beta12
ocamlPackages.sexplib: 0.9.1 -> 0.9.2

ocamlPackages.base: 0.9.1 -> 0.9.3

ocamlPackages.ppx_driver: 0.9.0 -> 0.9.1

ocamlPackages.bin_prot: 0.9.0 -> 0.9.1

ocamlPackages.ppx_inline_test: 0.9.0 -> 0.9.2
2017-08-24 17:53:55 +00:00
Vincent Laporte
6e200f2644 ocamlPackages.core: 0.9.0 -> 0.9.1 2017-08-23 20:22:00 +00:00
Vincent Laporte
9074440f11 ocamlPackages.configurator: 0.9.0 -> 0.9.1 2017-08-12 09:46:59 +00:00
Vincent Laporte
68eb2c2379 ocamlPackages.re2: mark broken on darwin 2017-06-05 05:45:59 +00:00
Théo Zimmermann
1562201643 ocamlPackages.janeStreet.{base,sexplib}: 0.9.0 -> 0.9.1 2017-05-30 20:50:36 +02:00
Théo Zimmermann
1dac99b7c9 ocamlPackages.janeStreet package set: init at 0.9.0
This contains a collection of Jane Street packages at version 0.9.0.
Packages not already present in ocamlPackages are also made available
without the janeStreet prefix.
2017-05-30 20:50:36 +02:00