diff --git a/lldb-10.0.1.src.tar.xz b/lldb-10.0.1.src.tar.xz new file mode 100644 index 0000000..e357ad3 Binary files /dev/null and b/lldb-10.0.1.src.tar.xz differ diff --git a/lldb-7.0.0.src.tar.xz b/lldb-7.0.0.src.tar.xz deleted file mode 100644 index b273074..0000000 Binary files a/lldb-7.0.0.src.tar.xz and /dev/null differ diff --git a/lldb.spec b/lldb.spec index 88dfd3e..7d205f4 100644 --- a/lldb.spec +++ b/lldb.spec @@ -1,79 +1,109 @@ -Name: lldb -Version: 7.0.0 -Release: 2 -Summary: Next-generation high-performance debugger -License: NCSA -URL: http://lldb.llvm.org/ -Source0: http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/%{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src.tar.xz -BuildRequires: cmake llvm-devel = %{version} clang-devel = %{version} ncurses-devel swig -BuildRequires: llvm-static = %{version} libffi-devel zlib-devel libxml2-devel libedit-devel -Requires: python2-lldb +Name: lldb +Version: 10.0.1 +Release: 1 +Summary: Next generation high-performance debugger + +License: NCSA +URL: http://lldb.llvm.org/ +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{name}-%{version}.src.tar.xz + +BuildRequires: cmake llvm-devel = %{version} llvm-test = %{version} clang-devel = %{version} +BuildRequires: ncurses-devel swig llvm-static = %{version} libffi-devel zlib-devel +BuildRequires: libxml2-devel libedit-devel python3-lit + +Requires: python3-lldb %description -The LLDB Debugger (LLDB) is the debugger component of the LLVM project. It -is built as a set of reusable components which extensively use existing -libraries from LLVM, such as the Clang expression parser and LLVM disassembler. -LLDB is free and open-source software under the University of Illinois/NCSA -Open Source License,[2] a BSD-style permissive software license. +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} = %{version}-%{release} +Summary: Development header files for LLDB +Requires: %{name} = %{version}-%{release} %description devel The package contains header files for the LLDB debugger. -%package -n python2-lldb -%{?python_provide:%python_provide python2-lldb} -Summary: Python module for LLDB -BuildRequires: python2-devel -Requires: python2-six +%package -n python3-lldb +%{?python_provide:%python_provide python3-lldb} +Summary: Python module for LLDB +BuildRequires: python3-devel +Requires: python3-six -%description -n python2-lldb +%description -n python3-lldb The package contains the LLDB Python module. %prep -%autosetup -n %{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src -p1 -sed -i -e "s~import sys~import sys\nsys.path.insert\(1, '%{python2_sitearch}/lldb'\)~g" source/Interpreter/embedded_interpreter.py +%autosetup -n %{name}-%{version}.src -p2 %build -mkdir -p _build;cd _build + +mkdir -p _build +cd _build + +# Python version detection is broken LDFLAGS="%{__global_ldflags} -lpthread -ldl" + CFLAGS="%{optflags} -Wno-error=format-security" CXXFLAGS="%{optflags} -Wno-error=format-security" -%cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ - -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} -DLLDB_DISABLE_CURSES:BOOL=OFF \ - -DLLDB_DISABLE_LIBEDIT:BOOL=OFF -DLLDB_DISABLE_PYTHON:BOOL=OFF -DLLVM_LIBDIR_SUFFIX=64 \ - -DPYTHON_EXECUTABLE:STRING=%{__python2} -DPYTHON_VERSION_MAJOR:STRING=$(%{__python2} -c "import sys; print sys.version_info.major") \ - -DPYTHON_VERSION_MINOR:STRING=$(%{__python2} -c "import sys; print sys.version_info.minor") -%make_build + +%cmake .. \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ + -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ + \ + -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" \ + +make %{?_smp_mflags} %install cd _build -%make_install +make install DESTDIR=%{buildroot} + +# 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}%{python2_sitearch}/lldb/_lldb.so -mv -v %{buildroot}%{python2_sitearch}/readline.so %{buildroot}%{python2_sitearch}/lldb/readline.so +ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so +%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/lldb -%post -/sbin/ldconfig +# remove bundled six.py +rm -f %{buildroot}%{python3_sitearch}/six.* -%postun -/sbin/ldconfig +%ldconfig_scriptlets %files %{_bindir}/lldb* -%{_libdir}/liblldb*.so.* +%{_libdir}/liblldb.so.* +%{_libdir}/liblldbIntelFeatures.so.* %files devel %{_includedir}/lldb %{_libdir}/*.so -%exclude %{_libdir}/*.a -%exclude %{python2_sitearch}/six.* -%files -n python2-lldb -%{python2_sitearch}/lldb +%files -n python3-lldb +%{python3_sitearch}/lldb %changelog -* Mon Dec 2 2019 likexin 7.0.0-2 +* Mon Oct 12 2020 wangxiao - 10.0.1-1 +- upgrade lldb to 10.0.1 +* Mon Dec 2 2019 likexin 7.0.0-2 - Package init diff --git a/lldb.yaml b/lldb.yaml new file mode 100644 index 0000000..7d98bd8 --- /dev/null +++ b/lldb.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: llvm/llvm-project +tag_prefix: ^llvmorg- +seperator: .