%define gccver %(gcc -dumpversion) %define majver %(echo %version | cut -d. -f1-2) Name: llvm11 Version: 11.1.0 Release: 2mamba Summary: The Low Level Virtual Machine 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}/llvm-%{version}.src.tar.xz Source6: llvm-6.0.0-llvm-config.patch Patch6: llvm-3.8.0-ocamldoc-install.patch Patch7: llvm-11.1.0-gcc-11.2.0.patch License: NCSA ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libedit-devel BuildRequires: libffi-devel BuildRequires: libgcc BuildRequires: libncurses-devel BuildRequires: libstdc++6-devel BuildRequires: libxml2-devel BuildRequires: libz-devel BuildRequires: ocaml BuildRequires: ocaml-ctypes-devel BuildRequires: ocaml-integers BuildRequires: ocaml-runtime ## AUTOBUILDREQ-END BuildRequires: glibc-devel BuildRequires: ocaml >= 4.11.1 BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-findlib BuildRequires: ocaml-ctypes >= 0.17.1 %ifnarch aarch64 BuildRequires: ocaml-ounit %endif BuildRequires: z3 BuildRequires: libz3-devel #BuildConflicts: llvm-ocaml Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} %description The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. %package -n lib%{name} Group: System/Libraries Summary: Shared libraries for %{name} %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 %description -n lib%{name}-devel The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. 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. %package ocaml Summary: OCaml binding for LLVM Group: Development/Libraries Requires: %{name} = %{version}-%{release} #Requires: ocaml-runtime %description ocaml OCaml binding for LLVM. %package ocaml-devel Summary: Development files for %{name}-ocaml Group: Development/Libraries Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name}-ocaml = %{?epoch:%epoch:}%{version}-%{release} Requires: ocaml %description ocaml-devel The %{name}-ocaml-devel package contains libraries and signature files for developing applications that use %{name}-ocaml. %package ocaml-apidocs Group: Documentation Summary: LLVM ocaml API documentation Requires: %{name}-ocaml-devel = %{?epoch:%epoch:}%{version}-%{release} Requires: gtk-doc %description ocaml-apidocs This package includes the LLVM ocaml API documentation. %debug_package %prep %setup -q -n llvm-%{version}.src #-D -T #:<< _EOF %patch6 -p1 %patch7 -p1 # https://bugs.llvm.org/show_bug.cgi?id=34123 #sed -i '/LLVMSupport/d' tools/clang/tools/extra/clangd/tool/CMakeLists.txt sed -i "/REMOVE_DUPLICATES/d" tools/llvm-shlib/CMakeLists.txt %build #:<< __EOF mkdir -p build cd build #%ifarch x86_64 # -DCMAKE_C_COMPILER=clang \ # -DCMAKE_CXX_COMPILER=clang++ \ # -DLLVM_ENABLE_LLD=ON \ #%else # -DCMAKE_C_COMPILER=gcc \ # -DCMAKE_CXX_COMPILER=g++ \ #%endif cmake \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DLLVM_HOST_TRIPLE="%{_target_platform}" \ -DLLVM_DEFAULT_TARGET_TRIPLE="%{_target_platform}" \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_INSTALL_UTILS=ON \ %ifnarch arm -DLLVM_ENABLE_RTTI=ON \ %endif -DLLVM_ENABLE_FFI=ON \ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR \ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \ -DLLVM_BINUTILS_INCDIR=%{_includedir} \ -DLLVM_ENABLE_SPHINX=ON \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -DLLVM_BUILD_EXTERNAL_COMPILER_RT=OFF \ %ifarch x86_64 aarch64 -DLLVM_LIBDIR_SUFFIX="64" \ %endif -Wno-dev .. # -DLLVM_ENABLE_LTO=Thin \ ninja all ocaml_doc #% make all docs-llvm-html docs-llvm-man docs-clang-html docs-clang-man %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" #% makeinstall -C build cd build export DESTDIR=%{buildroot} ninja install #install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d #cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf << EOF #%{_libdir}/llvm #EOF %ifarch x86_64 aarch64 # Needed for multilib (https://bugs.archlinux.org/task/29951) # Header stub is taken from Fedora mv %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-64}.h cp %{SOURCE6} %{buildroot}%{_includedir}/llvm/Config/llvm-config.h %endif rm -f %{buildroot}%{_datadir}/doc/clang/html/.buildinfo rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post /sbin/ldconfig : %postun /sbin/ldconfig : %files %defattr(-,root,root) %{_bindir}/bugpoint %{_bindir}/count %{_bindir}/dsymutil %{_bindir}/FileCheck %{_bindir}/llc %{_bindir}/lli %{_bindir}/lli-child-target %{_bindir}/llvm* %{_bindir}/not %{_bindir}/obj2yaml %{_bindir}/sancov %{_bindir}/sanstats %{_bindir}/verify-uselistorder %{_bindir}/yaml2obj %{_bindir}/yaml-bench %{_bindir}/opt %dir %{_datadir}/opt-viewer %{_datadir}/opt-viewer/* #%{_mandir}/man1/FileCheck.1* #%{_mandir}/man1/bugpoint.1* #%{_mandir}/man1/dsymutil.1* #%{_mandir}/man1/lit.1* #%{_mandir}/man1/llc.1* #%{_mandir}/man1/lli.1* #%{_mandir}/man1/llvm-*.1* #%{_mandir}/man1/opt.1* #%{_mandir}/man1/tblgen.1* %doc CREDITS.TXT LICENSE.TXT #doc llvm-testlog.txt %files -n lib%{name} %defattr(-,root,root) %{_libdir}/libLLVM-*.so %{_libdir}/libLTO.so.* %{_libdir}/libRemarks.so.* %files -n lib%{name}-devel %defattr(-,root,root) %{_includedir}/llvm %{_includedir}/llvm-c %{_libdir}/*.a %{_libdir}/libLLVM.so %{_libdir}/libLTO.so %{_libdir}/libRemarks.so %{_libdir}/LLVM*.so %dir %{_libdir}/cmake/llvm %{_libdir}/cmake/llvm/*.cmake #%doc README.txt #%files -n libllvm-apidocs #%defattr(-,root,root) #%dir %{_datadir}/doc/llvm/html/ #%{_datadir}/doc/llvm/html/* %files ocaml %defattr(-,root,root) %{_libdir}/ocaml/llvm/*.cma %{_libdir}/ocaml/llvm/*.cmi %{_libdir}/ocaml/llvm/*.mli %{_libdir}/ocaml/META.llvm* %files ocaml-devel %defattr(-,root,root) %{_libdir}/ocaml/llvm/*.a %{_libdir}/ocaml/llvm/*.cmx* %files ocaml-apidocs %defattr(-,root,root) %dir %{_docdir}/llvm/ocaml-html %{_docdir}/llvm/ocaml-html/* %changelog * Thu Oct 21 2021 Silvan Calarco 11.1.0-2mamba - legacy package * Fri Feb 26 2021 Automatic Build System 11.1.0-1mamba - automatic version update by autodist * Thu Jan 21 2021 Silvan Calarco 11.0.1-2mamba - rebuilt with ocaml 4.11.1 * Mon Jan 11 2021 Automatic Build System 11.0.1-1mamba - automatic version update by autodist * Mon Oct 12 2020 Automatic Build System 11.0.0-1mamba - automatic version update by autodist * Mon Jul 27 2020 Silvan Calarco 10.0.1-2mamba - added debug package * Sat Jul 25 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 * Sat Feb 08 2020 Silvan Calarco 9.0.1-4mamba - rework build flags * Sat Feb 08 2020 Silvan Calarco 9.0.1-3mamba - split build of llvm clang etc. in separate sources * 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