From 809dabcd88d55d4877855f84c178ca87eadb6744 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Tue, 19 Mar 2024 19:49:57 +0100 Subject: [PATCH] legacy package [release 17.0.6-2mamba;Sun Mar 17 2024] --- README.md | 3 + llvm-3.8.0-ocamldoc-install.patch | 22 ++ llvm-6.0.0-llvm-config.patch | 9 + llvm17.spec | 375 ++++++++++++++++++++++++++++++ 4 files changed, 409 insertions(+) create mode 100644 llvm-3.8.0-ocamldoc-install.patch create mode 100644 llvm-6.0.0-llvm-config.patch create mode 100644 llvm17.spec diff --git a/README.md b/README.md index 57f8bb9..f6ca74a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # llvm17 +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. + diff --git a/llvm-3.8.0-ocamldoc-install.patch b/llvm-3.8.0-ocamldoc-install.patch new file mode 100644 index 0000000..579f075 --- /dev/null +++ b/llvm-3.8.0-ocamldoc-install.patch @@ -0,0 +1,22 @@ +diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt +index eaa175062b61..f862f2561bfd 100644 +--- a/docs/CMakeLists.txt ++++ b/docs/CMakeLists.txt +@@ -143,13 +143,15 @@ if( NOT uses_ocaml LESS 0 ) + list(APPEND odoc_files -load ${odoc_file}) + endforeach() + +- add_custom_target(ocaml_doc ++ add_custom_command(OUTPUT BUILD_OCAML_DOCS + COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/ocamldoc/html + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/ocamldoc/html + COMMAND ${OCAMLFIND} ocamldoc -d ${CMAKE_CURRENT_BINARY_DIR}/ocamldoc/html + -sort -colorize-code -html ${odoc_files} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/_ocamldoc/style.css +- ${CMAKE_CURRENT_BINARY_DIR}/ocamldoc/html) ++ ${CMAKE_CURRENT_BINARY_DIR}/ocamldoc/html ++ COMMENT "Creating documentation for OCaml bindings...") ++ add_custom_target(ocaml_doc ALL DEPENDS BUILD_OCAML_DOCS) + + add_dependencies(ocaml_doc ${doc_targets}) + diff --git a/llvm-6.0.0-llvm-config.patch b/llvm-6.0.0-llvm-config.patch new file mode 100644 index 0000000..2fa08c9 --- /dev/null +++ b/llvm-6.0.0-llvm-config.patch @@ -0,0 +1,9 @@ +#include + +#if __WORDSIZE == 32 +#include "llvm-config-32.h" +#elif __WORDSIZE == 64 +#include "llvm-config-64.h" +#else +#error "Unknown word size" +#endif diff --git a/llvm17.spec b/llvm17.spec new file mode 100644 index 0000000..1b1560f --- /dev/null +++ b/llvm17.spec @@ -0,0 +1,375 @@ +%define gccver %(gcc -dumpversion) +%define majver %(echo %version | cut -d. -f1-2) +Name: llvm17 +Version: 17.0.6 +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 +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/cmake-%{version}.src.tar.xz +Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/third-party-%{version}.src.tar.xz +Source6: llvm-6.0.0-llvm-config.patch +Patch6: llvm-3.8.0-ocamldoc-install.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: libzstd-devel +## AUTOBUILDREQ-END +BuildRequires: glibc-devel +BuildRequires: ocaml >= 4.14.1 +BuildRequires: ocaml-ocamldoc +BuildRequires: ocaml-findlib +BuildRequires: ocaml-bigarray-compat-devel >= 1.1.0-2mamba +BuildRequires: ocaml-ctypes-devel >= 0.20.2 +BuildRequires: ocaml-integers >= 0.7.0-2mamba +%ifnarch aarch64 +BuildRequires: ocaml-ounit +%endif +BuildRequires: z3 +BuildRequires: libz3-devel +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. + +%debug_package + +%prep +%setup -q -c -a0 -a1 -a2 +#% setup -q -D -T +#:<< _EOF +mv cmake-%{version}.src cmake +mv third-party-%{version}.src third-party + +mv llvm-%{version}.src llvm +cd llvm +%patch 6 -p1 + +sed -i "/REMOVE_DUPLICATES/d" tools/llvm-shlib/CMakeLists.txt +cd .. + +%build +#:<< __EOF +mkdir -p build +cd build + +cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=%{_libdir}/llvm17 \ + -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 \ + -DLLVM_ENABLE_RTTI=ON \ + -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 \ + -DLLVM_INCLUDE_BENCHMARKS=OFF \ + -DLLVM_LIBDIR_SUFFIX="" \ + -DLLVM_INSTALL_PACKAGE_DIR:STRING=lib/cmake/llvm \ + -Wno-dev ../llvm + +ninja all + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +cd build +export DESTDIR=%{buildroot} +ninja install + +# Install shared libraries to system libdir +mv %{buildroot}%{_libdir}/llvm17/lib/libLLVM-*.so %{buildroot}%{_libdir} +ln -s ../../libLLVM-17.so %{buildroot}%{_libdir}/llvm17/lib/libLLVM-17.so +ln -s ../../libLLVM-17.so %{buildroot}%{_libdir}/llvm17/lib/libLLVM-%{version}.so + +# Create versioned symlinks from /usr/bin/ to /usr/lib/llvm16/bin/ +install -d %{buildroot}%{_bindir} +for p in %{buildroot}%{_libdir}/llvm17/bin/*; do + f=${p##*/} + ln -s ../%{_lib}/llvm17/bin/${f} %{buildroot}%{_bindir}/${f}-17 +done + +rm -f %{buildroot}%{_datadir}/doc/clang/html/.buildinfo +rm -f %{buildroot}%{_datadir}/doc/llvm/html/.buildinfo +rm -rf %{buildroot}%{_libdir}/ocaml + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/* +%dir %{_libdir}/llvm17/share/opt-viewer +%{_libdir}/llvm17/share/opt-viewer/* +%doc llvm/CREDITS.TXT llvm/LICENSE.TXT + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libLLVM-*.so + +%files -n lib%{name}-devel +%defattr(-,root,root) +%{_libdir}/llvm17/bin +%{_libdir}/llvm17/include/llvm +%{_libdir}/llvm17/include/llvm-c +%{_libdir}/llvm17/lib +%{_libdir}/llvm17/share +#%doc README.txt + +%changelog +* Sun Mar 17 2024 Silvan Calarco 17.0.6-2mamba +- legacy package + +* Wed Nov 29 2023 Automatic Build System 17.0.6-1mamba +- automatic version update by autodist + +* Wed Nov 15 2023 Automatic Build System 17.0.5-1mamba +- automatic version update by autodist + +* Tue Oct 31 2023 Automatic Build System 17.0.4-1mamba +- automatic version update by autodist + +* Tue Oct 17 2023 Automatic Build System 17.0.3-1mamba +- automatic version update by autodist + +* Tue Oct 03 2023 Automatic Build System 17.0.2-1mamba +- automatic version update by autodist + +* Tue Sep 19 2023 Automatic Build System 17.0.1-1mamba +- automatic version update by autodist + +* Thu Jul 06 2023 Silvan Calarco 16.0.6-2mamba +- rebuilt with ocaml 4.14.1 + +* Wed Jun 14 2023 Automatic Build System 16.0.6-1mamba +- automatic version update by autodist + +* Sat Jun 03 2023 Automatic Build System 16.0.5-1mamba +- automatic version update by autodist + +* Thu May 18 2023 Automatic Build System 16.0.4-1mamba +- automatic version update by autodist + +* Fri May 05 2023 Automatic Build System 16.0.3-1mamba +- automatic version update by autodist + +* Thu Jan 12 2023 Automatic Build System 15.0.7-1mamba +- automatic version update by autodist + +* Tue Nov 29 2022 Automatic Build System 15.0.6-1mamba +- automatic version update by autodist + +* Thu Nov 17 2022 Automatic Build System 15.0.5-1mamba +- automatic version update by autodist + +* Thu Nov 03 2022 Automatic Build System 15.0.4-1mamba +- automatic version update by autodist + +* Wed Oct 19 2022 Automatic Build System 15.0.3-1mamba +- automatic version update by autodist + +* Sat Oct 15 2022 Automatic Build System 15.0.2-1mamba +- automatic version update by autodist + +* Sat Jun 25 2022 Automatic Build System 14.0.6-1mamba +- automatic version update by autodist + +* Sat Jun 11 2022 Automatic Build System 14.0.5-1mamba +- automatic version update by autodist + +* Thu May 26 2022 Automatic Build System 14.0.4-1mamba +- automatic version update by autodist + +* Fri May 20 2022 Silvan Calarco 14.0.3-3mamba +- re-add LLVM_ENABLE_RTTI=ON + +* Wed May 18 2022 Silvan Calarco 14.0.3-2mamba +- rebuilt with ocaml-ctypes 0.20.1 + +* Fri Apr 29 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 + +* Wed Feb 09 2022 Silvan Calarco 13.0.1-2mamba +- rebuilt with ocaml-ctypes 0.20.0-2mamba and ocaml-integers 0.6.0 + +* Thu Feb 03 2022 Automatic Build System 13.0.1-1mamba +- automatic version update by autodist + +* Fri Oct 15 2021 Automatic Build System 13.0.0-1mamba +- automatic version update by autodist + +* Fri May 21 2021 Silvan Calarco 12.0.0-1mamba +- update to 12.0.0 + +* 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