diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fbbef16 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/hans-gpg-key.asc +SOURCES/lldb-10.0.0.src.tar.xz diff --git a/.lldb.metadata b/.lldb.metadata new file mode 100644 index 0000000..34773ec --- /dev/null +++ b/.lldb.metadata @@ -0,0 +1,2 @@ +32fa4b0193960f05064f2ab31b5a89c7cf48a0b9 SOURCES/hans-gpg-key.asc +44b5a19204717a1053fab13b113172aa822b012b SOURCES/lldb-10.0.0.src.tar.xz diff --git a/SOURCES/lldb-10.0.0.src.tar.xz.sig b/SOURCES/lldb-10.0.0.src.tar.xz.sig new file mode 100644 index 0000000..ff0fd5d Binary files /dev/null and b/SOURCES/lldb-10.0.0.src.tar.xz.sig differ diff --git a/SPECS/lldb.spec b/SPECS/lldb.spec new file mode 100644 index 0000000..74ae588 --- /dev/null +++ b/SPECS/lldb.spec @@ -0,0 +1,257 @@ +#%%global rc_ver 6 +%global baserelease 1 +%global lldb_srcdir %{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src + +Name: lldb +Version: 10.0.0 +Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist} +Summary: Next generation high-performance debugger + +License: NCSA +URL: http://lldb.llvm.org/ +%if 0%{?rc_ver:1} +Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{lldb_srcdir}.tar.xz +Source1: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{lldb_srcdir}.tar.xz.sig +%else +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{lldb_srcdir}.tar.xz +Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{lldb_srcdir}.tar.xz.sig +%endif +Source2: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc + +BuildRequires: cmake +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 + +Requires: python3-lldb + +%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 +Requires: python3-six + +%description -n python3-lldb +The package contains the LLDB Python module. + +%prep +%autosetup -n %{lldb_srcdir} -p2 + +%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_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 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}%{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 + +%files +%{_bindir}/lldb* +%{_libdir}/liblldb.so.* +%{_libdir}/liblldbIntelFeatures.so.* + +%files devel +%{_includedir}/lldb +%{_libdir}/*.so + +%files -n python3-lldb +%{python3_sitearch}/lldb + +%changelog +* 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