From a35ae3a2d05cbf6dc6ac21a6f3267a7df2e13fdb Mon Sep 17 00:00:00 2001 From: Gary Guo Date: Tue, 30 Jan 2024 10:11:08 +0000 Subject: [PATCH] sweethome3d: fix libGL startup failure Currently SweetHome3D cannot run on NixOS. It startups with Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null error, and the cause is by inability to find libGL/libEGL. Add libGL to path to fix this. This also allows to remove MESA override. --- pkgs/applications/misc/sweethome3d/default.nix | 8 +++----- pkgs/applications/misc/sweethome3d/editors.nix | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix index 5755c5610281..bc3e1f4b7d25 100644 --- a/pkgs/applications/misc/sweethome3d/default.nix +++ b/pkgs/applications/misc/sweethome3d/default.nix @@ -13,6 +13,7 @@ , autoPatchelfHook , libXxf86vm , unzip +, libGL }: let @@ -75,13 +76,9 @@ let cp "${sweethome3dItem}/share/applications/"* $out/share/applications - # MESA_GL_VERSION_OVERRIDE is needed since the update from MESA 19.3.3 to 20.0.2: - # without it a "Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null" - # exception is thrown on startup. - # https://discourse.nixos.org/t/glx-not-recognised-after-mesa-update/6753 makeWrapper ${jre8}/bin/java $out/bin/$exec \ - --set MESA_GL_VERSION_OVERRIDE 2.1 \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" @@ -102,6 +99,7 @@ let inherit license; maintainers = [ lib.maintainers.edwtjo ]; platforms = lib.platforms.linux; + mainProgram = exec; }; }; diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix index 6c737f469c67..f12f059e22af 100644 --- a/pkgs/applications/misc/sweethome3d/editors.nix +++ b/pkgs/applications/misc/sweethome3d/editors.nix @@ -77,6 +77,7 @@ let inherit license; maintainers = [ lib.maintainers.edwtjo ]; platforms = lib.platforms.linux; + mainProgram = exec; }; };