Commit graph

166 commits

Author SHA1 Message Date
Vincent Laporte 8984dee07e ocamlPackages.accessor_core: mark as broken with OCaml ≥ 4.12 2021-04-27 08:42:50 +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 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