File OMNotebook.spec of Package OMNotebook
#
# spec file for package OMNotebook
#
# 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/
#
%bcond_without osg
Name: OMNotebook
Version: 1.18.0
Release: 0
License: EPL-1.0 OR GPL-3.0-only
URL: https://openmodelica.org
Group: Productivity/Scientific/Other
Summary: OpenModelica model editor
#Source6: OMEdit-rpmlintrc
Patch1: Makefile.in.patch
BuildRequires: omc = %version
BuildRequires: omc-base = %version
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: gmake
BuildRequires: jre
#BuildRequires: libQt5Concurrent-devel
BuildRequires: libQt5Core-devel
#BuildRequires: libQt5Gui-devel
#BuildRequires: libQt5OpenGL-devel
BuildRequires: libQt5PrintSupport-devel
BuildRequires: libQt5WebKitWidgets-devel
BuildRequires: libQt5Xml-devel
BuildRequires: libqt5-linguist
BuildRequires: libqt5-qtsvg-devel
#BuildRequires: libqt5-qtxmlpatterns-devel
BuildRequires: libtool
#BuildRequires: jre
BuildRequires: libexpat-devel
#BuildRequires: pkgconfig lpsolve-devel
#BuildRequires: lapack-devel zlib-devel openblas-devel
#BuildRequires: readline-devel
#BuildRequires: libffi-devel
BuildRequires: libcurl-devel
#BuildRequires: libuuid-devel
#BuildRequires: OMParser-devel
#BuildRequires: OMPlot
BuildRequires: OMPlot
BuildRequires: OMPlot-devel
#BuildRequires: OMSimulator
#BuildRequires: OMSimulator-devel
BuildRequires: omc
#BuildRequires: ImageMagick
%if %{with osg}
#BuildRequires: libOpenSceneGraph131-devel
#Requires: libOpenSceneGraph131
%endif
# This was copied verbatim from example
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# BuildArch:
%description
OMNotebook DrModelica model editor. This subsystem provides a lightweight
notebook editor, compared to the more advanced Mathematica notebooks available
in MathModelica. This basic functionality still allows essentially the whole
DrModelica tutorial to be handled. Hierarchical text documents with chapters
and sections can be represented and edited, including basic formatting. Cells
can contain ordinary text or Modelica models and expressions, which can be
evaluated and simulated. However, no mathematical typesetting or graphic
plotting facilities are yet available in the cells of this notebook editor.
%define sourcedir %_sourcedir/OpenModelica-%version
%prep
%define exclude() mv %1 %1.nobuild
cd %sourcedir
%{exclude OMSimulator}
%{exclude OMPlot}
%{exclude OMParser}
%{exclude OMSens_Qt}
%{exclude OMShell}
%{exclude OMEdit}
cd %sourcedir
echo v%{version} > %sourcedir/REVISION
# Build makefile expect antlr.jar file to be in @OPENMODELICAHOME@
# Maybe %_datadir should be under %openmodelicahome
mkdir -p %_builddir%{dirname:%openmodelicahome}
%define unpack_packages omc OMPlot-devel OMPlot
ln -s %_builddir %_builddir%openmodelicahome
for pkg in %unpack_packages
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
touch omc.skip
touch omplot.skip
touch omsimulator.skip
touch omparser.skip
touch omedit.skip
make omnotebook
%install
cd %_builddir
for pkg in %unpack_packages
do rpm -ql $pkg | sed -e "s/^\///" | xargs rm 2> /dev/null || true
done
cd %sourcedir
make install DESTDIR=%{buildroot}
%__rm -f %buildroot%openmodelicahome/share/doc/omc/*.pdf
%__rm -f %buildroot%openmodelicahome/share/omc/java/antlr-[23]*.jar
%__rm -f %buildroot%openmodelicahome/share/doc/omc/COPYING
mkdir -p %{buildroot}%{_bindir}
%__ln_s %{openmodelicahome}/bin/OMNotebook %{buildroot}/%{_bindir}
mkdir -p %buildroot%_datadir/{applications,icons/hicolor}
#convert OMEdit/OMEditLIB/Resources/icons/omedit.ico omedit.png
#for f in omedit-?.png
#do
# size=`identify $f | cut -d ' ' -f 3 | cut -d x -f 1`
# mkdir -p %buildroot%_datadir/icons/hicolor/${size}x${size}/apps
# cp $f %buildroot%_datadir/icons/hicolor/${size}x$size/apps/openmodelica-omedit.png
#done
#cp %_sourcedir/openmodelica-omedit.desktop %buildroot%_datadir/applications/
%files
%{_bindir}/OMNotebook
%{openmodelicahome}/bin/OMNotebook
%dir %openmodelicahome/share/omnotebook
%dir %openmodelicahome/share/omnotebook/nls
%openmodelicahome/share/omnotebook/nls/OMNotebook_??*.qm
%openmodelicahome/share/omnotebook
#%dir %_datadir/icons/hicolor/16x16
#%dir %_datadir/icons/hicolor/48x48
#%dir %_datadir/icons/hicolor/256x256
#%dir %_datadir/icons/hicolor/16x16/apps
#%dir %_datadir/icons/hicolor/48x48/apps
#%dir %_datadir/icons/hicolor/256x256/apps
#%_datadir/applications/openmodelica-omedit.desktop
#%_datadir/icons/hicolor/*/apps/openmodelica-omedit.png
%changelog