Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:Rebuild
lal
lal.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lal.spec of Package lal
# # spec file for package lal # # 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/ # %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "test" %bcond_without test %define psuffix -test %else %bcond_with test %define psuffix %{nil} %endif # NEP 29: numpy, scipy do not have a python36 flavor package in TW %define skip_python36 1 # Py2 no longer supported by upstream %define skip_python2 1 %define shliblal liblal20 %define shliblalsupport liblalsupport14 # No support for octave >= 6 %bcond_with octave Name: lal%{psuffix} Version: 7.6.0 Release: 0 Summary: A collection of various gravitational wave data analysis routines License: GPL-2.0-only Group: Productivity/Scientific/Physics URL: https://wiki.ligo.org/Computing/LALSuite Source: https://software.igwn.org/sources/source/lalsuite/lal-%{version}.tar.xz # PATCH-FIX-UPSTREAM Patch0: https://git.ligo.org/lscsoft/lalsuite/-/commit/9dba245ab3692ecf691247a442704f13c075ed34.patch#/lalsuite_fix_swig_4_3_0_compat.patch # PATCH-FIX-UPSTREAM Patch1: https://git.ligo.org/lscsoft/lalsuite/-/commit/e12d57e893882c1603778018139ed9060579c8a7.patch#/lalsuite_fix_swig_4_3_0_compat_2.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module numpy-devel} BuildRequires: %{python_module numpy} BuildRequires: %{python_module xml} BuildRequires: bc BuildRequires: fdupes BuildRequires: hdf5-devel BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(gsl) BuildRequires: pkgconfig(zlib) Requires: python-freezegun Requires: python-numpy Requires: python-python-dateutil Requires: python-scipy Recommends: python-ligo-lw Recommends: python-ligo-segments %if %{with octave} BuildRequires: octave-devel BuildRequires: swig >= 4.0 %else BuildRequires: swig >= 3.0 %endif %if %{with test} # SECTION For tests (only the default python3 flavor) BuildRequires: python3-freezegun BuildRequires: python3-ligo-lw BuildRequires: python3-ligo-segments # python3-py - remove with next update -- https://git.ligo.org/lscsoft/lalsuite/-/merge_requests/2033 BuildRequires: python3-py BuildRequires: python3-pytest BuildRequires: python3-python-dateutil BuildRequires: python3-scipy # /SECTION %endif %python_subpackages %description The LSC Algorithm Library Suite (LALSuite) is comprised of various gravitational wave data analysis routines written in C following the ISO/IEC 9899:1999 standard. %package -n %{shliblal} Summary: Shared library for LAL Group: System/Libraries %description -n %{shliblal} The LSC Algorithm Library Suite (LALSuite) is comprised of various gravitational wave data analysis routines written in C following the ISO/IEC 9899:1999 standard. This package provides the shared library for lal. %package -n %{shliblalsupport} Summary: Shared library for LALSupport Group: System/Libraries %description -n %{shliblalsupport} The LSC Algorithm Library Suite (LALSuite) is comprised of various gravitational wave data analysis routines written in C following the ISO/IEC 9899:1999 standard. This package provides the shared library for lalsupport. %package -n %{name}-devel Summary: Headers and source files for building against lal Group: Productivity/Scientific/Physics Requires: %{shliblalsupport} = %{version} Requires: %{shliblal} = %{version} Requires: pkgconfig(fftw3) Requires: pkgconfig(gsl) Requires: pkgconfig(zlib) %description -n %{name}-devel The LSC Algorithm Library Suite (LALSuite) is comprised of various gravitational wave data analysis routines written in C following the ISO/IEC 9899:1999 standard. This package provides the header files and sources need for building software against lal. %package -n octave-lal Summary: Octave module for lal Group: Productivity/Scientific/Physics %if %{with octave} %requires_eq octave-cli %endif %description -n octave-lal The LSC Algorithm Library Suite (LALSuite) is comprised of various gravitational wave data analysis routines written in C following the ISO/IEC 9899:1999 standard. This package provides the octave module for lal. %prep %autosetup -p2 -n lal-%{version} %build %{python_expand # Necessary to run configure with all python flavors 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 %if %{without test} %{python_expand # all python flavors as configured above export PYTHON=$python pushd ../${PYTHON}_build %make_install popd } rm %{buildroot}%{_sysconfdir}/* find %{buildroot} -type f -name "*.la" -delete -print find %{buildroot}%{_libdir} -name "*.a" -delete -print %{python_expand # FIX env HASHBANGS sed -Ei "1{/^#!\/usr\/bin\/env python/d}" \ %{buildroot}%{$python_sitearch}/lal/{gpstime,series,antenna}.py rm %{buildroot}%{$python_sitearch}/lal/__pycache__/{gpstime,series,antenna}*.pyc # Only compileall >= 3.9 has '-s strip_prefix' option if [ %{$python_version_nodots} -ge 39 ]; then \ for d in %{buildroot}%{$python_sitelib} %{buildroot}%{$python_sitearch}; do \ if [ -d $d ]; then \ $python -m compileall -s %{buildroot} $d; \ $python -O -m compileall -s %{buildroot} $d; \ fi; \ done \ fi; } # python_compileall is broken, see https://github.com/openSUSE/python-rpm-macros/issues/150 #%%{?python_compileall} %{python_expand # Verify we don't have broken cache files # "-exec false {} +" makes the return code nonzero on match find %{buildroot}%{$python_sitearch} -iname \*pyc -type f \( -exec grep 'home/abuild' '{}' \; -and -exec false '{}' \+ \) } %python_expand %fdupes %{buildroot}%{$python_sitearch}/ # Fix broken hashbang sed -Ei "1{s|(python3\.?[0-9]*)|%{_bindir}/\1|}" %{buildroot}%{_bindir}/lal_{path2cache,searchsum2cache} %endif %check %if %{with test} %{python_expand # Run tests from the build dir of the primary python3 flavor only if [ "$python_" = "python3_" -o "%{$python_provides}" = "python3" ]; then export PYTHON=$python pushd ../${PYTHON}_build %make_build check popd fi } %endif %if %{without test} %post -n %{shliblal} -p /sbin/ldconfig %post -n %{shliblalsupport} -p /sbin/ldconfig %postun -n %{shliblal} -p /sbin/ldconfig %postun -n %{shliblalsupport} -p /sbin/ldconfig %files %{python_files} %{python_sitearch}/lal/ %files -n %{shliblal} %{_libdir}/liblal.so.* %files -n %{shliblalsupport} %{_libdir}/liblalsupport.so.* %files -n %{name}-devel %doc AUTHORS README.md %license COPYING %{_bindir}/* %{_includedir}/lal/ %{_libdir}/liblal.so %{_libdir}/liblalsupport.so %{_libdir}/pkgconfig/*.pc %{_mandir}/man7/*.7%{?ext_man} %if %{with octave} %files -n octave-lal %dir %{_libdir}/octave/*/site %dir %{_libdir}/octave/*/site/oct %dir %{_libdir}/octave/*/site/oct/* %{_libdir}/octave/*/site/oct/*/*.oct %endif %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor