File vgm.spec of Package vgm
#
# spec file for package vgm
#
# Copyright (c) 2023 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 http://bugs.opensuse.org/
#
%define tagname 5-1
Name: vgm
Version: 5.1
Release: 0
License: GPL-3.0-only
Summary: The Virtual Geometry Model (VGM)
URL: https://vmc-project.github.io/vgm-documentation/
Group: Productivity/Scientific/Physics
Source0: https://github.com/vmc-project/vgm/archive/refs/tags/v%{tagname}.tar.gz#/vgm-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: fdupes
BuildRequires: clhep-devel
BuildRequires: geant4-devel
BuildRequires: libexpat-devel
BuildRequires: libxerces-c-devel
BuildRequires: root6-devel
# Required for examples
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5OpenGL)
BuildRequires: cmake(Qt5PrintSupport)
BuildRequires: cmake(Qt5Widgets)
%description
Virtual Geometry Model (VGM) is a geometry conversion tool, actually
providing conversion between Geant4 and ROOT TGeo geometry models.
Its design allows inclusion of another geometry model by
implementing a single sub-module instead of writing bilateral
converters for all already supported models.
%package -n libVGM
Summary: Virtual Geometry Model (VGM) library
Group: System/Libraries
%description -n libVGM
Virtual Geometry Model (VGM) is a geometry conversion tool.
This package provides the VGM library.
%package -n libVGM-devel
Summary: The Virtual Geometry Model (VGM) - development files
Group: Development/Libraries/C and C++
%description -n libVGM-devel
Virtual Geometry Model (VGM) is a geometry conversion tool.
This package provides the development files for VGM.
%package -n libVGM-examples
Summary: Examples for VGM
Group: Productivity/Scientific/Physics
%description -n libVGM-examples
Provides example code for VGM
%package -n libClhepVGM
Summary: Clhep part of VGM
Group: System/Libraries
%description -n libClhepVGM
Provides clhep bindings for VGM
%package -n libGeant4GM
Summary: Geant4 bindings of VGM
Group: System/Libraries
%description -n libGeant4GM
Provides Geant4 bindings for VGM
%package -n libRootGM
Summary: Root bindings of VGM
Group: System/Libraries
%description -n libRootGM
Provides Root bindings for VGM
%prep
%setup -n vgm-%{tagname}
%build
%cmake \
-DWITH_EXAMPLES=ON \
-DWITH_TEST=ON \
%{nil}
%cmake_build
%install
%cmake_install
rm %{buildroot}/%{_bindir}/vgm_test
%fdupes %{buildroot}%{_datadir}/VGM-*
%post -n libVGM -p /sbin/ldconfig
%postun -n libVGM -p /sbin/ldconfig
%post -n libClhepVGM -p /sbin/ldconfig
%postun -n libClhepVGM -p /sbin/ldconfig
%post -n libGeant4GM -p /sbin/ldconfig
%postun -n libGeant4GM -p /sbin/ldconfig
%post -n libRootGM -p /sbin/ldconfig
%postun -n libRootGM -p /sbin/ldconfig
%files -n libVGM
%{_libdir}/libBaseVGM.so
%{_libdir}/libXmlVGM.so
%files -n libVGM-devel
%{_libdir}/VGM-*
%{_includedir}/BaseVGM
%{_includedir}/VGM
%{_includedir}/XmlVGM
%{_includedir}/ClhepVGM
%{_includedir}/Geant4GM
%{_includedir}/RootGM
%files -n libVGM-examples
%{_datadir}/VGM-*
%{_bindir}/example*
%files -n libClhepVGM
%{_libdir}/libClhepVGM.so
%files -n libGeant4GM
%{_libdir}/libGeant4GM.so
%files -n libRootGM
%{_libdir}/libRootGM.so
%changelog