Skip to content

Commit

Permalink
Merge pull request NixOS#113914 from raboof/sweethome3d-use-default-jre
Browse files Browse the repository at this point in the history
sweethome3d: run using the default jre
  • Loading branch information
davidak authored Feb 22, 2021
2 parents 11cd34c + b47bb05 commit 23f1c43
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 19 deletions.
31 changes: 27 additions & 4 deletions pkgs/applications/misc/sweethome3d/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, makeDesktopItem, jdk, jre, ant
, gtk3, gsettings-desktop-schemas, p7zip, libXxf86vm }:
{ lib
, stdenv
, fetchurl
, fetchsvn
, makeWrapper
, makeDesktopItem
# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
# this is fixed on trunk (7699?) but let's build with jdk8 until then.
, jdk8
# it can run on the latest stable jre fine though
, jre
, ant
, gtk3
, gsettings-desktop-schemas
, p7zip
, libXxf86vm
}:

let

Expand Down Expand Up @@ -27,23 +42,29 @@ let
categories = "Graphics;2DGraphics;3DGraphics;";
};

patchPhase = ''
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
'';

buildInputs = [ ant jdk makeWrapper p7zip gtk3 gsettings-desktop-schemas ];
buildInputs = [ ant jdk8 makeWrapper p7zip gtk3 gsettings-desktop-schemas ];

buildPhase = ''
runHook preBuild
ant furniture textures help
mkdir -p $out/share/{java,applications}
mv "build/"*.jar $out/share/java/.
ant
runHook postBuild
'';

installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp install/${module}-${version}.jar $out/share/java/.
Expand All @@ -59,6 +80,8 @@ let
--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" \
--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}"
runHook postInstall
'';

dontStrip = true;
Expand Down
26 changes: 21 additions & 5 deletions pkgs/applications/misc/sweethome3d/editors.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
{ lib, stdenv, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
, gtk3, gsettings-desktop-schemas, sweethome3dApp }:
{ lib
, stdenv
, fetchcvs
, makeWrapper
, makeDesktopItem
# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
# this is fixed on trunk (7699?) but let's build with jdk8 until then.
, jdk8
# it can run on the latest stable jre fine though
, jre
, ant
, gtk3
, gsettings-desktop-schemas
, sweethome3dApp }:

let

Expand All @@ -23,15 +35,19 @@ let
categories = "Graphics;2DGraphics;3DGraphics;";
};

buildInputs = [ ant jre jdk makeWrapper gtk3 gsettings-desktop-schemas ];
buildInputs = [ ant jdk8 makeWrapper gtk3 gsettings-desktop-schemas ];

patchPhase = ''
postPatch = ''
sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml
'';

buildPhase = ''
ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
runHook preBuild
ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk8}/lib
runHook postBuild
'';

installPhase = ''
Expand Down
16 changes: 6 additions & 10 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -24988,16 +24988,12 @@ in

linuxstopmotion = libsForQt5.callPackage ../applications/video/linuxstopmotion { };

sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d {
jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
})
// (callPackage ../applications/misc/sweethome3d/editors.nix {
jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
sweethome3dApp = sweethome3d.application;
})
);
sweethome3d = recurseIntoAttrs (
(callPackage ../applications/misc/sweethome3d { }) //
(callPackage ../applications/misc/sweethome3d/editors.nix {
sweethome3dApp = sweethome3d.application;
})
);

swingsane = callPackage ../applications/graphics/swingsane { };

Expand Down

0 comments on commit 23f1c43

Please sign in to comment.