Blame SPECS/lldb.spec

d62e6e
%global rc_ver 2
d62e6e
%global baserelease 0.1
8ea76b
%global lldb_srcdir %{name}-%{version}%{?rc_ver:rc%{rc_ver}}.src
8ea76b
d62e6e
# Too many threads causes OOM errors.
d62e6e
%global _smp_mflags -j8
d62e6e
8ea76b
Name:		lldb
d62e6e
Version:	11.0.0
8ea76b
Release:	%{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
8ea76b
Summary:	Next generation high-performance debugger
8ea76b
8ea76b
License:	NCSA
8ea76b
URL:		http://lldb.llvm.org/
d62e6e
Source0:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{lldb_srcdir}.tar.xz
d62e6e
Source1:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{lldb_srcdir}.tar.xz.sig
8ea76b
Source2:	https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
8ea76b
d62e6e
BuildRequires:	gcc
d62e6e
BuildRequires:	gcc-c++
8ea76b
BuildRequires:	cmake
d62e6e
BuildRequires:	ninja-build
8ea76b
BuildRequires:	llvm-devel = %{version}
8ea76b
BuildRequires:	llvm-test = %{version}
8ea76b
BuildRequires:	clang-devel = %{version}
8ea76b
BuildRequires:	ncurses-devel
8ea76b
BuildRequires:	swig
8ea76b
BuildRequires:	llvm-static = %{version}
8ea76b
BuildRequires:	libffi-devel
8ea76b
BuildRequires:	zlib-devel
8ea76b
BuildRequires:	libxml2-devel
8ea76b
BuildRequires:	libedit-devel
8ea76b
BuildRequires:	python3-lit
d62e6e
BuildRequires:	multilib-rpm-config
8ea76b
8ea76b
Requires:	python3-lldb
8ea76b
8ea76b
%description
8ea76b
LLDB is a next generation, high-performance debugger. It is built as a set
8ea76b
of reusable components which highly leverage existing libraries in the
8ea76b
larger LLVM Project, such as the Clang expression parser and LLVM
8ea76b
disassembler.
8ea76b
8ea76b
%package devel
8ea76b
Summary:	Development header files for LLDB
8ea76b
Requires:	%{name}%{?_isa} = %{version}-%{release}
8ea76b
8ea76b
%description devel
8ea76b
The package contains header files for the LLDB debugger.
8ea76b
8ea76b
%package -n python3-lldb
8ea76b
%{?python_provide:%python_provide python3-lldb}
8ea76b
Summary:	Python module for LLDB
8ea76b
BuildRequires:	python3-devel
8ea76b
Requires:	python3-six
d62e6e
Requires:	%{name}%{?_isa} = %{version}-%{release}
8ea76b
8ea76b
%description -n python3-lldb
8ea76b
The package contains the LLDB Python module.
8ea76b
8ea76b
%prep
8ea76b
%autosetup -n %{lldb_srcdir} -p2
8ea76b
8ea76b
%build
8ea76b
8ea76b
mkdir -p _build
8ea76b
cd _build
8ea76b
d62e6e
## Python version detection is broken
d62e6e
#LDFLAGS="%{__global_ldflags} -lpthread -ldl"
8ea76b
8ea76b
CFLAGS="%{optflags} -Wno-error=format-security"
8ea76b
CXXFLAGS="%{optflags} -Wno-error=format-security"
8ea76b
d62e6e
%cmake .. -GNinja \
8ea76b
	-DCMAKE_BUILD_TYPE=RelWithDebInfo \
d62e6e
	-DCMAKE_SKIP_RPATH:BOOL=ON \
8ea76b
	-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
8ea76b
	-DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \
8ea76b
	\
8ea76b
	-DLLDB_DISABLE_CURSES:BOOL=OFF \
8ea76b
	-DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
8ea76b
	-DLLDB_DISABLE_PYTHON:BOOL=OFF \
8ea76b
%if 0%{?__isa_bits} == 64
8ea76b
	-DLLVM_LIBDIR_SUFFIX=64 \
8ea76b
%else
8ea76b
	-DLLVM_LIBDIR_SUFFIX= \
8ea76b
%endif
8ea76b
	\
8ea76b
	-DPYTHON_EXECUTABLE:STRING=%{__python3} \
8ea76b
	-DPYTHON_VERSION_MAJOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.major)") \
8ea76b
	-DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \
8ea76b
	-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
8ea76b
	-DCLANG_LINK_CLANG_DYLIB=ON \
8ea76b
	-DLLVM_LIT_ARGS="-sv \
8ea76b
	--path %{_libdir}/llvm" \
8ea76b
d62e6e
%ninja_build
8ea76b
8ea76b
%install
8ea76b
cd _build
d62e6e
%ninja_install
8ea76b
e2d858
%multilib_fix_c_header --file %{_includedir}/lldb/Host/Config.h
e2d858
8ea76b
# remove static libraries
8ea76b
rm -fv %{buildroot}%{_libdir}/*.a
8ea76b
8ea76b
# python: fix binary libraries location
8ea76b
liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
8ea76b
ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so
8ea76b
%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/lldb
8ea76b
8ea76b
# remove bundled six.py
8ea76b
rm -f %{buildroot}%{python3_sitearch}/six.*
8ea76b
8ea76b
%ldconfig_scriptlets
8ea76b
8ea76b
%files
d62e6e
%license LICENSE.TXT
8ea76b
%{_bindir}/lldb*
8ea76b
%{_libdir}/liblldb.so.*
8ea76b
%{_libdir}/liblldbIntelFeatures.so.*
8ea76b
8ea76b
%files devel
8ea76b
%{_includedir}/lldb
8ea76b
%{_libdir}/*.so
8ea76b
8ea76b
%files -n python3-lldb
8ea76b
%{python3_sitearch}/lldb
8ea76b
8ea76b
%changelog
d62e6e
* Fri Sep 18 2020 sguelton@redhat.com - 11.0.0-0.1.rc2
d62e6e
- 11.0.0-rc2 Release
d62e6e
513308
* Fri Jul 24 2020 sguelton@redhat.com - 10.0.1-1
513308
- 10.0.1
513308
e2d858
* Mon Jun 15 2020 sguelton@redhat.com - 10.0.0-2
e2d858
- Fix multilib integration, see rhbz#1841073
e2d858
8ea76b
* Thu Apr 9 2020 sguelton@redhat.com - 10.0.0-1
8ea76b
- 10.0.0 final
8ea76b
8ea76b
* Sat Dec 21 2019 Tom Stellard <tstellar@redhat.com> - 9.0.1-1
8ea76b
- 9.0.1 Release
8ea76b
8ea76b
* Fri Oct 04 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-2
8ea76b
- Disable readline module to work-around segafult
8ea76b
8ea76b
* Fri Sep 27 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-1
8ea76b
- 9.0.0 Release
8ea76b
8ea76b
* Thu Aug 1 2019 sguelton@redhat.com - 8.0.1-1
8ea76b
- 8.0.1 release
8ea76b
8ea76b
* Thu Jun 13 2019 sguelton@redhat.com - 8.0.1-0.1.rc2
8ea76b
- 8.0.1rc2 Release
8ea76b
8ea76b
* Tue Apr 16 2019 sguelton@redhat.com - 8.0.0-1
8ea76b
- 8.0.0 Release
8ea76b
8ea76b
* Mon Dec 17 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-2
8ea76b
- Fix multilib conflict
8ea76b
8ea76b
* Fri Dec 14 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-1
8ea76b
- 7.0.1 Release
8ea76b
8ea76b
* Mon Dec 10 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-0.1.rc3
8ea76b
- 7.0.1-rc3 Release
8ea76b
8ea76b
* Thu Dec 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-7
8ea76b
- Re-enable python module for real
8ea76b
8ea76b
* Wed Oct 03 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-6
8ea76b
- Re-enable python module and fix build with python3
8ea76b
8ea76b
* Wed Oct 03 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-5
8ea76b
- Disable python module
8ea76b
8ea76b
* Mon Oct 01 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-4
8ea76b
- Drop scl macros
8ea76b
8ea76b
* Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-3
8ea76b
- Re-enable python module
8ea76b
8ea76b
* Tue Aug 07 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-2
8ea76b
- Install ld.so.conf file in the root filesystem
8ea76b
8ea76b
* Wed Jul 11 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-1
8ea76b
- 6.0.1 Release
8ea76b
8ea76b
* Thu Jan 25 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-3
8ea76b
- Drop explicit dependencies for llvm-libs and clang-libs
8ea76b
8ea76b
* Tue Jan 16 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-2
8ea76b
- Rebuid for i686
8ea76b
8ea76b
* Thu Jan 11 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-1
8ea76b
- 5.0.1 Release
8ea76b
8ea76b
* Wed Aug 16 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-4
8ea76b
-  Fix crash when loading Fedora debuginfo
8ea76b
   Resloves: #1479529
8ea76b
8ea76b
* Mon Jul 31 2017 Jan Kratochvil <jan.kratochvil@redhat.com> - 4.0.1-3
8ea76b
- Backport lldb r303907
8ea76b
  Resolves: #1356140
8ea76b
8ea76b
* Thu Jun 22 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-2
8ea76b
- Fix requires for python-lldb
8ea76b
8ea76b
* Wed Jun 21 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-1
8ea76b
- Build for llvm-toolset-7 rename
8ea76b
8ea76b
* Wed Jun 07 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-3
8ea76b
- Build for llvm-toolset-7 rename
8ea76b
8ea76b
* Thu May 18 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-2
8ea76b
- Fix Requires
8ea76b
8ea76b
* Fri Mar 24 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-1
8ea76b
- lldb 4.0.0
8ea76b
8ea76b
* Tue Mar 21 2017 Tom Stellard <tstellar@redhat.com> - 3.9.1-4
8ea76b
- Add explicit Requires for llvm-libs and clang-libs
8ea76b
8ea76b
* Fri Mar 17 2017 Tom Stellard <tstellar@redhat.org> - 3.9.1-3
8ea76b
- Adjust python sys.path so lldb can find readline.so
8ea76b
8ea76b
* Tue Mar 14 2017 Tom Stellard <tstellar@redhat.com> - 3.9.1-2
8ea76b
- Fix build with gcc 7
8ea76b
8ea76b
* Thu Mar 02 2017 Dave Airlie 
8ea76b
- lldb 3.9.1
8ea76b
8ea76b
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-4
8ea76b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
8ea76b
8ea76b
* Mon Nov 14 2016 Nathaniel McCallum <npmccallum@redhat.com> - 3.9.0-3
8ea76b
- Disable libedit support until upstream fixes it (#1356140)
8ea76b
8ea76b
* Wed Nov  2 2016 Peter Robinson <pbrobinson@fedoraproject.org> 3.9.0-2
8ea76b
- Set upstream supported architectures in an ExclusiveArch
8ea76b
8ea76b
* Wed Oct 26 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-1
8ea76b
- lldb 3.9.0
8ea76b
- fixup some issues with MIUtilParse by removing it
8ea76b
- build with -fno-rtti
8ea76b
8ea76b
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.0-2
8ea76b
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
8ea76b
8ea76b
* Thu Mar 10 2016 Dave Airlie <airlied@redhat.com> 3.8.0-1
8ea76b
- lldb 3.8.0
8ea76b
8ea76b
* Thu Mar 03 2016 Dave Airlie <airlied@redhat.com> 3.8.0-0.3
8ea76b
- lldb 3.8.0 rc3
8ea76b
8ea76b
* Wed Feb 24 2016 Dave Airlie <airlied@redhat.com> - 3.8.0-0.2
8ea76b
- dynamically link to llvm
8ea76b
8ea76b
* Thu Feb 18 2016 Dave Airlie <airlied@redhat.com> - 3.8.0-0.1
8ea76b
- lldb 3.8.0 rc2
8ea76b
8ea76b
* Sun Feb 14 2016 Dave Airlie <airlied@redhat.com> 3.7.1-3
8ea76b
- rebuild lldb against latest llvm
8ea76b
8ea76b
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.1-2
8ea76b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
8ea76b
8ea76b
* Tue Oct 06 2015 Jan Vcelak <jvcelak@fedoraproject.org> 3.7.0-100
8ea76b
- initial version using cmake build system