File OMSimulator.spec of Package OMSimulator
Name: OMSimulator
Version: 1
Release: 0
License: GPL-3.0-only or EPL-1.0
Url: https://openmodelica.org
Group: Productivity/Scientific/Other
Summary: OpenModelica simulator
Source6: OMSimulator-rpmlintrc
Patch1: Makefile.in.patch
Requires: omc-base = %version
BuildRequires: omc-base = %version
BuildRequires: gcc9-c++ gmake cmake flex autoconf automake libtool
BuildRequires: readline-devel
%if "%_repository" == "CentOS_7" || "%_repository" == "ScientificLinux_7"
BuildRequires: boost-devel
%endif
# This was copied verbatim from example
BuildRoot: %{_tmppath}/OpenModelica-%{version}-build
# BuildArch:
%package devel
Summary: Simulator devel files
%description
The OMSimulator project is a FMI-based co-simulation tool
that supports ordinary (i.e., non-delayed) and TLM connections.
This is work in progress in the ITEA3 project
(OPENCPS) Open Cyber-Physical System Model-Driven
Certified Development.
%description devel
Development files for simulation
%define ombuilddir %{_builddir}
%define sourcedir %{_sourcedir}/OpenModelica-%{version}
%prep
%define exclude() mv %1 %1.nobuild
cd %sourcedir
%{exclude OMCompiler}
%{exclude OMPlot}
%{exclude OMParser}
%{exclude OMSens_Qt}
%{exclude OMNotebook}
%{exclude OMShell}
%{exclude OMEdit}
echo v%{om_version} > %{sourcedir}/REVISION
%__mkdir_p %{ombuilddir}
mkdir -p %_builddir%{dirname:%openmodelicahome}
ln -s %_builddir %_builddir%openmodelicahome
for pkg in omc-base
do rpm -ql $pkg | cpio -p --make-directories --quiet %_builddir
done
cd %{sourcedir}
%patch1 -p3
%build
cd %{sourcedir}
# Really don't remember why is this needed
SUSE_ASNEEDED=0
export SUSE_ASNEEDED
autoconf
%om_setup CXX=g++-9 --prefix=%openmodelicahome --datadir=%_datadir/OpenModelica
ln -sf %_builddir %sourcedir/build
touch omc.skip
touch omplot.skip
make omsimulator
touch omparser.skip
touch omedit.skip
%install
for pkg in omc-base
do for f in $(rpm -ql $pkg | sort -r); do rm -d %_builddir$f || true ; done
done
cd %{sourcedir}
make install DESTDIR=%{buildroot}
rm %{buildroot}%openmodelicahome/share/doc/omc/*.pdf
%__mkdir_p %{buildroot}/%{_bindir}
for file in %{buildroot}/%{openmodelicahome}/bin/*; do %__ln_s %{openmodelicahome}/bin/`basename $file` %{buildroot}/%{_bindir}/; done
%__chmod a+rx,u+w,o-w,g-w %{buildroot}/%{openmodelicahome}/bin/OMSimulatorPython3
%files
%{_bindir}/OMSimulator
%{_bindir}/OMSimulatorPython3
%{openmodelicahome}/bin/OMSimulator
%{openmodelicahome}/bin/OMSimulatorPython3
%{openmodelicahome}/lib/x86_64-linux-gnu/omc/OMSimulator/*.py
%dir %openmodelicahome/lib/x86_64-linux-gnu/omc/OMSimulator
%_datadir/OpenModelica/OMSimulator
%files devel
%dir %openmodelicahome/include/omc/OMSimulator
%{openmodelicahome}/include/omc/OMSimulator/OMSimulator.h
%{openmodelicahome}/include/omc/OMSimulator/Types.h
%{openmodelicahome}/lib/x86_64-linux-gnu/omc/libOMSimulator.a
%{openmodelicahome}/lib/x86_64-linux-gnu/omc/libOMSimulatorLua.a
%{openmodelicahome}/lib/x86_64-linux-gnu/omc/libOMSimulator.so
%changelog