Commit Graph

165 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
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
d0cb67f669 ocamlPackages.core: 0.14.0 → 0.14.1 2021-03-16 08:18:56 +01: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
sternenseemann
336ac16838 ocamlPackages.janePackage: don't delete meta set in args
A bit of a pitfall of // is that it doesn't merge recursively which
often leads to unintended deletion in meta sets: If meta is in args it
is also present in the set right of the // operator which means the
right value is used to replace the left value completely. This throws
away anything extra we've set in the meta set in args.

This is fixed by this comment, allowing the descriptions and broken =
true; set in janestreet/old.nix to propagate to the output meta sets.
2021-03-10 16:12:03 +01:00
Vincent Laporte
857ac90e8c ocamlPackages.core_kernel: 0.14.0 → 0.14.1 2021-03-09 21:09:58 +01:00
Vincent Laporte
b0ed0b8a62 ocamlPackages.base: 0.14.0 → 0.14.1 2021-03-02 12:02:12 -05:00
Aaron L. Zeng
5f0583b08b ocamlPackages.ppx_log: init at 0.14.0 2021-02-16 18:28:11 +01:00
Pavol Rusnak
a6ce00c50c
treewide: remove stdenv where not needed 2021-01-25 18:31:47 +01:00
sternenseemann
aad56c947f ocamlPackages: remove redundant stdenv imports 2021-01-12 16:33:18 +01:00
sternenseemann
4e42cac49d ocamlPackages: stdenv.lib → lib
This change was produced by searching for remaining occurrences of
stdenv.lib and replacing them manually.

Reference #108938.
2021-01-12 16:33:18 +01:00
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Vincent Laporte
b6f7f1f673 ocamlPackages.janeStreet: 0.13 → 0.14
ocamlPackages.biocaml: 0.10.1 → 0.11.1

ocamlPackages.bistro: fix for Core 0.14

ocamlPackages.js_of_ocaml: 3.7.0 → 3.7.1

ocamlPackages.ocaml-r: 0.2.0 → 0.4.0

ocamlPackages.phylogenetics: 2020-01-25 → 2020-11-23

Co-authored-by: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
2020-12-18 21:03:56 +01:00
Vincent Laporte
d050e5e399 ocamlPackages.email_message: remove at 0.11.0 2020-11-06 15:30:03 +01:00
Aaron L. Zeng
30ea1f1288 ocamlPackages.delimited_parsing: init at 0.13 2020-10-27 16:04:06 +01:00
Aaron L. Zeng
d240c4e1d1 ocamlPackages.bignum: init at 0.13 2020-10-27 16:04:06 +01:00
Aaron L. Zeng
e140227fe3 ocamlPackages.sexp: init at 0.13 2020-10-27 16:04:06 +01:00
Aaron L. Zeng
d2b8b92865
ocamlPackages.shexp: init at 0.13 2020-10-21 14:27:10 +02:00
Aaron L. Zeng
d95b8c33b4
ocamlPackages.async_interactive: init at 0.13 2020-10-21 07:40:17 +02:00
Vincent Laporte
466194482c ocamlPackages.ppx_type_conv: remove at 113.33.03 2020-10-20 09:39:30 +02:00
Vincent Laporte
1f65cf4bde ocamlPackages.ppx_fail: remove at 113.33.03 2020-10-20 09:39:30 +02:00
Vincent Laporte
649059d42b ocamlPackages.ppx_driver: remove at 113.33.03 2020-10-20 09:39:30 +02:00
Vincent Laporte
07ad2970a5 ocamlPackages.ppx_core: remove at 113.33.03 2020-10-20 09:39:30 +02: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
Aaron L. Zeng
87cb88b71f ocamlPackages.async_ssl: init at 0.13 2020-08-28 11:33:33 -04: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
22a81aa5fc ocamlPackages.async_unix: 0.13.0 → 0.13.1 2020-06-22 17:52:02 +02:00
Vincent Laporte
1992d68551 ocamlPackages.core_kernel: remove at 112.24.00
This is a legacy version for OCaml 4.02
2020-05-29 08:23:42 +02:00
Vincent Laporte
eab4103efa ocamlPackages.core: remove at 112.24.01
This is a legacy version for OCaml 4.02
2020-05-28 09:09:53 +02:00
Vincent Laporte
670237ec93 ocamlPackages.async_kernel: remove at 112.24.00
This is a legacy version for OCaml 4.02
2020-05-27 09:01:25 +02:00
Vincent Laporte
e9759c1c3a ocamlPackages.async_unix: remove at 112.24.00
This is a legacy version for OCaml 4.02
2020-05-22 10:07:12 +02:00
Vincent Laporte
14a70f542a ocamlPackages.textutils: remove at 112.17.00
This is a legacy version for OCaml 4.02
2020-05-19 20:44:41 +02:00
Vincent Laporte
20b0143c11 ocamlPackages.async_extra: remove at 112.24.00
This is a legacy version for OCaml 4.02
2020-05-18 08:49:22 +02:00
Vincent Laporte
54f5bff2b5 ocamlPackages.re2: remove at 112.06.00
This is a legacy version for OCaml ≤ 4.02
2020-05-12 19:10:32 +02:00
Vincent Laporte
5458f4326e ocamlPackages.async: remove at 112.24.00
This is a legacy version for OCaml 4.02
2020-05-11 17:34:02 +02:00
Vincent Laporte
258e3287a5
ocamlPackages.core_extended: remove at 112.24.00
This is a legacy version for OCaml 4.02
2020-05-01 10:32:31 +02:00
Vincent Laporte
3e7a2b9147 ocamlPackages.janeStreet: 0.12 → 0.13
ocamlPackages.bistro: fix for core-0.13
ocamlPackages.phylogenetics: 2020-01-05 → 2020-01-25
2020-04-20 08:38:31 +02:00
Vincent Laporte
75971d096a ocamlPackages.async_ssl: remove at 113.33.07
This is the legacy version for OCaml ≤ 4.02
2020-04-20 08:38:31 +02:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01: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
Vincent Laporte
6b023dc690 ocamlPackages.re2: fix building with clang 2020-01-20 10:18:53 +01:00
Vincent Laporte
d1ee1bd06a ocamlPackages.ecaml: init at 0.12.0 2019-11-01 06:54:04 +00:00
Vincent Laporte
dc6b299e09 ocamlPackages.patience_diff: init at 0.12.0 2019-10-03 08:26:41 +02:00
Vincent Laporte
33c36dd2f4 ocamlPackages.expect_test_helpers: init at 0.12.0 2019-10-03 08:26:41 +02:00
Vincent Laporte
2c87f4f07e ocamlPackages.expect_test_helpers_kernel: init at 0.12.0 2019-10-03 08:26:41 +02:00
Vincent Laporte
e0dcde83b0 ocamlPackages.sexp_pretty: init at 0.12.0 2019-10-03 08:26:41 +02:00
Vincent Laporte
748046d594 ocamlPackages.janeStreet: init at 0.12 (for OCaml ≥ 4.07)
Also add a few legacy packages at version 0.11 for OCaml ≥ 4.07: configurator,
ppx_core, ppx_driver, ppx_type_conv

ocamlPackages.bap: disable for OCaml ≥ 4.07

ocamlPackages.bistro: 0.4.0 -> 0.5.0
2019-09-10 14:05:26 +00:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00