mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-31 10:58:21 -07:00
sys-devel/llvm: Bump to 10.0.1-rc2
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -4,4 +4,5 @@ DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c894
|
||||
DIST llvm-9.0.0-manpages.tar.bz2 158546 BLAKE2B eed6235698a0b5993affe305f7fd22cd4cf444adf931275a1685f2049a5f17cf2933907577d9ce142348a3c579769b0436aa2b5a9a953958504125a8c3e83b7d SHA512 64c8d18061eb2870b379a1df485be0b61eac07cb10b3f97347b54b2ee326faa63437ca04466776be282e120dd3f6147e14fffdd38ca370db85748fe5eb54d764
|
||||
DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
|
||||
DIST llvmorg-10.0.1-rc1.tar.gz 120834583 BLAKE2B 64244ebcb6f2c171c9f606e5eb0adff2794f06c9312a0ca627fb79c107c0c898ac242cf4e92523c3265fa717322601d7e3f4d178515fac95d03ee92312082b06 SHA512 f877f66046969a4055b166ad50ef876a9c8ecaf03e2cdd7c8e1a3348eb5f5180f222fa457b1f090a6660282a0d9f7a1d39cf09a04abe0dde0a6e1e10ccf15597
|
||||
DIST llvmorg-10.0.1-rc2.tar.gz 120883192 BLAKE2B d48f4ccb33691cd4997576a6d20b298455687515164f7d8dfa11ec32e197b58132c6bd549c1214c3b36982ef85e1018d4101e7afecee8d2ab67ad15d68c681bf SHA512 8e363d379a73e38ef570fb03d8243a21f37a48ef579a0f08118af4dac48060c0dc24e2bd8175f04241fa424e49b6c85723d2d3552bbe30dd165fe5fb43493325
|
||||
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
|
||||
|
||||
477
sys-devel/llvm/llvm-10.0.1_rc2.ebuild
Normal file
477
sys-devel/llvm/llvm-10.0.1_rc2.ebuild
Normal file
@@ -0,0 +1,477 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
|
||||
toolchain-funcs
|
||||
|
||||
DESCRIPTION="Low Level Virtual Machine"
|
||||
HOMEPAGE="https://llvm.org/"
|
||||
LLVM_COMPONENTS=( llvm )
|
||||
llvm.org_set_globals
|
||||
|
||||
# Those are in lib/Targets, without explicit CMakeLists.txt mention
|
||||
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR )
|
||||
# Keep in sync with CMakeLists.txt
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly 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. xxhash: BSD.
|
||||
# 3. MD5 code: public-domain.
|
||||
# 4. ConvertUTF.h: TODO.
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
|
||||
SLOT="$(ver_cut 1)"
|
||||
KEYWORDS=""
|
||||
IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
|
||||
kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
|
||||
exegesis? ( dev-libs/libpfm:= )
|
||||
gold? (
|
||||
|| (
|
||||
>=sys-devel/binutils-2.31.1-r4:*[plugins]
|
||||
<sys-devel/binutils-2.31.1-r4:*[cxx]
|
||||
)
|
||||
)
|
||||
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
|
||||
libffi? ( >=dev-libs/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}] )
|
||||
z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
|
||||
DEPEND="${RDEPEND}
|
||||
gold? ( sys-libs/binutils-libs )"
|
||||
BDEPEND="
|
||||
dev-lang/perl
|
||||
sys-devel/gnuconfig
|
||||
kernel_Darwin? (
|
||||
<sys-libs/libcxx-$(ver_cut 1-3).9999
|
||||
>=sys-devel/binutils-apple-5.1
|
||||
)
|
||||
libffi? ( virtual/pkgconfig )
|
||||
$(python_gen_any_dep '
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
doc? ( dev-python/recommonmark[${PYTHON_USEDEP}] )
|
||||
')"
|
||||
# There are no file collisions between these versions but having :0
|
||||
# installed means llvm-config there will take precedence.
|
||||
RDEPEND="${RDEPEND}
|
||||
!sys-devel/llvm:0"
|
||||
PDEPEND="sys-devel/llvm-common
|
||||
gold? ( >=sys-devel/llvmgold-${SLOT} )"
|
||||
|
||||
PATCHES=(
|
||||
# Fix linking to dylib and .a libs simultaneously
|
||||
"${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
|
||||
"${FILESDIR}"/10.0.1/0002-llvm-Disable-linking-llvm-exegesis-to-dylib.patch
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
if use doc; then
|
||||
has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
|
||||
return 1
|
||||
fi
|
||||
has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
check_distribution_components() {
|
||||
if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
|
||||
local all_targets=() my_targets=() l
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
while read -r l; do
|
||||
if [[ ${l} == install-*-stripped:* ]]; then
|
||||
l=${l#install-}
|
||||
l=${l%%-stripped*}
|
||||
|
||||
case ${l} in
|
||||
# shared libs
|
||||
LLVM|LLVMgold)
|
||||
;;
|
||||
# TableGen lib + deps
|
||||
LLVMDemangle|LLVMSupport|LLVMTableGen)
|
||||
;;
|
||||
# static libs
|
||||
LLVM*)
|
||||
continue
|
||||
;;
|
||||
# meta-targets
|
||||
distribution|llvm-libraries)
|
||||
continue
|
||||
;;
|
||||
# used only w/ USE=doc
|
||||
docs-llvm-html)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
all_targets+=( "${l}" )
|
||||
fi
|
||||
done < <(ninja -t targets all)
|
||||
|
||||
while read -r l; do
|
||||
my_targets+=( "${l}" )
|
||||
done < <(get_distribution_components $"\n")
|
||||
|
||||
local add=() remove=()
|
||||
for l in "${all_targets[@]}"; do
|
||||
if ! has "${l}" "${my_targets[@]}"; then
|
||||
add+=( "${l}" )
|
||||
fi
|
||||
done
|
||||
for l in "${my_targets[@]}"; do
|
||||
if ! has "${l}" "${all_targets[@]}"; then
|
||||
remove+=( "${l}" )
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
|
||||
eqawarn "get_distribution_components() is outdated!"
|
||||
eqawarn " Add: ${add[*]}"
|
||||
eqawarn "Remove: ${remove[*]}"
|
||||
fi
|
||||
cd - >/dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Fix llvm-config for shared linking and sane flags
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=565358
|
||||
eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
|
||||
|
||||
# disable use of SDK on OSX, bug #568758
|
||||
sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
|
||||
|
||||
# Update config.guess to support more systems
|
||||
cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
|
||||
|
||||
# manpages don't use markdown
|
||||
if ! use doc; then
|
||||
sed -i -e '/source_parsers/d' docs/conf.py || die
|
||||
fi
|
||||
|
||||
llvm.org_src_prepare
|
||||
}
|
||||
|
||||
# Is LLVM being linked against libc++?
|
||||
is_libcxx_linked() {
|
||||
local code='#include <ciso646>
|
||||
#if defined(_LIBCPP_VERSION)
|
||||
HAVE_LIBCXX
|
||||
#endif
|
||||
'
|
||||
local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
|
||||
|
||||
[[ ${out} == *HAVE_LIBCXX* ]]
|
||||
}
|
||||
|
||||
get_distribution_components() {
|
||||
local sep=${1-;}
|
||||
|
||||
local out=(
|
||||
# shared libs
|
||||
LLVM
|
||||
LTO
|
||||
Remarks
|
||||
|
||||
# tools
|
||||
llvm-config
|
||||
|
||||
# common stuff
|
||||
cmake-exports
|
||||
llvm-headers
|
||||
|
||||
# libraries needed for clang-tblgen
|
||||
LLVMDemangle
|
||||
LLVMSupport
|
||||
LLVMTableGen
|
||||
)
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
out+=(
|
||||
# utilities
|
||||
llvm-tblgen
|
||||
FileCheck
|
||||
llvm-PerfectShuffle
|
||||
count
|
||||
not
|
||||
yaml-bench
|
||||
|
||||
# tools
|
||||
bugpoint
|
||||
dsymutil
|
||||
llc
|
||||
lli
|
||||
lli-child-target
|
||||
llvm-addr2line
|
||||
llvm-ar
|
||||
llvm-as
|
||||
llvm-bcanalyzer
|
||||
llvm-c-test
|
||||
llvm-cat
|
||||
llvm-cfi-verify
|
||||
llvm-config
|
||||
llvm-cov
|
||||
llvm-cvtres
|
||||
llvm-cxxdump
|
||||
llvm-cxxfilt
|
||||
llvm-cxxmap
|
||||
llvm-diff
|
||||
llvm-dis
|
||||
llvm-dlltool
|
||||
llvm-dwarfdump
|
||||
llvm-dwp
|
||||
llvm-elfabi
|
||||
llvm-exegesis
|
||||
llvm-extract
|
||||
llvm-ifs
|
||||
llvm-install-name-tool
|
||||
llvm-jitlink
|
||||
llvm-lib
|
||||
llvm-link
|
||||
llvm-lipo
|
||||
llvm-lto
|
||||
llvm-lto2
|
||||
llvm-mc
|
||||
llvm-mca
|
||||
llvm-modextract
|
||||
llvm-mt
|
||||
llvm-nm
|
||||
llvm-objcopy
|
||||
llvm-objdump
|
||||
llvm-opt-report
|
||||
llvm-pdbutil
|
||||
llvm-profdata
|
||||
llvm-ranlib
|
||||
llvm-rc
|
||||
llvm-readelf
|
||||
llvm-readobj
|
||||
llvm-reduce
|
||||
llvm-rtdyld
|
||||
llvm-size
|
||||
llvm-split
|
||||
llvm-stress
|
||||
llvm-strings
|
||||
llvm-strip
|
||||
llvm-symbolizer
|
||||
llvm-undname
|
||||
llvm-xray
|
||||
obj2yaml
|
||||
opt
|
||||
sancov
|
||||
sanstats
|
||||
verify-uselistorder
|
||||
yaml2obj
|
||||
|
||||
# python modules
|
||||
opt-viewer
|
||||
|
||||
# manpages
|
||||
docs-dsymutil-man
|
||||
docs-llvm-dwarfdump-man
|
||||
docs-llvm-man
|
||||
)
|
||||
use doc && out+=(
|
||||
docs-llvm-html
|
||||
)
|
||||
|
||||
use gold && out+=(
|
||||
LLVMgold
|
||||
)
|
||||
fi
|
||||
|
||||
printf "%s${sep}" "${out[@]}"
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local ffi_cflags ffi_ldflags
|
||||
if use libffi; then
|
||||
ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
|
||||
ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
|
||||
fi
|
||||
|
||||
local libdir=$(get_libdir)
|
||||
local mycmakeargs=(
|
||||
# disable appending VCS revision to the version to improve
|
||||
# direct cache hit ratio
|
||||
-DLLVM_APPEND_VC_REV=OFF
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
|
||||
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
|
||||
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON
|
||||
-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
|
||||
|
||||
# cheap hack: LLVM combines both anyway, and the only difference
|
||||
# is that the former list is explicitly verified at cmake time
|
||||
-DLLVM_TARGETS_TO_BUILD=""
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
|
||||
-DLLVM_BUILD_TESTS=$(usex test)
|
||||
|
||||
-DLLVM_ENABLE_FFI=$(usex libffi)
|
||||
-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
|
||||
-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
|
||||
-DLLVM_ENABLE_LIBXML2=$(usex xml)
|
||||
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
|
||||
-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
|
||||
-DLLVM_ENABLE_EH=ON
|
||||
-DLLVM_ENABLE_RTTI=ON
|
||||
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
|
||||
|
||||
-DLLVM_HOST_TRIPLE="${CHOST}"
|
||||
|
||||
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
|
||||
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
|
||||
# used only for llvm-objdump tool
|
||||
-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
|
||||
|
||||
# disable OCaml bindings (now in dev-ml/llvm-ocaml)
|
||||
-DOCAMLFIND=NO
|
||||
)
|
||||
|
||||
if is_libcxx_linked; then
|
||||
# Smart hack: alter version suffix -> SOVERSION when linking
|
||||
# against libc++. This way we won't end up mixing LLVM libc++
|
||||
# libraries with libstdc++ clang, and the other way around.
|
||||
mycmakeargs+=(
|
||||
-DLLVM_VERSION_SUFFIX="libcxx"
|
||||
)
|
||||
fi
|
||||
|
||||
# Note: go bindings have no CMake rules at the moment
|
||||
# but let's kill the check in case they are introduced
|
||||
# if ! multilib_is_native_abi || ! use go; then
|
||||
mycmakeargs+=(
|
||||
-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
|
||||
)
|
||||
# fi
|
||||
|
||||
use test && mycmakeargs+=(
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags)"
|
||||
)
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
mycmakeargs+=(
|
||||
-DLLVM_BUILD_DOCS=ON
|
||||
-DLLVM_ENABLE_OCAMLDOC=OFF
|
||||
-DLLVM_ENABLE_SPHINX=ON
|
||||
-DLLVM_ENABLE_DOXYGEN=OFF
|
||||
-DLLVM_INSTALL_UTILS=ON
|
||||
-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
|
||||
-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF
|
||||
)
|
||||
use gold && mycmakeargs+=(
|
||||
-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
|
||||
)
|
||||
fi
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
|
||||
[[ -x "${tblgen}" ]] \
|
||||
|| die "${tblgen} not found or usable"
|
||||
mycmakeargs+=(
|
||||
-DCMAKE_CROSSCOMPILING=ON
|
||||
-DLLVM_TABLEGEN="${tblgen}"
|
||||
)
|
||||
fi
|
||||
|
||||
# workaround BMI bug in gcc-7 (fixed in 7.4)
|
||||
# https://bugs.gentoo.org/649880
|
||||
# apply only to x86, https://bugs.gentoo.org/650506
|
||||
if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
|
||||
[[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
|
||||
then
|
||||
local CFLAGS="${CFLAGS} -mno-bmi"
|
||||
local CXXFLAGS="${CXXFLAGS} -mno-bmi"
|
||||
fi
|
||||
|
||||
# LLVM can have very high memory consumption while linking,
|
||||
# exhausting the limit on 32-bit linker executable
|
||||
use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
|
||||
|
||||
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
|
||||
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
|
||||
cmake_src_configure
|
||||
|
||||
multilib_is_native_abi && check_distribution_components
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
cmake_src_compile
|
||||
|
||||
pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
|
||||
pax-mark m "${BUILD_DIR}"/bin/lli
|
||||
pax-mark m "${BUILD_DIR}"/bin/lli-child-target
|
||||
|
||||
if use test; then
|
||||
pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
|
||||
pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
|
||||
pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# respect TMPDIR!
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
cmake_build check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local MULTILIB_CHOST_TOOLS=(
|
||||
/usr/lib/llvm/${SLOT}/bin/llvm-config
|
||||
)
|
||||
|
||||
local MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/llvm/Config/llvm-config.h
|
||||
)
|
||||
|
||||
local LLVM_LDPATHS=()
|
||||
multilib-minimal_src_install
|
||||
|
||||
# move wrapped headers back
|
||||
mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
DESTDIR=${D} cmake_build install-distribution
|
||||
|
||||
# move headers to /usr/include for wrapping
|
||||
rm -rf "${ED}"/usr/include || die
|
||||
mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
|
||||
|
||||
LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local revord=$(( 9999 - ${SLOT} ))
|
||||
newenvd - "60llvm-${revord}" <<-_EOF_
|
||||
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_
|
||||
|
||||
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 along with the following"
|
||||
elog "packages:"
|
||||
elog " dev-python/pygments (for opt-viewer)"
|
||||
elog " dev-python/pyyaml (for all of them)"
|
||||
}
|
||||
Reference in New Issue
Block a user