Skip to content

Update request: jextract unstable-2024-03-13 → ?? (Something JDK 23 compatible) #354591

@msgilligan

Description

@msgilligan
  • Package name: jextract
  • Latest released version: Build 22-jextract+6-47 (2024/9/10)
  • Current version on the unstable channel: unstable-2024-03-13 (JDK 22-based and broken)
  • Current version on the stable/release channel: unstable-2024-03-13

Note that jextract-21 is based on JDK 21 (LTS) and seems to be working.

The current package.nix file for jextract has the lines:

    # Not yet updated for JDK 23
    broken = true;

This means when you try to use it you get errors like this:

error:
      … while calling the 'derivationStrict' builtin
        at <nix/derivation-internal.nix>:34:12:
          33|
          34|   strict = derivationStrict drvAttrs;
            |            ^
          35|

      … while evaluating derivation 'nix-shell'
        whose name attribute is located at /nix/store/sh0v21n9zc03b94qjj4jkkg5mbsjkpzr-source/pkgs/stdenv/generic/make-derivation.nix:336:7

      … while evaluating attribute 'nativeBuildInputs' of derivation 'nix-shell'
        at /nix/store/sh0v21n9zc03b94qjj4jkkg5mbsjkpzr-source/pkgs/stdenv/generic/make-derivation.nix:380:7:
         379|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
         380|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
            |       ^
         381|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

      (stack trace truncated; use '--show-trace' to show the full, detailed trace)

      error: Package ‘jextract-unstable-2024-03-13’ in /nix/store/sh0v21n9zc03b94qjj4jkkg5mbsjkpzr-source/pkgs/by-name/je/jextract/package.nix:46 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

         Note: When using `nix shell`, `nix build`, `nix develop`, etc with a flake,
               then pass `--impure` in order to allow use of environment variables.

      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.

Given that jdk22 was removed from NixPkgs (I feel that it shouldn't have been, but that's a separate issue) we will need a version of jextract that works with JDK 23. The current early access binary here is Build 22-jextract+6-47 (2024/9/10) so will not work build with JDK 23.

I think the best thing to do would be to take the latest commit on the master branch and try that. We've done this in the past, though I prefer to have the source (roughly) match a supported binary release from OpenJDK.

@SharzyL @SpriteOvO @jlesquembre

Metadata

Metadata

Assignees

No one assigned

    Labels

    2.status: stalehttps://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md9.needs: package (update)This needs a package to be updated
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions