# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 : ${CMAKE_MAKEFILE_GENERATOR:=ninja} # (needed due to CMAKE_BUILD_TYPE != Gentoo) CMAKE_MIN_VERSION=3.7.0-r1 PYTHON_COMPAT=( python2_7 ) inherit cmake-utils eapi7-ver flag-o-matic git-r3 multilib-minimal \ multiprocessing pax-utils python-any-r1 toolchain-funcs DESCRIPTION="Low Level Virtual Machine" HOMEPAGE="https://llvm.org/" SRC_URI="" EGIT_REPO_URI="https://git.llvm.org/git/llvm.git https://github.com/llvm-mirror/llvm.git" # Those are in lib/Targets, without explicit CMakeLists.txt mention ALL_LLVM_EXPERIMENTAL_TARGETS=( AVR Nios2 RISCV WebAssembly ) # Keep in sync with CMakeLists.txt ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" ) ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) # Additional licenses: # 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD. # 2. ARM backend: LLVM Software Grant by ARM. # 3. MD5 code: public-domain. # 4. Tests (not installed): # a. gtest: BSD. # b. YAML tests: MIT. LICENSE="UoI-NCSA rc BSD public-domain llvm_targets_ARM? ( LLVM-Grant )" SLOT="7" KEYWORDS="" IUSE="debug doc gold libedit +libffi ncurses test xar xml kernel_Darwin ${ALL_LLVM_TARGETS[*]}" RESTRICT="!test? ( test )" RDEPEND=" sys-libs/zlib:0= gold? ( >=sys-devel/binutils-2.22:*[cxx] ) libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] ) libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] ) xar? ( app-arch/xar ) xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )" # configparser-3.2 breaks the build (3.3 or none at all are fine) DEPEND="${RDEPEND} dev-lang/perl || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) ) kernel_Darwin? ( =sys-devel/binutils-apple-5.1 ) doc? ( dev-python/sphinx ) gold? ( sys-libs/binutils-libs ) libffi? ( virtual/pkgconfig ) !! "${T}/10llvm-${revord}" || die PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" # we need to duplicate it in ROOTPATH for Portage to respect... ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin" MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man" LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )" _EOF_ doenvd "${T}/10llvm-${revord}" docompress "/usr/lib/llvm/${SLOT}/share/man" } pkg_postinst() { elog "You can find additional opt-viewer utility scripts in:" elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer" elog "To use these scripts, you will need Python 2.7 along with the following" elog "packages:" elog " dev-python/pygments (for opt-viewer)" elog " dev-python/pyyaml (for all of them)" }