libcxx/libcxx.spec

190 lines
6.1 KiB
RPMSpec

Name: libcxx
Version: 19.1.2
Release: 1mamba
Summary: An implementation of the C++ standard library, targeting C++11, C++14 and above
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://libcxx.llvm.org/
Source: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/libcxx-%{version}.src.tar.xz
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/libcxxabi-%{version}.src.tar.xz
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/cmake-%{version}.src.tar.xz
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/runtimes-%{version}.src.tar.xz
Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/libunwind-%{version}.src.tar.xz
# From Fedora
Source5: libcxx-17.0.5-CmakeLists.txt
Patch0: libcxx-19.1.1-do-not-install-libcxx.imp.patch
License: MIT, BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libatomic-devel
BuildRequires: libgcc
## AUTOBUILDREQ-END
BuildRequires: cmake
Provides: libc++
Obsoletes: libc++ < 13.0.0
Requires: libcxxabi = %{?epoch:%epoch:}%{version}-%{release}
%description
libc++ is an implementation of the C++ standard library, targeting C++11, C++14 and above.
%package devel
Group: Development/Libraries
Summary: Development files for %{name}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: libcxxabi-devel = %{?epoch:%epoch:}%{version}-%{release}
Provides: libc++-devel
Obsoletes: libc++-devel < 13.0.0
%description devel
This package contains libraries and header files for developing applications that use %{name}.
%package -n libcxxabi
Group: System/Libraries
Summary: Low level support for the LLVM C++ standard library
%description -n libcxxabi
Low level support for the LLVM C++ standard library.
%package -n libcxxabi-devel
Group: Development/Libraries
Summary: Development files for libcxxabi
Requires: libcxxabi = %{?epoch:%epoch:}%{version}-%{release}
%description -n libcxxabi-devel
This package contains libraries and header files for developing applications that use libcxxabi.
%debug_package
%prep
%setup -q -c -a1 -a2 -a3 -a4
#% setup -q -c -D -T
#:<< _EOF
mv libcxx-%{version}.src libcxx
mv libcxxabi-%{version}.src libcxxabi
mv cmake-%{version}.src cmake
mv runtimes-%{version}.src runtimes
mv libunwind-%{version}.src libunwind
cp %{SOURCE5} CMakeLists.txt
%patch 0 -p1 -b .do-not-install-libcxx.imp
%build
#:<< _EOF
mkdir -p build
cd build
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
%if 0%{?__isa_bits} == 64
-DLIBCXX_LIBDIR_SUFFIX:STRING=64 \
-DLIBCXXABI_LIBDIR_SUFFIX:STRING=64 \
-DLIBUNWIND_LIBDIR_SUFFIX:STRING=64 \
%endif
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
-DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=ON \
..
# -DBUILD_SHARED_LIBS=ON
ninja
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
cd build
DESTDIR=%{buildroot} ninja install-cxx install-cxxabi
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
%defattr(-,root,root)
%{_libdir}/libc++.so.*
%doc libcxx/LICENSE.TXT libcxx/CREDITS.TXT
%files devel
%defattr(-,root,root)
%dir %{_includedir}/c++
%dir %{_includedir}/c++/v1
%{_includedir}/c++/v1/*
%exclude %{_includedir}/c++/v1/cxxabi.h
%exclude %{_includedir}/c++/v1/__cxxabi_config.h
%{_libdir}/libc++.a
%{_libdir}/libc++experimental.a
%{_libdir}/libc++.so
%{_libdir}/libc++.modules.json
%dir %{_datadir}/libc++/v1
%{_datadir}/libc++/v1/*
%files -n libcxxabi
%defattr(-,root,root)
%{_libdir}/libc++abi.so.*
%doc libcxxabi/LICENSE.TXT libcxxabi/CREDITS.TXT
%files -n libcxxabi-devel
%defattr(-,root,root)
%{_includedir}/c++/v1/cxxabi.h
%{_includedir}/c++/v1/__cxxabi_config.h
%{_libdir}/libc++abi.so
%{_libdir}/libc++abi.a
%changelog
* Tue Oct 15 2024 Automatic Build System <autodist@openmamba.org> 19.1.2-1mamba
- automatic version update by autodist
* Sat Oct 12 2024 Automatic Build System <autodist@openmamba.org> 19.1.1-1mamba
- automatic version update by autodist
* Sat Jun 22 2024 Automatic Build System <autodist@openmamba.org> 18.1.8-1mamba
- automatic version update by autodist
* Fri Jun 07 2024 Automatic Build System <autodist@openmamba.org> 18.1.7-1mamba
- automatic version update by autodist
* Sun May 19 2024 Automatic Build System <autodist@openmamba.org> 18.1.6-1mamba
- automatic version update by autodist
* Sat May 04 2024 Automatic Build System <autodist@openmamba.org> 18.1.5-1mamba
- automatic version update by autodist
* Thu Apr 18 2024 Automatic Build System <autodist@openmamba.org> 18.1.4-1mamba
- automatic version update by autodist
* Sat Apr 13 2024 Automatic Build System <autodist@openmamba.org> 18.1.3-1mamba
- automatic version update by autodist
* Wed Nov 29 2023 Automatic Build System <autodist@mambasoft.it> 17.0.6-1mamba
- automatic version update by autodist
* Fri Nov 17 2023 Automatic Build System <autodist@mambasoft.it> 17.0.5-1mamba
- automatic version update by autodist
* Sat Jun 03 2023 Automatic Build System <autodist@mambasoft.it> 16.0.5-1mamba
- automatic version update by autodist
* Mon May 22 2023 Automatic Build System <autodist@mambasoft.it> 16.0.4-1mamba
- automatic version update by autodist
* Mon Apr 26 2021 Automatic Build System <autodist@mambasoft.it> 12.0.0-1mamba
- automatic version update by autodist
* Thu Mar 25 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 11.1.0-1mamba
- update to 11.1.0
* Tue Oct 13 2020 Automatic Build System <autodist@mambasoft.it> 11.0.0-1mamba
- automatic version update by autodist
* Sat Jul 25 2020 Automatic Build System <autodist@mambasoft.it> 10.0.1-1mamba
- automatic version update by autodist
* Mon May 18 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 10.0.0-1mamba
- package created using the webbuild interface