Skip to content

Commit

Permalink
Pure Wayland Support Version of OpenJDK with Nvidia Jetson OpenJDK wi…
Browse files Browse the repository at this point in the history
…th gsettings utility fix

Signed-off-by: Emrah Billur <emrah.billur@unikie.com>
  • Loading branch information
emrahbillur committed Apr 12, 2024
1 parent 770d204 commit 1726000
Show file tree
Hide file tree
Showing 8 changed files with 420 additions and 0 deletions.
1 change: 1 addition & 0 deletions modules/common/development/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
imports = [
./debug-tools.nix
./usb-serial.nix
./java.nix
./nix.nix
./ssh.nix
];
Expand Down
22 changes: 22 additions & 0 deletions modules/common/development/java.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2022-2024 TII (SSRC) and the Ghaf contributors
# SPDX-License-Identifier: Apache-2.0
{
config,
lib,
pkgs,
...
}: let
cfg = config.ghaf.development.java;
in
with lib; {
options.ghaf.development.java = {
enable = mkEnableOption "Java Support";
};

config = mkIf cfg.enable {
programs.java = {
enable = true;
package = pkgs.jdk20;
};
};
}
2 changes: 2 additions & 0 deletions modules/common/profiles/debug.nix
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ in
debug.tools.enable = true;
# Let us in.
ssh.daemon.enable = true;
# Enable Java
java.enable = true;
};
};
};
Expand Down
1 change: 1 addition & 0 deletions overlays/custom-packages/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#
(final: prev: {
gala-app = final.callPackage ../../packages/gala {};
jdk20 = import ./jdk20 {inherit final prev;};
systemd = import ./systemd {inherit final prev;};
waypipe = import ./waypipe {inherit final prev;};
weston = import ./weston {inherit final prev;};
Expand Down
54 changes: 54 additions & 0 deletions overlays/custom-packages/jdk20/GTK_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
diff --git a/src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c b/src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c
index 2f46d1354c5..d912f524942 100644
--- a/src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c
+++ b/src/java.desktop/unix/native/libawt_wlawt/WLToolkit.c
@@ -794,28 +794,29 @@ initCursors() {
int theme_size = 0;
char buffer[256];

- char *size_str = getenv("XCURSOR_SIZE");
- if (!size_str)
- size_str = readDesktopProperty("cursor-size", buffer, sizeof(buffer));
- if (size_str)
- theme_size = atoi(size_str);
- if (theme_size <= 0)
+ // char *size_str = getenv("XCURSOR_SIZE");
+ // if (!size_str)
+ // size_str = readDesktopProperty("cursor-size", buffer, sizeof(buffer));
+ // if (size_str)
+ // theme_size = atoi(size_str);
+ // if (theme_size <= 0)
theme_size = 24;

- theme_name = getenv("XCURSOR_THEME");
- if (!theme_name) {
- theme_name = readDesktopProperty("cursor-theme", buffer, sizeof(buffer));
- if (theme_name) {
- // drop surrounding quotes and trailing line break
- int len = strlen(theme_name);
- if (len > 2) {
- theme_name[len - 2] = 0;
- theme_name++;
- } else {
- theme_name = NULL;
- }
- }
- }
+ // theme_name = getenv("XCURSOR_THEME");
+ // if (!theme_name) {
+ // theme_name = readDesktopProperty("cursor-theme", buffer, sizeof(buffer));
+ // if (theme_name) {
+ // // drop surrounding quotes and trailing line break
+ // int len = strlen(theme_name);
+ // if (len > 2) {
+ // theme_name[len - 2] = 0;
+ // theme_name++;
+ // } else {
+ // theme_name = NULL;
+ // }
+ // }
+ // }
+ theme_name="YARU";

wl_cursor_theme = wl_cursor_theme_load(theme_name, theme_size, wl_shm);
if (!wl_cursor_theme) {
276 changes: 276 additions & 0 deletions overlays/custom-packages/jdk20/default.nix

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions overlays/custom-packages/qemu/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ in
(final.lib.optionalAttrs (qemu_major == "8" && qemu_minor == "0") {
patches = prev.patches ++ [./acpi-devices-passthrough-qemu-8.0.patch];
})

// (final.lib.optionalAttrs (qemu_major == "8" && qemu_minor == "1") {
patches = prev.patches ++ [./acpi-devices-passthrough-qemu-8.1.patch];
})
Expand Down
63 changes: 63 additions & 0 deletions packages/libwakefield/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Copyright 2022-2024 TII (SSRC) and the Ghaf contributors
# SPDX-License-Identifier: Apache-2.0
{
fetchFromGitHub,
lib,
cmake,
pkg-config,
stdenv,
gcc,
pixman,
weston,
}:
stdenv.mkDerivation rec {
name = "libwakefield";

depsBuildBuild = [cmake weston pixman];

src = "${fetchFromGitHub {
owner = "openjdk";
repo = "wakefield";
rev = "pure_wl_toolkit_21";
sha256 = "sha256-xmAqj0BLUhLl51AtWshJ8actpk35Gog4PnYqRCa/4RM=";
}}/src/java.desktop/share/native/libwakefield";

nativeBuildInputs = [
cmake
gcc
pkg-config
];

buildInputs = [
weston
];

#cmakeFlags = lib.optionals (!stdenv.hostPlatform.isStatic) [
# "-DBUILD_SHARED_LIBS=ON"
#];

configurePhase = ''
mkdir build && cd build
cmake ../
'';

buildPhase = ''
make
'';

installPhase = ''
make install
'';

CFLAGS = ["-O3" "-funroll-loops"];
CXXFLAGS = ["-O3"];

outputs = ["bin" "dev" "out"];

meta = with lib; {
description = "libwakefield";
platforms = [
"aarch64-linux"
];
};
}

0 comments on commit 1726000

Please sign in to comment.