Unverified Commit a10e0309 authored by LunaFox's avatar LunaFox
Browse files

jetbrains.jdk: 21.0.9-1163.86 -> 25.0.2-329.72

parent d23fbaef
Loading
Loading
Loading
Loading
+31 −5
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchurl,
  fetchFromGitHub,
  jetbrains,
  jdk,
@@ -26,6 +27,8 @@
  libdrm,
  libgbm,
  wayland,
  wayland-scanner,
  wayland-protocols,
  udev,
  fontconfig,
  shaderc,
@@ -45,27 +48,38 @@ let
in
jdk.overrideAttrs (oldAttrs: rec {
  pname = "jetbrains-jdk" + lib.optionalString withJcef "-jcef";
  javaVersion = "21.0.9";
  build = "1163.86";
  javaVersion = "25.0.2";
  build = "329.72";
  # To get the new tag:
  # git clone https://github.com/jetbrains/jetbrainsruntime
  # cd jetbrainsruntime
  # git tag --points-at [revision]
  # Look for the line that starts with jbr-
  openjdkTag = "jbr-release-21.0.9b1163.86";
  version = "${javaVersion}-b${build}";
  openjdkTag = "jbr-release-${javaVersion}b${build}";

  src = fetchFromGitHub {
    owner = "JetBrains";
    repo = "JetBrainsRuntime";
    rev = "jb${version}";
    hash = "sha256-P2boCbGB66X8LB4sZHGFO8lqHbv6F4kqGVMGBd9yKu0=";
    hash = "sha256-K4Izbij+1YO4UERHS0mwGKZX/VtIaxyNPZD068Vf99Q=";
  };

  gtk-protocols =
    let
      rev = "refs/tags/4.22.1";
      hash = "sha256-zCcXuiEYL2N4Q+WT96ouVDwdZVSohgU/QA2BkGlnZZ0=";
    in
    fetchurl {
      # We only need the wayland protocols file
      url = "https://raw.githubusercontent.com/GNOME/gtk/${rev}/gdk/wayland/protocol/gtk-shell.xml";
      hash = hash;
    };

  env = (oldAttrs.env or { }) // {
    BOOT_JDK = jdk.home;
    # run `git log -1 --pretty=%ct` in jdk repo for new value on update
    SOURCE_DATE_EPOCH = 1765114563;
    SOURCE_DATE_EPOCH = 1769205294;
  };

  patches = [ ];
@@ -76,25 +90,35 @@ jdk.overrideAttrs (oldAttrs: rec {
    runHook preBuild

    ${lib.optionalString withJcef "cp -r ${jetbrains.jcef} jcef_linux_${arch}"}
    cp -r ${gtk-protocols.out} gtk-shell.xml

    sed \
        -e "s/OPENJDK_TAG=.*/OPENJDK_TAG=${openjdkTag}/" \
        -e "s/SOURCE_DATE_EPOCH=.*//" \
        -e "s/export SOURCE_DATE_EPOCH//" \
        -i jb/project/tools/common/scripts/common.sh

    declare -a realConfigureFlags

    for configureFlag in "''${configureFlags[@]}"; do
      case "$configureFlag" in
        --host=*)
          # intentionally omit flag
          ;;
        --with-vendor-version-string=*)
          # Replace the flag from the JDK to include that it is JBR and the package version, so it passes the installation tests
          realConfigureFlags+=('--with-vendor-version-string="nix/JBR-${version}${lib.optionalString withJcef "-jcef"}"')
          ;;
        *)
          realConfigureFlags+=("$configureFlag")
          ;;
      esac
    done
    realConfigureFlags+=("--with-wayland-protocols=${wayland-protocols.out}/share/wayland-protocols")
    echo "computed configure flags: ''${realConfigureFlags[*]}"

    substituteInPlace jb/project/tools/linux/scripts/mkimages_${arch}.sh --replace-fail "STATIC_CONF_ARGS" "STATIC_CONF_ARGS ''${realConfigureFlags[*]}"

    sed \
        -e "s/create_image_bundle \"jb/#/" \
        -e "s/echo Creating /exit 0 #/" \
@@ -175,6 +199,8 @@ jdk.overrideAttrs (oldAttrs: rec {
    unzip
    rsync
    shaderc # glslc
    wayland-scanner
    libxkbcommon
  ]
  ++ oldAttrs.nativeBuildInputs;

+3 −3
Original line number Diff line number Diff line
@@ -9620,14 +9620,14 @@ with pkgs;
    )
    // {
      jdk-no-jcef = callPackage ../development/compilers/jetbrains-jdk {
        jdk = jdk21;
        jdk = jdk25;
        withJcef = false;
      };
      jdk = callPackage ../development/compilers/jetbrains-jdk {
        jdk = jdk21;
        jdk = jdk25;
      };
      jcef = callPackage ../development/compilers/jetbrains-jdk/jcef.nix {
        jdk = jdk21;
        jdk = jdk25;
      };
    }
    // lib.optionalAttrs config.allowAliases {