256 lines
7.9 KiB
RPMSpec
256 lines
7.9 KiB
RPMSpec
|
#
|
||
|
# spec file for package votca
|
||
|
#
|
||
|
# Copyright (c) 2022-2024 SUSE LLC
|
||
|
# Copyright (c) 2021-2022 Christoph Junghans
|
||
|
#
|
||
|
# 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/
|
||
|
#
|
||
|
|
||
|
%global with_xtp 1
|
||
|
# libint2 used by xtp is broken on 32-bit archs
|
||
|
# https://github.com/evaleev/libint/issues/196
|
||
|
# https://github.com/votca/xtp/issues/652
|
||
|
%ifarch %ix86 %arm
|
||
|
%global with_xtp 0
|
||
|
%endif
|
||
|
|
||
|
Name: votca
|
||
|
Version: 2024.2
|
||
|
Release: 0
|
||
|
%define uversion %{version}
|
||
|
%define sover 2024
|
||
|
Summary: Versatile Object-oriented Toolkit for Coarse-graining Applications
|
||
|
License: Apache-2.0
|
||
|
Group: Productivity/Scientific/Chemistry
|
||
|
URL: https://www.votca.org
|
||
|
Source0: https://github.com/votca/votca/archive/v%{uversion}.tar.gz#/%{name}-%{uversion}.tar.gz
|
||
|
|
||
|
BuildRequires: cmake >= 3.13
|
||
|
BuildRequires: eigen3-devel
|
||
|
BuildRequires: fdupes
|
||
|
BuildRequires: fftw3-devel
|
||
|
BuildRequires: gcc-c++
|
||
|
BuildRequires: gnuplot
|
||
|
# gromacs is not available on 32-bit arm
|
||
|
%ifnarch %{arm}
|
||
|
BuildRequires: gromacs-devel
|
||
|
# mpi gromacs is not available on 32-bit intel
|
||
|
# used for testing only
|
||
|
%ifnarch %ix86
|
||
|
BuildRequires: gromacs-openmpi
|
||
|
%endif
|
||
|
%endif
|
||
|
BuildRequires: hdf5-devel
|
||
|
BuildRequires: lammps
|
||
|
BuildRequires: libboost_filesystem-devel >= 1.71.0
|
||
|
BuildRequires: libboost_program_options-devel >= 1.71.0
|
||
|
BuildRequires: libboost_regex-devel >= 1.71.0
|
||
|
BuildRequires: libboost_serialization-devel >= 1.71.0
|
||
|
BuildRequires: libboost_system-devel >= 1.71.0
|
||
|
BuildRequires: libboost_test-devel >= 1.71.0
|
||
|
BuildRequires: libboost_timer-devel >= 1.71.0
|
||
|
BuildRequires: libecpint-devel
|
||
|
BuildRequires: libexpat-devel
|
||
|
%if %{with_xtp}
|
||
|
BuildRequires: libint-devel
|
||
|
%endif
|
||
|
BuildRequires: libxc-devel
|
||
|
BuildRequires: memory-constraints
|
||
|
BuildRequires: openmpi-macros-devel
|
||
|
BuildRequires: pkg-config
|
||
|
BuildRequires: procps
|
||
|
BuildRequires: psmisc
|
||
|
BuildRequires: python3-cma
|
||
|
# only needed for testing
|
||
|
BuildRequires: python3-lxml
|
||
|
BuildRequires: python3-pytest
|
||
|
# for hdf5
|
||
|
BuildRequires: zlib-devel
|
||
|
|
||
|
Obsoletes: votca-tools <= 2022~rc1
|
||
|
Provides: votca-tools = %version-%release
|
||
|
Obsoletes: votca-csg <= 2022~rc1
|
||
|
Provides: votca-csg = %version-%release
|
||
|
Obsoletes: votca-csg-apps <= 2022~rc1
|
||
|
Provides: votca-csg-apps = %version-%release
|
||
|
Obsoletes: votca-xtp <= 2022~rc1
|
||
|
Provides: votca-xtp = %version-%release
|
||
|
|
||
|
%global votca_desc \
|
||
|
VOTCA is a software package which focuses on the analysis of molecular \
|
||
|
dynamics data, the development of systematic coarse-graining techniques as \
|
||
|
well as methods used for simulating microscopic charge (and exciton) transport \
|
||
|
in disordered semiconductors.
|
||
|
|
||
|
%description
|
||
|
%{votca_desc}
|
||
|
|
||
|
%package -n libvotca%sover
|
||
|
Summary: VOTCA tools library
|
||
|
Group: System/Libraries
|
||
|
Obsoletes: libvotca_tools2022 <= 2022~rc1
|
||
|
Provides: libvotca_tools2022 = %version-%release
|
||
|
Obsoletes: libvotca_csg2022 <= 2022~rc1
|
||
|
Provides: libvotca_csg2022 = %version-%release
|
||
|
Obsoletes: libvotca_xtp2022 <= 2022~rc1
|
||
|
Provides: libvotca_xtp2022 = %version-%release
|
||
|
|
||
|
%description -n libvotca%sover
|
||
|
%{votca_desc}
|
||
|
|
||
|
This package contains the librares of VOTCA package.
|
||
|
|
||
|
%package devel
|
||
|
Summary: Development headers and libraries for votca
|
||
|
Group: Development/Libraries/C and C++
|
||
|
Requires: %{name} = %{version}
|
||
|
Requires: eigen3-devel
|
||
|
Requires: fftw3-devel
|
||
|
Requires: libexpat-devel
|
||
|
Requires: libvotca%sover = %{version}
|
||
|
Obsoletes: votca-tools-devel <= 2022~rc1
|
||
|
Provides: votca-tools-devel = %version-%release
|
||
|
Obsoletes: votca-csg-devel <= 2022~rc1
|
||
|
Provides: votca-csg-devel = %version-%release
|
||
|
Obsoletes: votca-xtp-devel <= 2022~rc1
|
||
|
Provides: votca-xtp-devel = %version-%release
|
||
|
|
||
|
%description devel
|
||
|
%{votca_desc}
|
||
|
|
||
|
This package contains development headers and libraries for votca.
|
||
|
|
||
|
%package common
|
||
|
Summary: Architecture-independent data files for VOTCA
|
||
|
Group: Productivity/Scientific/Chemistry
|
||
|
BuildArch: noarch
|
||
|
Requires: /usr/bin/awk
|
||
|
Requires: bash
|
||
|
Requires: perl
|
||
|
Obsoletes: votca-csg-common <= 2022~rc1
|
||
|
Provides: votca-csg-common = %version-%release
|
||
|
Obsoletes: votca-xtp-common <= 2022~rc1
|
||
|
Provides: votca-xtp-common = %version-%release
|
||
|
|
||
|
%description common
|
||
|
%{votca_desc}
|
||
|
|
||
|
This package contains the architecture-independent data files for VOTCA.
|
||
|
|
||
|
%package tutorials
|
||
|
Summary: Tutorial documentation for VOTCA Coarse Graining Engine
|
||
|
Group: Productivity/Scientific/Chemistry
|
||
|
BuildArch: noarch
|
||
|
Requires: /bin/bash
|
||
|
Obsoletes: votca-csg-tutorials <= 2022~rc1
|
||
|
Provides: votca-csg-tutorials = %version-%release
|
||
|
|
||
|
%description tutorials
|
||
|
%{votca_desc}
|
||
|
|
||
|
This package contains the tutorial documentation and sample data.
|
||
|
|
||
|
%package bash
|
||
|
Summary: Bash completion for votca
|
||
|
Group: System/Shells
|
||
|
Requires: %{name} = %{version}
|
||
|
Requires: bash-completion
|
||
|
BuildArch: noarch
|
||
|
Obsoletes: votca-csg-bash <= 2022~rc1
|
||
|
Provides: votca-csg-bash = %version-%release
|
||
|
|
||
|
%description bash
|
||
|
%{votca_desc}
|
||
|
|
||
|
This package contains the bash completion support for votca.
|
||
|
|
||
|
%prep
|
||
|
%autosetup -p1 -n %{name}-%{uversion}
|
||
|
|
||
|
%build
|
||
|
%setup_openmpi
|
||
|
|
||
|
# save some memory
|
||
|
%limit_build -m 2400
|
||
|
%{cmake} -DINSTALL_RC_FILES=OFF -DCMAKE_SKIP_RPATH=OFF -DENABLE_TESTING=ON -DENABLE_REGRESSION_TESTING=ON \
|
||
|
-DINJECT_MARCH_NATIVE=OFF -DBUILD_CSGAPPS=ON \
|
||
|
-DBUILD_XTP=%{with_xtp} \
|
||
|
..
|
||
|
%cmake_build
|
||
|
|
||
|
%install
|
||
|
%cmake_install
|
||
|
sed -i '1s@env @@' \
|
||
|
%{buildroot}/%{_datadir}/votca/scripts/inverse/{iie,cma_processor,table_smooth_at_cut_off}.py \
|
||
|
%{buildroot}/%{_datadir}/votca/csg-tutorials/LJ1-LJ2/imc/svd.py \
|
||
|
%{buildroot}/%{_datadir}/votca/csg-tutorials/spce/ibi*/spce.py \
|
||
|
%{buildroot}/%{_datadir}/votca/scripts/inverse/check_csg_xml.py
|
||
|
sed -i '1s@/usr/bin/env .*perl@/usr/bin/perl@' \
|
||
|
%{buildroot}/%{_datadir}/votca/scripts/inverse/*.pl
|
||
|
sed -i '1s@/usr/bin/env .*bash@/bin/bash@' \
|
||
|
%{buildroot}/%{_datadir}/votca/scripts/inverse/*.sh \
|
||
|
%{buildroot}/%{_datadir}/votca/csg-tutorials/*/*/*.sh \
|
||
|
%{buildroot}/%{_datadir}/votca/csg-tutorials/*/*.sh \
|
||
|
%{buildroot}/%{_datadir}/votca/csg-tutorials/*/*/*/*.sh \
|
||
|
%{buildroot}/%{_bindir}/csg_{call,inverse}
|
||
|
|
||
|
%if %{with_xtp}
|
||
|
chmod +x %{buildroot}/%{_datadir}/votca/xtp-tutorials/pyxtp/scripts/run_*.py
|
||
|
sed -i '1s@env @@' %{buildroot}/%{_bindir}/xtp_* \
|
||
|
%{buildroot}/%{_datadir}/votca/xtp/benchmark/xtp_benchmark \
|
||
|
%{buildroot}/%{_datadir}/votca/xtp-tutorials/pyxtp/scripts/run_*.py
|
||
|
sed -i '1s@/usr/bin/env .*bash@/bin/bash@' \
|
||
|
%{buildroot}/%{_datadir}/votca/xtp-tutorials/clean_notebooks.sh
|
||
|
%endif
|
||
|
|
||
|
# Move bash completion file to correct location
|
||
|
mkdir -p %{buildroot}%{_datadir}/bash_completion.d
|
||
|
cp %{__builddir}/csg/scripts/csg-completion.bash %{buildroot}%{_datadir}/bash_completion.d/votca
|
||
|
|
||
|
%fdupes %{buildroot}%{_prefix}
|
||
|
|
||
|
%check
|
||
|
%setup_openmpi
|
||
|
%ctest
|
||
|
|
||
|
%files
|
||
|
%{_bindir}/{votca,csg,xtp}_*
|
||
|
%{_mandir}/man1/*
|
||
|
%{_mandir}/man7/*
|
||
|
|
||
|
%post -n libvotca%sover -p /sbin/ldconfig
|
||
|
%postun -n libvotca%sover -p /sbin/ldconfig
|
||
|
|
||
|
%files -n libvotca%sover
|
||
|
%doc NOTICE.rst README.rst CHANGELOG.rst
|
||
|
%license LICENSE
|
||
|
%{_libdir}/libvotca_*.so.%{sover}
|
||
|
|
||
|
%files devel
|
||
|
%{_includedir}/votca/
|
||
|
%{_libdir}/libvotca_*.so
|
||
|
%{_libdir}/cmake/VOTCA_*
|
||
|
|
||
|
%files tutorials
|
||
|
%{_datadir}/votca/{csg,xtp}-tutorials
|
||
|
|
||
|
%files common
|
||
|
%{_datadir}/votca
|
||
|
%exclude %{_datadir}/votca/{csg,xtp}-tutorials
|
||
|
|
||
|
%files bash
|
||
|
%dir %{_datadir}/bash_completion.d
|
||
|
%{_datadir}/bash_completion.d/votca
|
||
|
|
||
|
%changelog
|