From f8bdcb86ddf11444a29947052821db65730b69fb Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Sat, 17 Mar 2018 09:23:49 +0100
Subject: [PATCH] package

---
 package_onelab.sh | 234 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 234 insertions(+)
 create mode 100755 package_onelab.sh

diff --git a/package_onelab.sh b/package_onelab.sh
new file mode 100755
index 0000000..30ded5f
--- /dev/null
+++ b/package_onelab.sh
@@ -0,0 +1,234 @@
+#!/bin/sh
+
+DATE=`date "+%d/%m/%Y"`
+
+echo "This ONELAB bundle was built on ${DATE} with the latest nightly snapshots
+of Gmsh (http://gmsh.info) and GetDP (http://getdp.info).
+
+Launch Gmsh and open a GetDP .pro file (e.g. models/magnetometer/magnetometer.pro)
+with the File/Open menu, then click on \"Run\".
+
+The software is distributed under the terms of the GNU General Public License. 
+See the LICENSE and CREDITS files for more information. 
+
+The 'tutorials' directory contains ONELAB tutorials. The 'models' directory contains
+a selection of other ready-to-use models from http://onelab.info.
+
+See http://onelab.info, http://gmsh.info and http://getdp.info for additional
+examples, up-to-date versions and documentation." > /tmp/README.txt
+
+GMSH=git
+GETDP=git
+
+#GMSH=3.0.0
+#GETDP=2.11.0
+
+TUTO_GETDP='Electrostatics Magnetostatics Elasticity ElectrostaticsFloating Thermics PotentialFlow Magnetodynamics CircuitCoupling'
+TUTO_CPP='PendulumC++'
+TUTO_PYTHON='PendulumPython'
+MODELS='AcousticScattering Antennas BlochPeriodicWaveguides Cohomology DDMWaves DiffractionGratings ElectricMachines ElectromechanicalRelay Inductor Magnetometer Magnetostriction Magnets Shielding Superconductors ThermalConduction TimeReversal Waveguides'
+
+# get models and tutorials
+rm -rf /tmp/models
+mkdir /tmp/models
+for m in ${MODELS}; do
+  curl -O http://onelab.info/files/${m}.zip
+  unzip -q -o ${m}.zip -d /tmp/models
+  rm -f ${m}.zip
+done
+
+rm -rf /tmp/tutorials
+mkdir /tmp/tutorials
+mkdir /tmp/tutorials/gmsh
+mkdir /tmp/tutorials/getdp
+for m in ${TUTO_GETDP}; do
+  curl -O http://onelab.info/files/${m}.zip
+  unzip -q -o ${m}.zip -d /tmp/tutorials/getdp
+  rm -f ${m}.zip
+done
+mkdir /tmp/tutorials/python
+for m in ${TUTO_PYTHON}; do
+  curl -O http://onelab.info/files/${m}.zip
+  unzip -q -o ${m}.zip -d /tmp/tutorials/python
+  rm -f ${m}.zip
+done
+mkdir /tmp/tutorials/c++
+for m in ${TUTO_CPP}; do
+  curl -O http://onelab.info/files/${m}.zip
+  unzip -q -o ${m}.zip -d /tmp/tutorials/c++
+  rm -f ${m}.zip
+done
+
+if [ $# -lt 1 ] || [ $1 == "source" ]; then
+  rm -rf onelab-source*
+  mkdir onelab-source
+  curl -O http://gmsh.info/src/gmsh-${GMSH}-source.tgz
+  curl -O http://getdp.info/src/getdp-${GETDP}-source.tgz
+  mv gmsh-${GMSH}-source.tgz /tmp
+  mv getdp-${GETDP}-source.tgz /tmp
+  tar zxvf /tmp/gmsh-${GMSH}-source.tgz -C /tmp
+  tar zxvf /tmp/getdp-${GETDP}-source.tgz -C /tmp
+  cp /tmp/README.txt onelab-source
+  mv /tmp/gmsh-*${GMSH}*-source onelab-source
+  mv /tmp/getdp-*${GETDP}*-source onelab-source
+  cp onelab-source/gmsh-*${GMSH}*-source/LICENSE.txt onelab-source/LICENSE.txt
+  echo "\n\n" >> onelab-source/LICENSE.txt
+  cat onelab-source/getdp-*${GETDP}*-source/LICENSE.txt >> onelab-source/LICENSE.txt
+  cp onelab-source/gmsh-*${GMSH}*-source/CREDITS.txt onelab-source/CREDITS.txt
+  echo "\n\n" >> onelab-source/CREDITS.txt
+  cat onelab-source/getdp-*${GETDP}*-source/CREDITS.txt >> onelab-source/CREDITS.txt
+  cp -R /tmp/models onelab-source/
+  cp -R /tmp/tutorials onelab-source/
+  cp -R onelab-source/gmsh-*${GMSH}*-source/tutorial/*.* onelab-source/tutorials/gmsh/
+  rm -rf /tmp/gmsh-*
+  rm -rf /tmp/getdp-*
+  zip -r onelab-source.zip onelab-source
+  rm -rf onelab-source
+fi
+
+if [ $# -lt 1 ] || [ $1 == "win64" ]; then
+  rm -rf onelab-Windows64*
+  mkdir onelab-Windows64
+  curl -O http://gmsh.info/bin/Windows/gmsh-${GMSH}-Windows64.zip
+  curl -O http://getdp.info/bin/Windows/getdp-${GETDP}-Windows64c.zip
+  mv gmsh-${GMSH}-Windows64.zip /tmp
+  mv getdp-${GETDP}-Windows64c.zip /tmp
+  unzip -q -o /tmp/gmsh-${GMSH}-Windows64.zip -d /tmp
+  unzip -q -o /tmp/getdp-${GETDP}-Windows64c.zip -d /tmp
+  cp /tmp/README.txt onelab-Windows64
+  perl -pi -e 's/\n/\r\n/' onelab-Windows64/README.txt
+  mv /tmp/gmsh-*${GMSH}-Windows64/gmsh.exe onelab-Windows64
+  mv /tmp/gmsh-*${GMSH}-Windows64/onelab.py onelab-Windows64
+  mv /tmp/getdp-*${GETDP}-Windows64/getdp.exe onelab-Windows64
+  mv /tmp/gmsh-*${GMSH}-Windows64/LICENSE.txt onelab-Windows64/LICENSE.txt
+  echo "\n\n" >> onelab-Windows64/LICENSE.txt
+  cat /tmp/getdp-*${GETDP}-Windows64/LICENSE.txt >> onelab-Windows64/LICENSE.txt
+  mv /tmp/gmsh-*${GMSH}-Windows64/CREDITS.txt onelab-Windows64/CREDITS.txt
+  echo "\n\n" >> onelab-Windows64/CREDITS.txt
+  cat /tmp/getdp-*${GETDP}-Windows64/CREDITS.txt >> onelab-Windows64/CREDITS.txt
+  cp -R /tmp/models onelab-Windows64/
+  cp -R /tmp/tutorials onelab-Windows64/
+  cp -R /tmp/gmsh-*${GMSH}-Windows64/tutorial/*.* onelab-Windows64/tutorials/gmsh/
+  rm -rf /tmp/gmsh-*
+  rm -rf /tmp/getdp-*
+  zip -r onelab-Windows64.zip onelab-Windows64
+  rm -rf onelab-Windows64
+fi
+
+if [ $# -lt 1 ] || [ $1 == "win32" ]; then
+  rm -rf onelab-Windows32*
+  mkdir onelab-Windows32
+  curl -O http://gmsh.info/bin/Windows/gmsh-${GMSH}-Windows32.zip
+  curl -O http://getdp.info/bin/Windows/getdp-${GETDP}-Windows32c.zip
+  mv gmsh-${GMSH}-Windows32.zip /tmp
+  mv getdp-${GETDP}-Windows32c.zip /tmp
+  unzip -q -o /tmp/gmsh-${GMSH}-Windows32.zip -d /tmp
+  unzip -q -o /tmp/getdp-${GETDP}-Windows32c.zip -d /tmp
+  cp /tmp/README.txt onelab-Windows32
+  perl -pi -e 's/\n/\r\n/' onelab-Windows32/README.txt
+  mv /tmp/gmsh-*${GMSH}-Windows32/gmsh.exe onelab-Windows32
+  mv /tmp/gmsh-*${GMSH}-Windows32/onelab.py onelab-Windows32
+  mv /tmp/getdp-*${GETDP}-Windows32/getdp.exe onelab-Windows32
+  mv /tmp/gmsh-*${GMSH}-Windows32/LICENSE.txt onelab-Windows32/LICENSE.txt
+  echo "\n\n" >> onelab-Windows32/LICENSE.txt
+  cat /tmp/getdp-*${GETDP}-Windows32/LICENSE.txt >> onelab-Windows32/LICENSE.txt
+  mv /tmp/gmsh-*${GMSH}-Windows32/CREDITS.txt onelab-Windows32/CREDITS.txt
+  echo "\n\n" >> onelab-Windows32/CREDITS.txt
+  cat /tmp/getdp-*${GETDP}-Windows32/CREDITS.txt >> onelab-Windows32/CREDITS.txt
+  cp -R /tmp/models onelab-Windows32/
+  cp -R /tmp/tutorials onelab-Windows32/
+  cp -R /tmp/gmsh-*${GMSH}-Windows32/tutorial/*.* onelab-Windows32/tutorials/gmsh/
+  rm -rf /tmp/gmsh-*
+  rm -rf /tmp/getdp-*
+  zip -r onelab-Windows32.zip onelab-Windows32
+  rm -rf onelab-Windows32
+fi
+
+if [ $# -lt 1 ] || [ $1 == "linux64" ]; then
+  rm -rf onelab-Linux64*
+  mkdir onelab-Linux64
+  curl -O http://gmsh.info/bin/Linux/gmsh-${GMSH}-Linux64.tgz
+  curl -O http://getdp.info/bin/Linux/getdp-${GETDP}-Linux64c.tgz
+  mv gmsh-${GMSH}-Linux64.tgz /tmp
+  mv getdp-${GETDP}-Linux64c.tgz /tmp
+  tar zxvf /tmp/gmsh-${GMSH}-Linux64.tgz -C /tmp
+  tar zxvf /tmp/getdp-${GETDP}-Linux64c.tgz -C /tmp
+  cp /tmp/README.txt onelab-Linux64
+  mv /tmp/gmsh-*${GMSH}-Linux64/bin/gmsh onelab-Linux64
+  mv /tmp/gmsh-*${GMSH}-Linux64/bin/onelab.py onelab-Linux64
+  mv /tmp/getdp-*${GETDP}-Linux64/bin/getdp onelab-Linux64
+  mv /tmp/gmsh-*${GMSH}-Linux64/share/doc/gmsh/LICENSE.txt onelab-Linux64/LICENSE.txt
+  echo "\n\n" >> onelab-Linux64/LICENSE.txt
+  cat /tmp/getdp-*${GETDP}-Linux64/share/doc/getdp/LICENSE.txt >> onelab-Linux64/LICENSE.txt
+  mv /tmp/gmsh-*${GMSH}-Linux64/share/doc/gmsh/CREDITS.txt onelab-Linux64/CREDITS.txt
+  echo "\n\n" >> onelab-Linux64/CREDITS.txt
+  cat /tmp/getdp-*${GETDP}-Linux64/share/doc/getdp/CREDITS.txt >> onelab-Linux64/CREDITS.txt
+  cp -R /tmp/models onelab-Linux64/
+  cp -R /tmp/tutorials onelab-Linux64/
+  cp -R /tmp/gmsh-*${GMSH}-Linux64/share/doc/gmsh/tutorial/*.* onelab-Linux64/tutorials/gmsh/
+  rm -rf /tmp/gmsh-*
+  rm -rf /tmp/getdp-*
+  zip -r onelab-Linux64.zip onelab-Linux64
+  rm -rf onelab-Linux64
+fi
+
+if [ $# -lt 1 ] || [ $1 == "linux32" ]; then
+  rm -rf onelab-Linux32*
+  mkdir onelab-Linux32
+  curl -O http://gmsh.info/bin/Linux/gmsh-${GMSH}-Linux32.tgz
+  curl -O http://getdp.info/bin/Linux/getdp-${GETDP}-Linux32c.tgz
+  mv gmsh-${GMSH}-Linux32.tgz /tmp
+  mv getdp-${GETDP}-Linux32c.tgz /tmp
+  tar zxvf /tmp/gmsh-${GMSH}-Linux32.tgz -C /tmp
+  tar zxvf /tmp/getdp-${GETDP}-Linux32c.tgz -C /tmp
+  cp /tmp/README.txt onelab-Linux32
+  mv /tmp/gmsh-*${GMSH}-Linux32/bin/gmsh onelab-Linux32
+  mv /tmp/gmsh-*${GMSH}-Linux32/bin/onelab.py onelab-Linux32
+  mv /tmp/getdp-*${GETDP}-Linux32/bin/getdp onelab-Linux32
+  mv /tmp/gmsh-*${GMSH}-Linux32/share/doc/gmsh/LICENSE.txt onelab-Linux32/LICENSE.txt
+  echo "\n\n" >> onelab-Linux32/LICENSE.txt
+  cat /tmp/getdp-*${GETDP}-Linux32/share/doc/getdp/LICENSE.txt >> onelab-Linux32/LICENSE.txt
+  mv /tmp/gmsh-*${GMSH}-Linux32/share/doc/gmsh/CREDITS.txt onelab-Linux32/CREDITS.txt
+  echo "\n\n" >> onelab-Linux32/CREDITS.txt
+  cat /tmp/getdp-*${GETDP}-Linux32/share/doc/getdp/CREDITS.txt >> onelab-Linux32/CREDITS.txt
+  cp -R /tmp/models onelab-Linux32/
+  cp -R /tmp/tutorials onelab-Linux32/
+  cp -R /tmp/gmsh-*${GMSH}-Linux32/share/doc/gmsh/tutorial/*.* onelab-Linux32/tutorials/gmsh/
+  rm -rf /tmp/gmsh-*
+  rm -rf /tmp/getdp-*
+  zip -r onelab-Linux32.zip onelab-Linux32
+  rm -rf onelab-Linux32
+fi
+
+if [ $# -lt 1 ] || [ $1 == "mac" ]; then
+  rm -rf onelab-MacOSX*
+  mkdir onelab-MacOSX
+  curl -O http://gmsh.info/bin/MacOSX/gmsh-${GMSH}-MacOSX.dmg
+  curl -O http://getdp.info/bin/MacOSX/getdp-${GETDP}-MacOSXc.tgz
+  mv gmsh-${GMSH}-MacOSX.dmg /tmp
+  mv getdp-${GETDP}-MacOSXc.tgz /tmp
+  hdiutil convert /tmp/gmsh-${GMSH}-MacOSX.dmg -format UDTO -o /tmp/gmsh-tmp.cdr
+  hdiutil attach -nobrowse -noverify -noautoopen -mountpoint gmsh_mount /tmp/gmsh-tmp.cdr
+  tar zxvf /tmp/getdp-${GETDP}-MacOSXc.tgz -C /tmp
+  cp /tmp/README.txt onelab-MacOSX
+  cp -R gmsh_mount/Gmsh.app onelab-MacOSX/
+  mv /tmp/getdp-*${GETDP}-MacOSX/bin/getdp onelab-MacOSX/Gmsh.app/Contents/MacOS/
+  security unlock-keychain -p "FIXME" ${HOME}/Library/Keychains/login.keychain
+  codesign -v --force --deep --sign "Developer ID Application: Christophe Geuzaine" onelab-MacOSX/Gmsh.app
+  cp gmsh_mount/LICENSE.txt onelab-MacOSX/LICENSE.txt
+  echo "\n\n" >> onelab-MacOSX/LICENSE.txt
+  cat /tmp/getdp-*${GETDP}-MacOSX/share/doc/getdp/LICENSE.txt >> onelab-MacOSX/LICENSE.txt
+  cp gmsh_mount/CREDITS.txt onelab-MacOSX/CREDITS.txt
+  echo "\n\n" >> onelab-MacOSX/CREDITS.txt
+  cat /tmp/getdp-*${GETDP}-MacOSX/share/doc/getdp/CREDITS.txt >> onelab-MacOSX/CREDITS.txt
+  cp -R /tmp/models onelab-MacOSX/
+  cp -R /tmp/tutorials onelab-MacOSX/
+  cp -R gmsh_mount/tutorial/*.* onelab-MacOSX/tutorials/gmsh/
+  hdiutil eject gmsh_mount
+  rm -rf /tmp/gmsh-*
+  rm -rf /tmp/getdp-*
+  # cannot use zip file: it destroys the signature for onelab.py
+  hdiutil create -srcfolder onelab-MacOSX onelab-MacOSX.dmg
+  codesign -v --sign "Developer ID Application: Christophe Geuzaine" onelab-MacOSX.dmg
+  rm -rf onelab-MacOSX
+fi
-- 
GitLab