From bc7eedb5538fc5498fd63ecd616384a268ad69e3db32da81abd981cb5aab9d38 Mon Sep 17 00:00:00 2001 From: Dmitry Roshchin Date: Thu, 12 Sep 2024 06:45:35 +0000 Subject: [PATCH] Version update and numpy 2.0 compatibilty OBS-URL: https://build.opensuse.org/package/show/science/lalframe?expand=0&rev=21 --- .gitattributes | 23 +++++ .gitignore | 1 + lalframe-3.0.3.tar.xz | 3 + lalframe-3.0.4.tar.xz | 3 + lalframe-3.0.5.tar.xz | 3 + lalframe.changes | 169 +++++++++++++++++++++++++++++++++++++ lalframe.spec | 189 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 391 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 lalframe-3.0.3.tar.xz create mode 100644 lalframe-3.0.4.tar.xz create mode 100644 lalframe-3.0.5.tar.xz create mode 100644 lalframe.changes create mode 100644 lalframe.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/lalframe-3.0.3.tar.xz b/lalframe-3.0.3.tar.xz new file mode 100644 index 0000000..57efe92 --- /dev/null +++ b/lalframe-3.0.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1215bcff09d07eef75b0f0426d666b21532bb79574a024a53a1017082427f4dd +size 7301296 diff --git a/lalframe-3.0.4.tar.xz b/lalframe-3.0.4.tar.xz new file mode 100644 index 0000000..c9f379d --- /dev/null +++ b/lalframe-3.0.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f08cb469e7f29c78cb0e03bc437f2a79caeb5864f1d6bfe438427a8e3449b685 +size 7691476 diff --git a/lalframe-3.0.5.tar.xz b/lalframe-3.0.5.tar.xz new file mode 100644 index 0000000..74d99d1 --- /dev/null +++ b/lalframe-3.0.5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47b5facd552484ea1e08935251441441ba0997329c37a752adc6fc1e43e6d243 +size 7446788 diff --git a/lalframe.changes b/lalframe.changes new file mode 100644 index 0000000..5fa7cc0 --- /dev/null +++ b/lalframe.changes @@ -0,0 +1,169 @@ +------------------------------------------------------------------- +Wed Sep 11 16:42:03 UTC 2024 - Atri Bhattacharya + +- Update to version 3.0.5: + * No release notes. + +------------------------------------------------------------------- +Sat Jul 20 02:58:44 UTC 2024 - Atri Bhattacharya + +- Update to version 3.0.4: + * No release notes. + +------------------------------------------------------------------- +Mon Jan 22 07:27:53 UTC 2024 - Atri Bhattacharya + +- Update to version 3.0.3: + * No release notes. + +------------------------------------------------------------------- +Tue May 23 06:23:32 UTC 2023 - Atri Bhattacharya + +- Update to version 3.0.1: + * No release notes. +- Update shlib package name in keeping with upstream so version. + +------------------------------------------------------------------- +Sun Feb 12 04:43:47 UTC 2023 - Atri Bhattacharya + +- Add python-py BuildRequires to fix tests that fail due to "No + module named 'py._path'" errors. + +------------------------------------------------------------------- +Fri Aug 19 11:59:05 UTC 2022 - Atri Bhattacharya + +- Update to version 2.0.1: + * No release notes. +- Update so version to match upstream. +- Update source URL. + +------------------------------------------------------------------- +Sun Jan 2 23:29:46 UTC 2022 - Atri Bhattacharya + +- Update to version 1.6.0: + * No release notes. +- Drop support for python2 in keeping with upstream. + +------------------------------------------------------------------- +Fri Feb 26 22:55:04 UTC 2021 - Atri Bhattacharya + +- Update to version 1.5.4: + * No release notes. + +------------------------------------------------------------------- +Fri Feb 12 19:04:34 UTC 2021 - Ben Greiner + +- Update to version 1.5.3: + * No release notes. +- Skip python36 build because python36-numpy in TW is no more + (NEP29) + +------------------------------------------------------------------- +Thu Jan 21 23:25:34 UTC 2021 - Atri Bhattacharya + +- Fix up dependency for tests and the %check section running the + tests for mutli-versioned python. + +------------------------------------------------------------------- +Mon Dec 21 22:19:38 UTC 2020 - Atri Bhattacharya + +- Update to version 1.5.2: + * No release notes. +- Disable octave bindings: octave >= 6 unsupported. + +------------------------------------------------------------------- +Sun Oct 25 18:32:25 UTC 2020 - Atri Bhattacharya + +- Update URL. +- Specfile cleanups using spec-cleaner. + +------------------------------------------------------------------- +Fri Oct 23 10:42:49 UTC 2020 - Atri Bhattacharya + +- Drop redundant build/runtime dependencies: + * libframe-devel: superseded by framel-devel. + * ldas-tools-framecpp-devel is identical to + pkgconfig(framecppc). + +------------------------------------------------------------------- +Sat Aug 15 17:53:49 UTC 2020 - Atri Bhattacharya + +- Implement tests as part of %check; additionally needs + BuildRequires: python3-pytest. +- ExcludeArch 32-bit, as tests fail and upstream confirms that it + is not supported + (https://git.ligo.org/lscsoft/lalsuite/-/issues/371). + +------------------------------------------------------------------- +Mon Jul 6 23:23:25 UTC 2020 - Atri Bhattacharya + +- Update to version 1.5.1 + * No release notes. +- New BuildRequires: pkgconfig(framel), pkgconfig(framecppc). +- Drop lalframe-build-octave44-with-swig3.patch: Incorporated + upstream (also drop BuildRequires: libtool and the command + autoreconf before configure). +- Re-enable octave bindings, fixed upstream. + +------------------------------------------------------------------- +Wed Jul 1 23:25:51 UTC 2020 - Atri Bhattacharya + +- Disable octave support as compilation error with current swig. + +------------------------------------------------------------------- +Mon May 11 15:17:37 UTC 2020 - Atri Bhattacharya + +- Improve Summary. + +------------------------------------------------------------------- +Wed Apr 22 18:32:19 UTC 2020 - Atri Bhattacharya + +- BuildRequires: python-xml only for openSUSE <= 15.2 since + python2 is disabled for newer openSUSE. + +------------------------------------------------------------------- +Sun Feb 2 23:22:26 UTC 2020 - Atri Bhattacharya + +- Update to version 1.5.0: + * O3b release +- Rebase lalframe-build-octave44-with-swig3.patch for updated + version. + +------------------------------------------------------------------- +Mon Sep 30 16:03:28 UTC 2019 - Atri Bhattacharya + +- Build for python2 and python3 + +------------------------------------------------------------------- +Mon Jul 22 13:54:48 UTC 2019 - Atri Bhattacharya + +- Update to version 1.4.5 + * O3 release. +- Rebase lal-frame-build-octave44-with-swig3.patch to conform to + upstream's reworking for swig and octave version tests. + +------------------------------------------------------------------- +Fri Feb 8 13:32:26 UTC 2019 - badshah400@gmail.com + +- Switch builds to python2; add python-xml BuildRequires. + +------------------------------------------------------------------- +Thu Feb 7 14:56:54 UTC 2019 - badshah400@gmail.com + +- Update Requires for octave-%{name}. + +------------------------------------------------------------------- +Thu Feb 7 14:39:58 UTC 2019 - badshah400@gmail.com + +- Update Requires for -devel pkg and python modules. + +------------------------------------------------------------------- +Wed Feb 6 07:14:48 UTC 2019 - badshah400@gmail.com + +- Add lalframe-build-octave44-with-swig3.patch: allow building + octave bindings with swig 3.0.x rather than requiring swig 4.x. + +------------------------------------------------------------------- +Wed Nov 28 18:03:47 UTC 2018 - badshah400@gmail.com + +- Initial Package. diff --git a/lalframe.spec b/lalframe.spec new file mode 100644 index 0000000..12fc87f --- /dev/null +++ b/lalframe.spec @@ -0,0 +1,189 @@ +# +# spec file for package lalframe +# +# Copyright (c) 2024 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/ +# + + +# NEP 29: python36-numpy and co. in TW are no more +%define skip_python36 1 +# Py2 support dropped by upstream +%define skip_python2 1 + +%define shlib lib%{name}14 +# No support for octave >= 6 +%bcond_with octave +Name: lalframe +Version: 3.0.5 +Release: 0 +Summary: LSC Algorithm Frame Library for gravitational wave data analysis +License: GPL-2.0-or-later +Group: Productivity/Scientific/Physics +URL: https://wiki.ligo.org/Computing/LALSuite +Source: https://software.igwn.org/sources/source/lalsuite/lalframe-%{version}.tar.xz +BuildRequires: %{python_module devel} +BuildRequires: %{python_module lal >= 7.1.0} +BuildRequires: %{python_module numpy >= 1.7} +BuildRequires: %{python_module numpy-devel >= 1.7} +# python3-py - remove with next update -- https://git.ligo.org/lscsoft/lalsuite/-/merge_requests/2033 +BuildRequires: %{python_module py} +BuildRequires: fdupes +BuildRequires: pkgconfig +BuildRequires: python-rpm-macros +BuildRequires: swig +BuildRequires: pkgconfig(framecppc) +BuildRequires: pkgconfig(framel) +BuildRequires: pkgconfig(lal) >= 6.21.0 +Requires: python-lal +Requires: python-numpy >= 1.7 +ExcludeArch: %{ix86} +%if 0%{?suse_version} < 1550 +BuildRequires: python-xml +%endif +%if %{with octave} +BuildRequires: octave-lal >= 7.1.0 +BuildRequires: pkgconfig(octave) +%endif +# SECTION For tests +BuildRequires: %{python_module ligo-segments} +BuildRequires: %{python_module pytest} +# /SECTION +%python_subpackages + +%description +The LSC Algorithm Frame Library for gravitational wave data analysis. + +%package -n %{shlib} +Summary: Shared library for LAL Frame +Group: Productivity/Scientific/Physics + +%description -n %{shlib} +This package contains the shared-object libraries needed to run applications +that use the LAL Frame library. + +%package -n %{name}-devel +Summary: Development files for LAL Frame +Group: Development/Libraries/C and C++ +Requires: %{shlib} = %{version} +Requires: pkgconfig(framecppc) +Requires: pkgconfig(framel) +Requires: pkgconfig(lal) + +%description -n %{name}-devel +This package contains sources and header files needed to build applications +that use the LAL Frame library. + +%package -n octave-lalframe +Summary: Octave bindings for LAL Frame +Group: Productivity/Scientific/Physics +Requires: octave-lal +%requires_eq octave-cli + +%description -n octave-lalframe +This package provides the necessary files for using LAL Frame with octave. + +%prep +%autosetup -p1 + +%build +%{python_expand # Necessary to run configure with multiple py3 flavours +export PYTHON=$python +mkdir ../${PYTHON}_build +cp -pr ./ ../${PYTHON}_build +pushd ../${PYTHON}_build +%configure \ + %{?with_octave:--enable-swig-octave} \ + %{!?with_octave:--disable-swig-octave} +%make_build +popd +} + +%install +%{python_expand # py2 and py3 make_install +export PYTHON=$python +pushd ../${PYTHON}_build +%make_install +popd +} + +# SECTION EXPORT LAL SPECIFIC ENV VARIABLES +# We do not use upstream's env files because they also set more generic +# variables (e.g. PATH) which may ruin setups + +# NUKE UPSTREAM ENV SCRIPTS +rm %{buildroot}%{_sysconfdir}/%{name}-user-env.* + +cat << EOF >> %{name}.sh +export LALFRAME_PREFIX=%{_prefix} +export LALFRAME_DATADIR=%{_datadir}/%{name} +EOF + +cat << EOF >> %{name}.csh +setenv LALFRAME_PREFIX "%{_prefix}" +setenv LALFRAME_DATADIR "%{_datadir}/%{name}" +EOF + +cat << EOF >> %{name}.fish +set LALFRAME_PREFIX (echo "%{_prefix}" | %{_bindir}/sed -e 's| |:|g;') +set LALFRAME_DATADIR (echo "%{_datadir}/%{name}" | %{_bindir}/sed -e 's| |:|g;') +EOF + +install -D -m0644 %{name}.sh %{buildroot}%{_sysconfdir}/profile.d/%{name}.sh +install -D -m0644 %{name}.csh %{buildroot}%{_sysconfdir}/profile.d/%{name}.csh +install -D -m0644 %{name}.fish %{buildroot}%{_sysconfdir}/profile.d/%{name}.fish + +# /SECTION + +# SECTION REMOVE STATIC LIB AND LIBTOOL ARCHIVE +find %{buildroot}%{_libdir}/ -name "*.a" -delete -print +find %{buildroot} -type f -name "*.la" -delete -print +# /SECTION + +%python_expand %fdupes %{buildroot}%{$python_sitearch}/%{name}/ + +%check +%{python_expand # check all flavors +export PYTHON=$python +pushd ../${PYTHON}_build +%make_build check +} + +%post -n %{shlib} -p /sbin/ldconfig +%postun -n %{shlib} -p /sbin/ldconfig + +%files -n %{shlib} +%{_libdir}/*.so.* + +%files -n %{name}-devel +%doc AUTHORS README.md +%license COPYING +%{_bindir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/* +%{_mandir}/man1/*.1%{?ext_man} +%config %{_sysconfdir}/profile.d/%{name}.* + +%if %{with octave} +%files -n octave-%{name} +%dir %{_libdir}/octave/*/site +%dir %{_libdir}/octave/*/site/oct +%dir %{_libdir}/octave/*/site/oct/* +%{_libdir}/octave/*/site/oct/*/*.oct +%endif + +%files %{python_files} +%{python_sitearch}/lalframe/ + +%changelog