SHA256
10
0
forked from pool/qcdloop
Files
qcdloop/qcdloop.spec
Atri Bhattacharya 3bd03d9249 * Update to version 2.1.0.
* Drop patches incorporated upstream: qcdloop-quadmath-linking.patch qcdloop-remove-march-mtune-flags.patch
* Re-base qcdloop-soversion.patch for update.
* Allow building for aarch64 as this is now allowed by upstream [gh#scarrazza/qcdloop#34]; still no support for ppc or power64, so these remain excluded.
* Implement %check section to run tests (only for %ix86, x86_64).

OBS-URL: https://build.opensuse.org/package/show/science/qcdloop?expand=0&rev=4
2025-05-04 14:29:08 +00:00

100 lines
3.0 KiB
RPMSpec

#
# spec file for package qcdloop
#
# Copyright (c) 2025 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 https://bugs.opensuse.org/
#
%global shlib libqcdloop2
Name: qcdloop
Version: 2.1.0
Release: 0
Summary: An object-oriented one-loop scalar Feynman integrals framework
License: GPL-3.0-only
URL: https://qcdloop.web.cern.ch/qcdloop/
Source: https://github.com/scarrazza/qcdloop/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM qcdloop-soversion.patch badshah400@gmail.com -- Implement so versioning
Patch1: qcdloop-soversion.patch
# PATCH-FIX-UPSTREAM qcdloop-fix-conflicting-types.patch badshah400@gmail.com -- Explicitly cast a variable type to ensure consistency across build archs; fixes build failures for i586
Patch2: qcdloop-fix-conflicting-types.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: pkgconfig
ExcludeArch: ppc %{power64}
%description
QCDLoop is a library of one-loop scalar Feynman integrals, evaluated close to
four dimensions. QCDLoop can compute one-loop integrals for tadpole, bubble,
triangle and box topologies. See arXiv:0712.1851 and arXiv:1605.03181 for
references.
%package -n %{shlib}
Summary: Shared library for QCDLoop - a one-loop scalar Feynman integrals framework
%description -n %{shlib}
QCDLoop is a library of one-loop scalar Feynman integrals, evaluated close to
four dimensions. This package provides the shared library for QCDLoop.
%package devel
Summary: Development headers and sources for QCDLoop
Requires: %{shlib} = %{version}
%description devel
QCDLoop is a library of one-loop scalar Feynman integrals, evaluated close to
four dimensions. This package provides headers and sources for QCDLoop needed
for developing software against QCDLoop.
%prep
%autosetup -p1
sed -i "1{s|#! %{_bindir}/env bash|#! /bin/bash|}" src/qcdloop-config.in
%build
%cmake \
%ifarch %{ix86} x86_64
-DQUADMATH_LIBRARY=quadmath \
-DENABLE_EXAMPLES:BOOL=ON \
%endif
-DENABLE_FORTRAN_WRAPPER:BOOL=ON \
%{nil}
%cmake_build
%install
%cmake_install
%ifarch %{ix86} x86_64
%check
pushd %__builddir
for exe in ./cache_test ./cmass_test ./trigger_test;
do
exec ${exe}
done
popd
%endif
%ldconfig_scriptlets -n %{shlib}
%files -n %{shlib}
%{_libdir}/libqcdloop.so.*
%files devel
%license LICENSE
%doc README.md
%{_bindir}/qcdloop-config
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/%{name}/
%changelog