diff options
author | Ruben Undheim <ruben.undheim@gmail.com> | 2018-09-02 01:07:06 +0200 |
---|---|---|
committer | Ruben Undheim <ruben.undheim@gmail.com> | 2018-09-02 01:07:06 +0200 |
commit | 059219617d2a39e9969ff459891ebc1023747e86 (patch) | |
tree | 7bffd0f931958e898a93f67f25519cd46a7f20cb |
Import openems_0.0.35+dfsg.1-1.debian.tar.xz
[dgit import tarball openems 0.0.35+dfsg.1-1 openems_0.0.35+dfsg.1-1.debian.tar.xz]
41 files changed, 1125 insertions, 0 deletions
diff --git a/CSXCAD.packinfo/DESCRIPTION b/CSXCAD.packinfo/DESCRIPTION new file mode 100644 index 0000000..8419e33 --- /dev/null +++ b/CSXCAD.packinfo/DESCRIPTION @@ -0,0 +1,7 @@ +Name: csxcad +Version: 0.0.35 +Date: 2016-07-06 +Author: various authors +Maintainer: Ruben Undheim <ruben.undheim@gmail.com> +Title: Electromagnetic field solver +Description: Signal processing tools, including filtering, windowing and display functions. diff --git a/CSXCAD.packinfo/INDEX b/CSXCAD.packinfo/INDEX new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/CSXCAD.packinfo/INDEX @@ -0,0 +1 @@ + diff --git a/CSXCAD.packinfo/NEWS b/CSXCAD.packinfo/NEWS new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/CSXCAD.packinfo/NEWS @@ -0,0 +1 @@ + @@ -0,0 +1,2 @@ +For some reason, it works fine when built in stretch, but fails with a segfault when built in sid. +Figure out why. diff --git a/README.source b/README.source new file mode 100644 index 0000000..c6f5a31 --- /dev/null +++ b/README.source @@ -0,0 +1,3 @@ +The bundled library fparser has been removed from the source package. + +Also a few .HYP files for which the license was not found, have been removed. diff --git a/changelog b/changelog new file mode 100644 index 0000000..ea08ac1 --- /dev/null +++ b/changelog @@ -0,0 +1,5 @@ +openems (0.0.35+dfsg.1-1) unstable; urgency=low + + * Initial release (Closes: #830109) + + -- Ruben Undheim <ruben.undheim@gmail.com> Sun, 02 Sep 2018 01:07:06 +0200 @@ -0,0 +1 @@ +11 @@ -0,0 +1,131 @@ +Source: openems +Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org> +Uploaders: Ruben Undheim <ruben.undheim@gmail.com> +Section: electronics +Priority: optional +Build-Depends: debhelper (>= 11), + cmake, + libhdf5-dev, + libboost-all-dev, + libcgal-dev, + libcgal-qt5-dev, + libtinyxml-dev, + libvtk6-qt-dev, + libfparser-dev, +# It is called octave-pkg-dev in stretch +# and dh-octave in sid + dh-octave | octave-pkg-dev, + chrpath, + txt2man, + g++-7 +Standards-Version: 4.2.1 +Vcs-Browser: https://salsa.debian.org/science-team/openems +Vcs-Git: https://salsa.debian.org/science-team/openems.git +Homepage: http://openems.de + +Package: openems +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libopenems0 (= ${binary:Version}), + libcsxcad0 (= ${binary:Version}), + libqcsxcad0 (= ${binary:Version}), + libnf2ff0 (= ${binary:Version}) +Recommends: octave-openems +Description: Electromagnetic simulator + This is a simulator for electromagnetic problems using the FDTD + (Finite-difference time-domain method) algorithm. + . + The FDTD algorithm is a popular algorithm for solving electromagnetic problems + in the time domain. + +Package: libopenems0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Library for the electromagnetic simulator using the FDTD method + The finite difference time domain method is a popular numerical algorithm + for solving electromagnetic problems. + . + This package contains the library used by openEMS. + +Package: libcsxcad0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Continuous Structure XML library for openEMS + A C++ library to describe geometrical objects and their physical or + non-physical properties. + . + openEMS is a simulator for electromagnetic problems using + the FDTD algorithm. + +Package: libqcsxcad0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: QT Gui Library for Visualization of Continuous Structure XML + Continuous structure XML (libcsxcad) is a way to describe geometrical objects + and their physical or non-physical properties. This library provides + functions to show this in a GUI. + . + openEMS is a simulator for electromagnetic problems using + the FDTD algorithm. + +Package: libnf2ff0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Near-field to far-field transform library + This is a library for the near-field to far-field transform used + by openEMS. + . + It is needed by the nf2ff utility. + . + openEMS is a simulator for electromagnetic problems using + the FDTD algorithm. + +Package: libopenems-dev +Architecture: any +Section: libdevel +Depends: ${misc:Depends}, + libopenems0 (= ${binary:Version}), + libcsxcad0 (= ${binary:Version}), + libqcsxcad0 (= ${binary:Version}), + libnf2ff0 (= ${binary:Version}), + libfparser-dev +Multi-Arch: same +Description: Development files for openems + This package contains the development files for all + the libraries provided by openEMS. + . + openEMS is a simulator for electromagnetic problems using + the FDTD algorithm. + +Package: octave-openems +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + openems, + octave, + epstool, + transfig +Description: Octave interface for openems + This package contains the octave-files needed for + openEMS. The are installed such that they can be used + after running "pkg load openems" or "pkg load csxcad". + . + openEMS is a simulator for electromagnetic problems using + the FDTD algorithm. diff --git a/copyright b/copyright new file mode 100644 index 0000000..90f3977 --- /dev/null +++ b/copyright @@ -0,0 +1,162 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: openEMS +Source: https://github.com/thliebig/openEMS +Files-Excluded: fparser + hyp2mat/eagle/hairpinfilter/hairpinfilter.HYP + hyp2mat/eagle/notchfilter/notchfilter.HYP + hyp2mat/eagle/tutorial/msl.HYP + +Files: * +Copyright: 2010-2016 Thorsten Liebig <Thorsten.Liebig@gmx.de> +License: GPL-3+ + +Files: CSXCAD/* + QCSXCAD/* +Copyright: 2010-2016 Thorsten Liebig <Thorsten.Liebig@gmx.de> +License: LGPL-3+ + +Files: hyp2mat/* +Copyright: 2012,2014 Koen De Vleeschauwer +License: GPL-3+ + +Files: openEMS/FDTD/engine_multithread.* + openEMS/FDTD/operator_sse.* + openEMS/tools/aligned_allocator.h + openEMS/tools/global.* +Copyright: 2010 Sebastian Held <sebastian.held@gmx.de> +License: GPL-3+ + +Files: QCSXCAD/export_pov.* + QCSXCAD/export_x3d.* +Copyright: 2010 Sebastian Held (sebastian.held@gmx.de) +License: LGPL-3+ + +Files: AppCSXCAD/linux/AppCSXCAD.spec + CSXCAD/linux/CSXCAD.spec + QCSXCAD/linux/QCSXCAD.spec + openEMS/linux/openEMS.spec +Copyright: 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +License: MIT or GPL-3+ + +Files: hyp2mat/eagle/hairpinfilter/demo_hairpin.m + hyp2mat/eagle/notchfilter/demo_notch.m + hyp2mat/eagle/tutorial/GetEpsilon.m + hyp2mat/eagle/tutorial/GetUnits.m + hyp2mat/eagle/tutorial/tutorial_hyp2mat.m +Copyright: 2011,2012 Thorsten Liebig <thorsten.liebig@gmx.de> + 2012 Koen De Vleeschauwer +License: GPL-3+ + +Files: hyp2mat/lib/clipper.cpp +Copyright: 2010-2013 Angus Johnson +License: Boost_ver_1 + +Files: CTB/* +Copyright: 2006-2013 Sebastian Held, Thorsten Liebig +License: BSD-2-clause + +Files: debian/* +Copyright: 2016,2018 Ruben Undheim <ruben.undheim@gmail.com> +License: GPL-3+ + + +License: GPL-3+ + This package is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". + + +License: LGPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU Lesser General + Public License version 3 can be found in "/usr/share/common-licenses/LGPL-3". + + +License: Boost_ver_1 + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..cec628c --- /dev/null +++ b/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +pristine-tar = True diff --git a/libcsxcad0.install b/libcsxcad0.install new file mode 100644 index 0000000..5bcae99 --- /dev/null +++ b/libcsxcad0.install @@ -0,0 +1 @@ +usr/lib/*/libCSXCAD.so.* diff --git a/libcsxcad0.shlibs b/libcsxcad0.shlibs new file mode 100644 index 0000000..d1cd130 --- /dev/null +++ b/libcsxcad0.shlibs @@ -0,0 +1 @@ +libCSXCAD 0 libcsxcad0 diff --git a/libnf2ff0.install b/libnf2ff0.install new file mode 100644 index 0000000..6224d65 --- /dev/null +++ b/libnf2ff0.install @@ -0,0 +1 @@ +usr/lib/*/libnf2ff.so.* diff --git a/libnf2ff0.shlibs b/libnf2ff0.shlibs new file mode 100644 index 0000000..f919eb6 --- /dev/null +++ b/libnf2ff0.shlibs @@ -0,0 +1 @@ +libnf2ff 0 libnf2ff0 diff --git a/libopenems-dev.install b/libopenems-dev.install new file mode 100644 index 0000000..40ec33a --- /dev/null +++ b/libopenems-dev.install @@ -0,0 +1,6 @@ +usr/lib/*/libCS*.so +usr/lib/*/libQCS*.so +usr/lib/*/libope*.so +usr/lib/*/libnf*.so +usr/include/CSXCAD +usr/include/QCSXCAD diff --git a/libopenems0.install b/libopenems0.install new file mode 100644 index 0000000..881bdfe --- /dev/null +++ b/libopenems0.install @@ -0,0 +1 @@ +usr/lib/*/libopenEMS.so.* diff --git a/libopenems0.shlibs b/libopenems0.shlibs new file mode 100644 index 0000000..d2fd3b9 --- /dev/null +++ b/libopenems0.shlibs @@ -0,0 +1 @@ +libopenEMS 0 libopenems0 diff --git a/libqcsxcad0.install b/libqcsxcad0.install new file mode 100644 index 0000000..342e622 --- /dev/null +++ b/libqcsxcad0.install @@ -0,0 +1 @@ +usr/lib/*/libQCSXCAD.so.* diff --git a/libqcsxcad0.shlibs b/libqcsxcad0.shlibs new file mode 100644 index 0000000..eaf208a --- /dev/null +++ b/libqcsxcad0.shlibs @@ -0,0 +1 @@ +libQCSXCAD 0 libqcsxcad0 diff --git a/man/AppCSXCAD.txt b/man/AppCSXCAD.txt new file mode 100644 index 0000000..13f4324 --- /dev/null +++ b/man/AppCSXCAD.txt @@ -0,0 +1,19 @@ +NAME + AppCSXCAD - GUI for looking at geometries for openEMS + +SYNOPSIS + AppCSXCAD + +DESCRIPTION + + Running the command launches a GUI + +OPTIONS + + + +AUTHOR + This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others). + + + diff --git a/man/genmanpages.sh b/man/genmanpages.sh new file mode 100755 index 0000000..5ecfefd --- /dev/null +++ b/man/genmanpages.sh @@ -0,0 +1,6 @@ +#!/bin/bash + + +txt2man -d "${CHANGELOG_DATE}" -t OPENEMS -s 1 openEMS.txt > openEMS.1 +txt2man -d "${CHANGELOG_DATE}" -t NF2FF -s 1 nf2ff.txt > nf2ff.1 +txt2man -d "${CHANGELOG_DATE}" -t APPCSXCAD -s 1 AppCSXCAD.txt > AppCSXCAD.1 diff --git a/man/nf2ff.txt b/man/nf2ff.txt new file mode 100644 index 0000000..341e1dd --- /dev/null +++ b/man/nf2ff.txt @@ -0,0 +1,16 @@ +NAME + nf2ff - Near-field to Far-field Transformation for openEMS + +SYNOPSIS + nf2ff <nf2ff-xml-file> + +DESCRIPTION + + + + +AUTHOR + This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others). + + + diff --git a/man/openEMS.txt b/man/openEMS.txt new file mode 100644 index 0000000..2e7a1e2 --- /dev/null +++ b/man/openEMS.txt @@ -0,0 +1,21 @@ +NAME + openEMS - Electromagnetic simulator using the FDTD algorithm + +SYNOPSIS + openEMS <FDTD_XML_FILE> [<options>...] + +DESCRIPTION + + +OPTIONS + + --disable-dumps Disable all field dumps for faster simulation + --debug-material Dump material distribution to a vtk file for debugging + + + +AUTHOR + This manual page was written by Ruben Undheim <ruben.undheim@gmail.com> for the Debian project (and may be used by others). + + + diff --git a/octave-openems.install b/octave-openems.install new file mode 100644 index 0000000..09821d2 --- /dev/null +++ b/octave-openems.install @@ -0,0 +1,5 @@ +usr/share/openEMS/matlab/* /usr/share/octave/packages/openems-0.0.35/ +usr/lib/*/octave +usr/share/CSXCAD/matlab/* /usr/share/octave/packages/csxcad-0.0.35/ +debian/openEMS.packinfo/* /usr/share/octave/packages/openems-0.0.35/packinfo/ +debian/CSXCAD.packinfo/* /usr/share/octave/packages/csxcad-0.0.35/packinfo/ diff --git a/openEMS.packinfo/DESCRIPTION b/openEMS.packinfo/DESCRIPTION new file mode 100644 index 0000000..9490323 --- /dev/null +++ b/openEMS.packinfo/DESCRIPTION @@ -0,0 +1,7 @@ +Name: openems +Version: 0.0.35 +Date: 2016-07-06 +Author: various authors +Maintainer: Ruben Undheim <ruben.undheim@gmail.com> +Title: Electromagnetic field solver +Description: Signal processing tools, including filtering, windowing and display functions. diff --git a/openEMS.packinfo/INDEX b/openEMS.packinfo/INDEX new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/openEMS.packinfo/INDEX @@ -0,0 +1 @@ + diff --git a/openEMS.packinfo/NEWS b/openEMS.packinfo/NEWS new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/openEMS.packinfo/NEWS @@ -0,0 +1 @@ + diff --git a/openems.install b/openems.install new file mode 100644 index 0000000..cf3de4f --- /dev/null +++ b/openems.install @@ -0,0 +1,3 @@ +usr/bin/AppCSXCAD +usr/bin/nf2ff +usr/bin/openEMS diff --git a/openems.manpages b/openems.manpages new file mode 100644 index 0000000..13cdaf4 --- /dev/null +++ b/openems.manpages @@ -0,0 +1 @@ +debian/man/*.1 diff --git a/patches/0001-Fix-path-to-binaries-for-Debian.patch b/patches/0001-Fix-path-to-binaries-for-Debian.patch new file mode 100644 index 0000000..542589b --- /dev/null +++ b/patches/0001-Fix-path-to-binaries-for-Debian.patch @@ -0,0 +1,90 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Wed, 6 Jul 2016 18:24:09 +0200 +Subject: Fix path to binaries for Debian + +--- + CSXCAD/matlab/CSXGeomPlot.m | 16 +++++++++------- + openEMS/matlab/CalcNF2FF.m | 15 ++++++++------- + openEMS/matlab/private/invoke_openEMS.m | 16 +++++++++------- + 3 files changed, 26 insertions(+), 21 deletions(-) + +diff --git a/CSXCAD/matlab/CSXGeomPlot.m b/CSXCAD/matlab/CSXGeomPlot.m +index df33c94..034f1a1 100644 +--- a/CSXCAD/matlab/CSXGeomPlot.m ++++ b/CSXCAD/matlab/CSXGeomPlot.m +@@ -27,13 +27,15 @@ end + filename = mfilename('fullpath'); + dir = fileparts( filename ); + +-if isunix +- AppCSXCAD_bin = searchBinary('AppCSXCAD.sh', ... +- {[dir filesep '..' filesep '..' filesep 'AppCSXCAD' filesep], ... +- [dir filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}); +-else % assume windows +- AppCSXCAD_bin = searchBinary('AppCSXCAD.exe',[dir filesep '..' filesep]); +-end ++%if isunix ++% AppCSXCAD_bin = searchBinary('AppCSXCAD.sh', ... ++% {[dir filesep '..' filesep '..' filesep 'AppCSXCAD' filesep], ... ++% [dir filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}); ++%else % assume windows ++% AppCSXCAD_bin = searchBinary('AppCSXCAD.exe',[dir filesep '..' filesep]); ++%end ++ ++AppCSXCAD_bin = '/usr/bin/AppCSXCAD'; + + command = [AppCSXCAD_bin ' --disableEdit ' args_string ' ' CSX_filename]; + disp( ['invoking AppCSXCAD, exit to continue script...'] ); +diff --git a/openEMS/matlab/CalcNF2FF.m b/openEMS/matlab/CalcNF2FF.m +index c80b52e..07cc849 100644 +--- a/openEMS/matlab/CalcNF2FF.m ++++ b/openEMS/matlab/CalcNF2FF.m +@@ -98,13 +98,14 @@ struct_2_xml(nf2ff.xml,nf2ff_xml,'nf2ff'); + m_filename = mfilename('fullpath'); + dir_name = fileparts( m_filename ); + +-if isunix +- nf2ff_bin = searchBinary('nf2ff', ... +- {[dir_name filesep '..' filesep 'nf2ff' filesep], ... +- [dir_name filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}, 0); +-else +- nf2ff_bin = searchBinary('nf2ff.exe',[dir_name filesep '..' filesep], 0); +-end ++%if isunix ++% nf2ff_bin = searchBinary('nf2ff', ... ++% {[dir_name filesep '..' filesep 'nf2ff' filesep], ... ++% [dir_name filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}, 0); ++%else ++% nf2ff_bin = searchBinary('nf2ff.exe',[dir_name filesep '..' filesep], 0); ++%end ++nf2ff_bin = '/usr/bin/nf2ff'; + + if ((exist(nf2ff.hdf5,'file') && (mode==0)) || (mode==2)) + disp('CalcNF2FF: Reading nf2ff data only...') +diff --git a/openEMS/matlab/private/invoke_openEMS.m b/openEMS/matlab/private/invoke_openEMS.m +index afb2b46..8c4d79b 100644 +--- a/openEMS/matlab/private/invoke_openEMS.m ++++ b/openEMS/matlab/private/invoke_openEMS.m +@@ -26,13 +26,15 @@ end + filename = mfilename('fullpath'); + dir = fileparts( filename ); + +-if isunix +- openEMS_bin = searchBinary('openEMS.sh', ... +- {[dir filesep '..' filesep '..' filesep], ... % try devel path +- [dir filesep '..' filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}); % try (default) install path +-else % assume windows +- openEMS_bin = searchBinary('openEMS.exe', [dir filesep '..' filesep '..' filesep]); +-end ++%if isunix ++% openEMS_bin = searchBinary('openEMS.sh', ... ++% {[dir filesep '..' filesep '..' filesep], ... % try devel path ++% [dir filesep '..' filesep '..' filesep '..' filesep '..' filesep 'bin' filesep]}); % try (default) install path ++%else % assume windows ++% openEMS_bin = searchBinary('openEMS.exe', [dir filesep '..' filesep '..' filesep]); ++%end ++ ++openEMS_bin = '/usr/bin/openEMS'; + + command = [openEMS_bin ' ' opts]; + diff --git a/patches/0002-Spelling-fixes.patch b/patches/0002-Spelling-fixes.patch new file mode 100644 index 0000000..8ae0682 --- /dev/null +++ b/patches/0002-Spelling-fixes.patch @@ -0,0 +1,338 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sat, 9 Jul 2016 11:12:02 +0200 +Subject: Spelling fixes + +--- + CSXCAD/src/CSPrimPolyhedron.cpp | 4 ++-- + CSXCAD/src/CSPrimPolyhedronReader.cpp | 2 +- + CSXCAD/src/CSRectGrid.cpp | 4 ++-- + QCSXCAD/QCSGridEditor.cpp | 2 +- + QCSXCAD/QCSXCAD.cpp | 8 ++++---- + QCSXCAD/QVTKStructure.cpp | 2 +- + openEMS/Common/processmodematch.cpp | 2 +- + openEMS/FDTD/extensions/operator_ext_upml.cpp | 2 +- + openEMS/FDTD/operator.cpp | 6 +++--- + openEMS/tools/AdrOp.cpp | 22 +++++++++++----------- + openEMS/tools/ErrorMsg.cpp | 10 +++++----- + openEMS/tools/ExpenseLog.h | 2 +- + openEMS/tools/useful.cpp | 2 +- + openEMS/tools/vtk_file_writer.cpp | 4 ++-- + 14 files changed, 36 insertions(+), 36 deletions(-) + +diff --git a/CSXCAD/src/CSPrimPolyhedron.cpp b/CSXCAD/src/CSPrimPolyhedron.cpp +index 7eac505..9583b7e 100644 +--- a/CSXCAD/src/CSPrimPolyhedron.cpp ++++ b/CSXCAD/src/CSPrimPolyhedron.cpp +@@ -183,11 +183,11 @@ bool CSPrimPolyhedron::BuildTree() + { + m_Dimension = 2; + +- //if structure is not closed due to invalud faces, mark it as 3D ++ //if structure is not closed due to invalid faces, mark it as 3D + if (m_InvalidFaces>0) + { + m_Dimension = 3; +- std::cerr << "CSPrimPolyhedron::BuildTree: Warning, found polyhedron has invalud faces and is not a closed surface, setting to 3D solid anyway!" << std::endl; ++ std::cerr << "CSPrimPolyhedron::BuildTree: Warning, found polyhedron has invalid faces and is not a closed surface, setting to 3D solid anyway!" << std::endl; + } + } + +diff --git a/CSXCAD/src/CSPrimPolyhedronReader.cpp b/CSXCAD/src/CSPrimPolyhedronReader.cpp +index ed224fd..c88c67e 100644 +--- a/CSXCAD/src/CSPrimPolyhedronReader.cpp ++++ b/CSXCAD/src/CSPrimPolyhedronReader.cpp +@@ -77,7 +77,7 @@ bool CSPrimPolyhedronReader::Write2XML(TiXmlElement &elem, bool parameterised) + elem.SetAttribute("FileType","PLY"); + break; + default: +- elem.SetAttribute("FileType","Unkown"); ++ elem.SetAttribute("FileType","Unknown"); + break; + } + return CSPrimitives::Write2XML(elem,parameterised); +diff --git a/CSXCAD/src/CSRectGrid.cpp b/CSXCAD/src/CSRectGrid.cpp +index 50f2947..5b36dc2 100644 +--- a/CSXCAD/src/CSRectGrid.cpp ++++ b/CSXCAD/src/CSRectGrid.cpp +@@ -78,7 +78,7 @@ std::string CSRectGrid::AddDiscLines(int direct, int numLines, double* vals, std + } + fParse.Parse(DistFunction,dirVar); + if (fParse.GetParseErrorType()!=FunctionParser::FP_NO_ERROR) +- return std::string("An error occured parsing f(") + dirVar + std::string(") - Parser message:\n") + std::string(fParse.ErrorMsg()); ++ return std::string("An error occurred parsing f(") + dirVar + std::string(") - Parser message:\n") + std::string(fParse.ErrorMsg()); + + double dValue=0; + bool error=false; +@@ -88,7 +88,7 @@ std::string CSRectGrid::AddDiscLines(int direct, int numLines, double* vals, std + if (fParse.EvalError()!=0) error=true; + AddDiscLine(direct,dValue); + } +- if (error) return std::string("An error occured evaluation the grid function f(") + dirVar + std::string(")!"); ++ if (error) return std::string("An error occurred evaluation the grid function f(") + dirVar + std::string(")!"); + } + return ""; + } +diff --git a/QCSXCAD/QCSGridEditor.cpp b/QCSXCAD/QCSGridEditor.cpp +index 4e2210c..17d8ffe 100644 +--- a/QCSXCAD/QCSGridEditor.cpp ++++ b/QCSXCAD/QCSGridEditor.cpp +@@ -237,7 +237,7 @@ void QCSGridEditor::BuildInHomogenDisc() + // if (fParse.EvalError()!=0) error=true;
+ // clGrid->AddDiscLine(i,dValue);
+ // }
+-// if (error) QMessageBox::warning(HomogenDisc,tr("Error evaluation grid function!"),QString(tr("An error occured evaluation the grid function f(%1)!").arg(coordVars.at(i))));
++// if (error) QMessageBox::warning(HomogenDisc,tr("Error evaluation grid function!"),QString(tr("An error occurred evaluation the grid function f(%1)!").arg(coordVars.at(i))));
+ // }
+ // clGrid->Sort(i);
+ // }
+diff --git a/QCSXCAD/QCSXCAD.cpp b/QCSXCAD/QCSXCAD.cpp +index 4cd4a74..b9ef094 100644 +--- a/QCSXCAD/QCSXCAD.cpp ++++ b/QCSXCAD/QCSXCAD.cpp +@@ -299,7 +299,7 @@ bool QCSXCAD::ReadNode(TiXmlNode* root) + if (root==NULL) return false;
+ clear();
+ QString msg(ReadFromXML(root));
+- if (msg.isEmpty()==false) QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occured!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
++ if (msg.isEmpty()==false) QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occurred!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
+ CSTree->UpdateTree();
+ CSTree->expandAll();
+ setModified();
+@@ -336,7 +336,7 @@ bool QCSXCAD::ReadFile(QString filename) + // QString msg(ReadFromXML(filename.toLatin1().constData()));
+ QString msg(ReadFromXML(root));
+ if (msg.isEmpty()==false)
+- QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occured!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
++ QMessageBox::warning(this,tr("Geometry read error"),tr("An geometry read error occurred!!\n\n")+msg,QMessageBox::Ok,QMessageBox::NoButton);
+
+ CSTree->UpdateTree();
+ CSTree->expandAll();
+@@ -720,7 +720,7 @@ void QCSXCAD::ExportGeometry() + if (qFilename==NULL) return;
+ if (!qFilename.endsWith(".xml")) qFilename+=".xml";
+
+- if (Write2XML(qFilename.toLatin1().data())==false) QMessageBox::warning(this,tr("Geometry Export"),tr("Unknown error occured! Geometry Export failed"),1,0);
++ if (Write2XML(qFilename.toLatin1().data())==false) QMessageBox::warning(this,tr("Geometry Export"),tr("Unknown error occurred! Geometry Export failed"),1,0);
+ }
+
+ void QCSXCAD::ExportGeometry_Povray()
+@@ -802,7 +802,7 @@ void QCSXCAD::ExportGeometry(QString dirname, int type) + StructureVTK->ExportProperty2PLY(uID,filename,clGrid.GetDeltaUnit());
+ break;
+ default:
+- QMessageBox::warning(this, "Export Dialog","Unkown export type, skipping...");
++ QMessageBox::warning(this, "Export Dialog","Unknown export type, skipping...");
+ return;
+ break;
+ }
+diff --git a/QCSXCAD/QVTKStructure.cpp b/QCSXCAD/QVTKStructure.cpp +index 9482dde..8eea1e8 100644 +--- a/QCSXCAD/QVTKStructure.cpp ++++ b/QCSXCAD/QVTKStructure.cpp +@@ -295,7 +295,7 @@ void QVTKStructure::RenderGridDir(int dir, unsigned int plane_pos) + uiQty[n]=CSGrid->GetQtyLines(n);
+ if ((int)plane_pos>=uiQty[dir])
+ {
+- cerr << "QVTKStructure::RenderGridDir: requested plane postion is out of range, resetting to max value!" << endl;
++ cerr << "QVTKStructure::RenderGridDir: requested plane position is out of range, resetting to max value!" << endl;
+ plane_pos = uiQty[dir]-1;
+ }
+
+diff --git a/openEMS/Common/processmodematch.cpp b/openEMS/Common/processmodematch.cpp +index 620257d..7cd22f8 100644 +--- a/openEMS/Common/processmodematch.cpp ++++ b/openEMS/Common/processmodematch.cpp +@@ -123,7 +123,7 @@ void ProcessModeMatch::InitProcess() + int res = m_ModeParser[n]->Parse(m_ModeFunction[ny], "x,y,z,rho,a,r,t"); + if (res >= 0) + { +- cerr << "ProcessModeMatch::InitProcess(): Warning, an error occured parsing the mode matching function (see below) ..." << endl; ++ cerr << "ProcessModeMatch::InitProcess(): Warning, an error occurred parsing the mode matching function (see below) ..." << endl; + cerr << m_ModeFunction[ny] << "\n" << string(res, ' ') << "^\n" << m_ModeParser[n]->ErrorMsg() << "\n"; + SetEnable(false); + Reset(); +diff --git a/openEMS/FDTD/extensions/operator_ext_upml.cpp b/openEMS/FDTD/extensions/operator_ext_upml.cpp +index fc46d85..d64c21c 100644 +--- a/openEMS/FDTD/extensions/operator_ext_upml.cpp ++++ b/openEMS/FDTD/extensions/operator_ext_upml.cpp +@@ -280,7 +280,7 @@ bool Operator_Ext_UPML::SetGradingFunction(string func) + int res = m_GradingFunction->Parse(m_GradFunc.c_str(), "D,dl,W,Z,N"); + if (res < 0) return true; + +- cerr << "Operator_Ext_UPML::SetGradingFunction: Warning, an error occured parsing the pml grading function (see below) ..." << endl; ++ cerr << "Operator_Ext_UPML::SetGradingFunction: Warning, an error occurred parsing the pml grading function (see below) ..." << endl; + cerr << func << "\n" << string(res, ' ') << "^\n" << m_GradingFunction->ErrorMsg() << "\n"; + return false; + } +diff --git a/openEMS/FDTD/operator.cpp b/openEMS/FDTD/operator.cpp +index a7582aa..2dec2d3 100644 +--- a/openEMS/FDTD/operator.cpp ++++ b/openEMS/FDTD/operator.cpp +@@ -450,7 +450,7 @@ Grid_Path Operator::FindPath(double start[], double stop[]) + currPos[minDir]+=-1; + minPos[minDir]-=1; + } +- //check validity of current postion ++ //check validity of current position + for (int n=0;n<3;++n) + if (currPos[n]>=numLines[n]) + { +@@ -1397,7 +1397,7 @@ bool Operator::AverageMatCellCenter(int ny, const unsigned int* pos, double* Eff + for (int n=0; n<4; ++n) + if (isnan(EffMat[n]) || isinf(EffMat[n])) + { +- cerr << "Operator::" << __func__ << ": Error, an effective material parameter is not a valid result, this should NOT have happend... exit..." << endl; ++ cerr << "Operator::" << __func__ << ": Error, an effective material parameter is not a valid result, this should NOT have happened... exit..." << endl; + cerr << ny << "@" << n << " : " << pos[0] << "," << pos[1] << "," << pos[2] << endl; + exit(0); + } +@@ -1510,7 +1510,7 @@ bool Operator::AverageMatQuarterCell(int ny, const unsigned int* pos, double* Ef + for (int n=0; n<4; ++n) + if (isnan(EffMat[n]) || isinf(EffMat[n])) + { +- cerr << "Operator::" << __func__ << ": Error, An effective material parameter is not a valid result, this should NOT have happend... exit..." << endl; ++ cerr << "Operator::" << __func__ << ": Error, An effective material parameter is not a valid result, this should NOT have happened... exit..." << endl; + cerr << ny << "@" << n << " : " << pos[0] << "," << pos[1] << "," << pos[2] << endl; + exit(0); + } +diff --git a/openEMS/tools/AdrOp.cpp b/openEMS/tools/AdrOp.cpp +index 228f8de..23a7e87 100644 +--- a/openEMS/tools/AdrOp.cpp ++++ b/openEMS/tools/AdrOp.cpp +@@ -28,15 +28,15 @@ AdrOp::AdrOp(unsigned int muiImax, unsigned int muiJmax, unsigned int muiKmax, u + fprintf(stderr,"Memory allocation failed!! exiting...");
+ exit(1);
+ }
+- error->SetMsg(1,"Adress Operator: Memory allocation failed!! exiting...");
+- error->SetMsg(2,"Adress Operator: Invalid Adress requested!! exiting...");
+- error->SetMsg(3,"Adress Operator: Invalid Position set!! exiting...");
+- error->SetMsg(4,"Adress Operator: Invalid jump or passing end of iteration!! exiting...");
+- error->SetMsg(5,"Adress Operator: 4D not yet implemented!! exiting...");
+- error->SetMsg(6,"Adress Operator: Position not set!! exiting...");
+- error->SetMsg(7,"Adress Operator: Cells not added to Adress Operator!! exiting...");
+- error->SetMsg(8,"Adress Operator: Invalid Node!! exiting...");
+- error->SetMsg(9,"Adress Operator: Grid invalid!! exiting...");
++ error->SetMsg(1,"Address Operator: Memory allocation failed!! exiting...");
++ error->SetMsg(2,"Address Operator: Invalid Address requested!! exiting...");
++ error->SetMsg(3,"Address Operator: Invalid Position set!! exiting...");
++ error->SetMsg(4,"Address Operator: Invalid jump or passing end of iteration!! exiting...");
++ error->SetMsg(5,"Address Operator: 4D not yet implemented!! exiting...");
++ error->SetMsg(6,"Address Operator: Position not set!! exiting...");
++ error->SetMsg(7,"Address Operator: Cells not added to Address Operator!! exiting...");
++ error->SetMsg(8,"Address Operator: Invalid Node!! exiting...");
++ error->SetMsg(9,"Address Operator: Grid invalid!! exiting...");
+
+ //if (muiImax<0) muiImax=0;
+ //if (muiJmax<0) muiJmax=0;
+@@ -50,7 +50,7 @@ AdrOp::AdrOp(unsigned int muiImax, unsigned int muiJmax, unsigned int muiKmax, u + else exit(-2);
+ if (muiKmax>0) uiDimension++;
+ if ( (muiLmax>0) && (muiKmax>0) ) uiDimension++;
+-// cout << "\n-----Adress Operator created: Dimension: " << uiDimension << "----" <<endl;
++// cout << "\n-----Address Operator created: Dimension: " << uiDimension << "----" <<endl;
+ uiImax=muiImax;
+ uiJmax=muiJmax;
+ uiKmax=muiKmax;
+@@ -109,7 +109,7 @@ AdrOp::AdrOp(AdrOp* origOP) +
+ AdrOp::~AdrOp()
+ {
+-// cerr << "\n------Adress Operator deconstructed-----\n" << endl;
++// cerr << "\n------Address Operator deconstructed-----\n" << endl;
+ delete error;
+ error=NULL;
+ delete clCellAdr;
+diff --git a/openEMS/tools/ErrorMsg.cpp b/openEMS/tools/ErrorMsg.cpp +index 9a1974c..ff01d49 100644 +--- a/openEMS/tools/ErrorMsg.cpp ++++ b/openEMS/tools/ErrorMsg.cpp +@@ -60,14 +60,14 @@ void ErrorMsg::Error(unsigned int nr,char *chAddMsg) + if ((nr>0) && (nr<=NoMsg)) + { + if (Msg[nr-1]!=NULL) fprintf(stderr,"%s",Msg[nr-1]); +- else fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr); ++ else fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr); + if (chAddMsg!=NULL) fprintf(stderr,"%s",chAddMsg); + getchar(); + exit(nr); + } + else + { +- fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr); ++ fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr); + getchar(); + exit(nr); + } +@@ -78,14 +78,14 @@ void ErrorMsg::Error(unsigned int nr,int addNr) + if ((nr>0) && (nr<=NoMsg)) + { + if (Msg[nr-1]!=NULL) fprintf(stderr,"%s",Msg[nr-1]); +- else fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr); ++ else fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr); + fprintf(stderr,"%d",addNr); + getchar(); + exit(nr); + } + else + { +- fprintf(stderr,"unkown error occured!! Error code: %d exiting...",nr); ++ fprintf(stderr,"unknown error occurred!! Error code: %d exiting...",nr); + getchar(); + exit(nr); + } +@@ -93,6 +93,6 @@ void ErrorMsg::Error(unsigned int nr,int addNr) + + void ErrorMsg::ownError(void) + { +- fprintf(stdout," Error occured by using Error Message class!! ... exiting..."); ++ fprintf(stdout," Error occurred by using Error Message class!! ... exiting..."); + exit(-1); + } +diff --git a/openEMS/tools/ExpenseLog.h b/openEMS/tools/ExpenseLog.h +index f8cc1ba..8aa1438 100644 +--- a/openEMS/tools/ExpenseLog.h ++++ b/openEMS/tools/ExpenseLog.h +@@ -14,7 +14,7 @@ using namespace std; + ExpenseLog EL; \ + ExpenseModule* EngineExpense=EL.AddModule("Static Engine Expenses"); \ + ExpenseModule* PPExpense=EL.AddModule("Static Post Processing"); \ +-ExpenseModule* AdrOpExpense=EL.AddModule("Adress Operator"); ++ExpenseModule* AdrOpExpense=EL.AddModule("Address Operator"); + #define EXTERN_EXPENSE_DEFINE extern ExpenseLog EL; + #define ENGINEEXPENSE_DEFINE extern ExpenseModule* EngineExpense; + #define POSTPROCEXPENSE_DEFINE extern ExpenseModule* PPExpense; +diff --git a/openEMS/tools/useful.cpp b/openEMS/tools/useful.cpp +index 50aacfb..8e548f0 100644 +--- a/openEMS/tools/useful.cpp ++++ b/openEMS/tools/useful.cpp +@@ -63,7 +63,7 @@ std::vector<unsigned int> AssignJobs2Threads(unsigned int jobs, unsigned int nrT + } + + if (jobs>0) +- std::cerr << "AssignJobs2Threads: Error, " << jobs << " remain to be assigned, this should not have happend..." << std::endl; ++ std::cerr << "AssignJobs2Threads: Error, " << jobs << " remain to be assigned, this should not have happened..." << std::endl; + + if (RemoveEmpty) + { +diff --git a/openEMS/tools/vtk_file_writer.cpp b/openEMS/tools/vtk_file_writer.cpp +index 79c40f3..be6586f 100644 +--- a/openEMS/tools/vtk_file_writer.cpp ++++ b/openEMS/tools/vtk_file_writer.cpp +@@ -70,7 +70,7 @@ void VTK_File_Writer::SetMeshLines(double const* const* lines, unsigned int cons + vtkRectilinearGrid* RectGrid = dynamic_cast<vtkRectilinearGrid*>(m_GridData); + if (RectGrid==NULL) + { +- cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happend! " << endl; ++ cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happened! " << endl; + exit(1); + } + RectGrid->SetDimensions(count[0],count[1],count[2]); +@@ -97,7 +97,7 @@ void VTK_File_Writer::SetMeshLines(double const* const* lines, unsigned int cons + vtkStructuredGrid* StructGrid = dynamic_cast<vtkStructuredGrid*>(m_GridData); + if (StructGrid==NULL) + { +- cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happend! " << endl; ++ cerr << "VTK_File_Writer::SetMeshLines: Error, grid invalid, this should not have happened! " << endl; + exit(1); + } + diff --git a/patches/0003-More-things-to-fix-build.patch b/patches/0003-More-things-to-fix-build.patch new file mode 100644 index 0000000..bf38fc7 --- /dev/null +++ b/patches/0003-More-things-to-fix-build.patch @@ -0,0 +1,38 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sun, 20 Nov 2016 22:01:42 +0000 +Subject: More things to fix build + +--- + CSXCAD/CMakeLists.txt | 4 ++-- + openEMS/CMakeLists.txt | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CSXCAD/CMakeLists.txt b/CSXCAD/CMakeLists.txt +index 9d516d5..d7670c1 100644 +--- a/CSXCAD/CMakeLists.txt ++++ b/CSXCAD/CMakeLists.txt +@@ -90,9 +90,9 @@ INCLUDE_DIRECTORIES( ${fparser_INCLUDE_DIR} ) + find_package(TinyXML REQUIRED) + ADD_DEFINITIONS( -DTIXML_USE_STL ) + +-find_package(HDF5 1.8 COMPONENTS C HL REQUIRED) ++find_package(HDF5 1.8 COMPONENTS CXX HL REQUIRED) + INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS}) +-link_directories(${HDF5_LIBRARY_DIRS}) ++link_directories(${HDF5_LIBRARIES}) + # hdf5 compat + ADD_DEFINITIONS( -DH5_USE_16_API ) + +diff --git a/openEMS/CMakeLists.txt b/openEMS/CMakeLists.txt +index 898f280..5504590 100644 +--- a/openEMS/CMakeLists.txt ++++ b/openEMS/CMakeLists.txt +@@ -108,7 +108,7 @@ find_package(TinyXML REQUIRED) + ADD_DEFINITIONS( -DTIXML_USE_STL ) + + # hdf5 +-find_package(HDF5 1.8 COMPONENTS C HL REQUIRED) ++find_package(HDF5 1.8 COMPONENTS CXX HL REQUIRED) + INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS}) + link_directories(${HDF5_LIBRARIES}) + diff --git a/patches/0004-link-more.patch b/patches/0004-link-more.patch new file mode 100644 index 0000000..2c95033 --- /dev/null +++ b/patches/0004-link-more.patch @@ -0,0 +1,33 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Sun, 20 Nov 2016 22:40:17 +0000 +Subject: link more + +--- + AppCSXCAD/CMakeLists.txt | 1 + + openEMS/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/AppCSXCAD/CMakeLists.txt b/AppCSXCAD/CMakeLists.txt +index d5a72c9..2d4b11b 100644 +--- a/AppCSXCAD/CMakeLists.txt ++++ b/AppCSXCAD/CMakeLists.txt +@@ -157,6 +157,7 @@ TARGET_LINK_LIBRARIES( AppCSXCAD + ${HDF5_HL_LIBRARIES} + ${QT_LIBRARIES} + ${vtk_LIBS} ++ hdf5_serial_hl + ) + + # +diff --git a/openEMS/CMakeLists.txt b/openEMS/CMakeLists.txt +index 5504590..794a498 100644 +--- a/openEMS/CMakeLists.txt ++++ b/openEMS/CMakeLists.txt +@@ -184,6 +184,7 @@ TARGET_LINK_LIBRARIES( openEMS + ${Boost_LIBRARIES} + ${vtk_LIBS} + ${MPI_LIBRARIES} ++ hdf5_serial_hl + ) + + # main program diff --git a/patches/0005-Deletede-CVS-dir-lintian.patch b/patches/0005-Deletede-CVS-dir-lintian.patch new file mode 100644 index 0000000..78a91e4 --- /dev/null +++ b/patches/0005-Deletede-CVS-dir-lintian.patch @@ -0,0 +1,73 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Mon, 21 Nov 2016 00:08:20 +0100 +Subject: Deletede CVS dir (lintian) + +--- + QCSXCAD/images/CVS/Entries | 40 ---------------------------------------- + QCSXCAD/images/CVS/Repository | 1 - + QCSXCAD/images/CVS/Root | 1 - + 3 files changed, 42 deletions(-) + delete mode 100644 QCSXCAD/images/CVS/Entries + delete mode 100644 QCSXCAD/images/CVS/Repository + delete mode 100644 QCSXCAD/images/CVS/Root + +diff --git a/QCSXCAD/images/CVS/Entries b/QCSXCAD/images/CVS/Entries +deleted file mode 100644 +index 3593808..0000000 +--- a/QCSXCAD/images/CVS/Entries ++++ /dev/null +@@ -1,40 +0,0 @@ +-/GeoEdit.png/1.1/Mon Oct 20 07:11:47 2003/-kb/
+-/ParaSetup.png/1.1/Mon Oct 20 07:11:13 2003/-kb/
+-/Thumbs.db/1.2/Tue Jun 27 14:51:16 2006/-kb/
+-/accept.png/1.1/Mon Aug 29 14:17:00 2005/-kb/
+-/bulb.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/bulb_off.png/1.1/Wed Oct 11 20:48:27 2006/-kb/
+-/cancel.png/1.1/Mon Oct 20 07:16:21 2003/-kb/
+-/close.png/1.1/Mon Oct 20 07:16:25 2003/-kb/
+-/configure.png/1.1/Mon Oct 10 19:03:03 2005/-kb/
+-/down.png/1.1/Mon Oct 10 19:03:03 2005/-kb/
+-/edit.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/edit_add.png/1.1/Mon Oct 20 07:16:24 2003/-kb/
+-/edit_remove.png/1.1/Mon Oct 20 07:16:25 2003/-kb/
+-/editcopy.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/exit.png/1.1/Mon Oct 20 07:16:26 2003/-kb/
+-/failed.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/filenew.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/fileopen.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/filesave.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/filesaveas.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/folder.png/1.1/Fri Apr 4 12:47:44 2003/-kb/
+-/funct.png/1.1/Mon Oct 20 07:16:30 2003/-kb/
+-/hourglass.png/1.1/Wed Sep 28 17:56:00 2005/-kb/
+-/icon.gif/1.1/Sun Aug 28 21:13:00 2005/-kb/
+-/launch.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/qt-logo.png/1.1/Wed Dec 14 17:02:26 2005/-kb/
+-/reload.png/1.1/Mon Dec 16 23:41:14 2002/-kb/
+-/result_small.png/1.1/Mon Oct 20 07:16:29 2003/-kb/
+-/results.png/1.1/Mon Oct 20 07:11:58 2003/-kb/
+-/setup.png/1.1/Sun Aug 14 17:45:15 2005/-kb/
+-/simulation.png/1.1/Fri Jan 6 12:43:58 2006/-kb/
+-/simulation_icon.png/1.1/Fri Jan 6 14:24:45 2006/-kb/
+-/simulation_small.png/1.1/Thu Jun 29 20:43:26 2006/-kb/
+-/simulation_tr.png/1.1/Fri Jan 6 14:23:52 2006/-kb/
+-/up.png/1.1/Mon Oct 10 19:03:03 2005/-kb/
+-/viewmag+.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/viewmag-.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/viewmagfit.png/1.1/Fri Apr 4 12:47:42 2003/-kb/
+-/window_icon2.png/1.1/Mon Aug 29 14:17:00 2005/-kb/
+-/work.png/1.1/Mon Oct 20 07:14:09 2003/-kb/
+diff --git a/QCSXCAD/images/CVS/Repository b/QCSXCAD/images/CVS/Repository +deleted file mode 100644 +index d336c21..0000000 +--- a/QCSXCAD/images/CVS/Repository ++++ /dev/null +@@ -1 +0,0 @@ +-StaticSimulator/images
+diff --git a/QCSXCAD/images/CVS/Root b/QCSXCAD/images/CVS/Root +deleted file mode 100644 +index 800d2fc..0000000 +--- a/QCSXCAD/images/CVS/Root ++++ /dev/null +@@ -1 +0,0 @@ +-:extssh:coft@atex.ate.uni-duisburg.de:/srv/CVS
diff --git a/patches/0006-Don-t-exit-from-library.patch b/patches/0006-Don-t-exit-from-library.patch new file mode 100644 index 0000000..7c95eb5 --- /dev/null +++ b/patches/0006-Don-t-exit-from-library.patch @@ -0,0 +1,57 @@ +From: Ruben Undheim <ruben.undheim@gmail.com> +Date: Mon, 21 Nov 2016 00:45:35 +0100 +Subject: Don't exit from library + +--- + openEMS/tools/array_ops.cpp | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/openEMS/tools/array_ops.cpp b/openEMS/tools/array_ops.cpp +index 8710b3c..7100f9a 100644 +--- a/openEMS/tools/array_ops.cpp ++++ b/openEMS/tools/array_ops.cpp +@@ -73,7 +73,7 @@ f4vector* Create1DArray_v4sf(const unsigned int numLines) + if (MEMALIGN( (void**)&array, 16, sizeof(typeof(f4vector))*numLines )) + { + cerr << "cannot allocate aligned memory" << endl; +- exit(3); ++ return 0; + } + for (unsigned int pos=0; pos<numLines; ++pos) + { +@@ -95,7 +95,7 @@ f4vector*** Create3DArray_v4sf(const unsigned int* numLines) + if (MEMALIGN( (void**)&array, 16, sizeof(typeof(f4vector**))*numLines[0] )) + { + cerr << "cannot allocate aligned memory" << endl; +- exit(3); ++ return 0; + } + //array = new f4vector**[numLines[0]]; + for (pos[0]=0; pos[0]<numLines[0]; ++pos[0]) +@@ -103,7 +103,7 @@ f4vector*** Create3DArray_v4sf(const unsigned int* numLines) + if (MEMALIGN( (void**)&array[pos[0]], 16, sizeof(typeof(f4vector*))*numLines[1] )) + { + cerr << "cannot allocate aligned memory" << endl; +- exit(3); ++ return 0; + } + //array[pos[0]] = new f4vector*[numLines[1]]; + for (pos[1]=0; pos[1]<numLines[1]; ++pos[1]) +@@ -111,7 +111,7 @@ f4vector*** Create3DArray_v4sf(const unsigned int* numLines) + if (MEMALIGN( (void**)&array[pos[0]][pos[1]], 16, sizeof(typeof(f4vector))*numZ )) + { + cerr << "cannot allocate aligned memory" << endl; +- exit(3); ++ return 0; + } + //array[pos[0]][pos[1]] = new f4vector[numZ]; + for (pos[2]=0; pos[2]<numZ; ++pos[2]) +@@ -132,7 +132,7 @@ f4vector**** Create_N_3DArray_v4sf(const unsigned int* numLines) + if (MEMALIGN( (void**)&array, 16, sizeof(typeof(f4vector***))*3 )) + { + cerr << "cannot allocate aligned memory" << endl; +- exit(3); ++ return 0; + } + //array = new f4vector***[3]; + for (int n=0; n<3; ++n) diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..6107a1e --- /dev/null +++ b/patches/series @@ -0,0 +1,6 @@ +0001-Fix-path-to-binaries-for-Debian.patch +0002-Spelling-fixes.patch +0003-More-things-to-fix-build.patch +0004-link-more.patch +0005-Deletede-CVS-dir-lintian.patch +0006-Don-t-exit-from-library.patch @@ -0,0 +1,64 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 + +include /usr/share/dpkg/pkg-info.mk + +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +CHANGELOG_DATE ?= $(shell LC_ALL=C date -u -d @$(SOURCE_DATE_EPOCH) +"%d %B %Y") + +DEBIAN_VERSION_SUFFIX = $(shell echo $(DEB_VERSION) | sed 's,.*\+\([0-9][0-9]*\).*,\1,') + +OCTAVE_BPATH = usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)/octave/packages +OCTAVE_HOSTTYPE = $(shell octave-config -p CANONICAL_HOST_TYPE) +OCTAVE_API_VERSION = $(shell octave-config -p API_VERSION) +OCTAVE_FULLBPATH = $(OCTAVE_BPATH)/openems-0.0.35/$(OCTAVE_HOSTTYPE)-$(OCTAVE_API_VERSION) + +%: + dh $@ + + +# Since some sub-folders depend on other sub-folders to be installed before +# they can be configured, dh_auto_configure and dh_auto_build cannot be use for +# configuration and build: +override_dh_auto_configure: + +override_dh_auto_build: + +# openEMS is currently being forced to build with g++-7. The reason is some yet unknown bug which +# causes crash when simulating when building with g++-8 +override_dh_auto_install: + cd CSXCAD && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .. && make && make install DESTDIR=../../debian/tmp + cd QCSXCAD && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .. && make && make install DESTDIR=../../debian/tmp + cd openEMS && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .. + cd openEMS/build && make + cd openEMS/build && make install DESTDIR=../../debian/tmp + cd AppCSXCAD && mkdir -p build && cd build && CXX=/usr/bin/g++-7 cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/usr -DCSXCAD_ROOT_DIR=../debian/tmp/usr -DQCSXCAD_ROOT_DIR=../debian/tmp/usr -DLIB_SUFFIX=/$(DEB_HOST_MULTIARCH) .. + cd AppCSXCAD/build && make + cd AppCSXCAD/build && make install DESTDIR=../../debian/tmp + cd debian/tmp/usr/share/openEMS/matlab && CXX=/usr/bin/g++-7 CXXFLAGS="-g -O2 -fstack-protector-strong -Wformat -Werror=format-security" mkoctfile -lhdf5_cpp -DH5_USE_16_API -I/usr/include/hdf5/serial h5readatt_octave.cc + mkdir -p debian/tmp/$(OCTAVE_FULLBPATH) + mv debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.oct debian/tmp/$(OCTAVE_FULLBPATH)/ + rm debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.o + rm debian/tmp/usr/share/openEMS/matlab/h5readatt_octave.cc + chrpath -d debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.so* + chrpath -d debian/tmp/usr/bin/AppCSXCAD + chrpath -d debian/tmp/usr/bin/nf2ff + chrpath -d debian/tmp/usr/bin/openEMS + + +override_dh_auto_clean: + dh_auto_clean + $(RM) -r CSXCAD/build || true + $(RM) -r QCSXCAD/build || true + $(RM) -r openEMS/build || true + $(RM) -r AppCSXCAD/build || true + $(RM) debian/man/*.1 + +override_dh_installman: + cd debian/man ; CHANGELOG_DATE="$(CHANGELOG_DATE)" ./genmanpages.sh + dh_installman diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..3392f2e --- /dev/null +++ b/tests/control @@ -0,0 +1,2 @@ +Tests: octave-load +Depends: octave-openems diff --git a/tests/octave-load b/tests/octave-load new file mode 100755 index 0000000..637edef --- /dev/null +++ b/tests/octave-load @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +octave --eval "pkg load openems" +echo "Successfully loaded openems" +octave --eval "pkg load csxcad" +echo "Successfully loaded csxcad" + +echo "done" @@ -0,0 +1,4 @@ +version=3 +opts=dversionmangle=s/\+dfsg\.\d+//,\ +oversionmangle=s/$/\+dfsg\.1/ \ +http://openems.de/download/src/openEMS-v(\S+)\.tar\.(?:bz2|gz|xz) |