diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 37489 -> 37634 bytes | |||
-rw-r--r-- | eclass/acct-group.eclass | 2 | ||||
-rw-r--r-- | eclass/acct-user.eclass | 2 | ||||
-rw-r--r-- | eclass/bazel.eclass | 2 | ||||
-rw-r--r-- | eclass/bsdmk.eclass | 2 | ||||
-rw-r--r-- | eclass/cron.eclass | 2 | ||||
-rw-r--r-- | eclass/flag-o-matic.eclass | 8 | ||||
-rw-r--r-- | eclass/freebsd.eclass | 5 | ||||
-rw-r--r-- | eclass/go-module.eclass | 178 | ||||
-rw-r--r-- | eclass/kernel-2.eclass | 12 | ||||
-rw-r--r-- | eclass/mozconfig-v6.60.eclass | 2 | ||||
-rw-r--r-- | eclass/office-ext-r1.eclass | 2 | ||||
-rw-r--r-- | eclass/pax-utils.eclass | 2 | ||||
-rw-r--r-- | eclass/qmail.eclass | 5 | ||||
-rw-r--r-- | eclass/qt5-build.eclass | 2 | ||||
-rw-r--r-- | eclass/ruby-fakegem.eclass | 2 | ||||
-rw-r--r-- | eclass/toolchain-binutils.eclass | 2 | ||||
-rw-r--r-- | eclass/toolchain-glibc.eclass | 2 |
18 files changed, 207 insertions, 25 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex e926bc25f3b3..3231925b1992 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass index 99919789b2c7..0b943454a92e 100644 --- a/eclass/acct-group.eclass +++ b/eclass/acct-group.eclass @@ -75,7 +75,7 @@ readonly ACCT_GROUP_NAME # << Boilerplate ebuild variables >> : ${DESCRIPTION:="System group: ${ACCT_GROUP_NAME}"} : ${SLOT:=0} -: ${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris} +: ${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris} S=${WORKDIR} diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass index c2e643332ccc..be6b3dd3e600 100644 --- a/eclass/acct-user.eclass +++ b/eclass/acct-user.eclass @@ -115,7 +115,7 @@ readonly ACCT_USER_NAME # << Boilerplate ebuild variables >> : ${DESCRIPTION:="System user: ${ACCT_USER_NAME}"} : ${SLOT:=0} -: ${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris} +: ${KEYWORDS:=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris} S=${WORKDIR} diff --git a/eclass/bazel.eclass b/eclass/bazel.eclass index 4eacb75776e4..7c5f92977ba5 100644 --- a/eclass/bazel.eclass +++ b/eclass/bazel.eclass @@ -193,7 +193,7 @@ bazel_load_distfiles() { elif [[ ${rename} -eq 1 ]]; then # Make sure the distfile is used if [[ "${A}" == *"${word}"* ]]; then - echo "Copying ${file} to bazel distdir as ${word}" + echo "Copying ${word} to bazel distdir as ${file}" ln -s "${DISTDIR}/${word}" "${T}/bazel-distdir/${file}" || die fi rename=0 diff --git a/eclass/bsdmk.eclass b/eclass/bsdmk.eclass index 4286a36b745f..ab91b0e4a977 100644 --- a/eclass/bsdmk.eclass +++ b/eclass/bsdmk.eclass @@ -3,7 +3,7 @@ # @ECLASS: bsdmk.eclass # @MAINTAINER: -# bsd@gentoo.org +# maintainer-needed@gentoo.org # @BLURB: Some functions for BSDmake inherit toolchain-funcs portability flag-o-matic diff --git a/eclass/cron.eclass b/eclass/cron.eclass index 89835f646170..b9f436a4a5aa 100644 --- a/eclass/cron.eclass +++ b/eclass/cron.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cron.eclass diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 89b259cc222f..f882b09d6219 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -436,11 +436,13 @@ test-flag-PROG() { [[ -z ${comp} || -z $1 ]] && return 1 # verify selected compiler exists before using it - comp=$(tc-get${comp}) - type -p ${comp} >/dev/null || return 1 + comp=($(tc-get${comp})) + # 'comp' can already contain compiler options. + # 'type' needs a binary name + type -p ${comp[0]} >/dev/null || return 1 local cmdline=( - ${comp} + "${comp[@]}" # Clang will warn about unknown gcc flags but exit 0. # Need -Werror to force it to exit non-zero. -Werror diff --git a/eclass/freebsd.eclass b/eclass/freebsd.eclass index 420312b50833..baebf439159e 100644 --- a/eclass/freebsd.eclass +++ b/eclass/freebsd.eclass @@ -1,5 +1,10 @@ # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + +# @DEAD +# FreeBSD project is dead, and all consumers are gone. +# Bug #683284. Removal in 14 days. + # # @MAINTAINER: # maintainer-needed@gentoo.org diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass new file mode 100644 index 000000000000..9c11959fdf84 --- /dev/null +++ b/eclass/go-module.eclass @@ -0,0 +1,178 @@ +# Copyright 2019 Gentoo authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: go-module.eclass +# @MAINTAINER: +# William Hubbs <williamh@gentoo.org> +# @SUPPORTED_EAPIS: 7 +# @BLURB: basic eclass for building software written as go modules +# @DESCRIPTION: +# This eclass provides basic settings and functions +# needed by all software written in the go programming language that uses +# go modules. +# +# You will know the software you are packaging uses modules because +# it will have files named go.sum and go.mod in its top-level source +# directory. If it does not have these files, use the golang-* eclasses. +# +# If it has these files and a directory named vendor in its top-level +# source directory, you only need to inherit the eclass since upstream +# is vendoring the dependencies. +# +# If it does not have a vendor directory, you should use the EGO_VENDOR +# variable and the go-module_vendor_uris function as shown in the +# example below to handle dependencies. +# +# Since Go programs are statically linked, it is important that your ebuild's +# LICENSE= setting includes the licenses of all statically linked +# dependencies. So please make sure it is accurate. +# +# @EXAMPLE: +# +# @CODE +# +# inherit go-module +# +# EGO_VENDOR=( +# "github.com/xenolf/lego 6cac0ea7d8b28c889f709ec7fa92e92b82f490dd" +# "golang.org/x/crypto 453249f01cfeb54c3d549ddb75ff152ca243f9d8 github.com/golang/crypto" +# ) +# +# SRC_URI="https://github.com/example/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz +# $(go-module_vendor_uris)" +# +# @CODE + +case ${EAPI:-0} in + 7) ;; + *) die "${ECLASS} API in EAPI ${EAPI} not yet established." +esac + +if [[ -z ${_GO_MODULE} ]]; then + +_GO_MODULE=1 + +BDEPEND=">=dev-lang/go-1.12" + +# Force go to build in module mode. +# In this mode the GOPATH environment variable is ignored. +# this will become the default in the future. +export GO111MODULE=on + +# The following go flags should be used for all builds. +# -mod=vendor stopps downloading of dependencies from the internet. +# -v prints the names of packages as they are compiled +# -x prints commands as they are executed +export GOFLAGS="-mod=vendor -v -x" + +# Do not complain about CFLAGS etc since go projects do not use them. +QA_FLAGS_IGNORED='.*' + +# Go packages should not be stripped with strip(1). +RESTRICT="strip" + +EXPORT_FUNCTIONS src_unpack pkg_postinst + +# @ECLASS-VARIABLE: EGO_VENDOR +# @DESCRIPTION: +# This variable contains a list of vendored packages. +# The items of this array are strings that contain the +# import path and the git commit hash for a vendored package. +# If the import path does not start with github.com, the third argument +# can be used to point to a github repository. + +# @FUNCTION: go-module_vendor_uris +# @DESCRIPTION: +# Convert the information in EGO_VENDOR to a format suitable for +# SRC_URI. +# A call to this function should be added to SRC_URI in your ebuild if +# the upstream package does not include vendored dependencies. +go-module_vendor_uris() { + local hash import line repo x + for line in "${EGO_VENDOR[@]}"; do + read -r import hash repo x <<< "${line}" + if [[ -n $x ]]; then + eerror "Trailing information in EGO_VENDOR in ${P}.ebuild" + eerror "${line}" + eerror "Trailing information is: \"$x\"" + die "Invalid EGO_VENDOR format" + fi + : "${repo:=${import}}" + echo "https://${repo}/archive/${hash}.tar.gz -> ${repo//\//-}-${hash}.tar.gz" + done +} + +# @FUNCTION: go-module_src_unpack +# @DESCRIPTION: +# Extract all archives in ${a} which are not nentioned in ${EGO_VENDOR} +# to their usual locations then extract all archives mentioned in +# ${EGO_VENDOR} to ${S}/vendor. +go-module_src_unpack() { + debug-print-function ${FUNCNAME} "$@" + local f hash import line repo tarball vendor_tarballs x + vendor_tarballs=() + for line in "${EGO_VENDOR[@]}"; do + read -r import hash repo x <<< "${line}" + if [[ -n $x ]]; then + eerror "Trailing information in EGO_VENDOR in ${P}.ebuild" + eerror "${line}" + die "Invalid EGO_VENDOR format" + fi + : "${repo:=${import}}" + vendor_tarballs+=("${repo//\//-}-${hash}.tar.gz") + done + for f in $A; do + [[ -n ${vendor_tarballs[*]} ]] && has "$f" "${vendor_tarballs[@]}" && + continue + unpack "$f" + done + + [[ -z ${vendor_tarballs[*]} ]] && return + for line in "${EGO_VENDOR[@]}"; do + read -r import hash repo _ <<< "${line}" + : "${repo:=${import}}" + tarball=${repo//\//-}-${hash}.tar.gz + ebegin "Vendoring ${import} ${tarball}" + rm -fr "${S}/vendor/${import}" || die + mkdir -p "${S}/vendor/${import}" || die + tar -C "${S}/vendor/${import}" -x --strip-components 1 \ + -f "${DISTDIR}/${tarball}" || die + eend + done +} + +# @FUNCTION: go-module_live_vendor +# @DESCRIPTION: +# This function is used in live ebuilds to vendor the dependencies when +# upstream doesn't vendor them. +go-module_live_vendor() { + debug-print-function ${FUNCNAME} "$@" + + has live ${PROPERTIES} || + die "${FUNCNAME} only allowed in live ebuilds" + [[ "${EBUILD_PHASE}" == unpack ]] || + die "${FUNCNAME} only allowed in src_unpack" + [[ -d "${S}"/vendor ]] || + die "${FUNCNAME} only allowed when upstream isn't vendoring" + + pushd "${S}" >& /dev/null || die + go mod vendor || die + popd >& /dev/null || die +} + +# @FUNCTION: go-module_pkg_postinst +# @DESCRIPTION: +# Display a warning about security updates for Go programs. +go-module_pkg_postinst() { + debug-print-function ${FUNCNAME} "$@" + [[ -n ${REPLACING_VERSIONS} ]] && return 0 + ewarn "${PN} is written in the Go programming language." + ewarn "Since this language is statically linked, security" + ewarn "updates will be handled in individual packages and will be" + ewarn "difficult for us to track as a distribution." + ewarn "For this reason, please update any go packages asap when new" + ewarn "versions enter the tree or go stable if you are running the" + ewarn "stable tree." +} + +fi diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index 784b3929d436..62e6c23e15cf 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -295,7 +295,7 @@ handle_genpatches() { UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" debug-print "genpatches tarball: $tarball" fi - GENPATCHES_URI+=" ${use_cond_start}mirror://gentoo/${tarball}${use_cond_end}" + GENPATCHES_URI+=" ${use_cond_start}$(echo https://dev.gentoo.org/~{mpagano,whissi}/dist/genpatches/${tarball})${use_cond_end}" done } @@ -371,17 +371,17 @@ detect_version() { # at this point 031412, Linus is putting all 3.x kernels in a # 3.x directory, may need to revisit when 4.x is released - KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.x" + KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.x" [[ -n "${K_LONGTERM}" ]] && KERNEL_BASE_URI="${KERNEL_BASE_URI}/longterm/v${KV_MAJOR}.${KV_PATCH_ARR}" else - #KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.0" - #KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}" + #KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.0" + #KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.${KV_MINOR}" if [[ ${KV_MAJOR} -ge 3 ]]; then - KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.x" + KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.x" else - KERNEL_BASE_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}" + KERNEL_BASE_URI="https://www.kernel.org/pub/linux/kernel/v${KV_MAJOR}.${KV_MINOR}" fi [[ -n "${K_LONGTERM}" ]] && diff --git a/eclass/mozconfig-v6.60.eclass b/eclass/mozconfig-v6.60.eclass index ae83ebd6c314..4cbf6fe9618b 100644 --- a/eclass/mozconfig-v6.60.eclass +++ b/eclass/mozconfig-v6.60.eclass @@ -194,11 +194,9 @@ DEPEND="app-arch/zip ) pulseaudio? ( media-sound/pulseaudio ) elibc_glibc? ( - virtual/cargo virtual/rust ) elibc_musl? ( - virtual/cargo virtual/rust ) ${RDEPEND}" diff --git a/eclass/office-ext-r1.eclass b/eclass/office-ext-r1.eclass index 7ac6145342a8..04df18698fb8 100644 --- a/eclass/office-ext-r1.eclass +++ b/eclass/office-ext-r1.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: office-ext-r1.eclass diff --git a/eclass/pax-utils.eclass b/eclass/pax-utils.eclass index ef7c5b90069b..1e109c884b14 100644 --- a/eclass/pax-utils.eclass +++ b/eclass/pax-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: pax-utils.eclass diff --git a/eclass/qmail.eclass b/eclass/qmail.eclass index 158cf1607cf5..b6ef483aa82c 100644 --- a/eclass/qmail.eclass +++ b/eclass/qmail.eclass @@ -6,7 +6,7 @@ # qmail-bugs@gentoo.org # @BLURB: common qmail functions -inherit flag-o-matic toolchain-funcs fixheadtails user +inherit flag-o-matic toolchain-funcs fixheadtails # hardcoded paths QMAIL_HOME="/var/qmail" @@ -206,8 +206,7 @@ qmail_man_install() { into /usr doman *.[1578] dodoc BLURB* CHANGES FAQ INSTALL* PIC* README* REMOVE* SECURITY \ - SENDMAIL SYSDEPS TEST* THANKS* THOUGHTS TODO* \ - UPGRADE VERSION* + SENDMAIL* TEST* THANKS* THOUGHTS UPGRADE VERSION* declare -F qmail_man_install_hook >/dev/null && \ qmail_man_install_hook diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass index b22124100d3e..2e5a15d930ab 100644 --- a/eclass/qt5-build.eclass +++ b/eclass/qt5-build.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: qt5-build.eclass diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass index f75e1669b0ca..e600b02b9649 100644 --- a/eclass/ruby-fakegem.eclass +++ b/eclass/ruby-fakegem.eclass @@ -176,7 +176,7 @@ case ${RUBY_FAKEGEM_RECIPE_TEST} in ;; esac -SRC_URI="mirror://rubygems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${RUBY_FAKEGEM_SUFFIX:+-${RUBY_FAKEGEM_SUFFIX}}.gem" +SRC_URI="https://rubygems.org/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${RUBY_FAKEGEM_SUFFIX:+-${RUBY_FAKEGEM_SUFFIX}}.gem" ruby_add_bdepend virtual/rubygems ruby_add_rdepend virtual/rubygems diff --git a/eclass/toolchain-binutils.eclass b/eclass/toolchain-binutils.eclass index d15afb8531e7..0b691d822762 100644 --- a/eclass/toolchain-binutils.eclass +++ b/eclass/toolchain-binutils.eclass @@ -57,7 +57,7 @@ case ${BTYPE} in SRC_URI="ftp://gcc.gnu.org/pub/binutils/snapshots/binutils-${BVER}.tar.bz2 ftp://sourceware.org/pub/binutils/snapshots/binutils-${BVER}.tar.bz2" ;; hjlu) - SRC_URI="mirror://kernel/linux/devel/binutils/binutils-${BVER}.tar." + SRC_URI="https://www.kernel.org/pub/linux/devel/binutils/binutils-${BVER}.tar." version_is_at_least 2.21.51.0.5 && SRC_URI+="xz" || SRC_URI+="bz2" ;; rel) SRC_URI="mirror://gnu/binutils/binutils-${BVER}.tar.bz2" ;; esac diff --git a/eclass/toolchain-glibc.eclass b/eclass/toolchain-glibc.eclass index 4aa06db55293..30781fed7775 100644 --- a/eclass/toolchain-glibc.eclass +++ b/eclass/toolchain-glibc.eclass @@ -516,7 +516,7 @@ toolchain-glibc_pkg_pretend() { if has_version ">${CATEGORY}/${P}-r10000" ; then eerror "Sanity check to keep you from breaking your system:" eerror " Downgrading glibc is not supported and a sure way to destruction" - die "aborting to save your system" + [[ ${I_ALLOW_TO_BREAK_MY_SYSTEM} = yes ]] || die "Aborting to save your system." fi if ! glibc_run_test '#include <pwd.h>\nint main(){return getpwuid(0)==0;}\n' |