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
openSUSE Build Service is sponsored by