From 77e4cb85f6781ff1bb88bc9b9033f65226673ef7 Mon Sep 17 00:00:00 2001 From: Bernard Cafarelli Date: Mon, 12 Oct 2015 20:22:07 +0200 Subject: sys-devel/llvm: fix some USE=ocaml issues Bug: 559624 Bug: 562008 Package-Manager: portage-2.2.23 --- sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-build_doc.patch | 12 ++++++++++++ sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-multilib.patch | 8 ++++---- sys-devel/llvm/llvm-3.7.0-r2.ebuild | 7 +++++-- 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-build_doc.patch diff --git a/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-build_doc.patch b/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-build_doc.patch new file mode 100644 index 000000000000..d53ce193ca25 --- /dev/null +++ b/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-build_doc.patch @@ -0,0 +1,12 @@ +diff -Naur llvm-3.7.0.src.orig/docs/CMakeLists.txt llvm-3.7.0.src/docs/CMakeLists.txt +--- llvm-3.7.0.src.orig/docs/CMakeLists.txt 2015-08-18 18:48:44.000000000 +0200 ++++ llvm-3.7.0.src/docs/CMakeLists.txt 2015-10-12 14:40:00.985384589 +0200 +@@ -115,7 +115,7 @@ + endif() + + list(FIND LLVM_BINDINGS_LIST ocaml uses_ocaml) +-if( NOT uses_ocaml LESS 0 ) ++if( NOT uses_ocaml LESS 0 AND LLVM_BUILD_DOCS ) + set(doc_targets + ocaml_llvm + ocaml_llvm_all_backends diff --git a/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-multilib.patch b/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-multilib.patch index caba3d17bb74..024bad737de5 100644 --- a/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-multilib.patch +++ b/sys-devel/llvm/files/cmake/llvm-3.7.0-ocaml-multilib.patch @@ -14,13 +14,13 @@ install(FILES ${install_files} - DESTINATION lib/ocaml) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml/llvm) install(FILES ${install_shlibs} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE - DESTINATION lib/ocaml) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml/llvm) foreach( install_file ${install_files} ${install_shlibs} ) get_filename_component(filename "${install_file}" NAME) @@ -31,7 +31,7 @@ install(FILES "${LLVM_LIBRARY_DIR}/ocaml/META.llvm_${TARGET}" - DESTINATION lib/ocaml) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml/llvm) endforeach() --- llvm-3.7.0rc3.src-orig/bindings/ocaml/llvm/CMakeLists.txt 2014-12-30 14:24:07.000000000 +1100 +++ llvm-3.7.0rc3.src/bindings/ocaml/llvm/CMakeLists.txt 2015-08-30 19:23:43.561583624 +1000 @@ -40,4 +40,4 @@ install(FILES "${LLVM_LIBRARY_DIR}/ocaml/META.llvm" - DESTINATION lib/ocaml) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/ocaml/llvm) diff --git a/sys-devel/llvm/llvm-3.7.0-r2.ebuild b/sys-devel/llvm/llvm-3.7.0-r2.ebuild index de885b71de67..303ce9872f50 100644 --- a/sys-devel/llvm/llvm-3.7.0-r2.ebuild +++ b/sys-devel/llvm/llvm-3.7.0-r2.ebuild @@ -40,9 +40,10 @@ COMMON_DEPEND=" libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) ocaml? ( - dev-lang/ocaml:0= + >=dev-lang/ocaml-4.00.0:0= dev-ml/findlib - dev-ml/ocaml-ctypes )" + dev-ml/ocaml-ctypes + !!<=sys-devel/llvm-3.7.0-r2[ocaml] )" # configparser-3.2 breaks the build (3.3 or none at all are fine) DEPEND="${COMMON_DEPEND} dev-lang/perl @@ -151,6 +152,8 @@ src_prepare() { sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die # Fix libdir for ocaml bindings install, bug #559134 epatch "${FILESDIR}"/cmake/${P}-ocaml-multilib.patch + # Do not build/install ocaml docs with USE=-doc, bug #562008 + epatch "${FILESDIR}"/cmake/${P}-ocaml-build_doc.patch # Make it possible to override Sphinx HTML install dirs # https://llvm.org/bugs/show_bug.cgi?id=23780 -- cgit v1.2.3-18-g5258