adf38ad
Summary:        A C++/Python build framework
adf38ad
Name:           elements
58edb55
Version:        6.2.1
a9bcee2
Release:        1%{?dist}
adf38ad
License:        LGPLv3+
921928b
Source0:        https://github.com/astrorama/Elements/archive/%{version}/%{name}-%{version}.tar.gz
adf38ad
# Elements use this file to link the documentation to cppreference.com
adf38ad
# It is downloaded from:
adf38ad
# https://upload.cppreference.com/w/File:cppreference-doxygen-web.tag.xml
adf38ad
Source1:        cppreference-doxygen-web.tag.xml
adf38ad
URL:            https://github.com/degauden/Elements.git
adf38ad
# Remove Example programs and scripts, otherwise they will be installed
adf38ad
Patch0:         elements_remove_examples.patch
adf38ad
# Disable the compilation of PDF documentation
adf38ad
Patch3:         elements_disable_latex.patch
a9bcee2
# distutils have been removed
a9bcee2
Patch4:         elements_no_distutils.patch
bac845a
# Add missing #include directive for GCC 13
bac845a
# Patch is downstream-only because upstream archived the project 2022-11-16.
bac845a
Patch7:         0001-Add-missing-include-directive-for-GCC-13.patch
adf38ad
adf38ad
BuildRequires: CCfits-devel
adf38ad
BuildRequires: boost-devel >= 1.53
adf38ad
BuildRequires: cfitsio-devel
adf38ad
BuildRequires: cppunit-devel
adf38ad
BuildRequires: fftw-devel
adf38ad
BuildRequires: gmock-devel
adf38ad
BuildRequires: gtest-devel
adf38ad
BuildRequires: log4cpp-devel >= 1.1
adf38ad
BuildRequires: swig
adf38ad
BuildRequires: wcslib-devel
adf38ad
# Required for the generation of the documentation
adf38ad
BuildRequires: doxygen
adf38ad
BuildRequires: graphviz
adf38ad
adf38ad
BuildRequires: gcc-c++ > 4.7
adf38ad
BuildRequires: python3
adf38ad
BuildRequires: python3-pytest
adf38ad
BuildRequires: python3-devel
878fc94
BuildRequires: python3-sphinx
adf38ad
BuildRequires: cmake >= 2.8.5
adf38ad
adf38ad
Requires: cmake-filesystem%{?_isa}
adf38ad
adf38ad
%global cmakedir %{_libdir}/cmake/ElementsProject
adf38ad
adf38ad
%global makedir %{_datadir}/Elements/make
1a2f6c2
%global confdir %{_datadir}/conf
adf38ad
%global auxdir %{_datadir}/auxdir
adf38ad
%global docdir %{_docdir}/Elements
adf38ad
adf38ad
%description
adf38ad
Elements is a C++/Python build framework. It helps to organize
adf38ad
the software into modules which are gathered into projects.
adf38ad
adf38ad
%package devel
adf38ad
Summary: The development part of the %{name} package
adf38ad
Requires: %{name}%{?_isa} = %{version}-%{release}
adf38ad
adf38ad
%description devel
adf38ad
The development part of the %{name} package.
adf38ad
adf38ad
adf38ad
%package doc
adf38ad
Summary: Documentation for package %{name}
adf38ad
License: LGPLv3+ and CC-BY-SA
adf38ad
BuildArch: noarch
adf38ad
adf38ad
%description doc
adf38ad
Documentation for package %{name}
adf38ad
adf38ad
%prep
adf38ad
%autosetup -n Elements-%{version} -p1
adf38ad
adf38ad
%build
adf38ad
export VERBOSE=1
adf38ad
# Build
1a2f6c2
%cmake -DELEMENTS_BUILD_TESTS=ON -DINSTALL_TESTS=OFF -DSQUEEZED_INSTALL:BOOL=ON -DINSTALL_DOC:BOOL=ON \
a9bcee2
    -DUSE_SPHINX=OFF --no-warn-unused-cli \
a9bcee2
    -DPYTHON_EXPLICIT_VERSION=3 -DCMAKE_POLICY_DEFAULT_CMP0148=OLD \
adf38ad
    -DCMAKE_LIB_INSTALL_SUFFIX=%{_lib} -DUSE_VERSIONED_LIBRARIES=ON \
c004d07
    -DUSE_ENV_FLAGS=ON
c004d07
# Copy cppreference-doxygen-web.tag.xml into the build directory
c004d07
mkdir -p "%{_vpath_builddir}/doc/doxygen"
c004d07
cp -v "%{SOURCE1}" "%{_vpath_builddir}/doc/doxygen"
c004d07
c004d07
%cmake_build
adf38ad
adf38ad
%install
adf38ad
export VERBOSE=1
c004d07
%cmake_install
1a2f6c2
rm -rfv "%{buildroot}/%{confdir}/ElementsServices/testdata"
878fc94
rm -fv "%{buildroot}/%{_bindir}/"*_test
adf38ad
adf38ad
%check
1a2f6c2
export ELEMENTS_CONF_PATH="%{_builddir}/ElementsKernel/auxdir/"
c004d07
%ctest
adf38ad
adf38ad
%files
1a2f6c2
%{confdir}/
adf38ad
%dir %{cmakedir}
adf38ad
%{cmakedir}/ElementsEnvironment.xml
adf38ad
adf38ad
%{_libdir}/libElementsKernel.so.%{version}
adf38ad
%{_libdir}/libElementsServices.so.%{version}
adf38ad
adf38ad
%{_bindir}/CreateElementsProject
adf38ad
%{_bindir}/AddElementsModule
adf38ad
%{_bindir}/AddCppClass
adf38ad
%{_bindir}/AddCppProgram
adf38ad
%{_bindir}/AddPythonProgram
adf38ad
%{_bindir}/AddScript
adf38ad
%{_bindir}/AddPythonModule
adf38ad
%{_bindir}/RemoveCppClass
adf38ad
%{_bindir}/RemoveCppProgram
adf38ad
%{_bindir}/RemovePythonProgram
adf38ad
%{_bindir}/RemovePythonModule
adf38ad
%{_bindir}/ElementsNameCheck
adf38ad
%{_bindir}/GetElementsFiles
adf38ad
adf38ad
%{python3_sitearch}/ELEMENTS_VERSION.py
adf38ad
%{python3_sitearch}/ELEMENTS_INSTALL.py
adf38ad
%{python3_sitearch}/__pycache__/ELEMENTS_*.pyc
adf38ad
adf38ad
%{python3_sitearch}/ElementsKernel/
adf38ad
%{python3_sitearch}/ElementsServices/
adf38ad
adf38ad
%dir %{auxdir}
adf38ad
%{auxdir}/ElementsKernel/
adf38ad
adf38ad
%files devel
adf38ad
%{_libdir}/libElementsKernel.so
adf38ad
%{_libdir}/libElementsServices.so
adf38ad
%{_includedir}/ELEMENTS_VERSION.h
adf38ad
%{_includedir}/ELEMENTS_INSTALL.h
1a2f6c2
%{_includedir}/ElementsKernel_export.h
1a2f6c2
%{_includedir}/ElementsServices_export.h
adf38ad
%{_includedir}/ElementsKernel/
adf38ad
%{_includedir}/ElementsServices/
adf38ad
adf38ad
%{cmakedir}/ElementsBuildEnvironment.xml
adf38ad
%{cmakedir}/ElementsBuildFlags.cmake
ad9a462
%{cmakedir}/ElementsConfig.cmake
ad9a462
%{cmakedir}/ElementsConfigVersion.cmake
adf38ad
%{cmakedir}/ElementsCoverage.cmake
635c90c
%{cmakedir}/ElementsDefaults.cmake
adf38ad
%{cmakedir}/ElementsDocumentation.cmake
ad9a462
%{cmakedir}/ElementsExports-relwithdebinfo.cmake
ad9a462
%{cmakedir}/ElementsExports.cmake
ad9a462
%{cmakedir}/ElementsGenerateBindings.cmake
ad9a462
%{cmakedir}/ElementsInfo.cmake
ad9a462
%{cmakedir}/ElementsKernelExport.cmake
adf38ad
%{cmakedir}/ElementsLocations.cmake
ad9a462
%{cmakedir}/ElementsPlatformConfig.cmake
adf38ad
%{cmakedir}/ElementsProjectConfig.cmake
ad9a462
%{cmakedir}/ElementsServicesExport.cmake
adf38ad
%{cmakedir}/ElementsToolChain.cmake
adf38ad
%{cmakedir}/ElementsToolChainMacros.cmake
adf38ad
%{cmakedir}/ElementsUninstall.cmake
adf38ad
%{cmakedir}/ElementsUtils.cmake
ad9a462
%{cmakedir}/GetGitRevisionDescription.cmake
ad9a462
%{cmakedir}/HelloWorld.cmake
adf38ad
%{cmakedir}/SGSPlatform.cmake
adf38ad
%{cmakedir}/auxdir
adf38ad
%{cmakedir}/doc
adf38ad
%{cmakedir}/modules
adf38ad
%{cmakedir}/scripts
adf38ad
%{cmakedir}/tests
adf38ad
adf38ad
%{makedir}
adf38ad
adf38ad
%files doc
adf38ad
%license LICENSE.md
adf38ad
%{docdir}
adf38ad
adf38ad
%changelog
58edb55
* Mon Jul 10 2023 aalvarez - 6.2.1-1
58edb55
- Release 6.2.1
58edb55
a9bcee2
* Fri Jul 07 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 6.1.4-1
a9bcee2
- Release 6.1.4
a9bcee2
6036a29
* Wed Jun 14 2023 Python Maint <python-maint@redhat.com> - 6.1.2-2
6036a29
- Rebuilt for Python 3.12
6036a29
ad9a462
* Tue Mar 14 2023 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 6.1.2-1
ad9a462
- Elements 6.1.2
ad9a462
866d56d
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 6.0.1-10
866d56d
- Rebuilt for Boost 1.81
866d56d
bac845a
* Fri Jan 27 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 6.0.1-9
bac845a
- Add missing #include directive for GCC 13
bac845a
383d751
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-8
383d751
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
383d751
a068798
* Thu Dec 29 2022 Maxwell G <gotmax@e.email> - 6.0.1-7
a068798
- Rebuild for cfitsio 4.2
a068798
0010d8f
* Mon Nov 14 2022 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 6.0.1-6
0010d8f
- Move from Py.Test to PyTest
0010d8f
a68f90a
* Tue Aug 23 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 6.0.1-5
a68f90a
- rebuild for new gcc / f38 (needed for alexandria)
a68f90a
a15fbf9
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-4
a15fbf9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
a15fbf9
e107898
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 6.0.1-3
e107898
- Rebuilt for Python 3.11
e107898
3935253
* Wed May 04 2022 Thomas Rodgers <trodgers@redhat.com> - 6.0.1-2
3935253
- Rebuilt for Boost 1.78
3935253
1cb799f
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.12.0-11
1cb799f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
1cb799f
d96c9ed
* Mon Dec 20 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12.0-10
d96c9ed
- Fix tests for Python 3.11
d96c9ed
921928b
* Thu Dec 16 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12.0-9
921928b
- Add patch number to version
921928b
1bcc6e3
* Wed Aug 11 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12-8
1bcc6e3
- Rebuild after f35 branching
1bcc6e3
0bc6153
* Mon Aug 09 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12-7
0bc6153
- Rebuild for gcc 11.2
0bc6153
a3c2fe8
* Fri Aug 06 2021 Jonathan Wakely <jwakely@redhat.com> - 5.12-6
a3c2fe8
- Rebuilt for Boost 1.76
a3c2fe8
6f05fed
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.12-5
6f05fed
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
6f05fed
e15c74d
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 5.12-4
e15c74d
- Rebuilt for Python 3.10
e15c74d
c20be82
* Mon May 10 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12-3
c20be82
- Rebuild for gcc11.1
c20be82
fe4b447
* Wed Apr 21 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12-2
fe4b447
- Rebuild for Fedora 35
fe4b447
635c90c
* Fri Feb 05 2021 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> - 5.12-1
635c90c
- Release 5.12
635c90c
3205a76
* Thu Feb 04 2021 Alejandro Alvarez Ayllon <a.alvarezayllon@gmail.com> - 5.10-8
3205a76
- Rebuilt for cfitsio 3.490
3205a76
428c8b0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.10-7
428c8b0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
428c8b0
c2ab2e0
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 5.10-6
c2ab2e0
- Rebuilt for Boost 1.75
c2ab2e0
f072922
* Mon Dec 07 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.10-5
f072922
- Rebuilt for gcc 11.0
f072922
1a98352
* Thu Oct 15 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.10-4
1a98352
- Rebuilt for Fedora 34
1a98352
8df758d
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.10-3
8df758d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8df758d
1a98352
* Mon Jul 20 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.10-2
c004d07
* Use new cmake macros
c004d07
1a98352
* Fri Jul 17 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.10-1
1a2f6c2
- Update for upstream release 5.10
1a2f6c2
efa0bf3
* Fri May 29 2020 Jonathan Wakely <jwakely@redhat.com> - 5.8-10
efa0bf3
- Rebuilt for Boost 1.73 and Python 3.9 together
efa0bf3
656d587
* Thu May 28 2020 Jonathan Wakely <jwakely@redhat.com> - 5.8-9
656d587
- Rebuilt for Boost 1.73
656d587
1c52c6a
* Tue May 26 2020 Miro HronĨok <mhroncok@redhat.com> - 5.8-8
1c52c6a
- Rebuilt for Python 3.9
1c52c6a
1a98352
* Wed Feb 26 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.8-7
e6693e2
- Rebuild for Fedora 33
e6693e2
1a98352
* Mon Feb 03 2020 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.8-6
343e447
- Remove flag max-page-size
343e447
f64c3ee
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.8-5
f64c3ee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
f64c3ee
1a98352
* Mon Oct 28 2019 Alejandro Alvarez Ayllon <aalvarez@fedoraproject.org> 5.8-4
adf38ad
- Initial RPM