diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-02-24 17:40:43 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-02-24 17:40:43 +0000 |
commit | 24ee8c58752f0dc4376961a28f7364e6d7c7a7aa (patch) | |
tree | 0a71618e774dce4efc0ddc7808557a03925de8d9 /eclass | |
parent | a625efe29cec7f7c437cf33a956ea99eed1e4bd9 (diff) |
gentoo auto-resync : 24:02:2024 - 17:40:43
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 39769 -> 39602 bytes | |||
-rw-r--r-- | eclass/bazel.eclass | 227 | ||||
-rw-r--r-- | eclass/llvm.org.eclass | 3 |
3 files changed, 3 insertions, 227 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex de6ff755a310..7856bb2d8bf2 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/bazel.eclass b/eclass/bazel.eclass deleted file mode 100644 index bdf61fa34e93..000000000000 --- a/eclass/bazel.eclass +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: bazel.eclass -# @MAINTAINER: -# Jason Zaman <perfinion@gentoo.org> -# @AUTHOR: -# Jason Zaman <perfinion@gentoo.org> -# @SUPPORTED_EAPIS: 8 -# @BLURB: Utility functions for packages using Bazel Build -# @DESCRIPTION: -# A utility eclass providing functions to run the Bazel Build system. -# -# This eclass does not export any phase functions. - -case ${EAPI} in - 8) ;; - *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; -esac - -if [[ ! ${_BAZEL_ECLASS} ]]; then -_BAZEL_ECLASS=1 - -inherit multiprocessing toolchain-funcs - -if [[ ${CATEGORY}/${PN} != "dev-build/bazel" ]]; then - BDEPEND=">=dev-build/bazel-0.20" -fi - -# @ECLASS_VARIABLE: BAZEL_BINARY -# @DESCRIPTION: -# The program to invoke for bazel. Defaults to `bazel`. Useful if you have -# multiple bazel installations on your machine that differ in verson suffix, -# e.g., `bazel-5`, `bazel-6`. -BAZEL_BINARY="${BAZEL_BINARY:-bazel}" - -# @FUNCTION: bazel_get_flags -# @DESCRIPTION: -# Obtain and print the bazel flags for target and host *FLAGS. -# -# To add more flags to this, append the flags to the -# appropriate variable before calling this function -bazel_get_flags() { - local i fs=() - for i in ${CFLAGS}; do - fs+=( "--conlyopt=${i}" ) - done - for i in ${BUILD_CFLAGS}; do - fs+=( "--host_conlyopt=${i}" ) - done - for i in ${CXXFLAGS}; do - fs+=( "--cxxopt=${i}" ) - done - for i in ${BUILD_CXXFLAGS}; do - fs+=( "--host_cxxopt=${i}" ) - done - for i in ${CPPFLAGS}; do - fs+=( "--conlyopt=${i}" "--cxxopt=${i}" ) - done - for i in ${BUILD_CPPFLAGS}; do - fs+=( "--host_conlyopt=${i}" "--host_cxxopt=${i}" ) - done - for i in ${LDFLAGS}; do - fs+=( "--linkopt=${i}" ) - done - for i in ${BUILD_LDFLAGS}; do - fs+=( "--host_linkopt=${i}" ) - done - echo "${fs[*]}" -} - -# @FUNCTION: bazel_setup_bazelrc -# @DESCRIPTION: -# Creates the bazelrc with common options that will be passed -# to bazel. This will be called by ebazel automatically so -# does not need to be called from the ebuild. -bazel_setup_bazelrc() { - if [[ -f "${T}/bazelrc" ]]; then - return - fi - - # F: fopen_wr - # P: /proc/self/setgroups - # Even with standalone enabled, the Bazel sandbox binary is run for feature test: - # https://github.com/bazelbuild/bazel/blob/7b091c1397a82258e26ab5336df6c8dae1d97384/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java#L61 - # https://github.com/bazelbuild/bazel/blob/76555482873ffcf1d32fb40106f89231b37f850a/src/main/tools/linux-sandbox-pid1.cc#L113 - addpredict /proc - - mkdir -p "${T}/bazel-cache" || die - mkdir -p "${T}/bazel-distdir" || die - - cat > "${T}/bazelrc" <<-EOF || die - startup --batch - - # dont strip HOME, portage sets a temp per-package dir - build --action_env HOME - - # make bazel respect MAKEOPTS - build --jobs=$(makeopts_jobs) - build --compilation_mode=opt --host_compilation_mode=opt - - # FLAGS - build $(bazel_get_flags) - - # Use standalone strategy to deactivate the bazel sandbox, since it - # conflicts with FEATURES=sandbox. - build --spawn_strategy=standalone --genrule_strategy=standalone - test --spawn_strategy=standalone --genrule_strategy=standalone - - build --strip=never - build --verbose_failures --noshow_loading_progress - test --verbose_test_summary --verbose_failures --noshow_loading_progress - - # make bazel only fetch distfiles from the cache - fetch --repository_cache="${T}/bazel-cache/" --distdir="${T}/bazel-distdir/" - build --repository_cache="${T}/bazel-cache/" --distdir="${T}/bazel-distdir/" - - build --define=PREFIX=${EPREFIX}/usr - build --define=LIBDIR=\$(PREFIX)/$(get_libdir) - build --define=INCLUDEDIR=\$(PREFIX)/include - EOF - - if tc-is-cross-compiler; then - echo "build --distinct_host_configuration" >> "${T}/bazelrc" || die - else - echo "build --nodistinct_host_configuration" >> "${T}/bazelrc" || die - fi -} - -# @FUNCTION: ebazel -# @USAGE: [<args>...] -# @DESCRIPTION: -# Run bazel with the bazelrc and output_base. -# -# output_base will be specific to $BUILD_DIR (if unset, $S). -# bazel_setup_bazelrc will be called and the created bazelrc -# will be passed to bazel. -# -# Will automatically die if bazel does not exit cleanly. -ebazel() { - bazel_setup_bazelrc - - # Use different build folders for each multibuild variant. - local output_base="${BUILD_DIR:-${S}}" - output_base="${output_base%/}-bazel-base" - mkdir -p "${output_base}" || die - - set -- "${BAZEL_BINARY}" --bazelrc="${T}/bazelrc" --output_base="${output_base}" ${@} - echo "${*}" >&2 - "${@}" || die "ebazel failed" -} - -# @FUNCTION: bazel_load_distfiles -# @USAGE: <distfiles>... -# @DESCRIPTION: -# Populate the bazel distdir to fetch from since it cannot use -# the network. Bazel looks in distdir but will only look for the -# original filename, not the possibly renamed one that portage -# downloaded. If the line has -> we to rename it back. This also -# handles use-conditionals that SRC_URI does. -# -# Example: -# @CODE -# bazel_external_uris="http://a/file-2.0.tgz -# python? ( http://b/1.0.tgz -> foo-1.0.tgz )" -# SRC_URI="http://c/${PV}.tgz -# ${bazel_external_uris}" -# -# src_unpack() { -# unpack ${PV}.tgz -# bazel_load_distfiles "${bazel_external_uris}" -# } -# @CODE -bazel_load_distfiles() { - local file="" - local rename=0 - - [[ "${@}" ]] || die "Missing args" - mkdir -p "${T}/bazel-distdir" || die - - for word in ${@} - do - if [[ "${word}" == "->" ]]; then - # next word is a dest filename - rename=1 - elif [[ "${word}" == ")" ]]; then - # close conditional block - continue - elif [[ "${word}" == "(" ]]; then - # open conditional block - continue - elif [[ "${word}" == ?(\!)[A-Za-z0-9]*([A-Za-z0-9+_@-])\? ]]; then - # use-conditional block - # USE-flags can contain [A-Za-z0-9+_@-], and start with alphanum - # https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-200003.1.4 - # ?(\!) matches zero-or-one !'s - # *(...) zero-or-more characters - # ends with a ? - continue - elif [[ ${rename} -eq 1 ]]; then - # Make sure the distfile is used - if [[ "${A}" == *"${word}"* ]]; then - echo "Copying ${word} to bazel distdir as ${file}" - ln -s "${DISTDIR}/${word}" "${T}/bazel-distdir/${file}" || die - fi - rename=0 - file="" - else - # another URL, current one may or may not be a rename - # if there was a previous one, its not renamed so copy it now - if [[ -n "${file}" && "${A}" == *"${file}"* ]]; then - echo "Copying ${file} to bazel distdir" - ln -s "${DISTDIR}/${file}" "${T}/bazel-distdir/${file}" || die - fi - # save the current URL, later we will find out if its a rename or not. - file="${word##*/}" - fi - done - - # handle last file - if [[ -n "${file}" ]]; then - echo "Copying ${file} to bazel distdir" - ln -s "${DISTDIR}/${file}" "${T}/bazel-distdir/${file}" || die - fi -} - -fi diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index de07fecea8e1..5dec284fe366 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240224) + EGIT_COMMIT=60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e + ;; 19.0.0_pre20240218) EGIT_COMMIT=3496927edcd0685807351ba88a7e2cfb006e1c0d ;; |