Unverified Commit 83cbc65d authored by Thiago Kenji Okada's avatar Thiago Kenji Okada Committed by GitHub
Browse files

Merge pull request #300573 from TomaSajt/openjfx

openjfx{11,17,19,20,21,22}: fix build when withWebKit is enabled
parents 47108daf d1daaeb1
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, icu68
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, fetchurl, runCommand
, openjdk11-bootstrap
, withMedia ? true
, withWebKit ? false
@@ -14,6 +14,16 @@ let
    java = openjdk11-bootstrap;
  });

  icuVersionWithSep = s: "71${s}1";
  icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
  icuData = fetchurl {
    url = "https://github.com/unicode-org/icu/releases/${icuPath}";
    hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
  };
  icuFakeRepository = runCommand "icu-data-repository" {} ''
    install -Dm644 ${icuData} $out/${icuPath}
  '';

  makePackage = args: stdenv.mkDerivation ({
    version = "${major}${update}-${build}";

@@ -24,7 +34,7 @@ let
      sha256 = "sha256-46DjIzcBHkmp5vnhYnLu78CG72bIBRM4A6mgk2OLOko=";
    };

    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu68 ];
    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];

    dontUseCmakeConfigure = true;
@@ -32,6 +42,11 @@ let
    postPatch = ''
      substituteInPlace buildSrc/linux.gradle \
        --replace ', "-Werror=implicit-function-declaration"' ""

      # Add missing includes for gcc-13 for webkit build:
      sed -e '1i #include <cstdio>' \
        -i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
           modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
    '';

    config = writeText "gradle.properties" (''
@@ -46,7 +61,7 @@ let
      export GRADLE_USER_HOME=$(mktemp -d)
      ln -s $config gradle.properties
      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
      gradle --no-daemon $gradleFlags sdk
      gradle --no-daemon --console=plain $gradleFlags sdk

      runHook postBuild
    '';
@@ -77,6 +92,7 @@ in makePackage {
  gradleProperties = ''
    COMPILE_MEDIA = ${lib.boolToString withMedia}
    COMPILE_WEBKIT = ${lib.boolToString withWebKit}
    ${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
  '';

  preBuild = ''
+10 −12
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless, gradle_7
, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
, ffmpeg_4-headless, python3, ruby, icu71, fetchurl, runCommand
, ffmpeg_4-headless, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
@@ -14,16 +14,14 @@ let
    java = openjdk17_headless;
  });

  dashed-icu-version = lib.concatStringsSep "-" (lib.splitVersion (lib.getVersion icu71));
  underscored-icu-version = lib.concatStringsSep "_" (lib.splitVersion (lib.getVersion icu71));
  icu-data = fetchurl {
    url = "https://github.com/unicode-org/icu/releases/download/release-${dashed-icu-version}/icu4c-${underscored-icu-version}-data-bin-l.zip";
  icuVersionWithSep = s: "71${s}1";
  icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
  icuData = fetchurl {
    url = "https://github.com/unicode-org/icu/releases/${icuPath}";
    hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
  };

  fakeRepository = runCommand "icu-data-repository" {} ''
    mkdir -p $out/download/release-${dashed-icu-version}
    cp ${icu-data} $out/download/release-${dashed-icu-version}/icu4c-${underscored-icu-version}-data-bin-l.zip
  icuFakeRepository = runCommand "icu-data-repository" {} ''
    install -Dm644 ${icuData} $out/${icuPath}
  '';

  makePackage = args: stdenv.mkDerivation ({
@@ -36,7 +34,7 @@ let
      sha256 = "sha256-9VfXk2EfMebMyVKPohPRP2QXRFf8XemUtfY0JtBCHyw=";
    };

    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless icu71 ];
    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];

    dontUseCmakeConfigure = true;
@@ -60,7 +58,7 @@ let
      export GRADLE_USER_HOME=$(mktemp -d)
      ln -s $config gradle.properties
      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
      gradle --no-daemon $gradleFlags sdk
      gradle --no-daemon --console=plain $gradleFlags sdk

      runHook postBuild
    '';
@@ -91,7 +89,7 @@ in makePackage {
  gradleProperties = ''
    COMPILE_MEDIA = ${lib.boolToString withMedia}
    COMPILE_WEBKIT = ${lib.boolToString withWebKit}
    ${lib.optionalString withWebKit "icuRepositoryURL = file://${fakeRepository}"}
    ${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
  '';

  preBuild = ''
+21 −3
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
@@ -15,6 +15,16 @@ let
    java = openjdk17_headless;
  });

  icuVersionWithSep = s: "68${s}2";
  icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "."}-data-bin-l.zip";
  icuData = fetchurl {
    url = "https://github.com/unicode-org/icu/releases/${icuPath}";
    hash = "sha256-ieQCLBTNrskuf8j3IUQS3QLIAQzLom/O58muMP363Lw=";
  };
  icuFakeRepository = runCommand "icu-data-repository" {} ''
    install -Dm644 ${icuData} $out/${icuPath}
  '';

  makePackage = args: stdenv.mkDerivation ({
    version = "${major}${update}${build}";

@@ -38,7 +48,14 @@ let
      })
    ];

    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
    postPatch = ''
      # Add missing includes for gcc-13 for webkit build:
      sed -e '1i #include <cstdio>' \
        -i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
           modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
    '';

    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];

    dontUseCmakeConfigure = true;
@@ -55,7 +72,7 @@ let
      export GRADLE_USER_HOME=$(mktemp -d)
      ln -s $config gradle.properties
      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
      gradle --no-daemon $gradleFlags sdk
      gradle --no-daemon --console=plain $gradleFlags sdk

      runHook postBuild
    '';
@@ -89,6 +106,7 @@ in makePackage {
  gradleProperties = ''
    COMPILE_MEDIA = ${lib.boolToString withMedia}
    COMPILE_WEBKIT = ${lib.boolToString withWebKit}
    ${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
  '';

  preBuild = ''
+21 −3
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
@@ -15,6 +15,16 @@ let
    java = openjdk17_headless;
  });

  icuVersionWithSep = s: "71${s}1";
  icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
  icuData = fetchurl {
    url = "https://github.com/unicode-org/icu/releases/${icuPath}";
    hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
  };
  icuFakeRepository = runCommand "icu-data-repository" {} ''
    install -Dm644 ${icuData} $out/${icuPath}
  '';

  makePackage = args: stdenv.mkDerivation ({
    version = "${major}${update}${build}";

@@ -25,11 +35,18 @@ let
      hash = "sha256-QPPJyl6+XU+m5xqYOFtQKJNNrovqy7ngNE/e7kiEJVU=";
    };

    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];

    dontUseCmakeConfigure = true;

    postPatch = ''
      # Add missing includes for gcc-13 for webkit build:
      sed -e '1i #include <cstdio>' \
        -i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
           modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
    '';

    config = writeText "gradle.properties" (''
      CONF = Release
      JDK_HOME = ${openjdk19_headless.home}
@@ -42,7 +59,7 @@ let
      export GRADLE_USER_HOME=$(mktemp -d)
      ln -s $config gradle.properties
      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
      gradle --no-daemon $gradleFlags sdk
      gradle --no-daemon --console=plain $gradleFlags sdk

      runHook postBuild
    '';
@@ -76,6 +93,7 @@ in makePackage {
  gradleProperties = ''
    COMPILE_MEDIA = ${lib.boolToString withMedia}
    COMPILE_WEBKIT = ${lib.boolToString withWebKit}
    ${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
  '';

  preBuild = ''
+21 −3
Original line number Diff line number Diff line
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
, withMedia ? true
, withWebKit ? false
}:
@@ -15,6 +15,16 @@ let
    java = openjdk17_headless;
  });

  icuVersionWithSep = s: "73${s}1";
  icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
  icuData = fetchurl {
    url = "https://github.com/unicode-org/icu/releases/${icuPath}";
    hash = "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA=";
  };
  icuFakeRepository = runCommand "icu-data-repository" {} ''
    install -Dm644 ${icuData} $out/${icuPath}
  '';

  makePackage = args: stdenv.mkDerivation ({
    version = "${major}${update}${build}";

@@ -25,11 +35,18 @@ let
      hash = "sha256-deNAGfnA6gwcAa64l0AWdkX+vJd3ZOfIgAifSl+/m+s=";
    };

    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];

    dontUseCmakeConfigure = true;

    postPatch = ''
      # Add missing includes for gcc-13 for webkit build:
      sed -e '1i #include <cstdio>' \
        -i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
           modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
    '';

    config = writeText "gradle.properties" (''
      CONF = Release
      JDK_HOME = ${openjdk19_headless.home}
@@ -42,7 +59,7 @@ let
      export GRADLE_USER_HOME=$(mktemp -d)
      ln -s $config gradle.properties
      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
      gradle --no-daemon $gradleFlags sdk
      gradle --no-daemon --console=plain $gradleFlags sdk

      runHook postBuild
    '';
@@ -76,6 +93,7 @@ in makePackage {
  gradleProperties = ''
    COMPILE_MEDIA = ${lib.boolToString withMedia}
    COMPILE_WEBKIT = ${lib.boolToString withWebKit}
    ${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
  '';

  preBuild = ''
Loading