Merge pull request #171480 from tpwrules/fix-sweethome3d-impurity

sweethome3d: fix impurity
main
Rick van Schijndel 2 years ago committed by GitHub
commit aefe9741c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 23
      pkgs/applications/misc/sweethome3d/default.nix

@ -10,6 +10,7 @@
, gtk3
, gsettings-desktop-schemas
, p7zip
, autoPatchelfHook
, libXxf86vm
, unzip
}:
@ -41,14 +42,17 @@ let
};
postPatch = ''
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/
autoPatchelf lib
# Nix cannot see the runtime references to the paths we just patched in
# once they've been compressed into the .jar. Scan for and remember them
# as plain text so they don't get overlooked.
find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
'';
nativeBuildInputs = [ makeWrapper unzip ];
buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
buildPhase = ''
runHook preBuild
@ -80,6 +84,13 @@ let
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
--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}"
# remember the store paths found inside the .jar libraries. note that
# which file they are in does not matter in particular, just that some
# file somewhere lists them in plain-text
mkdir -p $out/nix-support
cp .jar-paths $out/nix-support/depends
runHook postInstall
'';

Loading…
Cancel
Save