%define gccver %(gcc -dumpversion) %define MAJver %(echo %version | cut -d. -f1) %define majver %(echo %version | cut -d. -f1-2) Name: clang Version: 16.0.5 Release: 1mamba Summary: C language family frontend for LLVM Group: Development/Languages Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://llvm.org/ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-%{version}.src.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-tools-extra-%{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}/third-party-%{version}.src.tar.xz Patch0: clang-16.0.4-arm-add-latomic.patch Patch1: clang-15.0.6-arm-add-latomic.patch License: NCSA ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libgcc BuildRequires: libllvm-devel BuildRequires: libperl BuildRequires: libstdc++6-devel BuildRequires: libxml2-devel BuildRequires: perl-devel ## AUTOBUILDREQ-END BuildRequires: llvm = %{version} BuildRequires: llvm >= 14.0.3-3mamba BuildRequires: python-recommonmark-py310 Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} %description C language family frontend for LLVM. %package -n lib%{name} Group: System/Libraries Summary: Shared libraries for %{name} %ifarch x86_64 aarch64 Provides: libclang.so.%{MAJver}()(64bit) Provides: libclang.so.%{MAJver}(LLVM_%{MAJver})(64bit) %else Provides: libclang.so.%{MAJver} Provides: libclang.so.%{MAJver}(LLVM_%{MAJver}) %endif %description -n lib%{name} This package contains shared libraries for %{name}. %package -n lib%{name}-devel Summary: Libraries and header files for LLVM Group: Development/Languages Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Provides: clang-devel Obsoletes: clang-devel < 11.1.0 %description -n lib%{name}-devel C language family frontend for LLVM. This package contains library and header files needed to develop new native programs that use the LLVM infrastructure. %package -n lib%{name}-apidocs Group: Documentation Summary: lib%{name} API documentation Requires: lib%{name}-devel = %{?epoch:%epoch:}%{version}-%{release} Requires: gtk-doc %description -n lib%{name}-apidocs This package includes the lib%{name} API documentation. %debug_package %prep %setup -q -c -a0 -a1 -a2 -a3 #% setup -q -D -T #:<< _EOF mv clang-%{version}.src clang mv clang-tools-extra-%{version}.src clang-tools-extra mv cmake-%{version}.src cmake mv third-party-%{version}.src third-party %ifarch arm %patch 0 -p1 cd clang %patch 1 -p1 cd .. %endif %build #:<< __EOF mkdir -p build cd build cmake .. -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DBUILD_SHARED_LIBS=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DCLANG_LINK_CLANG_DYLIB=ON \ -DCLANG_DEFAULT_CXX_STDLIB=libstdc++ \ %ifnarch arm -DLLVM_ENABLE_RTTI=ON \ %endif -DLLVM_INCLUDE_DOCS=ON \ -DLLVM_BUILD_DOCS=ON \ -DLLVM_ENABLE_SPHINX=ON \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ ../clang #-DPYTHON_EXECUTABLE=/usr/bin/python \ #-DLLVM_MAIN_SRC_DIR="$srcdir/llvm-$pkgver.src" ninja %{_smp_mflags} %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" cd build export DESTDIR=%{buildroot} ninja install rm -f %{buildroot}%{_datadir}/doc/clang/html/.buildinfo ## legacy libclang.so.11 symlink to libclang.so.11.1 #ln -s libclang.so.%{majver} %{buildroot}%{_libdir}/libclang.so.%{MAJver} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post -n lib%{name} -p /sbin/ldconfig %postun -n lib%{name} -p /sbin/ldconfig %files %defattr(-,root,root) %{_bindir}/analyze-build %{_bindir}/c-index-test %{_bindir}/amdgpu-arch %{_bindir}/nvptx-arch %{_bindir}/clang %{_bindir}/clang++ %{_bindir}/clang-* #%{_bindir}/clangd %{_bindir}/diagtool #%{_bindir}/find-all-symbols %{_bindir}/git-clang-format %{_bindir}/hmaptool %{_bindir}/intercept-build #%{_bindir}/modularize #%{_bindir}/pp-trace #%{_bindir}/run-clang-tidy %{_bindir}/scan-build %{_bindir}/scan-build-py %{_bindir}/scan-view #%dir %{_prefix}/lib/libear #%{_prefix}/lib/libear/* #%dir %{_prefix}/lib/libscanbuild #%{_prefix}/lib/libscanbuild/* # FIXME: should be libexec64 on 64 bits archs %{_prefix}/libexec/* %dir %{_datadir}/clang/ %{_datadir}/clang/* %dir %{_datadir}/scan-build %{_datadir}/scan-build/* %dir %{_datadir}/scan-view %{_datadir}/scan-view/* %{_mandir}/man1/clang.1* %{_mandir}/man1/diagtool.1* #%{_mandir}/man1/extraclangtools.1* %{_mandir}/man1/scan-build.1* %files -n lib%{name} %defattr(-,root,root) %{_libdir}/libclang*.so.* %dir %{_libdir}/libear %{_libdir}/libear/* %dir %{_libdir}/libscanbuild %{_libdir}/libscanbuild/* #%{_libdir}/libfindAllSymbols.so.* %doc clang/LICENSE.TXT %files -n lib%{name}-devel %defattr(-,root,root) %dir %{_includedir}/clang-c %{_includedir}/clang-c/*.h %dir %{_includedir}/clang %{_includedir}/clang/* #%dir %{_includedir}/clang-tidy #%{_includedir}/clang-tidy/* %{_libdir}/libclang*.so #%{_libdir}/libfindAllSymbols.so %dir %{_libdir}/clang %dir %{_libdir}/clang/* %dir %{_libdir}/clang/*/include %{_libdir}/clang/*/include/* %dir %{_libdir}/cmake/clang %{_libdir}/cmake/clang/*.cmake %doc clang/NOTES.txt clang/README.txt %files -n lib%{name}-apidocs %defattr(-,root,root) %dir %{_docdir}/Clang %dir %{_docdir}/Clang/clang %dir %{_docdir}/Clang/clang/html %{_datadir}/doc/Clang/clang/html/* %{_datadir}/doc/Clang/clang/html/.buildinfo #%dir %{_docdir}/Clang/clang-tools #%dir %{_docdir}/Clang/clang-tools/html #%{_datadir}/doc/Clang/clang-tools/html/* #%{_datadir}/doc/Clang/clang-tools/html/.buildinfo %changelog * Sat Jun 03 2023 Automatic Build System 16.0.5-1mamba - automatic version update by autodist * Fri May 19 2023 Automatic Build System 16.0.4-1mamba - automatic version update by autodist * Sat May 13 2023 Automatic Build System 16.0.3-1mamba - automatic version update by autodist * Fri Jan 13 2023 Automatic Build System 15.0.7-1mamba - automatic version update by autodist * Sat Dec 03 2022 Silvan Calarco 15.0.6-1mamba - update to 15.0.6 * Sat Nov 19 2022 Automatic Build System 15.0.5-1mamba - automatic version update by autodist * Sun Jun 26 2022 Automatic Build System 14.0.6-1mamba - automatic version update by autodist * Sun Jun 12 2022 Automatic Build System 14.0.5-1mamba - automatic version update by autodist * Fri May 27 2022 Automatic Build System 14.0.4-1mamba - automatic version update by autodist * Thu May 19 2022 Silvan Calarco 14.0.3-2mamba - rebuilt with llvm 14.0.3-3mamba * Sat Apr 30 2022 Automatic Build System 14.0.3-1mamba - automatic version update by autodist * Thu Apr 28 2022 Automatic Build System 14.0.2-1mamba - automatic version update by autodist * Fri Feb 04 2022 Automatic Build System 13.0.1-1mamba - automatic version update by autodist * Fri Oct 22 2021 Silvan Calarco 13.0.0-1mamba - update to 13.0.0 * Mon May 17 2021 Silvan Calarco 11.1.0-3mamba - rebuilt with -DCLANG_LINK_CLANG_DYLIB=ON * Thu Mar 25 2021 Silvan Calarco 11.1.0-2mamba - add legacy provide for libclang.so.11 * Tue Mar 16 2021 Automatic Build System 11.1.0-1mamba - automatic version update by autodist * Mon Jan 11 2021 Automatic Build System 11.0.1-1mamba - automatic version update by autodist * Tue Oct 13 2020 Automatic Build System 11.0.0-1mamba - automatic version update by autodist * Sun Jul 26 2020 Automatic Build System 10.0.1-1mamba - automatic version update by autodist * Mon Mar 30 2020 Automatic Build System 10.0.0-1mamba - automatic version update by autodist * Sun Feb 09 2020 Silvan Calarco 9.0.1-3mamba - rebuilt apart from llvm * Tue Jan 07 2020 Silvan Calarco 9.0.1-2mamba - rebuild with -DLLVM_ENABLE_LTO=Thin * Mon Dec 30 2019 Silvan Calarco 9.0.1-1mamba - update to 9.0.1 * Thu Mar 28 2019 Automatic Build System 8.0.0-1mamba - automatic version update by autodist * Sat Jan 26 2019 Silvan Calarco 7.0.1-4mamba - bump release * Sat Jan 26 2019 Silvan Calarco 7.0.1-3mamba - move *.so from libllvm-devel to libllvm * Mon Jan 21 2019 Silvan Calarco 7.0.1-2mamba - rebuilt with binutils plugin LLVMgold.so * Sat Dec 22 2018 Automatic Build System 7.0.1-1mamba - automatic version update by autodist * Sun Oct 14 2018 Automatic Build System 7.0.0-1mamba - automatic version update by autodist * Sun Sep 02 2018 Silvan Calarco 6.0.1-4mamba - remove building with libc++ to fix e.g. Mesa build * Sat Jul 14 2018 Silvan Calarco 6.0.1-3mamba - rebuilt wth LLVM_ENABLE_LIBCXX=ON * Sat Jul 14 2018 Silvan Calarco 6.0.1-2mamba - rebuilt with libc++ * Sat Jul 07 2018 Automatic Build System 6.0.1-1mamba - automatic version update by autodist * Mon Jun 25 2018 Silvan Calarco 6.0.0-4mamba - rebuilt with gcc 8.1.0 * Sun Jun 24 2018 Silvan Calarco 6.0.0-3mamba - apply patches from Arch to possibly fix lld segfault * Sat Jun 23 2018 Silvan Calarco 6.0.0-2mamba - rebuilt with standard target libdir and other changes to try fixing lld crash with at least chromium build * Tue Jun 19 2018 Automatic Build System 6.0.0-1mamba - automatic version update by autodist * Mon Dec 25 2017 Automatic Build System 5.0.1-1mamba - automatic version update by autodist * Tue Nov 28 2017 Silvan Calarco 5.0.0-2mamba - fix link against libllvm by changing and extending build arguments and external llvm subpackages * Tue Nov 28 2017 Silvan Calarco 5.0.0-1mamba - update to 5.0.0 * Wed Jul 13 2016 Automatic Build System 3.8.1-1mamba - automatic version update by autodist * Sat Jun 11 2016 Silvan Calarco 3.8.0-3mamba - rebuilt using cmake * Sat May 28 2016 Silvan Calarco 3.8.0-2mamba - rebuilt * Thu May 26 2016 Automatic Build System 3.8.0-1mamba - automatic version update by autodist * Sun Jan 18 2015 Automatic Build System 3.5.1-1mamba - automatic version update by autodist * Fri Sep 19 2014 Silvan Calarco 3.5.0-2mamba - patch llvm-config for x86_64 support and %{_libdir}/llvm * Wed Sep 10 2014 Silvan Calarco 3.5.0-1mamba - update to 3.5.0 * Thu Jul 10 2014 Silvan Calarco 3.4.2-1mamba - update to 3.4.2 * Sun Feb 16 2014 Silvan Calarco 3.4-2mamba - fix configure settings and add --with-extra-ld-options to correctly link and pass --with-arch=%{_target_cpu} to fix penmamba bug #000163 * Sun Jan 12 2014 Silvan Calarco 3.4-1mamba - update to 3.4 * Thu Jun 20 2013 Automatic Build System 3.3-1mamba - update to 3.3 * Sat Dec 22 2012 Automatic Build System 3.2-1mamba - automatic version update by autodist * Fri Jul 20 2012 Silvan Calarco 3.1-1mamba - update to 3.1 * Thu Feb 23 2012 Ercole 'ercolinux' Carpanetto 3.0.-1mamba - update to 3.0 * Sun Jul 10 2011 Silvan Calarco 2.9-1mamba - update to 2.9 * Sat Jan 01 2011 Davide Madrisan 2.8-1mamba - package created by autospec