2020-05-15 10:39:02 +00:00
#
# spec file for package ldas-tools-framecpp
#
2024-09-04 18:43:58 +00:00
# Copyright (c) 2024 SUSE LLC
2020-05-15 10:39:02 +00:00
#
# 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/
#
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%define shlib libframecpp16
%define shlib_c libframecppc4
%define shlib_cmn libframecppcmn12
%define shlib_fcpp3 libframecpp3-8
%define shlib_fcpp4 libframecpp4-10
%define shlib_fcpp6 libframecpp6-10
%define shlib_fcpp7 libframecpp7-6
%define shlib_fcpp8 libframecpp8-11
%define shlib_fcpp9 libframecpp9-0
2020-05-15 10:39:02 +00:00
Name : ldas-tools-framecpp
2024-09-04 18:43:58 +00:00
Version : 3.0.4
2020-05-15 10:39:02 +00:00
Release : 0
Summary : Toolkit providing C++ bindings for dealing with frame data
License : GPL-2.0-or-later
Group : Productivity/Scientific/Physics
2024-09-04 18:43:58 +00:00
URL : https://software.ligo.org
Source : https://software.ligo.org/lscsoft/source/%{name} -%{version} .tar.gz
2020-10-23 08:13:17 +00:00
# PATCH-FIX-UPSTREAM ldas-tools-framecpp-fix-pkgconfig.patch badshah400@gmail.com -- Fix paths in pkgconfig file when absolute paths to LIBDIR and INCLUDEDIR are specified to cmake
Patch1 : ldas-tools-framecpp-fix-pkgconfig.patch
2020-05-15 10:39:02 +00:00
BuildRequires : cmake
BuildRequires : doxygen
BuildRequires : fdupes
BuildRequires : gcc-c++
BuildRequires : graphviz
2024-09-04 18:43:58 +00:00
BuildRequires : gtest
BuildRequires : libboost_chrono-devel
BuildRequires : libboost_filesystem-devel
BuildRequires : libboost_headers-devel >= 1.67.0
2020-05-15 10:39:02 +00:00
BuildRequires : libboost_program_options-devel
2024-09-04 18:43:58 +00:00
BuildRequires : libboost_serialization-devel
BuildRequires : libboost_system-devel
2020-08-15 07:16:05 +00:00
BuildRequires : memory-constraints
2020-05-15 10:39:02 +00:00
BuildRequires : pkgconfig
BuildRequires : pkgconfig(ldastoolsal)
2022-04-28 10:39:53 +00:00
BuildRequires : pkgconfig(ldastoolscmake)
2024-09-04 18:43:58 +00:00
BuildRequires : pkgconfig(libzstd)
2020-05-15 10:39:02 +00:00
BuildRequires : pkgconfig(openssl)
BuildRequires : pkgconfig(zlib)
2024-09-04 18:43:58 +00:00
# Build failures for 32 bit archs: `long long unsigned int` vs `size_t` types mismatch
ExcludeArch : %{ix86} %{arm32}
2020-05-15 10:39:02 +00:00
%description
LDAS (LIGO Data Analysis System) is a collection of libraries and executables
aid in the processing of gravitation wave data sets. %{name} provides the
tools abstraction toolkit for LDAS.
This package provides C++ bindings for libframe for dealing with frame files.
2024-09-04 18:43:58 +00:00
%package -n %{shlib}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2024-09-04 18:43:58 +00:00
%description -n %{shlib}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_fcpp3}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2024-09-04 18:43:58 +00:00
%description -n %{shlib_fcpp3}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_fcpp4}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2024-09-04 18:43:58 +00:00
%description -n %{shlib_fcpp4}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_fcpp6}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2024-09-04 18:43:58 +00:00
%description -n %{shlib_fcpp6}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_fcpp7}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2024-09-04 18:43:58 +00:00
%description -n %{shlib_fcpp7}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_fcpp8}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2024-09-04 18:43:58 +00:00
%description -n %{shlib_fcpp8}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_fcpp9}
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
%description -n %{shlib_fcpp9}
This package provides a shared library for %{name} - a toolkit providing C++
bindings for working with frame data.
%package -n %{shlib_c}
2022-04-28 10:39:53 +00:00
Summary : C bindings for ldas-tools
Group : System/Libraries
2024-09-04 18:43:58 +00:00
%description -n %{shlib_c}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C
bindings for working with frame data.
2024-09-04 18:43:58 +00:00
%package -n %{shlib_cmn}
2022-04-28 10:39:53 +00:00
Summary : C++ bindings for ldas-tools
Group : System/Libraries
Conflicts : libframecpp
2020-05-15 10:39:02 +00:00
2024-09-04 18:43:58 +00:00
%description -n %{shlib_cmn}
2022-04-28 10:39:53 +00:00
This package provides a shared library for %{name} - a toolkit providing C++
2020-05-15 10:39:02 +00:00
bindings for working with frame data.
%package devel
Summary : Headers and source files for developing with %{name}
Group : Development/Libraries/C and C++
2024-09-04 18:43:58 +00:00
Requires : %{shlib_cmn} = %{version} -%{release}
Requires : %{shlib_c} = %{version} -%{release}
Requires : %{shlib_fcpp3} = %{version} -%{release}
Requires : %{shlib_fcpp4} = %{version} -%{release}
Requires : %{shlib_fcpp6} = %{version} -%{release}
Requires : %{shlib_fcpp7} = %{version} -%{release}
Requires : %{shlib_fcpp8} = %{version} -%{release}
Requires : %{shlib_fcpp9} = %{version} -%{release}
Requires : %{shlib} = %{version} -%{release}
2020-05-15 10:39:02 +00:00
Requires : libboost_program_options-devel
Requires : pkgconfig(ldastoolsal)
2024-09-04 18:43:58 +00:00
Requires : pkgconfig(libzstd)
2020-05-15 10:39:02 +00:00
Requires : pkgconfig(openssl)
Requires : pkgconfig(zlib)
%description devel
This package provides the headers and sources needed for developing programs
using %{name} - a toolkit providing C++ bindings for libframe.
%package c-devel
Summary : Headers and source files for developing with %{name} 's in C
Group : Development/Libraries/C and C++
2024-09-04 18:43:58 +00:00
Requires : %{shlib_c} = %{version} -%{release}
2020-05-15 10:39:02 +00:00
%description c-devel
This package provides the headers and sources needed for developing programs
with %{name} in C.
%package utils
Summary : Command line tools for use with framecpp
Group : Productivity/Scientific/Physics
%description utils
This package provides command line tools for use with framecpp.
%package doc
Summary : HTML documentation for %{name} API
Group : Documentation/HTML
2022-04-28 10:39:53 +00:00
BuildArch : noarch
2020-05-15 10:39:02 +00:00
%description doc
This package provides the API documentation for %{name} in HTML format.
%prep
%autosetup -p1
%build
2020-08-15 07:16:05 +00:00
%limit_build -m 2000
2024-09-04 18:43:58 +00:00
%cmake \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir} /%{name} \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON
%cmake_build
2020-05-15 10:39:02 +00:00
%install
2024-09-04 18:43:58 +00:00
%cmake_install
2020-05-15 10:39:02 +00:00
find %{buildroot} -type f -name " * . l a " -delete -print
find %{buildroot} %{_libdir} -name " * . a " -delete -print
2024-09-04 18:43:58 +00:00
%fdupes %{buildroot} %{_docdir} /%{name} /
%fdupes %{buildroot} %{_includedir} /framecpp/
%post -n %{shlib} -p /sbin/ldconfig
%postun -n %{shlib} -p /sbin/ldconfig
%post -n %{shlib_c} -p /sbin/ldconfig
%postun -n %{shlib_c} -p /sbin/ldconfig
%post -n %{shlib_cmn} -p /sbin/ldconfig
%postun -n %{shlib_cmn} -p /sbin/ldconfig
%post -n %{shlib_fcpp3} -p /sbin/ldconfig
%postun -n %{shlib_fcpp3} -p /sbin/ldconfig
%post -n %{shlib_fcpp4} -p /sbin/ldconfig
%postun -n %{shlib_fcpp4} -p /sbin/ldconfig
%post -n %{shlib_fcpp6} -p /sbin/ldconfig
%postun -n %{shlib_fcpp6} -p /sbin/ldconfig
%post -n %{shlib_fcpp7} -p /sbin/ldconfig
%postun -n %{shlib_fcpp7} -p /sbin/ldconfig
%post -n %{shlib_fcpp8} -p /sbin/ldconfig
%postun -n %{shlib_fcpp8} -p /sbin/ldconfig
%post -n %{shlib_fcpp9} -p /sbin/ldconfig
%postun -n %{shlib_fcpp9} -p /sbin/ldconfig
%files -n %{shlib}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecpp.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_cmn}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecppcmn.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_fcpp3}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecpp3.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_fcpp4}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecpp4.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_fcpp6}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecpp6.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_fcpp7}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecpp7.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_fcpp8}
2020-05-15 10:39:02 +00:00
%{_libdir} /libframecpp8.so.*
2024-09-04 18:43:58 +00:00
%files -n %{shlib_fcpp9}
%{_libdir} /libframecpp9.so.*
2022-04-28 10:39:53 +00:00
2024-09-04 18:43:58 +00:00
%files -n %{shlib_c}
%{_libdir} /libframecppc.so.*
2022-04-28 10:39:53 +00:00
2020-05-15 10:39:02 +00:00
%files devel
2024-09-04 18:43:58 +00:00
%license COPYING
%doc ChangeLog.md README
2020-05-15 10:39:02 +00:00
%{_includedir} /framecpp/
%{_libdir} /libframecpp.so
%{_libdir} /libframecppcmn.so
%{_libdir} /libframecpp3.so
%{_libdir} /libframecpp4.so
%{_libdir} /libframecpp6.so
%{_libdir} /libframecpp7.so
%{_libdir} /libframecpp8.so
2024-09-04 18:43:58 +00:00
%{_libdir} /libframecpp9.so
2020-05-15 10:39:02 +00:00
%exclude %{_libdir} /pkgconfig/framecppc.pc
%{_libdir} /pkgconfig/*.pc
%files c-devel
2024-09-04 18:43:58 +00:00
%license COPYING
2020-05-15 10:39:02 +00:00
%{_includedir} /framecppc/
%{_libdir} /libframecppc.so
%{_libdir} /pkgconfig/framecppc.pc
%files utils
2024-09-04 18:43:58 +00:00
%license COPYING
2020-05-15 10:39:02 +00:00
%{_bindir} /*
%files doc
%doc %{_docdir} /%{name}
%changelog