commit:     d50382655a40e343363d82b7c371a06660b9bdf8
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 19 20:14:10 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Jan 19 20:20:52 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5038265

dev-lang/rust: fix configure of bundled LLVM

Bug: https://bugs.gentoo.org/675752
Package-Manager: Portage-2.3.56, Repoman-2.3.12
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../1.32.0-fix-configure-of-bundled-llvm.patch     | 32 ++++++++++++++++++++++
 dev-lang/rust/rust-1.32.0.ebuild                   |  5 +++-
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/dev-lang/rust/files/1.32.0-fix-configure-of-bundled-llvm.patch 
b/dev-lang/rust/files/1.32.0-fix-configure-of-bundled-llvm.patch
new file mode 100644
index 00000000000..eaeab87774e
--- /dev/null
+++ b/dev-lang/rust/files/1.32.0-fix-configure-of-bundled-llvm.patch
@@ -0,0 +1,32 @@
+Revert "[CMake] Unconditionally add .h and .td files to target sources"
+
+This reverts commit 
https://github.com/llvm-mirror/llvm/commit/6fb010f388bb2cb2f00fe039123092308ac4865d.
+
+Bug: https://bugs.gentoo.org/675752#c7
+--- a/src/llvm/cmake/modules/LLVMProcessSources.cmake
++++ b/src/llvm/cmake/modules/LLVMProcessSources.cmake
+@@ -52,15 +52,16 @@ function(llvm_process_sources OUT_VAR)
+   cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS;ADDITIONAL_HEADER_DIRS" 
${ARGN})
+   set(sources ${ARG_UNPARSED_ARGUMENTS})
+   llvm_check_source_file_list( ${sources} )
+-  
+-  # This adds .td and .h files to the Visual Studio solution:
+-  add_td_sources(sources)
+-  find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")
+-  if (hdrs)
+-    set_source_files_properties(${hdrs} PROPERTIES HEADER_FILE_ONLY ON)
++  if( LLVM_ENABLE_IDE )
++    # This adds .td and .h files to the Visual Studio solution:
++    add_td_sources(sources)
++    find_all_header_files(hdrs "${ARG_ADDITIONAL_HEADER_DIRS}")
++    if (hdrs)
++      set_source_files_properties(${hdrs} PROPERTIES HEADER_FILE_ONLY ON)
++    endif()
++    set_source_files_properties(${ARG_ADDITIONAL_HEADERS} PROPERTIES 
HEADER_FILE_ONLY ON)
++    list(APPEND sources ${ARG_ADDITIONAL_HEADERS} ${hdrs})
+   endif()
+-  set_source_files_properties(${ARG_ADDITIONAL_HEADERS} PROPERTIES 
HEADER_FILE_ONLY ON)
+-  list(APPEND sources ${ARG_ADDITIONAL_HEADERS} ${hdrs})
+ 
+   set( ${OUT_VAR} ${sources} PARENT_SCOPE )
+ endfunction(llvm_process_sources)

diff --git a/dev-lang/rust/rust-1.32.0.ebuild b/dev-lang/rust/rust-1.32.0.ebuild
index 680160fc9a9..d7262e896e2 100644
--- a/dev-lang/rust/rust-1.32.0.ebuild
+++ b/dev-lang/rust/rust-1.32.0.ebuild
@@ -61,7 +61,10 @@ REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
 
 S="${WORKDIR}/${MY_P}-src"
 
-PATCHES=( "${FILESDIR}"/1.30.1-clippy-sysroot.patch )
+PATCHES=(
+       "${FILESDIR}"/1.30.1-clippy-sysroot.patch
+       "${FILESDIR}"/1.32.0-fix-configure-of-bundled-llvm.patch
+)
 
 toml_usex() {
        usex "$1" true false

Reply via email to