Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:repabuild
dueca
dueca.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dueca.spec of Package dueca
# -*-rpm-*- %define name dueca %define ver 4.1.2 %define sosuffix 4_1 %define gtkthree_config 1 %define glui_config 1 %define gtkmm_config 1 %define hdf5_config 1 %define udpcom_config 1 %define python3_config 1 %if 0%{?sle_version} && 0%{?sle_version} <= 120300 && 0 %define websock_config 0 %else %define websock_config 1 %endif %if 0%{?staticlibs_config} %if "%{_prefix}" != "/usr" %define ldconfigfile 1 %endif %endif Summary: Middleware for real-time distributed systems Name: %name Version: %ver Release: 1 License: EUPL-1.2 URL: https://github.com/dueca Group: Development/Libraries/C and C++ Requires: python3 Requires: cvs Requires: python3-GitPython Requires: python3-pyparsing Requires: python3-lxml Requires: python3-jinja2 Requires: msgpack-devel BuildRequires: python3-xlwt BuildRequires: wget BuildRequires: lsb-release BuildRequires: msgpack-devel BuildRequires: python3-pip BuildRequires: python3-jinja2 %if 0%{?is_opensuse} && 0%{?sle_version} >= 150500 BuildRequires: guile-devel %endif %if 0%{?is_opensuse} && 0%{?sle_version} < 150500 BuildRequires: libguile1-devel BuildRequires: guile1 %endif %if 0%{?fedora_version} BuildRequires: compat-guile18-devel %endif %if 0%{?gtkthree_config} BuildRequires: gtkmm3-devel BuildRequires: gtk3-devel %endif BuildRequires: fdupes BuildRequires: fltk-devel BuildRequires: eigen3-devel BuildRequires: flex BuildRequires: bison BuildRequires: libglade2-devel BuildRequires: python3-lxml %if 0%{?suse_version} BuildRequires: gtkmm2-devel pkg-config BuildRequires: rsvg-convert %else BuildRequires: gtkmm24-devel pkgconfig BuildRequires: librsvg2-tools %endif BuildRequires: gcc-c++ BuildRequires: freeglut-devel BuildRequires: graphviz %if 0%{?suse_version} BuildRequires: graphviz-gd %endif BuildRequires: doxygen BuildRequires: cmake BuildRequires: gtkglext-devel BuildRequires: python3-pyparsing BuildRequires: rapidjson-devel BuildRequires: python3-setuptools BuildRequires: python3-wheel BuildRequires: python3-GitPython BuildRequires: python3-pip %if 0%{?python3_config} BuildRequires: python3-devel BuildRequires: libboost_python3-devel %define SCRIPT_PYTHON_CONFIG -DSCRIPT_PYTHON=ON %endif %if 0%{?python_config} BuildRequires: python-devel %define SCRIPT_PYTHON_CONFIG -DSCRIPT_PYTHON=ON %endif %if 0%{?sle_version} BuildRequires: openSUSE-release BuildRequires: libboost_system-devel >= 1.60 BuildRequires: libboost_thread-devel >= 1.60 BuildRequires: libboost_filesystem-devel >= 1.60 BuildRequires: libboost_coroutine-devel >= 1.60 BuildRequires: libboost_context-devel >= 1.60 BuildRequires: libboost_regex-devel >= 1.60 %if 0%{?is_opensuse} == 0 BuildRequires: libboost_headers-devel-impl >= 1.60 %endif %else BuildRequires: boost-devel %endif BuildRequires: pugixml-devel %if 0%{?glui_config} BuildRequires: glui-devel %define GLUI_CONFIG -DBUILD_GLUTGUI=ON %endif %if 0%{?gtkmm_config} %define GTKMM_CONFIG -DBUILD_GTKMM=ON %endif %if 0%{?gtkthree_config} %define GTKTHREE_CONFIG -DBUILD_GTK3=ON -DBUILD_GTKMM3=ON %endif %if 0%{?staticlibs_config} %define STATICLIBS_CONFIG -DDUECA_BUILD_STATIC=ON -DDUECA_BUILD_SHARED=OFF %else %define STATICLIBS_CONFIG -DDUECA_BUILD_STATIC=OFF -DDUECA_BUILD_SHARED=ON %endif %if 0%{?websock_config} %define WEBSOCK_CONFIG -DBUILD_WEBSOCK=ON BuildRequires: openssl-devel BuildRequires: Simple-Websocket-Server-devel BuildRequires: Simple-Web-Server-devel %endif BuildRequires: date-devel BuildRequires: toml11-devel Source0: dueca-%{ver}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-root %description DUECA is a middleware library for the implementation of real-time data flow processes on distributed hardware. It is currently used for the Man-Machine lab of the Control and Simulation Division, Aerospace Engineering, Delft Universtiy of Technology, on the SIMONA Research Simulator, for the displays in the PH-LAB laboratory aircraft and on a some other set-ups. %package devel Summary: Development headers and libraries for DUECA Group: Development/Libraries/C and C++ Requires: %{name} = %{ver} Requires: eigen3-devel Requires: freeglut-devel Requires: fltk-devel Requires: libglade2-devel Requires: gtkglext-devel %if 0%{?suse_version} Requires: libtinyxml-devel %else Requires: tinyxml-devel %endif Requires: doxygen Requires: make Requires: gcc-c++ %if 0%{?suse_version} Requires: libXmu-devel Requires: libXi-devel %endif %if 0%{?suse_version} Requires: libguile1-devel Requires: guile1 Requires: udev %endif %if 0%{?fedora_version} Requires: compat-guile18-devel %endif %if 0%{?glui_config} Requires: glui-devel %endif %if 0%{?python3_config} Requires: python3-devel Requires: libboost_python3-devel %endif %if 0%{?python_config} Requires: python2-devel %endif Requires: boost-devel %description devel DUECA is a middleware library for the implementation of real-time data flow processes on distributed hardware. This package contains development headers, libraries and development scripts %package dusime Summary: For simulations in dueca Group: Development/Libraries/C and C++ Requires: %{name} = %{ver} %description dusime DUSIME is an addition to DUECA that provides classes for implementations of simulation models in a real-time data flow process %package dusime-devel Summary: For simulations in dueca Group: Development/Libraries/C and C++ Requires: %{name}-dusime = %{ver} Requires: %{name}-ddff-devel Requires: toml11-devel %description dusime-devel DUSIME is an addition to DUECA that provides classes for implementations of simulation models in a real-time data flow process. This package contains development headers, libraries and development scripts %package -n libdueca-ddff%{sosuffix} Summary: File logging facilities Group: Development/Libraries/C and C++ Requires: %{name} = %{ver} %description -n libdueca-ddff%{sosuffix} DDFF is a custom file format for logging and replay in DUECA %package ddff-devel Summary: File logging facilities Group: Development/Libraries/C and C++ Requires: libdueca-ddff%{sosuffix} = %{ver} Requires: date-devel %description ddff-devel DDFF is a custom file format for logging and replay in DUECA This package contains development headers, libraries and development scripts %package -n libdueca-inter%{sosuffix} Summary: Connect DUECA instances Group: Development/Libraries/C and C++ Requires: %{name} %description -n libdueca-inter%{sosuffix} INTER is an addition to DUECA that provides classes for implementations of simulation models in a real-time data flow process %package inter-devel Summary: For simulations in dueca Group: Development/Libraries/C and C++ Requires: libdueca-inter%{sosuffix} = %{ver} %description inter-devel INTER is an addition to DUECA that can connect several DUECA processes. This package contains development headers, libraries and development scripts %if 0%{?hdf5_config} %define HDF5_CONFIG -DBUILD_HDF5=ON %package -n libdueca-hdf%{sosuffix} Summary: Connect DUECA instances Group: Development/Libraries/C and C++ BuildRequires: hdf5-devel BuildRequires: zlib-devel Requires: python3-h5py %description -n libdueca-hdf%{sosuffix} HDF is an addition to DUECA that provides hdf logging %package hdf-devel Summary: For simulations in dueca Group: Development/Libraries/C and C++ Requires: libdueca-hdf%{sosuffix} = %{ver} Requires: hdf5-devel Requires: %{name}-devel %description hdf-devel HDF is an addition to DUECA that provides hdf logging This package contains development headers, libraries, in case you want to tweak and replace the default logging module %endif %if 0%{?udpcom_config} %define UDPCOM_CONFIG -DBUILD_UDP=ON %package -n libdueca-udp%{sosuffix} Summary: Connect DUECA communication using new udp library Group: Development/Libraries/C and C++ %description -n libdueca-udp%{sosuffix} New udp-based connection library, offers means to communication using udp point-to-point, multicast, broadcast and communication over websocket links. %package udp-devel Summary: Network communication for simulations in DUECA Group: Development/Libraries/C and C++ Requires: libdueca-udp%{sosuffix} = %{ver} Requires: %{name}-devel %description udp-devel This library offers an efficient UDP cycle based communications mechanism for DUECA, using either multicast, broadcast or point-to-point links, with the set-up of the communication based on a server-client TCP connection. %endif %if 0%{?websock_config} %package -n libdueca-websock%{sosuffix} Summary: Connect to DUECA using websockets Group: Development/Libraries/C and C++ %description -n libdueca-websock%{sosuffix} Websocket communication to channels. Offers websocket endpoints and communication through JSON objects. %package websock-devel Summary: For simulations in dueca Group: Development/Libraries/C and C++ Requires: libdueca-websock%{sosuffix} = %{ver} Requires: %{name}-devel %description websock-devel This library offers websocket connection to dueca channels %endif %package doc Summary: API documentation for DUECA/DUSIME Group: Development/Libraries/C and C++ %description doc Documentation for users of the DUSIME and DUECA API %prep %setup -q -n dueca-%{ver} %build %cmake \ %if 0%{?suse_version} '-DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro -Wl,--no-as-needed' \ '-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-z,relro' \ '-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro' \ %endif -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DALSO_INIT_GLUT=ON \ %{?STATICLIBS_CONFIG} \ -DDUECA_DOC_PATH:PATH=%{_docdir} \ %{?GLUI_CONFIG} \ %{?GTKMM_CONFIG} \ %{?GTKTHREE_CONFIG} \ %{?HDF5_CONFIG} \ %{?UDPCOM_CONFIG} \ %{?WEBSOCK_CONFIG} \ %{?SCRIPT_PYTHON_CONFIG} \ -DTRY_INSTALL_PYTHON_BUILD=ON \ -DBUILD_X11GL=ON \ -DBUILD_DDFF=ON if [ -d "%{?__cmake_builddir}" ]; then %cmake_build cd %{__cmake_builddir} elif [ -d build ]; then cd build make else make fi make doc %install if [ -d "%{?__cmake_builddir}" ]; then cd %{__cmake_builddir} elif [ -d build ]; then cd build fi %make_install %if 0%{?suse_version} %fdupes -s %{buildroot}%{_docdir} %endif %preun doc if [ $1 == 0 ]; then # remove the symbolic link to the doc directory rm -f %{_docdir}/dueca-doc fi %post doc # create a symbolic link to the doc directory rm -f %{_docdir}/dueca-doc ln -sf %{_docdir}/dueca-doc-%{ver} %{_docdir}/dueca-doc %if 0%{?staticlibs_config} == 0 %post /sbin/ldconfig # add a group rtdueca if it does not exist, for permission cpulatency getent group rtdueca || groupadd rtdueca %postun /sbin/ldconfig %post dusime /sbin/ldconfig %postun dusime /sbin/ldconfig %post -n libdueca-ddff%{sosuffix} /sbin/ldconfig %postun -n libdueca-ddff%{sosuffix} /sbin/ldconfig %post -n libdueca-inter%{sosuffix} /sbin/ldconfig %postun -n libdueca-inter%{sosuffix} /sbin/ldconfig %if 0%{?hdf5_config} %post -n libdueca-hdf%{sosuffix} /sbin/ldconfig %postun -n libdueca-hdf%{sosuffix} /sbin/ldconfig %endif %if 0%{?udpcom_config} %post -n libdueca-udp%{sosuffix} /sbin/ldconfig %postun -n libdueca-udp%{sosuffix} /sbin/ldconfig %endif %if 0%{?websock_config} %post -n libdueca-websock%{sosuffix} /sbin/ldconfig %postun -n libdueca-websock%{sosuffix} /sbin/ldconfig %endif %endif %files %defattr(-, root, root) %doc README.md ChangeLog.md AUTHORS COPYING # configuration files %dir %{_sysconfdir}/dueca %config(noreplace) %{_sysconfdir}/dueca/profile %config(noreplace) %{_sysconfdir}/udev/rules.d/90-rtdueca-cpulatency.rules # for some reason, sle 15.1+ complains about /etc/udev directory not owned %if 0%{?sle_version} >= 150100 && 0%{?is_opensuse} %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %endif # dynamic libraries %if 0%{?staticlibs_config} == 0 %{_libdir}/libdueca.so.* %{_libdir}/libdueca-fltk*.so.* %{_libdir}/libdueca-glut.so.* %{_libdir}/libdueca-gtk2.so.* %if 0%{?gtkmm_config} %{_libdir}/libdueca-gtkmm.so.* %endif %if 0%{?gtkthree_config} %{_libdir}/libdueca-extra-gtk3.so.* %{_libdir}/libdueca-gtk3.so.* %{_libdir}/libdueca-gtkmm3.so.* %endif %{_libdir}/libdueca-ip*.so.* %{_libdir}/libdueca-shm*.so.* %{_libdir}/libdueca-extra.so.* %{_libdir}/libdueca-extra-glut.so.* %{_libdir}/libdueca-extra-gtk2.so.* %if 0%{?gtkmm_config} %{_libdir}/libdueca-extra-gtkmm.so.* %endif %{_libdir}/libdueca-extra-X11.so.* %if 0%{?glui_config} %{_libdir}/libdueca-glut-gui*.so.* %{_libdir}/libdueca-extra-glut-gui*.so.* %endif %endif # run scripts %{_bindir}/moveandnumber %{_bindir}/clean-dueca-rundir %{_bindir}/rrundueca %{_bindir}/rrunduecaX %{_bindir}/rrunduecaXmwm %{_bindir}/rrunduecaXxf %{_bindir}/rrunduecaXfvwm # data files %{_prefix}/share/dueca # ldconfig file %if 0%{?ldconfigfile} %config /etc/ld.so.conf.d/dueca.conf %endif %if 0%{?staticlibs_config} %define so_or_a a %else %define so_or_a so %endif %define startsoa a %files devel %defattr(-, root, root) # header files %dir %{_includedir}/dueca %{_includedir}/dueca/dueca %{_includedir}/dueca/extra %{_includedir}/dueca/*.h # pkgconfig %{_libdir}/pkgconfig/dueca-extra*pc %{_libdir}/pkgconfig/dueca-fltk*.pc %{_libdir}/pkgconfig/dueca-glut.pc %{_libdir}/pkgconfig/dueca-glut-??.pc %{_libdir}/pkgconfig/dueca-gtk2*.pc %{_libdir}/pkgconfig/dueca-ip*.pc %{_libdir}/pkgconfig/dueca.pc %{_libdir}/pkgconfig/dueca-start*.pc %{_libdir}/pkgconfig/dueca-shm*.pc # static or dynamic libraries %{_libdir}/libdueca.%{so_or_a} %{_libdir}/libdueca-start-??.%{startsoa} %{_libdir}/libdueca-fltk.%{so_or_a} %{_libdir}/libdueca-fltk-??.%{startsoa} %{_libdir}/libdueca-glut.%{so_or_a} %{_libdir}/libdueca-glut-??.%{startsoa} %{_libdir}/libdueca-gtk2.%{so_or_a} %{_libdir}/libdueca-gtk2-??.%{startsoa} %if 0%{?gtkmm_config} %{_libdir}/pkgconfig/dueca-gtkmm.pc %{_libdir}/libdueca-gtkmm.%{so_or_a} %endif %if 0%{?gtkthree_config} %{_libdir}/pkgconfig/dueca-gtk3*.pc %{_libdir}/pkgconfig/dueca-gtkmm3.pc %{_libdir}/libdueca-extra-gtk3.%{so_or_a} %{_libdir}/libdueca-gtk3.%{so_or_a} %{_libdir}/libdueca-gtk3-??.%{startsoa} %{_libdir}/libdueca-gtkmm3.%{so_or_a} %endif %{_libdir}/libdueca-ip.%{so_or_a} %{_libdir}/libdueca-ip-??.%{startsoa} %{_libdir}/libdueca-shm.%{so_or_a} %{_libdir}/libdueca-shm-??.%{startsoa} %{_libdir}/libdueca-extra.%{so_or_a} %{_libdir}/libdueca-extra-??.%{startsoa} %{_libdir}/libdueca-extra-fltk.%{startsoa} %{_libdir}/libdueca-extra-glut.%{so_or_a} %{_libdir}/libdueca-extra-glut-??.%{startsoa} %{_libdir}/libdueca-extra-gtk2.%{so_or_a} %{_libdir}/libdueca-extra-gtk2-??.%{startsoa} %if 0%{?gtkmm_config} %{_libdir}/libdueca-extra-gtkmm.%{so_or_a} %endif %{_libdir}/libdueca-extra-X11.%{so_or_a} %if 0%{?glui_config} %{_libdir}/pkgconfig/dueca-glut-gui*.pc %{_libdir}/libdueca-glut-gui.%{so_or_a} %{_libdir}/libdueca-glut-gui-??.%{startsoa} %{_libdir}/libdueca-extra-glut-gui.%{so_or_a} %{_libdir}/libdueca-extra-glut-gui-??.%{startsoa} %endif # scripts relevant for development %{_bindir}/dueca-codegen %{_bindir}/dueca-config %{_bindir}/dueca-filtmods %{_bindir}/dueca-gencommh %{_bindir}/dueca-listdco %{_bindir}/dueca-project %{_bindir}/dueca-copy-project %{_bindir}/dueca-scriptcommands %{_bindir}/dueca-tagfiles %{_bindir}/dueca-rtwparser %{_bindir}/makemycvsdir %{_bindir}/new-module %{_bindir}/new-dco %{_bindir}/dueca-channeldot %{_bindir}/dueca-gproject %{_bindir}/dueca-cvs-to-git %{_bindir}/dueca-scheme-to-python %{_bindir}/dueca-startlink # python package %{python3_sitelib}/duecautils* %files -n libdueca-inter%{sosuffix} %defattr(-, root, root) %if 0%{?staticlibs_config} == 0 %{_libdir}/libdueca-inter.so.* %endif %if 0%{?hdf5_config} %files -n libdueca-hdf%{sosuffix} %defattr(-, root, root) %if 0%{?staticlibs_config} == 0 %{_libdir}/libdueca-hdf.so.* %endif %endif %if 0%{?udpcom_config} %files -n libdueca-udp%{sosuffix} %defattr(-, root, root) %if 0%{?staticlibs_config} == 0 %{_libdir}/libdueca-udp.so.* %if 0%{?gtkthree_config} %{_libdir}/libdueca-udp-gtk3.so.* %endif %{_libdir}/libdueca-udp-gtk2.so.* %endif %files udp-devel %defattr(-, root, root) %{_libdir}/libdueca-udp.%{so_or_a} %{_libdir}/libdueca-udp-??.%{startsoa} %{_includedir}/dueca/udp %{_libdir}/pkgconfig/dueca-udp*.pc %if 0%{?gtkthree_config} %{_libdir}/libdueca-udp-gtk3.%{so_or_a} %{_libdir}/libdueca-udp-gtk3-??.%{startsoa} %endif %{_libdir}/libdueca-udp-gtk2.%{so_or_a} %{_libdir}/libdueca-udp-gtk2-??.%{startsoa} # closing off udpcom_config %endif # for now always included %files -n libdueca-ddff%{sosuffix} %{_libdir}/libdueca-ddff.so.* %{_libdir}/libdueca-ddfflog.so.* %{_bindir}/ddff-convert %files ddff-devel %{_libdir}/libdueca-ddff.%{so_or_a} %{_libdir}/libdueca-ddfflog.%{so_or_a} %{_libdir}/libdueca-ddfflog-??.%{startsoa} %{_includedir}/dueca/ddff %{_libdir}/pkgconfig/dueca-ddff*.pc %{python3_sitelib}/pyddff* %if 0%{?websock_config} %files -n libdueca-websock%{sosuffix} %defattr(-, root, root) %if 0%{?staticlibs_config} == 0 %{_libdir}/libdueca-websock.so.* %endif %files websock-devel %defattr(-, root, root) %{_libdir}/libdueca-websock.%{so_or_a} %{_libdir}/libdueca-websock-??.%{startsoa} %{_includedir}/dueca/websock %{_libdir}/pkgconfig/dueca-websock*.pc %endif %files inter-devel %defattr(-, root, root) %{_libdir}/libdueca-inter.%{so_or_a} %{_libdir}/libdueca-inter-??.%{startsoa} %{_includedir}/dueca/inter %{_libdir}/pkgconfig/dueca-inter*.pc %if 0%{?hdf5_config} %files hdf-devel %defattr(-, root, root) %{_libdir}/libdueca-hdf.%{so_or_a} %{_libdir}/libdueca-hdf-??.%{startsoa} %{_includedir}/dueca/hdf5utils %{_libdir}/pkgconfig/dueca-hdf*.pc %endif %files dusime %defattr(-, root, root) %if 0%{?staticlibs_config} == 0 %{_libdir}/libdueca-dusime.so.* %{_libdir}/libdueca-dusime-gtk2.so.* %if 0%{?gtkthree_config} %{_libdir}/libdueca-dusime-gtk3.so.* %endif %endif %files dusime-devel %defattr(-, root, root) %{_libdir}/libdueca-dusime.%{so_or_a} %{_libdir}/libdueca-dusime-??.%{startsoa} %{_libdir}/libdueca-dusime-gtk2.%{so_or_a} %{_libdir}/libdueca-dusime-gtk2-??.%{startsoa} %if 0%{?gtkthree_config} %{_libdir}/libdueca-dusime-gtk3.%{so_or_a} %{_libdir}/libdueca-dusime-gtk3-??.%{startsoa} %endif %{_includedir}/dueca/dusime %{_libdir}/pkgconfig/dueca-dusime*pc %files doc %defattr(-, root, root) %doc %{_docdir}/dueca-doc-%{version} %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