Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
science
openEMS
openEMS.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openEMS.spec of Package openEMS
# # spec file for package openEMS # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: openEMS %define octpkg openems Version: 0.0.36 Release: 0 Summary: Electromagnetic field solver using the EC-FDTD method License: GPL-3.0-only Group: Productivity/Scientific/Physics URL: https://openems.de/start # source - openEMS component only, not openEMS-Project Source0: https://github.com/thliebig/%{name}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz # PATCH-FIX-OPENSUSE openEMS-octave-openEMS-load.patch -- Fix openEMS.sh load Patch2: 0002-Fix-openEMS.sh-load.patch # PATCH-FIX-OPENSUSE openEMS-octave-nf2ff-load.patch -- Fix nf2ff load Patch3: 0003-Fix-nf2ff-load.patch # PATCH-FIX-OPENSUSE openEMS-readme-octave-package.patch -- Add correct instruction about Octave and MATLAB packages Patch4: 0004-Add-correct-instruction-about-Octave-and-MATLAB-pack.patch BuildRequires: CSXCAD-devel BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: hdf5-devel BuildRequires: libboost_chrono-devel BuildRequires: libboost_date_time-devel BuildRequires: libboost_serialization-devel BuildRequires: libboost_system-devel BuildRequires: libboost_thread-devel BuildRequires: octave-devel BuildRequires: tinyxml-devel BuildRequires: vtk-devel BuildRequires: cmake(Qt5Sql) BuildRequires: cmake(Qt5Widgets) BuildRequires: pkgconfig(fparser) BuildRequires: pkgconfig(python3) ExcludeArch: %{ix86} s390x %description Electromagnetic field solver using the EC-FDTD method. %package -n libnf2ff0 Summary: Near-field to far-field transformation library Group: System/Libraries %description -n libnf2ff0 Near-field to far-field transformation library. %package -n libopenEMS0 Summary: Electromagnetic field solver library Group: System/Libraries %description -n libopenEMS0 Electromagnetic field solver using the EC-FDTD method library. %package devel Summary: Development files for openEMS Group: Development/Libraries/C and C++ Requires: libnf2ff0 = %{version} Requires: libopenEMS0 = %{version} %description devel This package contains libraries for developing applications that use %{name}. %package -n octave-%{name} Summary: Octave interface for openEMS Group: Productivity/Scientific/Physics Requires: %{name} = %{version} Requires: AppCSXCAD Requires: octave-CSXCAD Requires: octave-cli %description -n octave-%{name} Electromagnetic field solver using the EC-FDTD method. This package provides Octave interface for openEMS. %package -n %{name}-matlab Summary: MATLAB interface for openEMS Group: Productivity/Scientific/Physics Requires: %{name} = %{version} Requires: AppCSXCAD Requires: CSXCAD-matlab %description -n %{name}-matlab Electromagnetic field solver using the EC-FDTD method. This package provides MATLAB interface for openEMS. %prep %setup -q %autopatch -p1 echo "Name: %{octpkg}" >> DESCRIPTION echo "Version: %{version}" >> DESCRIPTION echo "Date: 2015-10-10" >> DESCRIPTION echo "Author: Thorsten Liebig" >> DESCRIPTION echo "Maintainer: Thorsten Liebig" >> DESCRIPTION echo "Title: Electromagnetic field solver using the EC-FDTD method" >> DESCRIPTION echo "Description: Electromagnetic field solver using the EC-FDTD method." >> DESCRIPTION echo "Categories: openEMS" >> DESCRIPTION echo "Depends: csxcad" >> DESCRIPTION echo "Autoload: yes" >> DESCRIPTION cat > Makefile-octave << 'EOF' MKOCTFILE := mkoctfile all: h5readatt_octave.oct %.oct: %.cc $(MKOCTFILE) -lhdf5 -DH5_USE_16_API -s $< clean: ; rm *.o *.oct EOF rm matlab/setup.m mkdir octave_build cp -r matlab octave_build pushd octave_build/matlab mkdir src mv *.cc src/ mv ../../Makefile-octave src/Makefile mkdir inst mv *.m inst/ mv {private,examples,Tutorials} inst/ cp ../../COPYING . mv ../../DESCRIPTION . cd .. %octave_pkg_src popd %build %ifarch %ix86 # Required for XMM intrinsics export CFLAGS="%{optflags} -msse" export CXXFLAGS="%{optflags} -msse" %endif %ifnarch %ix86 x86_64 # Always handle subnormals according to IEEE754 (gradual underflow), # as the code for enabling Flush-To-Zero is x86 specific. This may have # a performance impact, arch specific code for non-x86 should be used. export CXXFLAGS="%{optflags} -DSSE_CORRECT_DENORMALS" %endif %cmake %cmake_build cd .. pushd octave_build %octave_pkg_build popd %install %cmake_install pushd octave_build %octave_pkg_install popd %post -n libnf2ff0 -p /sbin/ldconfig %postun -n libnf2ff0 -p /sbin/ldconfig %post -n libopenEMS0 -p /sbin/ldconfig %postun -n libopenEMS0 -p /sbin/ldconfig %post -n octave-%{name} %octave --eval "pkg rebuild -auto %{octpkg}" %postun -n octave-%{name} %octave --eval "pkg rebuild" %files %license COPYING %doc NEWS README %{_bindir}/* %files -n libnf2ff0 %{_libdir}/libnf2ff.so.* %files -n libopenEMS0 %{_libdir}/libopenEMS.so.* %files devel %dir %{_prefix}/include/%{name} %{_prefix}/include/%{name}/* %{_libdir}/libnf2ff.so %{_libdir}/libopenEMS.so %files -n octave-%{name} %{octpackages_dir}/%{octpkg}-%{version} %{octlib_dir}/%{octpkg}-%{version} %files -n %{name}-matlab %dir %{_datadir}/%{name} %{_datadir}/%{name}/matlab/ %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor