%global lldb_version 16.0.6 #global rc_ver 4 %global lldb_srcdir %{name}-%{lldb_version}%{?rc_ver:rc%{rc_ver}}.src %global cmake_srcdir cmake-%{lldb_version}%{?rc_ver:rc%{rc_ver}}.src %ifarch ppc64le # Too many threads on some systems causes OOM errors. %global _smp_mflags -j8 %endif Name: lldb Version: %{lldb_version}%{?rc_ver:~rc%{rc_ver}} Release: 1%{?dist} Summary: Next generation high-performance debugger License: NCSA URL: http://lldb.llvm.org/ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_version}%{?rc_ver:-rc%{rc_ver}}/%{lldb_srcdir}.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{lldb_version}%{?rc_ver:-rc%{rc_ver}}/%{lldb_srcdir}.tar.xz.sig Source2: release-keys.asc BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: ninja-build BuildRequires: llvm-devel = %{version} BuildRequires: llvm-test = %{version} BuildRequires: clang-devel = %{version} BuildRequires: ncurses-devel BuildRequires: swig BuildRequires: llvm-static = %{version} BuildRequires: libffi-devel BuildRequires: zlib-devel BuildRequires: libxml2-devel BuildRequires: libedit-devel BuildRequires: python3-lit BuildRequires: multilib-rpm-config Requires: python3-lldb Patch0: 0001-lldb-Change-LLVM_COMMON_CMAKE_UTILS-usage.patch # There is a problem with the debug info generated by the # GCC version we ship in RHEL 8. It somehow makes it very # hard for lldb to inspect std::vector types. # Disable the pretty-printer for now, since otherwise # such vectors look empty to the developer even though # they aren't. # See https://bugzilla.redhat.com/show_bug.cgi?id=2082508 Patch001: 0001-lldb-Disable-std-vector-pretty-printer.patch # For origin certification BuildRequires: gnupg2 %description LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. %package devel Summary: Development header files for LLDB Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The package contains header files for the LLDB debugger. %package -n python3-lldb %{?python_provide:%python_provide python3-lldb} Summary: Python module for LLDB BuildRequires: python3-devel BuildRequires: python3-setuptools Requires: python3-six Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python3-lldb The package contains the LLDB Python module. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %autosetup -n %{lldb_srcdir} -p2 %build mkdir -p %{_vpath_builddir} cd %{_vpath_builddir} CFLAGS="%{optflags} -Wno-error=format-security" CXXFLAGS="%{optflags} -Wno-error=format-security" %cmake .. -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ -DLLVM_COMMON_CMAKE_UTILS=%{_libdir}/cmake/llvm/ \ \ -DLLDB_DISABLE_CURSES:BOOL=OFF \ -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \ -DLLDB_DISABLE_PYTHON:BOOL=OFF \ %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else -DLLVM_LIBDIR_SUFFIX= \ %endif \ -DPYTHON_EXECUTABLE:STRING=%{__python3} \ -DPYTHON_VERSION_MAJOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.major)") \ -DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \ -DCLANG_LINK_CLANG_DYLIB=ON \ -DLLVM_LIT_ARGS="-sv \ --path %{_libdir}/llvm" \ %cmake_build %install cd %{_vpath_builddir} %cmake_install %multilib_fix_c_header --file %{_includedir}/lldb/Host/Config.h # remove static libraries rm -fv %{buildroot}%{_libdir}/*.a # python: fix binary libraries location liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so)) ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so %py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/lldb # remove bundled six.py rm -f %{buildroot}%{python3_sitearch}/six.* %ldconfig_scriptlets %check %files %license LICENSE.TXT %{_bindir}/lldb* %{_libdir}/liblldb.so.* %{_libdir}/liblldbIntelFeatures.so.* %files devel %{_includedir}/lldb %{_libdir}/*.so %files -n python3-lldb %{python3_sitearch}/lldb %changelog * Fri Jun 23 2023 Tom Stellard - 16.0.6-1 - 16.0.6 Release * Fri Apr 28 2023 Tom Stellard - 16.0.0-1 - 16.0.0 Release * Thu Jan 19 2023 Tom Stellard - 15.0.7-1 - Update to LLVM 15.0.7 * Tue Sep 06 2022 Nikita Popov - 15.0.0-1 - Update to LLVM 15.0.0 * Tue Jun 28 2022 Tom Stellard - 14.0.6-1 - 14.0.6 Release * Wed Jun 08 2022 Timm Bäder - 14.0.0-2 - Disable libstdc++ std::vector prettyprinter * Thu Apr 07 2022 Timm Bäder - 14.0.0-1 - Update to 14.0.0 * Thu Feb 03 2022 Tom Stellard - 13.0.1-1 - 13.0.1 Release * Fri Oct 15 2021 Tom Stellard - 13.0.0-1 - 13.0.0 Release * Fri Jul 16 2021 sguelton@redhat.com - 12.0.1-1 - 12.0.1 * Thu May 6 2021 sguelton@redhat.com - 12.0.0-1 - 12.0.0 * Thu Oct 29 2020 sguelton@redhat.com - 11.0.0-1 - 11.0.0 final * Fri Sep 18 2020 sguelton@redhat.com - 11.0.0-0.1.rc2 - 11.0.0-rc2 Release * Fri Jul 24 2020 sguelton@redhat.com - 10.0.1-1 - 10.0.1 * Mon Jun 15 2020 sguelton@redhat.com - 10.0.0-2 - Fix multilib integration, see rhbz#1841073 * Thu Apr 9 2020 sguelton@redhat.com - 10.0.0-1 - 10.0.0 final * Sat Dec 21 2019 Tom Stellard - 9.0.1-1 - 9.0.1 Release * Fri Oct 04 2019 Tom Stellard - 9.0.0-2 - Disable readline module to work-around segafult * Fri Sep 27 2019 Tom Stellard - 9.0.0-1 - 9.0.0 Release * Thu Aug 1 2019 sguelton@redhat.com - 8.0.1-1 - 8.0.1 release * Thu Jun 13 2019 sguelton@redhat.com - 8.0.1-0.1.rc2 - 8.0.1rc2 Release * Tue Apr 16 2019 sguelton@redhat.com - 8.0.0-1 - 8.0.0 Release * Mon Dec 17 2018 Tom Stellard - 7.0.1-2 - Fix multilib conflict * Fri Dec 14 2018 Tom Stellard - 7.0.1-1 - 7.0.1 Release * Mon Dec 10 2018 Tom Stellard - 7.0.1-0.1.rc3 - 7.0.1-rc3 Release * Thu Dec 06 2018 Tom Stellard - 6.0.1-7 - Re-enable python module for real * Wed Oct 03 2018 Tom Stellard - 6.0.1-6 - Re-enable python module and fix build with python3 * Wed Oct 03 2018 Tom Stellard - 6.0.1-5 - Disable python module * Mon Oct 01 2018 Tom Stellard - 6.0.1-4 - Drop scl macros * Tue Aug 28 2018 Tom Stellard - 6.0.1-3 - Re-enable python module * Tue Aug 07 2018 Tom Stellard - 6.0.1-2 - Install ld.so.conf file in the root filesystem * Wed Jul 11 2018 Tom Stellard - 6.0.1-1 - 6.0.1 Release * Thu Jan 25 2018 Tom Stellard - 5.0.1-3 - Drop explicit dependencies for llvm-libs and clang-libs * Tue Jan 16 2018 Tom Stellard - 5.0.1-2 - Rebuid for i686 * Thu Jan 11 2018 Tom Stellard - 5.0.1-1 - 5.0.1 Release * Wed Aug 16 2017 Tom Stellard - 4.0.1-4 - Fix crash when loading Fedora debuginfo Resloves: #1479529 * Mon Jul 31 2017 Jan Kratochvil - 4.0.1-3 - Backport lldb r303907 Resolves: #1356140 * Thu Jun 22 2017 Tom Stellard - 4.0.1-2 - Fix requires for python-lldb * Wed Jun 21 2017 Tom Stellard - 4.0.1-1 - Build for llvm-toolset-7 rename * Wed Jun 07 2017 Tom Stellard - 4.0.0-3 - Build for llvm-toolset-7 rename * Thu May 18 2017 Tom Stellard - 4.0.0-2 - Fix Requires * Fri Mar 24 2017 Tom Stellard - 4.0.0-1 - lldb 4.0.0 * Tue Mar 21 2017 Tom Stellard - 3.9.1-4 - Add explicit Requires for llvm-libs and clang-libs * Fri Mar 17 2017 Tom Stellard - 3.9.1-3 - Adjust python sys.path so lldb can find readline.so * Tue Mar 14 2017 Tom Stellard - 3.9.1-2 - Fix build with gcc 7 * Thu Mar 02 2017 Dave Airlie - 3.9.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Nov 14 2016 Nathaniel McCallum - 3.9.0-3 - Disable libedit support until upstream fixes it (#1356140) * Wed Nov 2 2016 Peter Robinson 3.9.0-2 - Set upstream supported architectures in an ExclusiveArch * Wed Oct 26 2016 Dave Airlie - 3.9.0-1 - lldb 3.9.0 - fixup some issues with MIUtilParse by removing it - build with -fno-rtti * Tue Jul 19 2016 Fedora Release Engineering - 3.8.0-2 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Thu Mar 10 2016 Dave Airlie 3.8.0-1 - lldb 3.8.0 * Thu Mar 03 2016 Dave Airlie 3.8.0-0.3 - lldb 3.8.0 rc3 * Wed Feb 24 2016 Dave Airlie - 3.8.0-0.2 - dynamically link to llvm * Thu Feb 18 2016 Dave Airlie - 3.8.0-0.1 - lldb 3.8.0 rc2 * Sun Feb 14 2016 Dave Airlie 3.7.1-3 - rebuild lldb against latest llvm * Thu Feb 04 2016 Fedora Release Engineering - 3.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Oct 06 2015 Jan Vcelak 3.7.0-100 - initial version using cmake build system