summary refs log tree commit diff
path: root/pkgs/applications/misc/sweethome3d
diff options
context:
space:
mode:
authorDmitry Ivankov <divanorama@gmail.com>2021-05-09 14:37:06 +0200
committerJonathan Ringer <jonringer@users.noreply.github.com>2021-05-13 09:46:22 -0700
commit9236fe835f48aefb7621ea6ba10170fe5797db27 (patch)
tree00494bdba2c38f83dd292bc985dfd909e08548db /pkgs/applications/misc/sweethome3d
parent61e1c0fe89c762476d97ea3590eee9890c2969d0 (diff)
downloadnixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.tar
nixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.tar.gz
nixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.tar.bz2
nixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.tar.lz
nixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.tar.xz
nixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.tar.zst
nixpkgs-9236fe835f48aefb7621ea6ba10170fe5797db27.zip
sweethome3d: 6.4.2 -> 6.5.2, also bump editors, use fetchurl and fix build
fixes build failures
https://hydra.nixos.org/build/142550788/nixlog/2
https://hydra.nixos.org/build/142549864/nixlog/2

Replaces fetchsvn/fetchcvs with fetchurl because fetchcvs wasn't able to fetch newer versions.

jre8 seems to be required due to InaccessibleObjectException/IllegalAccessException on app start on jdk9+

ZHF: #122042
Diffstat (limited to 'pkgs/applications/misc/sweethome3d')
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix21
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix50
2 files changed, 36 insertions, 35 deletions
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 0b97110b1dd..387177a8c4c 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -1,19 +1,17 @@
 { 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.
+# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later?
 , jdk8
-# it can run on the latest stable jre fine though
-, jre
+, jre8
 , ant
 , gtk3
 , gsettings-desktop-schemas
 , p7zip
 , libXxf86vm
+, unzip
 }:
 
 let
@@ -49,7 +47,7 @@ let
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
     '';
 
-    nativeBuildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper unzip ];
     buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
 
     buildPhase = ''
@@ -77,7 +75,7 @@ let
       # 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 ${jre}/bin/java $out/bin/$exec \
+      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" \
         --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,14 +100,13 @@ in {
 
   application = mkSweetHome3D rec {
     pname = lib.toLower module + "-application";
-    version = "6.4.2";
+    version = "6.5.2";
     module = "SweetHome3D";
     description = "Design and visualize your future home";
     license = lib.licenses.gpl2Plus;
-    src = fetchsvn {
-      url = "https://svn.code.sf.net/p/sweethome3d/code/tags/V_" + d2u version + "/SweetHome3D/";
-      sha256 = "13rczayakwb5246hqnp8lnw61p0p7ywr2294bnlp4zwsrz1in9z4";
-      rev = "7504";
+    src = fetchurl {
+      url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
+      sha256 = "1j0xm2vmcxxjmf12k8rfnisq9hd7hqaiyxrfbrbjxis9iq3kycp3";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index f5dbd0510a3..783ea3e7940 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -1,17 +1,17 @@
 { lib
 , stdenv
-, fetchcvs
+, fetchurl
 , 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.
+# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later?
 , jdk8
-# it can run on the latest stable jre fine though
-, jre
+, jre8
 , ant
 , gtk3
 , gsettings-desktop-schemas
-, sweethome3dApp }:
+, sweethome3dApp
+, unzip
+}:
 
 let
 
@@ -20,6 +20,14 @@ let
     + removeSuffix "libraryeditor" (toLower m)
     + "-editor";
 
+  applicationSrc = stdenv.mkDerivation {
+    name = "application-src";
+    src = sweethome3dApp.src;
+    nativeBuildInputs = [ unzip ];
+    buildPhase = "";
+    installPhase = "cp -r . $out";
+  };
+
   mkEditorProject =
   { pname, module, version, src, license, description, desktopName }:
 
@@ -35,18 +43,18 @@ let
       categories = "Graphics;2DGraphics;3DGraphics;";
     };
 
-    nativeBuildInputs = [ makeWrapper ];
-    buildInputs = [ ant jre jdk8 gtk3 gsettings-desktop-schemas ];
+    nativeBuildInputs = [ makeWrapper unzip ];
+    buildInputs = [ ant jre8 jdk8 gtk3 gsettings-desktop-schemas ];
 
     postPatch = ''
-      sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
+      sed -i -e 's,../SweetHome3D,${applicationSrc},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 = ''
       runHook preBuild
 
-      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk8}/lib
+      ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk8}/lib
 
       runHook postBuild
     '';
@@ -56,7 +64,7 @@ let
       mkdir -p $out/share/{java,applications}
       cp ${module}-${version}.jar $out/share/java/.
       cp "${editorItem}/share/applications/"* $out/share/applications
-      makeWrapper ${jre}/bin/java $out/bin/$exec \
+      makeWrapper ${jre8}/bin/java $out/bin/$exec \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
     '';
@@ -78,31 +86,27 @@ let
 in {
 
   textures-editor = mkEditorProject rec {
-    version = "1.5";
+    version = "1.7";
     module = "TexturesLibraryEditor";
     pname = module;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = lib.licenses.gpl2Plus;
-    src = fetchcvs {
-      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "15wxdns3hc8yq362x0rj53bcxran2iynxznfcb9js85psd94zq7h";
-      module = module;
-      tag = "V_" + d2u version;
+    src = fetchurl {
+      url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
+      sha256 = "03vb9y645qzffxxdhgbjb0d98k3lafxckg2vh2s86j62b6357d0h";
     };
     desktopName = "Sweet Home 3D - Textures Library Editor";
   };
 
   furniture-editor = mkEditorProject rec {
-    version = "1.19";
+    version = "1.27";
     module = "FurnitureLibraryEditor";
     pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = lib.licenses.gpl2;
-    src = fetchcvs {
-      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "0rr4nqil1mngak3ds5vz7f1whrgcgzpk6fb0qcr5ljms0jx0ylvs";
-      module = module;
-      tag = "V_" + d2u version;
+    src = fetchurl {
+      url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
+      sha256 = "1zxbcn9awgax8lalzkc05f5yfwbgnrayc17fkyv5i19j4qb3r2a0";
     };
     desktopName = "Sweet Home 3D - Furniture Library Editor";
   };