[arch-commits] Commit in sweethome3d/trunk (4 files)

Fabio Castelli muflone at archlinux.org
Sun Apr 9 21:32:47 UTC 2017


    Date: Sunday, April 9, 2017 @ 21:32:46
  Author: muflone
Revision: 221669

upgpkg: sweethome3d 5.4-2
Changed upstream package file
Added support for Java3D 1.5 by using SWEETHOME3D_JAVA3D environment variable

Added:
  sweethome3d/trunk/sweethome3d.install
Modified:
  sweethome3d/trunk/PKGBUILD
  sweethome3d/trunk/sweethome3d.desktop
  sweethome3d/trunk/sweethome3d.sh

---------------------+
 PKGBUILD            |   77 ++++++++++++++++++++++++++++++++++++++------------
 sweethome3d.desktop |    2 -
 sweethome3d.install |   10 ++++++
 sweethome3d.sh      |   35 +++++++++++++++++-----
 4 files changed, 97 insertions(+), 27 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-04-09 20:31:12 UTC (rev 221668)
+++ PKGBUILD	2017-04-09 21:32:46 UTC (rev 221669)
@@ -6,28 +6,69 @@
 # Contributor: Biginoz <biginoz at free.fr>
 # Contributor: Archan Paul <paul.archan at gmail.com>
 
-pkgname=sweethome3d
+pkgbase=sweethome3d
+pkgname=(sweethome3d-common sweethome3d)
 pkgver=5.4
-pkgrel=1
+pkgrel=2
 pkgdesc="An interior design application to draw the plan of your house in a 3D environment"
-arch=('any')
+arch=('i686' 'x86_64')
 url="http://www.sweethome3d.com/"
-license=('GPL')
-depends=('java-runtime' 'shared-mime-info' 'desktop-file-utils')
-source=("http://downloads.sourceforge.net/${pkgname}/SweetHome3D-${pkgver}.jar"
-        "${pkgname}.sh"
-        "${pkgname}.desktop"
-        "${pkgname}.xml")
-sha256sums=('d720237ac0f5865a204a6485ff3c2cb4ea87d1c3939015e9f610b4a9099d291f'
-            'c2e8fc8fb29761a1b273edba2a55bd57b48fa936815fcb2988a3f2a92bf30231'
-            '05e7f1a60753a7236faeb115ee42764f01a353107b9f3dc200b18b0856d4b7bd'
+license=('GPL' 'custom')
+depends=('java-runtime>=8' 'shared-mime-info' 'desktop-file-utils')
+source=("${pkgbase}.sh"
+        "${pkgbase}.desktop"
+        "${pkgbase}.xml")
+source_i686=("SweetHome3D-5.4-linux-x86.tgz"::"http://downloads.sourceforge.net/${pkgbase}/SweetHome3D-${pkgver}-linux-x86.tgz")
+source_x86_64=("SweetHome3D-5.4-linux-x64.tgz"::"http://downloads.sourceforge.net/${pkgbase}/SweetHome3D-${pkgver}-linux-x64.tgz")
+sha256sums=('c1a76d4131ddf04375bab3e98d646543b4967af623a6aee0e19bac7d40d7ecef'
+            '5eea3337d956d773b05ddef69fe9d34b940ff550370dc92bf307f1b9a3957f9e'
             'ec0ad1a0671f708af68ced46bec1f4ab377e24ca1a0a9984867ee5fe484f57c5')
+sha256sums_i686=('f5778277c11be1b8f069be1775964a9eae1f20e3d20eb030cffe16f8f5252fdf')
+sha256sums_x86_64=('4f2f69495aac1cb2fd9a7c7235b596b1916fee4f77f348e8381cf136c56e5ae4')
 
-package() {
+package_sweethome3d-common() {
+  pkgdesc="An interior design application to draw the plan of your house in a 3D environment (common files)"
+  arch=('any')
+  install="${pkgbase}.install"
+  # Desktop and launchers
   cd "${srcdir}"
-  install -D -m 644 "SweetHome3D-${pkgver}.jar" "${pkgdir}/usr/share/java/${pkgname}.jar"
-  install -D -m 644 "com/eteks/sweethome3d/viewcontroller/resources/help/images/applicationIcon.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
-  install -D -m 755 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
-  install -D -m 644 "${pkgname}.xml" "${pkgdir}/usr/share/mime/packages/${pkgname}.xml"
-  install -D -m 755 "${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"
+  install -m 755 -D "${pkgbase}.sh" "${pkgdir}/usr/bin/${pkgbase}"
+  install -m 755 -D "${pkgbase}.desktop" "${pkgdir}/usr/share/applications/${pkgbase}.desktop"
+  install -m 644 -D "${pkgbase}.xml" "${pkgdir}/usr/share/mime/packages/${pkgbase}.xml"
+  # Install licenses
+  cd "SweetHome3D-${pkgver}"
+  install -m 755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m 755 -t "${pkgdir}/usr/share/licenses/${pkgname}" THIRDPARTY-LICENSE-*
+  # Install icon
+  install -m 644 -D "SweetHome3DIcon.png" "${pkgdir}/usr/share/pixmaps/${pkgbase}.png"
+  # Install javaws.jar from jre8
+  install -m 755 -d "${pkgdir}/usr/share/java/${pkgbase}"
+  install -m 644 -t "${pkgdir}/usr/share/java/${pkgbase}" jre8/lib/javaws.jar
+  # Install main program and libraries
+  cd "lib"
+  install -m 644 -t "${pkgdir}/usr/share/java/${pkgbase}" *.jar
+  # Java3D 1.5 libraries
+  install -m 755 -d "${pkgdir}/usr/lib/${pkgbase}/java3d-1.5"
+  mv -t "${pkgdir}/usr/lib/${pkgbase}/java3d-1.5" \
+    "${pkgdir}"/usr/share/java/${pkgbase}/{j3dcore.jar,j3dutils.jar,vecmath.jar}
+  # Java3D 1.6 libraries
+  install -m 755 -d "${pkgdir}/usr/lib/${pkgbase}/java3d-1.6"
+  install -m 644 -t "${pkgdir}/usr/lib/${pkgbase}/java3d-1.6" java3d-1.6/*.jar
 }
+
+package_sweethome3d() {
+  arch=('i686' 'x86_64')
+  depends=('libxext' 'libgl' 'libxrender' 'sweethome3d-common')
+  cd "${srcdir}/SweetHome3D-${pkgver}"
+  # Install licenses
+  install -m 755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m 644 -t "${pkgdir}/usr/share/licenses/${pkgname}" "THIRDPARTY-LICENSE-JAVA3D.TXT"
+  cd "lib"
+  # Java3D 1.5 libraries
+  install -m 755 -d "${pkgdir}/usr/lib/${pkgbase}/java3d-1.5"
+  install -m 755 -t "${pkgdir}/usr/lib/${pkgbase}/java3d-1.5" libj3dcore-ogl.so
+  # Java3D 1.6 libraries
+  install -m 755 -d "${pkgdir}/usr/lib/${pkgbase}/java3d-1.6"
+  install -m 644 -t "${pkgdir}/usr/lib/${pkgbase}/java3d-1.6" java3d-1.6/*.so
+}
+

Modified: sweethome3d.desktop
===================================================================
--- sweethome3d.desktop	2017-04-09 20:31:12 UTC (rev 221668)
+++ sweethome3d.desktop	2017-04-09 21:32:46 UTC (rev 221669)
@@ -7,5 +7,5 @@
 Exec=sweethome3d %f
 Icon=sweethome3d
 Categories=Office;Java;
-StartupWMClass=com-eteks-sweethome3d-SweetHome3DBootstrap
+StartupWMClass=com-eteks-sweethome3d-SweetHome3D
 MimeType=application/x-sweethome3d

Added: sweethome3d.install
===================================================================
--- sweethome3d.install	                        (rev 0)
+++ sweethome3d.install	2017-04-09 21:32:46 UTC (rev 221669)
@@ -0,0 +1,10 @@
+post_install() {
+  echo "If the application claims there's no graphic support for 3D rendering"
+  echo "you can switch to Java3D 1.5 by using:"
+  echo "SWEETHOME3D_JAVA3D=1.5 sweethome3d"
+  echo "or set the SWEETHOME3D_JAVA3D environment variable in your profile"
+}
+
+post_upgrade() {
+  post_install $1
+}

Modified: sweethome3d.sh
===================================================================
--- sweethome3d.sh	2017-04-09 20:31:12 UTC (rev 221668)
+++ sweethome3d.sh	2017-04-09 21:32:46 UTC (rev 221669)
@@ -1,25 +1,44 @@
 #!/bin/sh
 
+APP_CLASSPATH=""
 JAVA_EXEC=""
-APP_ARGS=""
+JAVA_OPTS="${JAVA_OPTS} -Xmx1024m"
 
-if [ -n "$JAVA_HOME" ]; then
-  if [ -x "$JAVA_HOME/bin/java" ]; then
-    JAVA_EXEC="$JAVA_HOME/bin/java"
+if [ -n "${JAVA_HOME}" ]
+then
+  if [ -x "${JAVA_HOME}/bin/java" ]
+  then
+    JAVA_EXEC="${JAVA_HOME}/bin/java"
   fi
 else
   JAVA_EXEC="$(which java)"
 fi
 
-if [ -z "$JAVA_EXEC" ]; then
+if [ -z "${JAVA_EXEC}" ]
+then
   echo "No 'java' executable can be found, please set JAVA_HOME variable or"
   echo "use the 'archlinux-java' script to set the Java version."
   exit 1
 fi
 
-if [ $# -gt 0 ]
+# Build classpath
+APP_CLASSPATH="SweetHome3D.jar:Furniture.jar:Textures.jar:Help.jar:iText-2.1.7.jar:freehep-vectorgraphics-svg-2.1.1b.jar:sunflow-0.07.3i.jar:jmf.jar:batik-svgpathparser-1.7.jar"
+if [ "${SWEETHOME3D_JAVA3D}" = "1.5" ]
 then
-  APP_ARGS="-open"
+  JAVA_OPTS="${JAVA_OPTS} -Djava.library.path=/usr/lib/sweethome3d/java3d-1.5"
+  APP_CLASSPATH="${APP_CLASSPATH}:/usr/lib/sweethome3d/java3d-1.5/j3dcore.jar:/usr/lib/sweethome3d/java3d-1.5/j3dutils.jar:/usr/lib/sweethome3d/java3d-1.5/vecmath.jar"
+else
+  JAVA_OPTS="${JAVA_OPTS} -Djava.library.path=/usr/lib/sweethome3d/java3d-1.6 -Djogamp.gluegen.UseTempJarCache=false"
+  APP_CLASSPATH="${APP_CLASSPATH}:/usr/lib/sweethome3d/java3d-1.6/j3dcore.jar:/usr/lib/sweethome3d/java3d-1.6/j3dutils.jar:/usr/lib/sweethome3d/java3d-1.6/vecmath.jar:/usr/lib/sweethome3d/java3d-1.6/gluegen-rt.jar:/usr/lib/sweethome3d/java3d-1.6/jogl-java3d.jar"
 fi
+APP_CLASSPATH="${APP_CLASSPATH}:javaws.jar"
 
-"$JAVA_EXEC" -jar /usr/share/java/sweethome3d.jar "$APP_ARGS" "$@"
+cd "/usr/share/java/sweethome3d"
+
+exec "${JAVA_EXEC}" \
+     -classpath "${APP_CLASSPATH}" \
+     ${JAVA_OPTS} \
+     -Dcom.eteks.sweethome3d.applicationId=SweetHome3D#Installer \
+     com.eteks.sweethome3d.SweetHome3D \
+     -open "$1"
+



More information about the arch-commits mailing list