commit:     8876dc1db3205682d1ed8543b7fef1ce2b619874
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 24 12:55:07 2024 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 12:55:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8876dc1d

Remove bazel.eclass

Closes: https://bugs.gentoo.org/804690
Bug: https://bugs.gentoo.org/804690
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 eclass/bazel.eclass | 227 ----------------------------------------------------
 1 file changed, 227 deletions(-)

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 <[email protected]>
-# @AUTHOR:
-# Jason Zaman <[email protected]>
-# @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

Reply via email to