File OMEdit.spec of Package OMEdit

%bcond_without osg

Name:           OMEdit
Version:        1
Release:        0
License:        GPL-3.0-only or EPL-1.0
Url:            https://openmodelica.org
Group:          Productivity/Scientific/Other
Summary:        OpenModelica model editor

Source6:        OMEdit-rpmlintrc
Patch1:         Makefile.in.patch
Patch2:         OMEditLIB.pro.patch

Requires: omc = %version
BuildRequires: omc-base = %version

BuildRequires:  libQt5Core-devel libqt5-linguist libQt5Concurrent-devel libqt5-qtsvg-devel libqt5-qtxmlpatterns-devel
BuildRequires:  libQt5WebKitWidgets-devel libQt5Gui-devel libQt5Xml-devel libQt5PrintSupport-devel libQt5OpenGL-devel
BuildRequires:  gcc-c++ gmake cmake autoconf automake libtool
BuildRequires: jre
#BuildRequires:  jre libexpat-devel pkgconfig lpsolve-devel
#BuildRequires:  lapack-devel zlib-devel openblas-devel
#BuildRequires:  readline-devel
#BuildRequires:  libffi-devel
#BuildRequires:  libuuid-devel
%if "%_repository" == "ScientificLinux_7" || "%_repository" == "CentOS_7"
BuildRequires: boost-devel
BuildRequires: libcurl-devel
%endif

BuildRequires: omc  OMPlot-devel OMSimulator-devel OMParser-devel
BuildRequires: OMPlot OMSimulator

BuildRequires: ImageMagick
%if %{with osg}
BuildRequires: libOpenSceneGraph131-devel
Requires: libOpenSceneGraph131
%endif

# This was copied verbatim from example
BuildRoot:      %{_tmppath}/OpenModelica-%{version}-build
# BuildArch:

%description
OMEdit is the OpenModelica Connection Editor is 
an advanced open source user friendly 
graphical user interface that provides the users 
with easy‐to‐use model creation, connection editing, 
simulation of models, and plotting of results. 
The interface is extensible enough to support 
user‐defined extensions/models. Models can be 
both textual and graphical.

%define sourcedir %_sourcedir/OpenModelica-%version
%define ombuilddir  %sourcedir/build

%prep

%define exclude() mv %1 %1.nobuild
cd %sourcedir
%{exclude OMSimulator} 
%{exclude OMPlot}
#{exclude OMParser} 
%{exclude OMSens_Qt} 
%{exclude OMNotebook} 
%{exclude OMShell} 
    
cd %sourcedir 

echo v%{version} > %sourcedir/REVISION

mkdir -p %{ombuilddir}

# Build makefile expect antlr.jar file to be in @OPENMODELICAHOME@
# Maybe %_datadir should be under %openmodelicahome
mkdir -p %ombuilddir%{dirname:%openmodelicahome}
ln -s %ombuilddir %ombuilddir%openmodelicahome
for pkg in omc OMParser-devel OMPlot OMPlot-devel OMSimulator OMSimulator-devel
do rpm -ql $pkg | cpio -p --make-directories --quiet %ombuilddir
done

cd %sourcedir
%patch1 -p3
%patch2 -p1

%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
make omedit

%install

cd %ombuilddir
for pkg in omc OMParser-devel OMPlot OMPlot-devel OMSimulator OMSimulator-devel
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}
if [ ! -x %buildroot%_bindir/OMEdit ]; then
ln -s %{openmodelicahome}/bin/OMEdit %{buildroot}/%{_bindir}
fi

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}/OMEdit
%{openmodelicahome}/bin/OMEdit
%dir %om_datadir/omedit
%dir %om_datadir/omedit/nls
%om_datadir/omedit/nls/OMEdit_??*.qm
%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
openSUSE Build Service is sponsored by