7d4000b
Summary:        A program that extracts a catalog of sources from astronomical images, and the successor of SExtractor
a24424c
Name:           sourcextractor++
49e30ca
Version:        0.21
1a1a9c8
Release:        5%{?dist}
a24424c
License:        LGPLv3+
a24424c
URL:            https://github.com/astrorama/sourcextractorplusplus
a24424c
Source0:        https://github.com/astrorama/sourcextractorplusplus/archive/%{version}/%{name}-%{version}.tar.gz
a24424c
# This file is used to link the documentation to cppreference.com
a24424c
# It is downloaded from:
a24424c
# https://upload.cppreference.com/w/File:cppreference-doxygen-web.tag.xml
a24424c
Source1:        cppreference-doxygen-web.tag.xml
a24424c
# These binaries are not intended for users, so we drop them from the build
a24424c
Patch0:         sourcex_remove_benchmarks.patch
a24424c
Patch1:         sourcex_remove_testimage.patch
7d4000b
# We do not want to override the compilation flags
7d4000b
Patch2:         sourcex_remove_custom_flags.patch
d5d4262
# The test has an excesive precision requirement
d5d4262
Patch3:         sourcex_precision_test.patch
a24424c
61ff58b
%global elements_version 6.2.3
61ff58b
%global alexandria_version 2.31.0
b9fce63
b9fce63
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval 
b9fce63
ExcludeArch:    %{ix86}
a24424c
635e9f5
BuildRequires: make
a24424c
BuildRequires: CCfits-devel
a24424c
BuildRequires: boost-devel >= 1.53
a24424c
BuildRequires: cfitsio-devel
a24424c
BuildRequires: cppunit-devel
a24424c
BuildRequires: fftw-devel >= 3
a24424c
BuildRequires: levmar-devel >= 2.5
faaf044
BuildRequires: log4cpp-devel
faaf044
BuildRequires: ncurses-devel
a24424c
BuildRequires: wcslib-devel
a24424c
%if 0%{?fedora} >= 30
a24424c
BuildRequires: gsl-devel >= 2.2.1
a24424c
%endif
a24424c
BuildRequires: elements-devel = %{elements_version}
a24424c
BuildRequires: elements-alexandria-devel = %{alexandria_version} 
a24424c
# Required for the generation of the documentation
a24424c
BuildRequires: elements-doc = %{elements_version}
a24424c
BuildRequires: elements-alexandria-doc = %{alexandria_version}
a24424c
BuildRequires: doxygen
a24424c
BuildRequires: graphviz
b9fce63
%ifnarch s390x %{arm}
b13f370
BuildRequires: onnxruntime-devel
b9fce63
%endif
a24424c
BuildRequires: texlive-latex
a24424c
%if 0%{?fedora} >= 30
a24424c
BuildRequires: texlive-newunicodechar
a24424c
%endif
a24424c
BuildRequires: texlive-dvips
a24424c
a24424c
BuildRequires: gcc-c++ > 4.7
a24424c
BuildRequires: cmake >= 2.8.5
a24424c
%if 0%{?fedora} >= 30
a24424c
BuildRequires: python3
a24424c
BuildRequires: python3-devel
faaf044
BuildRequires: python3-pytest
a24424c
BuildRequires: boost-python3-devel >= 1.53
a24424c
%else
a24424c
BuildRequires: python2
a24424c
BuildRequires: python2-devel
faaf044
BuildRequires: python2-pytest
a24424c
BuildRequires: boost-python-devel >= 1.53
a24424c
%endif
a24424c
a24424c
%if 0%{?rhel} && 0%{?rhel} <= 7
a24424c
Requires: cmake%{?_isa}
a24424c
%else
a24424c
Requires: cmake-filesystem%{?_isa}
a24424c
%endif
967975a
Requires:      python3-astropy%{?_isa}
a24424c
a24424c
%global cmakedir %{_libdir}/cmake/ElementsProject
a24424c
a24424c
%if 0%{?fedora} >= 30
a24424c
%global python_sitearch %{python3_sitearch}
a24424c
%global python_sitelib %{python3_sitelib}
a24424c
%else
a24424c
%global python_sitearch %{python2_sitearch}
a24424c
%global python_sitelib %{python2_sitelib}
a24424c
%endif
a24424c
a24424c
%description
a24424c
%{name} is a program that extracts a catalog of sources from
a24424c
astronomical images. It is the successor to the original SExtractor
a24424c
package.
a24424c
a24424c
%package devel
a24424c
Summary: The development part of the %{name} package
a24424c
Requires: %{name}%{?_isa} = %{version}-%{release}
a24424c
Requires: elements-devel%{?_isa} = %{elements_version}
a24424c
Requires: elements-alexandria%{?_isa} = %{alexandria_version}
a24424c
a24424c
%description devel
a24424c
The development part of the %{name} package.
a24424c
a24424c
%package doc
a24424c
Summary: Documentation for package %{name}
a24424c
License: LGPLv3+ and CC-BY-SA
a24424c
BuildArch: noarch
a24424c
Requires: elements-doc = %{elements_version}
a24424c
Requires: elements-alexandria-doc = %{alexandria_version}
a24424c
a24424c
%description doc
a24424c
Documentation for package %{name}
a24424c
a24424c
%prep
a24424c
%autosetup -n SourceXtractorPlusPlus-%{version} -p1
a24424c
a24424c
%build
a24424c
export VERBOSE=1
a24424c
EXTRA_CMAKE_FLAGS="-DUSE_ENV_FLAGS=ON"
a24424c
%if 0%{?fedora} >= 30
a24424c
EXTRA_CMAKE_FLAGS="${EXTRA_CMAKE_FLAGS} -DPYTHON_EXPLICIT_VERSION=3"
a24424c
%else
a24424c
EXTRA_CMAKE_FLAGS="${EXTRA_CMAKE_FLAGS} -DPYTHON_EXPLICIT_VERSION=2"
a24424c
%endif
a24424c
# Build
faaf044
%cmake -B "%{_vpath_builddir}" -DELEMENTS_BUILD_TESTS=ON -DELEMENTS_INSTALL_TESTS=OFF -DSQUEEZED_INSTALL:BOOL=ON -DINSTALL_DOC:BOOL=ON \
a24424c
    -DUSE_SPHINX=OFF --no-warn-unused-cli \
9220149
    -DCMAKE_LIB_INSTALL_SUFFIX=%{_lib} -DUSE_VERSIONED_LIBRARIES=ON -DPYTHON_DYNLIB_INSTALL_SUFFIX="%{python_sitearch}"\
9220149
    ${EXTRA_CMAKE_FLAGS}
faaf044
# Copy cppreference-doxygen-web.tag.xml into the build directory
faaf044
mkdir -p "%{_vpath_builddir}/doc/doxygen"
faaf044
cp "%{SOURCE1}" "%{_vpath_builddir}/doc/doxygen"
faaf044
# Disable FULL_PATH_NAMES on Doxygen, to avoid problems when building in different architectures
faaf044
sed -i "s?^\\(EXCLUDE = .*\\)?\\1 $(pwd)/%{_vpath_builddir}?g" "%{_vpath_builddir}/doc/doxygen/Doxyfile"
30687f4
# Disable interactive svg, so _org.svg files are not generated
30687f4
# For some reason, some of these files go missing on s390x
30687f4
sed -i "s?INTERACTIVE_SVG = YES?INTERACTIVE_SVG = NO?g" "%{_vpath_builddir}/doc/doxygen/Doxyfile"
faaf044
faaf044
%make_build -C "%{_vpath_builddir}"
a24424c
a24424c
%install
a24424c
export VERBOSE=1
faaf044
%make_install -C "%{_vpath_builddir}"
a24424c
a24424c
# Because of limitations of Elements, ++ can not be used as part of the
a24424c
# project name. For consistency, we rename some of the destination directories
a24424c
# to sourcextractor++
a24424c
mv %{buildroot}/%{_docdir}/SourceXtractorPlusPlus %{buildroot}/%{_docdir}/sourcextractor++
a24424c
a24424c
# Similarly, move the configuration file to /etc
a24424c
mkdir -p %{buildroot}/%{_sysconfdir}
a24424c
mv %{buildroot}/%{_datadir}/conf/sourcextractor++.conf %{buildroot}/%{_sysconfdir}/sourcextractor++.conf
a24424c
rm -r %{buildroot}/%{_datadir}/conf/
a24424c
a24424c
%check
faaf044
export ELEMENTS_AUX_PATH="%{_builddir}/SEFramework/auxdir/"
faaf044
make test -C "%{_vpath_builddir}"
a24424c
%{buildroot}/%{_bindir}/sourcextractor++ --help
a24424c
a24424c
%files
a24424c
%license LICENSE
a24424c
%{cmakedir}/SourceXtractorPlusPlusEnvironment.xml
a24424c
a24424c
%{_bindir}/sourcextractor++
a24424c
%config(noreplace) %{_sysconfdir}/sourcextractor++.conf
a24424c
a24424c
%{_libdir}/libModelFitting.so.%{version}
a24424c
%{_libdir}/libSEFramework.so.%{version}
a24424c
%{_libdir}/libSEImplementation.so.%{version}
a24424c
%{_libdir}/libSEMain.so.%{version}
a24424c
%{_libdir}/libSEUtils.so.%{version}
a24424c
a24424c
%{python_sitearch}/SOURCEXTRACTORPLUSPLUS_VERSION.py*
a24424c
%{python_sitearch}/SOURCEXTRACTORPLUSPLUS_INSTALL.py*
a24424c
%{python_sitearch}/sourcextractor/
9220149
%{python_sitearch}/_SourceXtractorPy.so
a24424c
a24424c
%if 0%{?fedora} >= 30
a24424c
%{python_sitearch}/__pycache__/SOURCEXTRACTORPLUSPLUS*.pyc
a24424c
%endif
a24424c
a24424c
%files devel
a24424c
%{_libdir}/libModelFitting.so
a24424c
%{_libdir}/libSEFramework.so
a24424c
%{_libdir}/libSEImplementation.so
a24424c
%{_libdir}/libSEMain.so
a24424c
%{_libdir}/libSEUtils.so
a24424c
a24424c
%{_includedir}/SOURCEXTRACTORPLUSPLUS_VERSION.h
a24424c
%{_includedir}/SOURCEXTRACTORPLUSPLUS_INSTALL.h
a24424c
%{_includedir}/ModelFitting/
a24424c
%{_includedir}/SEFramework/
a24424c
%{_includedir}/SEImplementation/
a24424c
%{_includedir}/SEMain/
a24424c
%{_includedir}/SEUtils/
a24424c
a24424c
%{cmakedir}/SourceXtractorPlusPlusBuildEnvironment.xml
a24424c
%{cmakedir}/SourceXtractorPlusPlusExports.cmake
a24424c
%{cmakedir}/SourceXtractorPlusPlusExports-relwithdebinfo.cmake
a24424c
%{cmakedir}/SourceXtractorPlusPlusPlatformConfig.cmake
a24424c
%{cmakedir}/SourceXtractorPlusPlusConfig.cmake
a24424c
%{cmakedir}/SourceXtractorPlusPlusConfigVersion.cmake
a24424c
%{cmakedir}/ModelFittingExport.cmake
a24424c
%{cmakedir}/SEFrameworkExport.cmake
a24424c
%{cmakedir}/SEImplementationExport.cmake
a24424c
%{cmakedir}/SEMainExport.cmake
a24424c
%{cmakedir}/SEUtilsExport.cmake
a24424c
a24424c
%files doc
a24424c
%license LICENSE
a24424c
%{_docdir}/sourcextractor++
a24424c
a24424c
%changelog
1a1a9c8
* Wed Mar 20 2024 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.21-5
1a1a9c8
- Rebuild for onnxruntime 1.16.3
1a1a9c8
bc0fc7e
* Tue Jan 30 2024 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.21-4
bc0fc7e
- Rebuild for wcslib 8.2
bc0fc7e
67527fa
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.21-3
67527fa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
67527fa
b7871b5
* Thu Jan 18 2024 Jonathan Wakely <jwakely@redhat.com> - 0.21-2
b7871b5
- Rebuilt for Boost 1.83
b7871b5
49e30ca
* Wed Dec 27 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.21-1
49e30ca
- Release 0.21
49e30ca
3f41ea5
* Fri Nov 10 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.19.2-6
3f41ea5
- Rebuilt for Alexandria 2.31.0
3f41ea5
b13f370
* Thu Aug 17 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.19.2-5
b13f370
- Enable onnxruntime support
b13f370
cf2b11d
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.2-4
cf2b11d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
cf2b11d
4e0fa4d
* Mon Jul 10 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.19.2-3
4e0fa4d
- Rebuild SourceXtractor++
4e0fa4d
1b9cd61
* Mon Jul 10 2023 Python Maint <python-maint@redhat.com> - 0.19.2-2
1b9cd61
- Rebuilt for Python 3.12
1b9cd61
749892c
* Tue Mar 14 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.19.2-1
749892c
- SourceXtractor++ 0.19.2 
749892c
44cd0e4
* Sat Feb 25 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.19-6
44cd0e4
- Fix build in Fedora 39
44cd0e4
cf66203
* Wed Feb 01 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 0.19-5
cf66203
- Rebuild for gcc 13
cf66203
0986850
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.19-4
0986850
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
0986850
c525649
* Thu Dec 29 2022 Maxwell G <gotmax@e.email> - 0.19-3
c525649
- Rebuild for cfitsio 4.2
c525649
967975a
* Mon Dec 12 2022 aalvarez - 0.19-2
967975a
- Requires python3-astropy
967975a
34b54d1
* Thu Oct 20 2022 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.19-1
34b54d1
- SourceXtractor++ 0.19
34b54d1
da00772
* Tue Aug 23 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.18-3
da00772
- Rebuild for gsl-2.7.1
da00772
7a2081a
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.18-2
7a2081a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
7a2081a
d457ff4
* Fri Jul 15 2022 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.18-1
d457ff4
- SourceXtractor++ 0.18
d457ff4
0446a3a
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 0.17-4
0446a3a
- Rebuilt for Python 3.11
0446a3a
44a904a
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 0.17-3
44a904a
- Rebuilt for Boost 1.78
44a904a
4d759e1
* Tue Apr 26 2022 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.17-2
4d759e1
- Rebuild
4d759e1
4036d3d
* Mon Apr 25 2022 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.17-1
4036d3d
- SourceXtractor++ 0.17
4036d3d
e4a39f0
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-2
e4a39f0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
e4a39f0
7a16bcc
* Mon Dec 20 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.16-1
7a16bcc
- SourceXtractor++ 0.16
7a16bcc
9c9d831
* Wed Aug 11 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.15-6
9c9d831
- Rebuild after f35 branching
9c9d831
3b1f10d
* Mon Aug 09 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.15-5
3b1f10d
- Patch double closing of file
3b1f10d
bce50a2
* Sat Aug 07 2021 Jonathan Wakely <jwakely@redhat.com> - 0.15-4
bce50a2
- Rebuilt for Boost 1.76
bce50a2
d755e01
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.15-3
d755e01
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
d755e01
9c2dcd8
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.15-2
9c2dcd8
- Rebuilt for Python 3.10
9c2dcd8
d5d4262
* Mon May 31 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.15-1
d5d4262
- Release 0.15
d5d4262
0df2c1e
* Mon May 10 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.14-2
0df2c1e
- Rebuild for gcc11.1
0df2c1e
6d4ce1b
* Wed Apr 21 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.14-1
6d4ce1b
- Release 0.14
6d4ce1b
da4e7ab
* Tue Feb 09 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.13-1
da4e7ab
- Release 0.13
da4e7ab
4d81b7d
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-3
4d81b7d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
4d81b7d
487a790
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 0.12-2
487a790
- Rebuilt for Boost 1.75
487a790
c9103e0
* Mon Dec 07 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.12-1
c9103e0
- Update for upstream release 0.12
c9103e0
c0d8389
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-3
c0d8389
- Second attempt - Rebuilt for
c0d8389
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
c0d8389
61bdd3b
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-2
61bdd3b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
61bdd3b
c9103e0
* Tue Jul 21 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.11-1
faaf044
- Update for upstream release 0.11
faaf044
86f504e
* Sat May 30 2020 Jonathan Wakely <jwakely@redhat.com> - 0.10-4
86f504e
- Rebuilt for Boost 1.73
86f504e
173c48d
* Tue May 26 2020 Miro HronĨok <mhroncok@redhat.com> - 0.10-3
173c48d
- Rebuilt for Python 3.9
173c48d
c9103e0
* Tue Mar 17 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.10-2
45e8fa4
- Rebuild for wcslib 7.2
45e8fa4
c9103e0
* Fri Mar 13 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.10-1
7d4000b
- Update for upstream release 0.10
7d4000b
c9103e0
* Fri Jan 31 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 0.8-1
a24424c
- New RPM
a24424c