mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-25 15:41:04 +02:00
Merge pull request #2245 from flatcar/buildbot/weekly-portage-stable-package-updates-2024-08-19
Weekly portage-stable package updates 2024-08-19
This commit is contained in:
commit
4f6eafdb8f
@ -336,6 +336,7 @@ dev-python/tenacity
|
||||
dev-python/tomli
|
||||
dev-python/trove-classifiers
|
||||
dev-python/truststore
|
||||
dev-python/typing-extensions
|
||||
dev-python/uc-micro-py
|
||||
dev-python/urllib3
|
||||
dev-python/wheel
|
||||
@ -392,6 +393,8 @@ eclass/go-module.eclass
|
||||
eclass/golang-base.eclass
|
||||
eclass/golang-vcs-snapshot.eclass
|
||||
eclass/golang-vcs.eclass
|
||||
eclass/guile-single.eclass
|
||||
eclass/guile-utils.eclass
|
||||
eclass/java-pkg-opt-2.eclass
|
||||
eclass/java-utils-2.eclass
|
||||
eclass/kernel-2.eclass
|
||||
|
4
changelog/updates/2024-08-19-weekly-updates.md
Normal file
4
changelog/updates/2024-08-19-weekly-updates.md
Normal file
@ -0,0 +1,4 @@
|
||||
- SDK: meson ([1.5.1](https://mesonbuild.com/Release-notes-for-1-5-0.html))
|
||||
- gce, sysext-python: setuptools ([72.1.0](https://github.com/pypa/setuptools/blob/v72.1.0/NEWS.rst))
|
||||
- nghttp2 ([1.62.1](https://github.com/nghttp2/nghttp2/releases/tag/v1.62.1))
|
||||
- sysext-python: pip ([24.2](https://github.com/pypa/pip/blob/24.2/NEWS.rst))
|
@ -42,6 +42,7 @@
|
||||
=app-emulation/open-vmdk-1.0 *
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
=dev-build/meson-1.5.1 ~arm64
|
||||
=dev-cpp/abseil-cpp-20230125.3-r4 ~arm64
|
||||
|
||||
# Keep versions on both arches in sync.
|
||||
|
@ -11,7 +11,7 @@ SRC_URI="https://github.com/lz4/lz4/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2 GPL-2"
|
||||
SLOT="0/1.10.0-meson"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
@ -9,7 +9,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
else
|
||||
MY_P="${PN}-${PV/_}"
|
||||
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
||||
|
@ -25,13 +25,7 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30
|
||||
DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258
|
||||
DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e
|
||||
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
|
||||
DIST bash-5.3_alpha_p20240628-5e28a1813ce7d08628c8df584ea36515091c6d9b.tar.xz 8528432 BLAKE2B d920640b0ba0ae38dbb98b48a9e4dd6635a05d7f86fcf26a4f2c79f6a4338e4f25ff20119f9a1df451d23d9cc381862963dcf9c135050102e8159eccbe5f7314 SHA512 cc60f94083b378ac51fda973f834f10477ac6ebcfc682f934426db3fd6ca4506e5ed1c64311c67d5d9d70b62ab2bf9900ee66f1aa96a7bce7198d69edf9131ca
|
||||
DIST bash-5.3_alpha_p20240706-a91b8b077300b0a2a7daefe02f0363f9116e00d5.tar.xz 8525768 BLAKE2B 07b1b92b15bbd1c4bd01e3c2fbdf65d7dab14976442a2c4ea751c0d6e729d937886495af5402cd4669e84f68e952f3e79a375c649bbda1b4cc948172e3ea2948 SHA512 dfd19e6a4786ff066cb7e13ae328fbc909847fd7f987b59d9c646ab0bbf5abdc8c570bbc75810fe9eb6c9171acb3256b4e3278f565a1f526d9ce030fd423c0f8
|
||||
DIST bash-5.3_alpha_p20240711-d3e86e66ce857a8dc02e3116fd98b6e5b34d6364.tar.xz 8532476 BLAKE2B bae60589e733f29f4dab827c1c68899f4770c4cb2ca58af19e10bb833820644d336ada480be60b4dabb82441ae68f64494074387057d8b56efe8d5b9befd2a13 SHA512 ef677d2641607b75a000bef4b6eb9b359553ae6c3f930285989b97c036bfd1f7ecfa9240af1873af11dda42d1eca68da9c4b7567876e0bca878e8469dde0d0af
|
||||
DIST bash-5.3_alpha_p20240718-6c703092759ace29263ea96374e18412c59acc7f.tar.xz 8535120 BLAKE2B 7dd47829ca71689c138af9acd2657cee732f43abc82506ad76e65eb038e39acd31e208e985714460d76fbfb354517c3597fd85d459969541af950382ae7796c9 SHA512 41e07ed4fa90f8b645faf6c26766048fa51a3e3bd420dc875898fc9a1d674c05fe35f12b1c4d6ac6e6374736e6052e17e235a94c205c4bda80183f8065035182
|
||||
DIST bash-5.3_alpha_p20240726-d5ef283cbdd08217efdc55974a6a8a2c52a7562f.tar.xz 8534860 BLAKE2B 93ced89c621522554bb3f8c2e23ab2a6d8500beedb023064006cbd5777719195c2dbaabe6a04d737cb33d940c8a40ad2b3cdbce43b18e2b074d0d050dac77559 SHA512 d651cf0da9ed62d2e54ac526ef55a2a8eba274b430b627fc9e146bbc1d936363cf248388439dac485b653f6bfedcb21269c4b5f4662646080ecfe07390572450
|
||||
DIST bash-5.3_alpha_p20240730-e45ec6f76bea49cf8df306ac45022306831ed086.tar.xz 8535992 BLAKE2B 3f05f740987d3119f5e3c6bee1521a66c634737f9cf30fb911d1f03351e6c946a5c3de45fbdf817854613e23165ccf329b0c332639b593060dde33b53eae0e3d SHA512 2d1d6302ea60f1bec1d67d9f5f237573219080dea35ea29dd2cc3df4a8f41a2f89845ca3775e7044a1751fdb0b18db2ab4bc05cbd8679b745205868d048fbcc9
|
||||
DIST bash-5.3_alpha_p20240810-772e7e760e8a098e4d8dee21cf11090be4757918.tar.xz 8537400 BLAKE2B c12004b20b64e51c82e845d6c80bfb3cc70be19ec2a0e74cc0b25a86ad37bfb16ad9a115f128d895244485f869c1504b084775536e694000126bef2726126807 SHA512 87a97e6cf365d4780d9ec308b3f12f0d271c57eb69e716912004ececc038ff0db79a91ff6d1a04a14dba4785893b3f5dd0ca1e9f461c72c89476525acadbdf8f
|
||||
DIST bash-5.3_alpha_p20240815-cf694865de527e597de5a906643a74037341a431.tar.xz 8537760 BLAKE2B df370a28aa40af0cf108f9578c81ef53cf175e97ca9b5cdca85fa8de99df81a0f58950c20e7af0180ee420218b04b9e9f721fef42b292e6b3261aa4846cabf55 SHA512 dd552214404aa1410954f3b4e3da5e744001eda2b6a613f52177bbfdff19c094a7406673dcfc1dfa653895a221969c2edcf8362556cdeadbd0cf16a610fcd191
|
||||
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
|
||||
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
|
||||
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
|
||||
|
@ -1,411 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset.
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
# the bundled copy of readline for pre-releases.
|
||||
READLINE_VER="8.3_alpha"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# It can be useful to have snapshots in the pre-release period once
|
||||
# the first alpha is out, as various bugs get reported and fixed from
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="a91b8b077300b0a2a7daefe02f0363f9116e00d5"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||
|
||||
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||
done
|
||||
|
||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||
fi
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here.
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local patch
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
|
||||
for patch in "${MY_PATCHES[@]}"; do
|
||||
verify-sig_verify_detached "${patch}"{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches.
|
||||
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases. The
|
||||
# touch utility is invoked for the benefit of config.status.
|
||||
if (( PLEVEL >= 0 )); then
|
||||
rm -rf lib/{readline,termcap}/* \
|
||||
&& touch lib/{readline,termcap}/Makefile.in \
|
||||
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985.
|
||||
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||
&& touch -r . doc/* \
|
||||
|| die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myconf
|
||||
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset -v YACC
|
||||
|
||||
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||
# upstream to Chet by email.
|
||||
filter-lto
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h.
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if (( PLEVEL >= 0 )); then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins; then
|
||||
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't provide
|
||||
# a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -a pgo_generate_flags pgo_use_flags
|
||||
local flag
|
||||
|
||||
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||
# super comprehensive.
|
||||
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
if use pgo; then
|
||||
pgo_generate_flags=(
|
||||
-fprofile-update=atomic
|
||||
-fprofile-dir="${T}"/pgo
|
||||
-fprofile-generate="${T}"/pgo
|
||||
)
|
||||
pgo_use_flags=(
|
||||
-fprofile-use="${T}"/pgo
|
||||
-fprofile-dir="${T}"/pgo
|
||||
)
|
||||
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||
pgo_generate_flags+=( "${flag}" )
|
||||
pgo_use_flags+=( "${flag}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if (( ${#pgo_generate_flags[@]} )); then
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
my_prefixify() {
|
||||
while read -r; do
|
||||
if [[ $REPLY == *$1* ]]; then
|
||||
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||
fi
|
||||
printf '%s\n' "${REPLY}" || ! break
|
||||
done < "$2" || die
|
||||
}
|
||||
|
||||
dodir /bin
|
||||
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||
done
|
||||
|
||||
if use plugins; then
|
||||
exeinto "/usr/$(get_libdir)/bash"
|
||||
set -- examples/loadables/*.o
|
||||
doexe "${@%.o}"
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||
exeinto "/usr/share/doc/${PF}/${d}"
|
||||
docinto "${d}"
|
||||
for f in "${d}"/*; do
|
||||
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||
doexe "${f}"
|
||||
else
|
||||
dodoc "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1.
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||
mkdir -p -- "${EROOT}"/etc/bash \
|
||||
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it.
|
||||
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]]; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
|
||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||
characteristics of the operating environment, it may contain a command to set
|
||||
the terminal's window title. Those who were already choosing to customise the
|
||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||
|
||||
PROMPT_COMMAND+=('custom command goes here')
|
||||
|
||||
Gentoo no longer defaults to having bash set the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||
remote side or the terminal reliably supports saving and restoring the title
|
||||
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||
drop-in - to set PROMPT_COMMMAND like so:
|
||||
|
||||
PROMPT_COMMAND=(genfun_set_win_title)
|
||||
|
||||
Those who would prefer for bash never to interfere with the window title may
|
||||
now opt out of the default title setting behaviour, either with the "unset -v
|
||||
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||
EOF
|
||||
}
|
@ -1,411 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset.
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
# the bundled copy of readline for pre-releases.
|
||||
READLINE_VER="8.3_alpha"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# It can be useful to have snapshots in the pre-release period once
|
||||
# the first alpha is out, as various bugs get reported and fixed from
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||
|
||||
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||
done
|
||||
|
||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||
fi
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here.
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local patch
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
|
||||
for patch in "${MY_PATCHES[@]}"; do
|
||||
verify-sig_verify_detached "${patch}"{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches.
|
||||
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases. The
|
||||
# touch utility is invoked for the benefit of config.status.
|
||||
if (( PLEVEL >= 0 )); then
|
||||
rm -rf lib/{readline,termcap}/* \
|
||||
&& touch lib/{readline,termcap}/Makefile.in \
|
||||
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985.
|
||||
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||
&& touch -r . doc/* \
|
||||
|| die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myconf
|
||||
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset -v YACC
|
||||
|
||||
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||
# upstream to Chet by email.
|
||||
filter-lto
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h.
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if (( PLEVEL >= 0 )); then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins; then
|
||||
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't provide
|
||||
# a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -a pgo_generate_flags pgo_use_flags
|
||||
local flag
|
||||
|
||||
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||
# super comprehensive.
|
||||
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
if use pgo; then
|
||||
pgo_generate_flags=(
|
||||
-fprofile-update=atomic
|
||||
-fprofile-dir="${T}"/pgo
|
||||
-fprofile-generate="${T}"/pgo
|
||||
)
|
||||
pgo_use_flags=(
|
||||
-fprofile-use="${T}"/pgo
|
||||
-fprofile-dir="${T}"/pgo
|
||||
)
|
||||
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||
pgo_generate_flags+=( "${flag}" )
|
||||
pgo_use_flags+=( "${flag}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if (( ${#pgo_generate_flags[@]} )); then
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
my_prefixify() {
|
||||
while read -r; do
|
||||
if [[ $REPLY == *$1* ]]; then
|
||||
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||
fi
|
||||
printf '%s\n' "${REPLY}" || ! break
|
||||
done < "$2" || die
|
||||
}
|
||||
|
||||
dodir /bin
|
||||
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||
done
|
||||
|
||||
if use plugins; then
|
||||
exeinto "/usr/$(get_libdir)/bash"
|
||||
set -- examples/loadables/*.o
|
||||
doexe "${@%.o}"
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||
exeinto "/usr/share/doc/${PF}/${d}"
|
||||
docinto "${d}"
|
||||
for f in "${d}"/*; do
|
||||
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||
doexe "${f}"
|
||||
else
|
||||
dodoc "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1.
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||
mkdir -p -- "${EROOT}"/etc/bash \
|
||||
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it.
|
||||
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]]; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
|
||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||
characteristics of the operating environment, it may contain a command to set
|
||||
the terminal's window title. Those who were already choosing to customise the
|
||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||
|
||||
PROMPT_COMMAND+=('custom command goes here')
|
||||
|
||||
Gentoo no longer defaults to having bash set the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||
remote side or the terminal reliably supports saving and restoring the title
|
||||
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||
drop-in - to set PROMPT_COMMMAND like so:
|
||||
|
||||
PROMPT_COMMAND=(genfun_set_win_title)
|
||||
|
||||
Those who would prefer for bash never to interfere with the window title may
|
||||
now opt out of the default title setting behaviour, either with the "unset -v
|
||||
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||
EOF
|
||||
}
|
@ -1,411 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset.
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
# the bundled copy of readline for pre-releases.
|
||||
READLINE_VER="8.3_alpha"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# It can be useful to have snapshots in the pre-release period once
|
||||
# the first alpha is out, as various bugs get reported and fixed from
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="6c703092759ace29263ea96374e18412c59acc7f"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||
|
||||
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||
done
|
||||
|
||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||
fi
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here.
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local patch
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
|
||||
for patch in "${MY_PATCHES[@]}"; do
|
||||
verify-sig_verify_detached "${patch}"{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches.
|
||||
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases. The
|
||||
# touch utility is invoked for the benefit of config.status.
|
||||
if (( PLEVEL >= 0 )); then
|
||||
rm -rf lib/{readline,termcap}/* \
|
||||
&& touch lib/{readline,termcap}/Makefile.in \
|
||||
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985.
|
||||
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||
&& touch -r . doc/* \
|
||||
|| die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myconf
|
||||
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset -v YACC
|
||||
|
||||
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||
# upstream to Chet by email.
|
||||
filter-lto
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h.
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if (( PLEVEL >= 0 )); then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins; then
|
||||
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't provide
|
||||
# a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -a pgo_generate_flags pgo_use_flags
|
||||
local flag
|
||||
|
||||
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||
# super comprehensive.
|
||||
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
if use pgo; then
|
||||
pgo_generate_flags=(
|
||||
-fprofile-update=atomic
|
||||
-fprofile-dir="${T}"/pgo
|
||||
-fprofile-generate="${T}"/pgo
|
||||
)
|
||||
pgo_use_flags=(
|
||||
-fprofile-use="${T}"/pgo
|
||||
-fprofile-dir="${T}"/pgo
|
||||
)
|
||||
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||
pgo_generate_flags+=( "${flag}" )
|
||||
pgo_use_flags+=( "${flag}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if (( ${#pgo_generate_flags[@]} )); then
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
my_prefixify() {
|
||||
while read -r; do
|
||||
if [[ $REPLY == *$1* ]]; then
|
||||
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||
fi
|
||||
printf '%s\n' "${REPLY}" || ! break
|
||||
done < "$2" || die
|
||||
}
|
||||
|
||||
dodir /bin
|
||||
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||
done
|
||||
|
||||
if use plugins; then
|
||||
exeinto "/usr/$(get_libdir)/bash"
|
||||
set -- examples/loadables/*.o
|
||||
doexe "${@%.o}"
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||
exeinto "/usr/share/doc/${PF}/${d}"
|
||||
docinto "${d}"
|
||||
for f in "${d}"/*; do
|
||||
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||
doexe "${f}"
|
||||
else
|
||||
dodoc "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1.
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||
mkdir -p -- "${EROOT}"/etc/bash \
|
||||
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it.
|
||||
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]]; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
|
||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||
characteristics of the operating environment, it may contain a command to set
|
||||
the terminal's window title. Those who were already choosing to customise the
|
||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||
|
||||
PROMPT_COMMAND+=('custom command goes here')
|
||||
|
||||
Gentoo no longer defaults to having bash set the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||
remote side or the terminal reliably supports saving and restoring the title
|
||||
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||
drop-in - to set PROMPT_COMMMAND like so:
|
||||
|
||||
PROMPT_COMMAND=(genfun_set_win_title)
|
||||
|
||||
Those who would prefer for bash never to interfere with the window title may
|
||||
now opt out of the default title setting behaviour, either with the "unset -v
|
||||
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||
EOF
|
||||
}
|
@ -1,411 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset.
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
# the bundled copy of readline for pre-releases.
|
||||
READLINE_VER="8.3_alpha"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# It can be useful to have snapshots in the pre-release period once
|
||||
# the first alpha is out, as various bugs get reported and fixed from
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="d5ef283cbdd08217efdc55974a6a8a2c52a7562f"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||
|
||||
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||
done
|
||||
|
||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||
fi
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here.
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local patch
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
|
||||
for patch in "${MY_PATCHES[@]}"; do
|
||||
verify-sig_verify_detached "${patch}"{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches.
|
||||
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases. The
|
||||
# touch utility is invoked for the benefit of config.status.
|
||||
if (( PLEVEL >= 0 )); then
|
||||
rm -rf lib/{readline,termcap}/* \
|
||||
&& touch lib/{readline,termcap}/Makefile.in \
|
||||
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985.
|
||||
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||
&& touch -r . doc/* \
|
||||
|| die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myconf
|
||||
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset -v YACC
|
||||
|
||||
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||
# upstream to Chet by email.
|
||||
filter-lto
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h.
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if (( PLEVEL >= 0 )); then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins; then
|
||||
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't provide
|
||||
# a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -a pgo_generate_flags pgo_use_flags
|
||||
local flag
|
||||
|
||||
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||
# super comprehensive.
|
||||
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
if use pgo; then
|
||||
pgo_generate_flags=(
|
||||
-fprofile-update=atomic
|
||||
-fprofile-dir="${T}"/pgo
|
||||
-fprofile-generate="${T}"/pgo
|
||||
)
|
||||
pgo_use_flags=(
|
||||
-fprofile-use="${T}"/pgo
|
||||
-fprofile-dir="${T}"/pgo
|
||||
)
|
||||
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||
pgo_generate_flags+=( "${flag}" )
|
||||
pgo_use_flags+=( "${flag}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if (( ${#pgo_generate_flags[@]} )); then
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
my_prefixify() {
|
||||
while read -r; do
|
||||
if [[ $REPLY == *$1* ]]; then
|
||||
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||
fi
|
||||
printf '%s\n' "${REPLY}" || ! break
|
||||
done < "$2" || die
|
||||
}
|
||||
|
||||
dodir /bin
|
||||
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||
done
|
||||
|
||||
if use plugins; then
|
||||
exeinto "/usr/$(get_libdir)/bash"
|
||||
set -- examples/loadables/*.o
|
||||
doexe "${@%.o}"
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||
exeinto "/usr/share/doc/${PF}/${d}"
|
||||
docinto "${d}"
|
||||
for f in "${d}"/*; do
|
||||
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||
doexe "${f}"
|
||||
else
|
||||
dodoc "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1.
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||
mkdir -p -- "${EROOT}"/etc/bash \
|
||||
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it.
|
||||
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]]; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
|
||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||
characteristics of the operating environment, it may contain a command to set
|
||||
the terminal's window title. Those who were already choosing to customise the
|
||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||
|
||||
PROMPT_COMMAND+=('custom command goes here')
|
||||
|
||||
Gentoo no longer defaults to having bash set the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||
remote side or the terminal reliably supports saving and restoring the title
|
||||
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||
drop-in - to set PROMPT_COMMMAND like so:
|
||||
|
||||
PROMPT_COMMAND=(genfun_set_win_title)
|
||||
|
||||
Those who would prefer for bash never to interfere with the window title may
|
||||
now opt out of the default title setting behaviour, either with the "unset -v
|
||||
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||
EOF
|
||||
}
|
@ -1,411 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset.
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
# the bundled copy of readline for pre-releases.
|
||||
READLINE_VER="8.3_alpha"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# It can be useful to have snapshots in the pre-release period once
|
||||
# the first alpha is out, as various bugs get reported and fixed from
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="e45ec6f76bea49cf8df306ac45022306831ed086"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||
|
||||
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||
done
|
||||
|
||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||
fi
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here.
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local patch
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
|
||||
for patch in "${MY_PATCHES[@]}"; do
|
||||
verify-sig_verify_detached "${patch}"{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches.
|
||||
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases. The
|
||||
# touch utility is invoked for the benefit of config.status.
|
||||
if (( PLEVEL >= 0 )); then
|
||||
rm -rf lib/{readline,termcap}/* \
|
||||
&& touch lib/{readline,termcap}/Makefile.in \
|
||||
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985.
|
||||
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||
&& touch -r . doc/* \
|
||||
|| die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myconf
|
||||
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset -v YACC
|
||||
|
||||
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||
# upstream to Chet by email.
|
||||
filter-lto
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h.
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if (( PLEVEL >= 0 )); then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins; then
|
||||
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't provide
|
||||
# a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -a pgo_generate_flags pgo_use_flags
|
||||
local flag
|
||||
|
||||
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||
# super comprehensive.
|
||||
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
if use pgo; then
|
||||
pgo_generate_flags=(
|
||||
-fprofile-update=atomic
|
||||
-fprofile-dir="${T}"/pgo
|
||||
-fprofile-generate="${T}"/pgo
|
||||
)
|
||||
pgo_use_flags=(
|
||||
-fprofile-use="${T}"/pgo
|
||||
-fprofile-dir="${T}"/pgo
|
||||
)
|
||||
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||
pgo_generate_flags+=( "${flag}" )
|
||||
pgo_use_flags+=( "${flag}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if (( ${#pgo_generate_flags[@]} )); then
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
my_prefixify() {
|
||||
while read -r; do
|
||||
if [[ $REPLY == *$1* ]]; then
|
||||
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||
fi
|
||||
printf '%s\n' "${REPLY}" || ! break
|
||||
done < "$2" || die
|
||||
}
|
||||
|
||||
dodir /bin
|
||||
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||
done
|
||||
|
||||
if use plugins; then
|
||||
exeinto "/usr/$(get_libdir)/bash"
|
||||
set -- examples/loadables/*.o
|
||||
doexe "${@%.o}"
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||
exeinto "/usr/share/doc/${PF}/${d}"
|
||||
docinto "${d}"
|
||||
for f in "${d}"/*; do
|
||||
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||
doexe "${f}"
|
||||
else
|
||||
dodoc "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1.
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||
mkdir -p -- "${EROOT}"/etc/bash \
|
||||
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it.
|
||||
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]]; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
|
||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||
characteristics of the operating environment, it may contain a command to set
|
||||
the terminal's window title. Those who were already choosing to customise the
|
||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||
|
||||
PROMPT_COMMAND+=('custom command goes here')
|
||||
|
||||
Gentoo no longer defaults to having bash set the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||
remote side or the terminal reliably supports saving and restoring the title
|
||||
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||
drop-in - to set PROMPT_COMMMAND like so:
|
||||
|
||||
PROMPT_COMMAND=(genfun_set_win_title)
|
||||
|
||||
Those who would prefer for bash never to interfere with the window title may
|
||||
now opt out of the default title setting behaviour, either with the "unset -v
|
||||
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||
EOF
|
||||
}
|
@ -1,411 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
|
||||
inherit flag-o-matic toolchain-funcs prefix verify-sig
|
||||
|
||||
# Uncomment if we have a patchset.
|
||||
#GENTOO_PATCH_DEV="sam"
|
||||
#GENTOO_PATCH_VER="${PV}"
|
||||
|
||||
MY_PV=${PV/_p*}
|
||||
MY_PV=${MY_PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
MY_PATCHES=()
|
||||
|
||||
# Determine the patchlevel.
|
||||
case ${PV} in
|
||||
9999|*_alpha*|*_beta*|*_rc*)
|
||||
# Set a negative patchlevel to indicate that it's a pre-release.
|
||||
PLEVEL=-1
|
||||
;;
|
||||
*_p*)
|
||||
PLEVEL=${PV##*_p}
|
||||
;;
|
||||
*)
|
||||
PLEVEL=0
|
||||
esac
|
||||
|
||||
# The version of readline this bash normally ships with. Note that we only use
|
||||
# the bundled copy of readline for pre-releases.
|
||||
READLINE_VER="8.3_alpha"
|
||||
|
||||
DESCRIPTION="The standard GNU Bourne again shell"
|
||||
HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
|
||||
EGIT_BRANCH=devel
|
||||
inherit git-r3
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# It can be useful to have snapshots in the pre-release period once
|
||||
# the first alpha is out, as various bugs get reported and fixed from
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="772e7e760e8a098e4d8dee21cf11090be4757918"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
||||
my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
|
||||
|
||||
# bash-5.1 -> bash51
|
||||
my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
|
||||
|
||||
for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
|
||||
printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
|
||||
my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
|
||||
MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
|
||||
done
|
||||
|
||||
SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
unset -v my_urls my_p my_patch_idx my_patch_ver
|
||||
fi
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
|
||||
|
||||
DEPEND="
|
||||
>=sys-libs/ncurses-5.2-r2:=
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
if (( PLEVEL >= 0 )); then
|
||||
DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
|
||||
fi
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
|
||||
BDEPEND="
|
||||
pgo? ( dev-util/gperf )
|
||||
verify-sig? ( sec-keys/openpgp-keys-chetramey )
|
||||
"
|
||||
|
||||
# EAPI 8 tries to append it but it doesn't exist here.
|
||||
QA_CONFIGURE_OPTIONS="--disable-static"
|
||||
|
||||
PATCHES=(
|
||||
#"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
|
||||
|
||||
# Patches to or from Chet, posted to the bug-bash mailing list.
|
||||
"${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# bug #7332
|
||||
if is-flag -malign-double; then
|
||||
eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
|
||||
eerror "as it breaks LFS (struct stat64) on x86."
|
||||
die "remove -malign-double from your CFLAGS mr ricer"
|
||||
fi
|
||||
|
||||
if use bashlogger; then
|
||||
ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
|
||||
ewarn "This will log ALL output you enter into the shell, you have been warned."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local patch
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
default
|
||||
else
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
|
||||
|
||||
for patch in "${MY_PATCHES[@]}"; do
|
||||
verify-sig_verify_detached "${patch}"{,.sig}
|
||||
done
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${GENTOO_PATCH_VER} ]]; then
|
||||
unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Include official patches.
|
||||
(( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
|
||||
|
||||
# Clean out local libs so we know we use system ones w/releases. The
|
||||
# touch utility is invoked for the benefit of config.status.
|
||||
if (( PLEVEL >= 0 )); then
|
||||
rm -rf lib/{readline,termcap}/* \
|
||||
&& touch lib/{readline,termcap}/Makefile.in \
|
||||
&& sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
|
||||
|| die
|
||||
fi
|
||||
|
||||
# Prefixify hardcoded path names. No-op for non-prefix.
|
||||
hprefixify pathnames.h.in
|
||||
|
||||
# Avoid regenerating docs after patches, bug #407985.
|
||||
sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
|
||||
&& touch -r . doc/* \
|
||||
|| die
|
||||
|
||||
# Sometimes hangs (more noticeable w/ pgo), bug #907403.
|
||||
rm tests/run-jobs || die
|
||||
|
||||
eapply -p0 "${PATCHES[@]}"
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myconf
|
||||
|
||||
# Upstream only test with Bison and require GNUisms like YYEOF and
|
||||
# YYERRCODE. The former at least may be in POSIX soon:
|
||||
# https://www.austingroupbugs.net/view.php?id=1269.
|
||||
# configure warns on use of non-Bison but doesn't abort. The result
|
||||
# may misbehave at runtime.
|
||||
unset -v YACC
|
||||
|
||||
# wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
|
||||
# upstream to Chet by email.
|
||||
filter-lto
|
||||
|
||||
myconf=(
|
||||
--disable-profiling
|
||||
|
||||
# Force linking with system curses ... the bundled termcap lib
|
||||
# sucks bad compared to ncurses. For the most part, ncurses
|
||||
# is here because readline needs it. But bash itself calls
|
||||
# ncurses in one or two small places :(.
|
||||
--with-curses
|
||||
|
||||
$(use_enable mem-scramble)
|
||||
$(use_enable net net-redirections)
|
||||
$(use_enable readline)
|
||||
$(use_enable readline bang-history)
|
||||
$(use_enable readline history)
|
||||
$(use_with afs)
|
||||
$(use_with mem-scramble bash-malloc)
|
||||
)
|
||||
|
||||
# For descriptions of these, see config-top.h.
|
||||
# bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
|
||||
append-cppflags \
|
||||
-DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
|
||||
-DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
|
||||
-DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
|
||||
-DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
|
||||
-DNON_INTERACTIVE_LOGIN_SHELLS \
|
||||
-DSSH_SOURCE_BASHRC \
|
||||
$(use bashlogger && echo -DSYSLOG_HISTORY)
|
||||
|
||||
use nls || myconf+=( --disable-nls )
|
||||
|
||||
if (( PLEVEL >= 0 )); then
|
||||
# Historically, we always used the builtin readline, but since
|
||||
# our handling of SONAME upgrades has gotten much more stable
|
||||
# in the PM (and the readline ebuild itself preserves the old
|
||||
# libs during upgrades), linking against the system copy should
|
||||
# be safe.
|
||||
# Exact cached version here doesn't really matter as long as it
|
||||
# is at least what's in the DEPEND up above.
|
||||
export ac_cv_rl_version=${READLINE_VER%%_*}
|
||||
|
||||
# Use system readline only with released versions.
|
||||
myconf+=( --with-installed-readline=. )
|
||||
fi
|
||||
|
||||
if use plugins; then
|
||||
append-ldflags "-Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/bash"
|
||||
else
|
||||
# Disable the plugins logic by hand since bash doesn't provide
|
||||
# a way of doing it.
|
||||
export ac_cv_func_dl{close,open,sym}=no \
|
||||
ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
|
||||
|
||||
sed -i -e '/LOCAL_LDFLAGS=/s:-rdynamic::' configure || die
|
||||
fi
|
||||
|
||||
# bug #444070
|
||||
tc-export AR
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local -a pgo_generate_flags pgo_use_flags
|
||||
local flag
|
||||
|
||||
# -fprofile-partial-training because upstream notes the test suite isn't
|
||||
# super comprehensive.
|
||||
# https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
|
||||
if use pgo; then
|
||||
pgo_generate_flags=(
|
||||
-fprofile-update=atomic
|
||||
-fprofile-dir="${T}"/pgo
|
||||
-fprofile-generate="${T}"/pgo
|
||||
)
|
||||
pgo_use_flags=(
|
||||
-fprofile-use="${T}"/pgo
|
||||
-fprofile-dir="${T}"/pgo
|
||||
)
|
||||
if flag=$(test-flags-CC -fprofile-partial-training); then
|
||||
pgo_generate_flags+=( "${flag}" )
|
||||
pgo_use_flags+=( "${flag}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
|
||||
|
||||
# Build Bash and run its tests to generate profiles.
|
||||
if (( ${#pgo_generate_flags[@]} )); then
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
|
||||
|
||||
if tc-is-clang; then
|
||||
llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
|
||||
fi
|
||||
|
||||
# Rebuild Bash using the profiling data we just generated.
|
||||
emake clean
|
||||
emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
|
||||
use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Used in test suite.
|
||||
unset -v A
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local d f
|
||||
|
||||
default
|
||||
|
||||
my_prefixify() {
|
||||
while read -r; do
|
||||
if [[ $REPLY == *$1* ]]; then
|
||||
REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
|
||||
fi
|
||||
printf '%s\n' "${REPLY}" || ! break
|
||||
done < "$2" || die
|
||||
}
|
||||
|
||||
dodir /bin
|
||||
mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
|
||||
dosym bash /bin/rbash
|
||||
|
||||
insinto /etc/bash
|
||||
doins "${FILESDIR}"/bash_logout
|
||||
my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
|
||||
|
||||
insinto /etc/bash/bashrc.d
|
||||
my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
|
||||
newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
|
||||
if [[ ! ${EPREFIX} ]]; then
|
||||
doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
|
||||
fi
|
||||
|
||||
insinto /etc/skel
|
||||
for f in bash{_logout,_profile,rc}; do
|
||||
newins "${FILESDIR}/dot-${f}" ".${f}"
|
||||
done
|
||||
|
||||
if use plugins; then
|
||||
exeinto "/usr/$(get_libdir)/bash"
|
||||
set -- examples/loadables/*.o
|
||||
doexe "${@%.o}"
|
||||
|
||||
insinto /usr/include/bash-plugins
|
||||
doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
for d in examples/{functions,misc,scripts,startup-files}; do
|
||||
exeinto "/usr/share/doc/${PF}/${d}"
|
||||
docinto "${d}"
|
||||
for f in "${d}"/*; do
|
||||
if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
|
||||
doexe "${f}"
|
||||
else
|
||||
dodoc "${f}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Install bash_builtins.1 and rbash.1.
|
||||
emake -C doc DESTDIR="${D}" install_builtins
|
||||
sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
|
||||
doman "${T}"/rbash.1
|
||||
|
||||
newdoc CWRU/changelog ChangeLog
|
||||
dosym bash.info /usr/share/info/bashref.info
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
|
||||
mkdir -p -- "${EROOT}"/etc/bash \
|
||||
&& mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
|
||||
|| die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local old_ver
|
||||
|
||||
# If /bin/sh does not exist, provide it.
|
||||
if [[ ! -e ${EROOT}/bin/sh ]]; then
|
||||
ln -sf -- bash "${EROOT}"/bin/sh || die
|
||||
fi
|
||||
|
||||
read -r old_ver <<<"${REPLACING_VERSIONS}"
|
||||
if [[ ! $old_ver ]]; then
|
||||
:
|
||||
elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
|
||||
return
|
||||
fi
|
||||
|
||||
while read -r; do ewarn "${REPLY}"; done <<'EOF'
|
||||
Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
|
||||
|
||||
Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
|
||||
characteristics of the operating environment, it may contain a command to set
|
||||
the terminal's window title. Those who were already choosing to customise the
|
||||
PROMPT_COMMAND variable are now advised to append their commands like so:
|
||||
|
||||
PROMPT_COMMAND+=('custom command goes here')
|
||||
|
||||
Gentoo no longer defaults to having bash set the window title in the case
|
||||
that the terminal is controlled by sshd(8), unless screen is launched on the
|
||||
remote side or the terminal reliably supports saving and restoring the title
|
||||
(as alacritty, foot and tmux do). Those wanting for the title to be set
|
||||
regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
|
||||
drop-in - to set PROMPT_COMMMAND like so:
|
||||
|
||||
PROMPT_COMMAND=(genfun_set_win_title)
|
||||
|
||||
Those who would prefer for bash never to interfere with the window title may
|
||||
now opt out of the default title setting behaviour, either with the "unset -v
|
||||
PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
|
||||
EOF
|
||||
}
|
@ -45,7 +45,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
|
||||
# the alpha, and the next pre-release is usually quite far away.
|
||||
#
|
||||
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
|
||||
BASH_COMMIT="5e28a1813ce7d08628c8df584ea36515091c6d9b"
|
||||
BASH_COMMIT="cf694865de527e597de5a906643a74037341a431"
|
||||
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
|
||||
S=${WORKDIR}/${PN}-${BASH_COMMIT}
|
||||
else
|
@ -1,2 +1,3 @@
|
||||
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
|
||||
DIST libtool-2.5.0.tar.xz 1032148 BLAKE2B a166423dae1000eb0a8d17f3872ed55b3338444ac61f51752f43a5886bc22fd233e060c7f4c8c7fa093bf50e589f03b755c628199534ef7b8a41935e1bf9d887 SHA512 7b426fe9550a7899de93c372d2c355867be02f7bb39f2b1de06ff30cb34c81bf89759c835bdb23081cef60bfeb39b786ed90bac43e7300956fd8ee1f7dc0a609
|
||||
DIST libtool-2.5.1.tar.xz 1043544 BLAKE2B ae1e45c9d56a94980549476ed5abb7d617491360ff23ce88da9e884630280004152a9f5a96267be710930f14917bf7b00ab212acd4c65ceba1e201d2f01809e0 SHA512 ac0a6a8570ff81099585f6c3bf5a8f94851457a068b808e505422276a22638b1912a81f94e185bc2f8661b7abe2f2b2482b1af2cf42307787cbbd71d1b1612da
|
||||
|
151
sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.1.ebuild
vendored
Normal file
151
sdk_container/src/third_party/portage-stable/dev-build/libtool/libtool-2.5.1.ebuild
vendored
Normal file
@ -0,0 +1,151 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with dev-libs/libltdl.
|
||||
|
||||
# bug #225559
|
||||
LIBTOOLIZE="true"
|
||||
WANT_LIBTOOL="none"
|
||||
inherit autotools flag-o-matic prefix multiprocessing
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git"
|
||||
inherit git-r3
|
||||
elif ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then
|
||||
SRC_URI="https://alpha.gnu.org/gnu/${PN}/${P}.tar.xz"
|
||||
else
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A shared library tool for developers"
|
||||
HOMEPAGE="https://www.gnu.org/software/libtool/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="2"
|
||||
IUSE="vanilla"
|
||||
|
||||
# Pull in libltdl directly until we convert packages to the new dep.
|
||||
RDEPEND="
|
||||
sys-devel/gnuconfig
|
||||
>=dev-build/autoconf-2.69:*
|
||||
>=dev-build/automake-1.13:*
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
|
||||
|
||||
# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/
|
||||
# for package builds. The patches here are just those which are definitely fine
|
||||
# for the system-wide libtool installation as well.
|
||||
PATCHES=(
|
||||
# bug #109105
|
||||
"${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
|
||||
# bug #581314
|
||||
"${FILESDIR}"/${PN}-2.4.6-ppc64le.patch
|
||||
|
||||
"${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch
|
||||
"${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876
|
||||
./bootstrap || die
|
||||
else
|
||||
PATCHES+=(
|
||||
"${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876
|
||||
)
|
||||
fi
|
||||
|
||||
# WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway
|
||||
chmod +w build-aux/ltmain.sh || die
|
||||
|
||||
if use vanilla ; then
|
||||
eapply_user
|
||||
return 0
|
||||
else
|
||||
default
|
||||
fi
|
||||
|
||||
if use prefix ; then
|
||||
# seems that libtool has to know about EPREFIX a little bit
|
||||
# better, since it fails to find prefix paths to search libs
|
||||
# from, resulting in some packages building static only, since
|
||||
# libtool is fooled into thinking that libraries are unavailable
|
||||
# (argh...). This could also be fixed by making the gcc wrapper
|
||||
# return the correct result for -print-search-dirs (doesn't
|
||||
# include prefix dirs ...).
|
||||
eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch
|
||||
eprefixify m4/libtool.m4
|
||||
fi
|
||||
|
||||
pushd libltdl >/dev/null || die
|
||||
AT_NOELIBTOOLIZE=yes eautoreconf
|
||||
popd >/dev/null || die
|
||||
AT_NOELIBTOOLIZE=yes eautoreconf
|
||||
|
||||
# Make sure timestamps don't trigger a rebuild of man pages. #556512
|
||||
if [[ ${PV} != *9999 ]] ; then
|
||||
touch doc/*.1 || die
|
||||
export HELP2MAN=true
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# the libtool script uses bash code in it and at configure time, tries
|
||||
# to find a bash shell. if /bin/sh is bash, it uses that. this can
|
||||
# cause problems for people who switch /bin/sh on the fly to other
|
||||
# shells, so just force libtool to use /bin/bash all the time.
|
||||
# Do not bother hardcoding the full path to sed.
|
||||
# Just rely on $PATH. bug #574550
|
||||
export CONFIG_SHELL="${EPREFIX}"/bin/bash
|
||||
export ac_cv_path_SED="sed"
|
||||
export ac_cv_path_EGREP="grep -E"
|
||||
export ac_cv_path_EGREP_TRADITIONAL="grep -E"
|
||||
export ac_cv_path_FGREP="grep -F"
|
||||
export ac_cv_path_GREP="grep"
|
||||
export ac_cv_path_lt_DD="dd"
|
||||
|
||||
local myeconfargs=(
|
||||
# Split into dev-libs/libltdl
|
||||
--disable-ltdl-install
|
||||
|
||||
# Tests break otherwise (when porting to EAPI 8)
|
||||
# https://lists.gnu.org/archive/html/bug-libtool/2014-10/msg00013.html
|
||||
--enable-static
|
||||
)
|
||||
|
||||
[[ ${CHOST} == *-darwin* ]] && myeconfargs+=( "--program-prefix=g" )
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
(
|
||||
# The testsuite is sensitive to warnings, expects static
|
||||
# archives to really be archives (not compiler IR), etc.
|
||||
strip-flags
|
||||
filter-flags -fno-semantic-interposition
|
||||
filter-flags '-Wstrict-aliasing=*' '-Werror=*'
|
||||
filter-lto
|
||||
|
||||
emake -Onone check \
|
||||
CFLAGS="${CFLAGS}" \
|
||||
CXXFLAGS="${CXXFLAGS}" \
|
||||
FFLAGS="${FFLAGS}" \
|
||||
FCFLAGS="${FCFLAGS}" \
|
||||
LDFLAGS="${LDFLAGS}" \
|
||||
TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
|
||||
)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
local x
|
||||
while read -d $'\0' -r x ; do
|
||||
ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
|
||||
done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
|
||||
}
|
102
sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild
vendored
Normal file
102
sdk_container/src/third_party/portage-stable/dev-build/make/make-4.4.1-r100.ebuild
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
|
||||
GUILE_COMPAT=( 2-2 3-0 )
|
||||
inherit flag-o-matic unpacker verify-sig guile-single
|
||||
|
||||
DESCRIPTION="Standard tool to compile source trees"
|
||||
HOMEPAGE="https://www.gnu.org/software/make/make.html"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/make.git"
|
||||
inherit autotools git-r3
|
||||
elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
|
||||
SRC_URI="https://alpha.gnu.org/gnu/make/${P}.tar.lz"
|
||||
SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.lz.sig )"
|
||||
else
|
||||
SRC_URI="mirror://gnu/make/${P}.tar.lz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.lz.sig )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
IUSE="doc guile nls static test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
|
||||
|
||||
DEPEND="
|
||||
guile? ( ${GUILE_DEPS} )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
nls? ( virtual/libintl )
|
||||
"
|
||||
BDEPEND="
|
||||
$(unpacker_src_uri_depends)
|
||||
doc? ( virtual/texi2dvi )
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-make )
|
||||
test? ( dev-lang/perl )
|
||||
"
|
||||
|
||||
DOCS="AUTHORS NEWS README*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.4-default-cxx.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
|
||||
cd "${S}" || die
|
||||
./bootstrap || die
|
||||
else
|
||||
use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.lz{,.sig}
|
||||
unpacker ${P}.tar.lz
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
fi
|
||||
|
||||
if use guile; then
|
||||
guile_bump_sources
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use guile; then
|
||||
guile-single_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
local myeconfargs=(
|
||||
--program-prefix=g
|
||||
$(use_with guile)
|
||||
$(use_enable nls)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake all $(usev doc 'pdf html')
|
||||
}
|
||||
|
||||
src_install() {
|
||||
use doc && HTML_DOCS=( doc/make.html/. ) DOCS="$DOCS doc/make.pdf"
|
||||
default
|
||||
|
||||
dosym gmake /usr/bin/make
|
||||
dosym gmake.1 /usr/share/man/man1/make.1
|
||||
guile_unstrip_ccache
|
||||
}
|
@ -4,7 +4,8 @@
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
|
||||
inherit flag-o-matic unpacker verify-sig
|
||||
GUILE_COMPAT=( 2-2 3-0 )
|
||||
inherit flag-o-matic unpacker verify-sig guile-single
|
||||
|
||||
DESCRIPTION="Standard tool to compile source trees"
|
||||
HOMEPAGE="https://www.gnu.org/software/make/make.html"
|
||||
@ -24,8 +25,11 @@ LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
IUSE="doc guile nls static test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
|
||||
|
||||
DEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
|
||||
DEPEND="
|
||||
guile? ( ${GUILE_DEPS} )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
nls? ( virtual/libintl )
|
||||
@ -62,6 +66,16 @@ src_prepare() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
fi
|
||||
|
||||
if use guile; then
|
||||
guile_bump_sources
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use guile; then
|
||||
guile-single_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
@ -8,11 +8,8 @@ DIST meson-1.4.1.tar.gz 2235558 BLAKE2B 1eb83ad34d9e0a80eaf667a5edf04cf40ff043c0
|
||||
DIST meson-1.4.1.tar.gz.asc 833 BLAKE2B cbdac6620111acbb8c1e07a017a9f5f1cea2cfee62dc7ebf77a9dba7a578e43f8706923e4054ae8458c27a43112c634811c1a0d698f693f2e40744288ce586ea SHA512 bfc4f52a5e21684012aeef95dafba74a6d730efe88bc81bc410c183c253605f119dacd9684c3742ce1d3abf798a4443172526e535523531443beb0ca8c1c3633
|
||||
DIST meson-1.4.2.tar.gz 2227701 BLAKE2B 11d98d8c84545390bd35b393ae02db7876a38dad56c363471b5be59521f08c0b70da5dc5b3f991e5c715d6b59f4752738515bd8dc2412a6dc5ca1fa42e7cd63b SHA512 4aed1a5f133de2c6839bab361a0e911dd5697f5dac2a8f100df69d43a8880a810dcfa1aa6402cdfb9c5e14fdceec76925f0496c301c31ba733a32618c403eaf0
|
||||
DIST meson-1.4.2.tar.gz.asc 833 BLAKE2B 64ce1fc0fecdd6aa76bb89d88ff7497548d82afc00805c083a0bca7ce4cee41dc50be50368e333649ae7e863c03ea780fe24a48c525281fbbcab679b540f4254 SHA512 51d3245f9443cb398e2e8f225f00a853848bde1bfba02bae6334d47115e36ad96c8ec03244f6169c89d73162b86a73158a7f8d08d5bd6b3d28e8369ce7b55093
|
||||
DIST meson-1.5.0.tar.gz 2257170 BLAKE2B 5103622831a3581b428f9cdd96950b8544ddfdcbd384ec2ccd344d6b9ffb2cdd7da069963d57b09a22f26938f6a3b34823abe678fb50a0fe8d79c8abc7899605 SHA512 f0a25cf134949739c698eddaea602bf7852866b3fee3d2c11c1e6b6e48c944cf92abc3d171a2e42e21077edc01f1e7079d451f5624e2b6131382e114e814db3e
|
||||
DIST meson-1.5.0.tar.gz.asc 833 BLAKE2B 43c1e0f197520d3151ea4a41e3723666034fbfba0d794a18783ed765e5844776337f8119aed5897f5320922ac8978992f3900756300b54970bf1066f6fcde629 SHA512 35537ebc8c430eb3c011ff75529442e0ab364aa4fbec8176c340b5f466cd7f2217ab7ed6a03c7bdb577b86bb3472faa054e5ce0472edbb690fe76f39845c2dd6
|
||||
DIST meson-1.5.1.tar.gz 2257106 BLAKE2B 3368b209444d0873217bafee2339b395dca9fa43df68adce19029a41ad5c0eca59426ef681d174ef8b6b89d4a6c5b4f189c1ae219deed78334028d44bdb23a95 SHA512 3239d6f3d64dcedddd456dc451278a37aa6c4460708b0efdff1b04b6e8844c20f5f882060de311c59a678bebd51ee09e1906c9384d4b0c85b28015fd1713ab0a
|
||||
DIST meson-1.5.1.tar.gz.asc 833 BLAKE2B c099720b102b8fff581f2043000454f5cb3593352a8b69c681cda73dae7172fb7d892dc0500e29fffe4ba7828cdcba418acea230563dc26a7a89139ab526b231 SHA512 f8210dd309a104b4169bc2eae9ff370f3ced6fe2c5dfc8f3477c9fbbed983dd6636ea05822d9345d7570e88bfe7789c6cc075e5a91d578a8376666d16ad550a3
|
||||
DIST meson-reference-1.4.1.3 339324 BLAKE2B a0ea6a1dd599c0a559dae64772f730ac7cad7df3ea63acc8355ff933152873567803efff012e6ea0a4c75ef9c8be023a8d927411a49e43de20bbfc69b1263488 SHA512 fc94aa95df3cd04af49ab2f27050c3ef206407a2ccb3b61d9c8660deba55eae3fb627d83713de62f3e1216a1a33a88e989bf5b557b7e17adbb73a57d5f2ad11a
|
||||
DIST meson-reference-1.4.2.3 339324 BLAKE2B 1a4fbd8c27a8cfba773777eabd2ebaa0f76ec0c61dcfe1c7b4483737b348ff9528d68f26e68d7d40b2e1875611eed5b9a31c1cf55fed8eabb42fc1e31d9ef14b SHA512 8b8ec43e812599203ec44c08805eb6818485805c45b9c69802261eaa35efc97846a96f6472c6b1ef5f6c703e7153fd957df7b805f173ca3400a2030dfbe002ca
|
||||
DIST meson-reference-1.5.0.3 341110 BLAKE2B c81d1014f93ca3848e03e6a8948190a31e1823b04134ab6861db94d5b9517252bf66fcbbc987ba2051430c54282256d729d3575db83e1e8d09fa344c6ff06dbf SHA512 b45c7b40cbe1abf7416d50c1c7658726d4feda4a30627a6dc70c7b9aab61f72c9c7c1fa915e47f4b50e9d82987e4179db8ab3d5158ec5ef3d7856335b604f603
|
||||
DIST meson-reference-1.5.1.3 341110 BLAKE2B 5267c2eea1b1281f87e63eb08aa928257dd98088b4d5c27c2785d2d8066c2c28536f7f56bf804ffe37d2f51552c91f31ff7e2729f3b2485d594a9e44a0df9ab1 SHA512 2d36e87e9bc2de0b958f4b20544b0bd9f2b0ffb646768e68fefcd5dfb8f09c24db40f27208b5f2d1f6ba02e7465f68a538ea72be118670c76e0959e090a42cf3
|
||||
|
@ -1,190 +0,0 @@
|
||||
# Copyright 2016-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
inherit bash-completion-r1 edo distutils-r1 flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit ninja-utils git-r3
|
||||
|
||||
BDEPEND="
|
||||
${NINJA_DEPEND}
|
||||
$(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
||||
"
|
||||
|
||||
else
|
||||
inherit verify-sig
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SRC_URI="
|
||||
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz
|
||||
verify-sig? ( https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc )
|
||||
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3 -> meson-reference-${MY_PV}.3
|
||||
"
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
app-alternatives/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
!<dev-build/muon-0.2.0-r2[man(-)]
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.2.1-python-path.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
default
|
||||
use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
|
||||
fi
|
||||
}
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# clippy-driver fails, but only when run via portage.
|
||||
#
|
||||
# error[E0463]: can't find crate for `std`
|
||||
# error: requires `sized` lang_item
|
||||
-e 's/test_rust_clippy/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
# nvcc breaks on essentially any LDFLAGS
|
||||
# https://bugs.gentoo.org/936757
|
||||
# https://github.com/mesonbuild/meson/issues/11234
|
||||
rm -r "test cases/cuda"/* || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_check_deps() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
|
||||
fi
|
||||
}
|
||||
|
||||
python_configure_all() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# We use the unsafe_yaml loader because strictyaml is not packaged. In
|
||||
# theory they produce the same results, but pyyaml is faster and
|
||||
# without safety checks.
|
||||
edo ./meson.py setup \
|
||||
--prefix "${EPREFIX}/usr" \
|
||||
-Dhtml=false \
|
||||
-Dunsafe_yaml=true \
|
||||
docs/ docs/builddir
|
||||
fi
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
eninja -C docs/builddir
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# meson has its own tests for LTO support. We don't need to verify that
|
||||
# all tests work when they happen to use it. And in particular, this
|
||||
# breaks rust.
|
||||
filter-lto
|
||||
|
||||
# remove unwanted python_wrapper_setup contents
|
||||
# We actually do want to non-error if python2 is installed and tested.
|
||||
remove="${T}/${EPYTHON}/bin:"
|
||||
PATH=${PATH/${remove}/}
|
||||
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
${EPYTHON} -u run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
DESTDIR="${ED}" eninja -C docs/builddir install
|
||||
else
|
||||
newman "${DISTDIR}"/meson-reference-${MY_PV}.3 meson-reference.3
|
||||
fi
|
||||
}
|
@ -33,7 +33,7 @@ else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
DIST sqlite-doc-3450300.zip 10759906 BLAKE2B 3ad2307d4c5de10f20d0cb58bb673b291a63bf0328c3f1e40e37a4823fadda82e0f1fbfe7c9c76925ab1d1448e76cc4cbce4d4ad15c732f134f1b4b4caee9543 SHA512 8f865302137684c31c4f54d6cbe4ee82126394887930ec50501fb811023bc612878d2dc1c2317e960fe818a277b008a9835475e7a47822fc5ece5fe37aa61e31
|
||||
DIST sqlite-doc-3460000.zip 10842823 BLAKE2B 4b4b36d78ba540abaa39bb510465e23e39cabcce97d19e4cb1374d941183ea05e1150356d15c99dbdf5513adebe2e9b06cbc59bd268fe6ce17905523488ec682 SHA512 22748bf113ff96320c90227ba104ff081bf1761550944afbc78b6768d6677b13982d7e759c5f67eb7ba7ed0dcbffee500bc39fc9929d28f86b2a269145fefebd
|
||||
DIST sqlite-doc-3460100.zip 10851427 BLAKE2B 7462e83ca84e3e9aac7236f575fd2bdddac7744ae700a63fe8fdc9d2df3157c59fd374d99a0526bd4d9f742005ee7a90f3d78057861d3c3fcba9f897630e48db SHA512 1ad7dfc938d182f69ea9367b4f5ead1d48b991626521249e8b58c9fb4c2553e348ce402de9cc81b0ad699d4c45c467de56a98ee39f9c3555c6fafff15fba41ce
|
||||
DIST sqlite-src-3450300.zip 14160555 BLAKE2B 1c16a9b26587ed6b50dcd8373d4328266da0a47da7ffff15d505eddc8df74850a5bca3330bd9ee2b52036ccff9fb8aeebea02ef5713cc933753b4d8a4c15b2e8 SHA512 8f44ffdefd2cf09e7edb7cd78d5416fe7b42e01fe4b4e4803ce9d34c7b1b2971ec170a908a94b4bb11737dd3888675c8ff101ff2b41c53b8db05b5954e947cc9
|
||||
DIST sqlite-src-3460000.zip 14275927 BLAKE2B 8f8c7da56226cfbc669bc5cce7c897849dd0c6088189be2fc972fdc58bbc2933df979f040066a1cb9aea942117867eb31c9c97e7074e17215bfe747f9024a6c2 SHA512 441c51943e77655652409965b831df5af8662b4c585134be7fcd9bb5755a495170f37bd6510a80c18c42de72dda23536b583e84e58f042d342dd9e4139ae3327
|
||||
DIST sqlite-src-3460100.zip 14276926 BLAKE2B df16ea944e317df8ed64fdfab289e3699ec71725ce55e2b30450adaeb41c061b4fba1eb8c41ba638b0edcd12b23264a1f9e413b69fd593c2b65fb1037d3fc8b2 SHA512 6d32a0db9f95d3cec34f02f3fd45b453bf7c422d4d4d9570790f641e7d190b8b31be8e8715afacc1b6e4417f15a4d15a0b28e608ae0b4b5f3054b075783b916e
|
||||
|
426
sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild
vendored
Normal file
426
sdk_container/src/third_party/portage-stable/dev-db/sqlite/sqlite-3.46.1.ebuild
vendored
Normal file
@ -0,0 +1,426 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="SQL database engine"
|
||||
HOMEPAGE="https://sqlite.org/"
|
||||
|
||||
# On version updates, make sure to read the forum (https://sqlite.org/forum/forum)
|
||||
# for hints regarding test failures, backports, etc.
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
S="${WORKDIR}"/${PN}
|
||||
PROPERTIES="live"
|
||||
else
|
||||
printf -v SRC_PV "%u%02u%02u%02u" $(ver_rs 1- " ")
|
||||
DOC_PV="${SRC_PV}"
|
||||
#printf -v DOC_PV "%u%02u%02u00" $(ver_rs 1-3 " ")
|
||||
|
||||
SRC_URI="
|
||||
https://sqlite.org/2024/${PN}-src-${SRC_PV}.zip
|
||||
doc? ( https://sqlite.org/2024/${PN}-doc-${DOC_PV}.zip )
|
||||
"
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="3"
|
||||
IUSE="debug doc icu +readline secure-delete static-libs tcl test tools"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
|
||||
readline? ( sys-libs/readline:=[${MULTILIB_USEDEP}] )
|
||||
tcl? ( dev-lang/tcl:=[${MULTILIB_USEDEP}] )
|
||||
tools? ( dev-lang/tcl:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
BDEPEND=">=dev-lang/tcl-8.6:0"
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
BDEPEND+=" dev-vcs/fossil"
|
||||
else
|
||||
BDEPEND+=" app-arch/unzip"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.45.1-ppc64-ptr.patch
|
||||
)
|
||||
|
||||
_fossil_fetch() {
|
||||
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
|
||||
local repo_id="${1}"
|
||||
local repo_uri="${2}"
|
||||
|
||||
local -x FOSSIL_HOME="${HOME}"
|
||||
|
||||
mkdir -p "${T}/fossil/${repo_id}" || die
|
||||
pushd "${T}/fossil/${repo_id}" > /dev/null || die
|
||||
|
||||
if [[ -n "${EVCS_OFFLINE}" ]]; then
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
die "Network activity disabled using EVCS_OFFLINE and clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
|
||||
fi
|
||||
else
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
einfo fossil clone --verbose "${repo_uri}" "${repo_id}.fossil"
|
||||
fossil clone --verbose "${repo_uri}" "${repo_id}.fossil" || die
|
||||
echo
|
||||
else
|
||||
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" . || die
|
||||
einfo fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}"
|
||||
fossil pull --repository "${repo_id}.fossil" --verbose "${repo_uri}" || die
|
||||
echo
|
||||
fi
|
||||
|
||||
(
|
||||
addwrite "${distdir}"
|
||||
mkdir -p "${distdir}/fossil-src/${repo_id}" || die
|
||||
cp -p "${repo_id}.fossil" "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" || die
|
||||
)
|
||||
fi
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
_fossil_checkout() {
|
||||
local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}"
|
||||
local repo_id="${1}"
|
||||
local branch_or_commit="${2}"
|
||||
local target_directory="${3}"
|
||||
|
||||
local -x FOSSIL_HOME="${HOME}"
|
||||
|
||||
if [[ ! -f "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
die "Clone of repository missing: \"${distdir}/fossil-src/${repo_id}/${repo_id}.fossil\""
|
||||
fi
|
||||
|
||||
if [[ ! -f "${T}/fossil/${repo_id}/${repo_id}.fossil" ]]; then
|
||||
mkdir -p "${T}/fossil/${repo_id}" || die
|
||||
cp -p "${distdir}/fossil-src/${repo_id}/${repo_id}.fossil" "${T}/fossil/${repo_id}" || die
|
||||
fi
|
||||
|
||||
mkdir "${target_directory}" || die
|
||||
pushd "${target_directory}" > /dev/null || die
|
||||
|
||||
einfo fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}"
|
||||
fossil open --quiet "${T}/fossil/${repo_id}/${repo_id}.fossil" "${branch_or_commit}" || die
|
||||
echo
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
fossil_fetch() {
|
||||
local repo_id="${1}"
|
||||
local repo_uri="${2}"
|
||||
local target_directory="${3}"
|
||||
|
||||
local branch_or_commit="${EFOSSIL_COMMIT:-${EFOSSIL_BRANCH:-trunk}}"
|
||||
|
||||
_fossil_fetch "${repo_id}" "${repo_uri}"
|
||||
_fossil_checkout "${repo_id}" "${branch_or_commit}" "${target_directory}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
fossil_fetch sqlite https://sqlite.org/src "${WORKDIR}/${PN}"
|
||||
if use doc; then
|
||||
fossil_fetch sqlite-doc https://sqlite.org/docsrc "${WORKDIR}/${PN}-doc"
|
||||
fi
|
||||
else
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}"
|
||||
local options=()
|
||||
|
||||
options+=(
|
||||
--enable-load-extension
|
||||
--enable-threadsafe
|
||||
)
|
||||
|
||||
# Support detection of misuse of SQLite API.
|
||||
# https://sqlite.org/compile.html#enable_api_armor
|
||||
append-cppflags -DSQLITE_ENABLE_API_ARMOR
|
||||
|
||||
# Support bytecode and tables_used virtual tables.
|
||||
# https://sqlite.org/compile.html#enable_bytecode_vtab
|
||||
# https://sqlite.org/bytecodevtab.html
|
||||
append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB
|
||||
|
||||
# Support column metadata functions.
|
||||
# https://sqlite.org/compile.html#enable_column_metadata
|
||||
# https://sqlite.org/c3ref/column_database_name.html
|
||||
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
|
||||
|
||||
# Support sqlite_dbpage virtual table.
|
||||
# https://sqlite.org/compile.html#enable_dbpage_vtab
|
||||
# https://sqlite.org/dbpage.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB
|
||||
|
||||
# Support dbstat virtual table.
|
||||
# https://sqlite.org/compile.html#enable_dbstat_vtab
|
||||
# https://sqlite.org/dbstat.html
|
||||
append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB
|
||||
|
||||
# Support sqlite3_serialize() and sqlite3_deserialize() functions.
|
||||
# https://sqlite.org/compile.html#enable_deserialize
|
||||
# https://sqlite.org/c3ref/serialize.html
|
||||
# https://sqlite.org/c3ref/deserialize.html
|
||||
append-cppflags -DSQLITE_ENABLE_DESERIALIZE
|
||||
|
||||
# Support comments in output of EXPLAIN.
|
||||
# https://sqlite.org/compile.html#enable_explain_comments
|
||||
append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS
|
||||
|
||||
# Support Full-Text Search versions 3, 4 and 5.
|
||||
# https://sqlite.org/compile.html#enable_fts3
|
||||
# https://sqlite.org/compile.html#enable_fts3_parenthesis
|
||||
# https://sqlite.org/compile.html#enable_fts4
|
||||
# https://sqlite.org/compile.html#enable_fts5
|
||||
# https://sqlite.org/fts3.html
|
||||
# https://sqlite.org/fts5.html
|
||||
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
|
||||
options+=( --enable-fts5 )
|
||||
|
||||
# Support hidden columns.
|
||||
append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS
|
||||
|
||||
# Support memsys5 memory allocator.
|
||||
# https://sqlite.org/compile.html#enable_memsys5
|
||||
# https://sqlite.org/malloc.html#memsys5
|
||||
append-cppflags -DSQLITE_ENABLE_MEMSYS5
|
||||
|
||||
# Support sqlite3_normalized_sql() function.
|
||||
# https://sqlite.org/c3ref/expanded_sql.html
|
||||
append-cppflags -DSQLITE_ENABLE_NORMALIZE
|
||||
|
||||
# Support sqlite_offset() function.
|
||||
# https://sqlite.org/compile.html#enable_offset_sql_func
|
||||
# https://sqlite.org/lang_corefunc.html#sqlite_offset
|
||||
append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC
|
||||
|
||||
# Support pre-update hook functions.
|
||||
# https://sqlite.org/compile.html#enable_preupdate_hook
|
||||
# https://sqlite.org/c3ref/preupdate_count.html
|
||||
append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK
|
||||
|
||||
# Support Resumable Bulk Update extension.
|
||||
# https://sqlite.org/compile.html#enable_rbu
|
||||
# https://sqlite.org/rbu.html
|
||||
append-cppflags -DSQLITE_ENABLE_RBU
|
||||
|
||||
# Support R*Trees.
|
||||
# https://sqlite.org/compile.html#enable_rtree
|
||||
# https://sqlite.org/compile.html#enable_geopoly
|
||||
# https://sqlite.org/rtree.html
|
||||
# https://sqlite.org/geopoly.html
|
||||
append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY
|
||||
|
||||
# Support Session extension.
|
||||
# https://sqlite.org/compile.html#enable_session
|
||||
# https://sqlite.org/sessionintro.html
|
||||
append-cppflags -DSQLITE_ENABLE_SESSION
|
||||
|
||||
# Support scan status functions.
|
||||
# https://sqlite.org/compile.html#enable_stmt_scanstatus
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus.html
|
||||
# https://sqlite.org/c3ref/stmt_scanstatus_reset.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
|
||||
|
||||
# Support sqlite_stmt virtual table.
|
||||
# https://sqlite.org/compile.html#enable_stmtvtab
|
||||
# https://sqlite.org/stmt.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMTVTAB
|
||||
|
||||
# Support unknown() function.
|
||||
# https://sqlite.org/compile.html#enable_unknown_sql_function
|
||||
append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
|
||||
|
||||
# Support unlock notification.
|
||||
# https://sqlite.org/compile.html#enable_unlock_notify
|
||||
# https://sqlite.org/c3ref/unlock_notify.html
|
||||
# https://sqlite.org/unlock_notify.html
|
||||
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
||||
|
||||
# Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements.
|
||||
# https://sqlite.org/compile.html#enable_update_delete_limit
|
||||
# https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses
|
||||
# https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses
|
||||
append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
|
||||
|
||||
# Support soundex() function.
|
||||
# https://sqlite.org/compile.html#soundex
|
||||
# https://sqlite.org/lang_corefunc.html#soundex
|
||||
append-cppflags -DSQLITE_SOUNDEX
|
||||
|
||||
# Support URI filenames.
|
||||
# https://sqlite.org/compile.html#use_uri
|
||||
# https://sqlite.org/uri.html
|
||||
append-cppflags -DSQLITE_USE_URI
|
||||
|
||||
options+=( $(use_enable debug) )
|
||||
|
||||
if use icu; then
|
||||
# Support ICU extension.
|
||||
# https://sqlite.org/compile.html#enable_icu
|
||||
append-cppflags -DSQLITE_ENABLE_ICU
|
||||
sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
fi
|
||||
|
||||
options+=(
|
||||
--disable-editline
|
||||
$(use_enable readline)
|
||||
)
|
||||
|
||||
if use readline; then
|
||||
options+=( --with-readline-inc="-I${ESYSROOT}/usr/include/readline" )
|
||||
fi
|
||||
|
||||
if use secure-delete; then
|
||||
# Enable secure_delete pragma by default.
|
||||
# https://sqlite.org/compile.html#secure_delete
|
||||
# https://sqlite.org/pragma.html#pragma_secure_delete
|
||||
append-cppflags -DSQLITE_SECURE_DELETE
|
||||
fi
|
||||
|
||||
options+=( $(use_enable static-libs static) )
|
||||
|
||||
# tcl, test, tools USE flags.
|
||||
if use tcl || use test || { use tools && multilib_is_native_abi; }; then
|
||||
options+=(
|
||||
--enable-tcl
|
||||
--with-tcl="${ESYSROOT}/usr/$(get_libdir)"
|
||||
)
|
||||
else
|
||||
options+=( --disable-tcl )
|
||||
fi
|
||||
|
||||
if [[ "${ABI}" == "x86" ]]; then
|
||||
if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then
|
||||
append-cflags -mfpmath=sse
|
||||
else
|
||||
append-cflags -ffloat-store
|
||||
fi
|
||||
fi
|
||||
|
||||
econf "${options[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake HAVE_TCL="$(usev tcl 1)" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh
|
||||
fi
|
||||
|
||||
if [[ ${PV} == 9999 ]] && use doc && multilib_is_native_abi; then
|
||||
emake tclsqlite3.c
|
||||
|
||||
local build_directory="$(pwd)"
|
||||
build_directory="${build_directory##*/}"
|
||||
|
||||
mkdir "${WORKDIR}/${PN}-doc-build" || die
|
||||
pushd "${WORKDIR}/${PN}-doc-build" > /dev/null || die
|
||||
|
||||
emake -f "../${PN}-doc/Makefile" -j1 SRC="../${PN}" BLD="../${build_directory}" DOC="../${PN}-doc" CC="$(tc-getBUILD_CC)" TCLINC="" TCLFLAGS="$($(tc-getBUILD_PKG_CONFIG) --libs tcl) -ldl -lm" base doc
|
||||
rmdir doc/matrix{/*,} || die
|
||||
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
ewarn "Skipping tests due to root permissions"
|
||||
return
|
||||
fi
|
||||
|
||||
local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}"
|
||||
|
||||
# e_uri.test tries to open files in /.
|
||||
# bug #839798
|
||||
local SANDBOX_PREDICT=${SANDBOX_PREDICT}
|
||||
addpredict "/test.db"
|
||||
addpredict "/ÿ.db"
|
||||
|
||||
emake -Onone HAVE_TCL="$(usex tcl 1 "")" $(usex debug 'fulltest' 'test')
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
|
||||
|
||||
if use tools && multilib_is_native_abi; then
|
||||
install_tool() {
|
||||
if [[ -f ".libs/${1}" ]]; then
|
||||
newbin ".libs/${1}" "${2}"
|
||||
else
|
||||
newbin "${1}" "${2}"
|
||||
fi
|
||||
}
|
||||
|
||||
install_tool changeset sqlite3-changeset
|
||||
install_tool dbdump sqlite3-db-dump
|
||||
install_tool dbhash sqlite3-db-hash
|
||||
install_tool dbtotxt sqlite3-db-to-txt
|
||||
install_tool index_usage sqlite3-index-usage
|
||||
install_tool rbu sqlite3-rbu
|
||||
install_tool scrub sqlite3-scrub
|
||||
install_tool showdb sqlite3-show-db
|
||||
install_tool showjournal sqlite3-show-journal
|
||||
install_tool showshm sqlite3-show-shm
|
||||
install_tool showstat4 sqlite3-show-stat4
|
||||
install_tool showwal sqlite3-show-wal
|
||||
install_tool sqldiff sqlite3-diff
|
||||
install_tool sqlite3_analyzer sqlite3-analyzer
|
||||
install_tool sqlite3_checker sqlite3-checker
|
||||
install_tool sqlite3_expert sqlite3-expert
|
||||
install_tool sqltclsh sqlite3-tclsh
|
||||
|
||||
unset -f install_tool
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
|
||||
doman sqlite3.1
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
pushd "${WORKDIR}/${PN}-doc-build/doc" > /dev/null || die
|
||||
else
|
||||
pushd "${WORKDIR}/${PN}-doc-${DOC_PV}" > /dev/null || die
|
||||
fi
|
||||
|
||||
find "(" -name "*.db" -o -name "*.txt" ")" -delete || die
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
rm search search.d/admin || die
|
||||
rmdir search.d || die
|
||||
find -name "*~" -delete || die
|
||||
fi
|
||||
|
||||
(
|
||||
docinto html
|
||||
dodoc -r *
|
||||
)
|
||||
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
@ -3,4 +3,4 @@ DIST perl-5.38.2.tar.xz 13679524 BLAKE2B 74250e30dde76911902a787134808dae69113c0
|
||||
DIST perl-5.40.0-patches-2.tar.xz 17072 BLAKE2B 7cc1085a0a701f72cf1fce2b7f18ac949eb03a9e40716c37082396483045df577ef13bbca58ef06f20868e52e9c78e18fa5b8a3434ceea272ff49832a086a1f5 SHA512 d31a25894e3b34c8e80f439ebd423dd8f28eac056ce42d69376882c1655b1f7289ef22f8aa8d30147eaebbe6693f4d86d1570e153b55d58d7b30e5832e7bea60
|
||||
DIST perl-5.40.0.tar.xz 13804184 BLAKE2B cf191c3ccaf6f395c0c7d08c2ad3456c1dd622d4fe78e7fb3a74c741e9a84f1d39a55f5bc6adbea54c9520b1b387e72e957f9a7544ab8f24968d233cd5b959ae SHA512 a2fb1a24c6367b4043f4e929b2d74fc3bad1415e53b791ed1f219f1701064ae21b2bd3164ba95fcf24eaf458bd54433024ccae43725c0bb82a1ec6a98dc7052d
|
||||
DIST perl-cross-1.5.2.tar.gz 120097 BLAKE2B 8703816363b41ea5fe528b192ed28b169cf0bfc3c61a9332682240bdc02f6ef0208fc0202517ba03e7c177bfbb52783c833aacaf2d16583e0f90bd58805a03ff SHA512 fb16316add0a7458f087295077518402eddaa1c759da6e268742e9ba5439cb3f1db7adcd7ef769c4a613b7518ff9e48849f60b24bd2a6daaaf6e96b59bbf0ac8
|
||||
DIST perl-cross-1.5.3.tar.gz 120847 BLAKE2B 346152b44e4ace3a9215aeb24de617ac217a462c1ebfa2b426e7bf9546673e1aef52ac2fd294bb2a00755f6e3590bd5bc3f615d874a0dcd5fa13b1eb2d3960c7 SHA512 cccfd32ee33e52a06fa0c6c1af0cd454bf20354e9ce4e7ebd599915b3a4a39b5e0b98e548c5e8084e175e9a3c78f0f7d782331ec2ceaec07c1c0413690d0d422
|
||||
DIST perl-cross-1.6.tar.gz 121973 BLAKE2B b3a17d92dd7621a3bc253a6c4e56eccd3adec2c2b52e606c956a08f48d786a16a3ac5beb056a732ba3df92227f210193b0f516fd9d73cac362a04ec52efab029 SHA512 980af804513ec126e40eb9d8200ca54ba805bbb13b38d20a45daaf8d98d6b257e2eebc1ecad56cd47f60e235fa1141f6df9518d748db4f18d5219180750ca615
|
||||
|
@ -6,7 +6,7 @@ EAPI=8
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=2
|
||||
CROSS_VER=1.5.3
|
||||
CROSS_VER=1.6
|
||||
PATCH_BASE="perl-5.40.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
@ -439,7 +439,7 @@ src_prepare() {
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
sed -i "s:INC => .*:INC => \"-I${ESYSROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
@ -577,12 +577,12 @@ src_configure() {
|
||||
use m68k && append-ldflags -Wl,-z,norelro
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
export BZIP2_INCLUDE=${ESYSROOT}/usr/include
|
||||
export BZIP2_LIB=${ESYSROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
export ZLIB_INCLUDE=${ESYSROOT}/usr/include
|
||||
export ZLIB_LIB=${ESYSROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
@ -622,12 +622,16 @@ src_configure() {
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv"
|
||||
tc-export_build_env
|
||||
|
||||
# Needed for the CHOST build too (bug #932385)
|
||||
export CFLAGS="${CFLAGS} -D_GNU_SOURCE"
|
||||
|
||||
# bug #913171
|
||||
export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE"
|
||||
export \
|
||||
HOSTCC=$(tc-getBUILD_CC) \
|
||||
HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" \
|
||||
HOSTLDFLAGS="${LDFLAGS_FOR_BUILD}"
|
||||
fi
|
||||
|
||||
# bug #877659, bug #821577
|
||||
|
@ -41,6 +41,7 @@ DIST python-gentoo-patches-3.13.0b3_p1.tar.xz 8716 BLAKE2B 25b2d9f059c6f31a354b1
|
||||
DIST python-gentoo-patches-3.13.0b4.tar.xz 5700 BLAKE2B cc3e6d899dc51dc4a0f4b57fb5a891a61e5ba5a943edd31b55b6540f1d52a61f2a80f8ac1cdbc36ce155a83ab3942b8991fad0e83baab4c0a1080e62b30e16df SHA512 bf236ed221512a032a057f8b89b29a28e84cfaba56f58c2eaacee846db636089b2ae4534dc55ff3389cfbf1a4485e1cc2049a5cdb98ec1cd31eef71de60596c1
|
||||
DIST python-gentoo-patches-3.13.0rc1.tar.xz 5696 BLAKE2B c34beb06ea6052b297e1bc5ec790f712a6d8acfa23b16b44dd8a7fc2788a4ba266da21cc2f463e79f10749e2f4752ae34c7074a0e588e84614020e6acd86403b SHA512 a6a2e8dc2a35a76b265788658cd8ecf2f5b7f466701cf4599df300eb8914435198f26789dafa309a7dc4c23e0da2aeb905c8175611f6fa50f622e70016212202
|
||||
DIST python-gentoo-patches-3.13.0rc1_p1.tar.xz 9840 BLAKE2B f8f52be8fde89793e5692a4693c030980a32651626cc6184f962d7d9dc9209ce6593f127ff279b71fda4fafeec148af80971bdb6dcaf129f63cc52238a34630f SHA512 e0d3aaf528ffeed8335f98dd4bfd43da8274757b0ae9f6a473134e9b57eafe12b870e41e1aafa52c2bd96de1b7ab9b9f225ddf8e87eec51f088b5484b3c92852
|
||||
DIST python-gentoo-patches-3.13.0rc1_p2.tar.xz 12748 BLAKE2B 851d16e16d2a98fde62c38054d9bedf3538d88a59e19dcfd8ee7d86f3f67a3b66105664da9181dbfb9ad16aa0042815ccf469225348fb0ba8854337b0a736d33 SHA512 8264aa65bf71e97a4afe47a9fba58815163bc950ea70ff708c5f265722c5b4b8af19fbbe8a9c3673957a6de3af8307a9ba0ed9f4e42472ca24c5ed930682a038
|
||||
DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3
|
||||
DIST python-gentoo-patches-3.8.19_p3.tar.xz 39392 BLAKE2B 451765c7546831c35f52e2772b8b43b6515f66cace2d13ed473228bf2d2b18f49b938a61d4cdf1be0fecbebfac1fc8d3d95f7597eb9d877c0b2ce495e8d419c1 SHA512 76e405ddfd3ee98dbd077f6ec83ae93d0506ddbc3b2b8884a0f38c6269ea982b635b0eb7820f6f9b2f81eb0ef514b93a5eb10437414cde4de2bfb7ea37764b3c
|
||||
DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2
|
||||
|
660
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1_p2.ebuild
vendored
Normal file
660
sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.0_rc1_p2.ebuild
vendored
Normal file
@ -0,0 +1,660 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
LLVM_COMPAT=( 18 )
|
||||
LLVM_OPTIONAL=1
|
||||
WANT_LIBTOOL="none"
|
||||
|
||||
inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing
|
||||
inherit pax-utils python-utils-r1 toolchain-funcs verify-sig
|
||||
|
||||
MY_PV=${PV/_}
|
||||
MY_P="Python-${MY_PV%_p*}"
|
||||
PYVER=$(ver_cut 1-2)
|
||||
PATCHSET="python-gentoo-patches-${MY_PV}"
|
||||
|
||||
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
|
||||
HOMEPAGE="
|
||||
https://www.python.org/
|
||||
https://github.com/python/cpython/
|
||||
"
|
||||
SRC_URI="
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
|
||||
verify-sig? (
|
||||
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="${PYVER}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="
|
||||
bluetooth build +debug +ensurepip examples gdbm +gil jit
|
||||
libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
|
||||
"
|
||||
REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Do not add a dependency on dev-lang/python to this ebuild.
|
||||
# If you need to apply a patch which requires python for bootstrapping, please
|
||||
# run the bootstrap code on your dev box and include the results in the
|
||||
# patchset. See bug 447752.
|
||||
|
||||
RDEPEND="
|
||||
app-arch/bzip2:=
|
||||
app-arch/xz-utils:=
|
||||
app-crypt/libb2
|
||||
>=dev-libs/expat-2.1:=
|
||||
dev-libs/libffi:=
|
||||
dev-libs/mpdecimal:=
|
||||
dev-python/gentoo-common
|
||||
>=sys-libs/zlib-1.1.3:=
|
||||
virtual/libcrypt:=
|
||||
virtual/libintl
|
||||
ensurepip? ( dev-python/ensurepip-pip )
|
||||
gdbm? ( sys-libs/gdbm:=[berkdb] )
|
||||
kernel_linux? ( sys-apps/util-linux:= )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:= )
|
||||
readline? (
|
||||
!libedit? ( >=sys-libs/readline-4.1:= )
|
||||
libedit? ( dev-libs/libedit:= )
|
||||
)
|
||||
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
|
||||
ssl? ( >=dev-libs/openssl-1.1.1:= )
|
||||
tk? (
|
||||
>=dev-lang/tcl-8.0:=
|
||||
>=dev-lang/tk-8.0:=
|
||||
dev-tcltk/blt:=
|
||||
dev-tcltk/tix
|
||||
)
|
||||
"
|
||||
# bluetooth requires headers from bluez
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
test? (
|
||||
app-arch/xz-utils
|
||||
dev-python/ensurepip-pip
|
||||
dev-python/ensurepip-setuptools
|
||||
dev-python/ensurepip-wheel
|
||||
)
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
"
|
||||
# autoconf-archive needed to eautoreconf
|
||||
BDEPEND="
|
||||
dev-build/autoconf-archive
|
||||
app-alternatives/awk
|
||||
virtual/pkgconfig
|
||||
jit? (
|
||||
$(llvm_gen_dep '
|
||||
sys-devel/clang:${LLVM_SLOT}
|
||||
sys-devel/llvm:${LLVM_SLOT}
|
||||
')
|
||||
)
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
|
||||
"
|
||||
RDEPEND+="
|
||||
!build? ( app-misc/mime-types )
|
||||
"
|
||||
if [[ ${PV} != *_alpha* ]]; then
|
||||
RDEPEND+="
|
||||
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
|
||||
"
|
||||
fi
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
|
||||
|
||||
# large file tests involve a 2.5G file being copied (duplicated)
|
||||
CHECKREQS_DISK_BUILD=5500M
|
||||
|
||||
QA_PKGCONFIG_VERSION=${PYVER}
|
||||
# false positives -- functions specific to *BSD
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
|
||||
|
||||
pkg_pretend() {
|
||||
use test && check-reqs_pkg_pretend
|
||||
|
||||
if ! use gil || use jit; then
|
||||
ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using"
|
||||
ewarn "them could lead to unexpected breakage, including race conditions"
|
||||
ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
|
||||
ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead,"
|
||||
ewarn "please consider reporting freethreading / JIT problems upstream."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use jit && llvm-r1_pkg_setup
|
||||
use test && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Ensure that internal copies of expat and libffi are not used.
|
||||
# TODO: Makefile has annoying deps on expat headers
|
||||
#rm -r Modules/expat || die
|
||||
|
||||
local PATCHES=(
|
||||
"${WORKDIR}/${PATCHSET}"
|
||||
)
|
||||
|
||||
default
|
||||
|
||||
# force the correct number of jobs
|
||||
# https://bugs.gentoo.org/737660
|
||||
sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
|
||||
|
||||
# breaks tests when using --with-wheel-pkg-dir
|
||||
rm -r Lib/test/wheeldata || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
build_cbuild_python() {
|
||||
# Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
|
||||
local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
#
|
||||
# -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
|
||||
local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
|
||||
local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
|
||||
local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
|
||||
|
||||
# We need to build our own Python on CBUILD first, and feed it in.
|
||||
# bug #847910
|
||||
local myeconfargs_cbuild=(
|
||||
"${myeconfargs[@]}"
|
||||
|
||||
--prefix="${BROOT}"/usr
|
||||
--libdir="${cbuild_libdir:2}"
|
||||
|
||||
# Avoid needing to load the right libpython.so.
|
||||
--disable-shared
|
||||
|
||||
# As minimal as possible for the mini CBUILD Python
|
||||
# we build just for cross to satisfy --with-build-python.
|
||||
--without-lto
|
||||
--without-readline
|
||||
--disable-optimizations
|
||||
)
|
||||
|
||||
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
|
||||
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
|
||||
|
||||
# Avoid as many dependencies as possible for the cross build.
|
||||
mkdir Modules || die
|
||||
cat > Modules/Setup.local <<-EOF || die
|
||||
*disabled*
|
||||
nis
|
||||
_dbm _gdbm
|
||||
_sqlite3
|
||||
_hashlib _ssl
|
||||
_curses _curses_panel
|
||||
readline
|
||||
_tkinter
|
||||
pyexpat
|
||||
zlib
|
||||
# We disabled these for CBUILD because Python's setup.py can't handle locating
|
||||
# libdir correctly for cross. This should be rechecked for the pure Makefile approach,
|
||||
# and uncommented if needed.
|
||||
#_ctypes _crypt
|
||||
EOF
|
||||
|
||||
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
|
||||
|
||||
# Unfortunately, we do have to build this immediately, and
|
||||
# not in src_compile, because CHOST configure for Python
|
||||
# will check the existence of the --with-build-python value
|
||||
# immediately.
|
||||
emake
|
||||
popd &> /dev/null || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# disable automagic bluetooth headers detection
|
||||
if ! use bluetooth; then
|
||||
local -x ac_cv_header_bluetooth_bluetooth_h=no
|
||||
fi
|
||||
|
||||
append-flags -fwrapv
|
||||
filter-flags -malign-double
|
||||
|
||||
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
|
||||
# PKG_CONFIG needed for cross.
|
||||
tc-export CXX PKG_CONFIG
|
||||
|
||||
local dbmliborder=
|
||||
if use gdbm; then
|
||||
dbmliborder+="${dbmliborder:+:}gdbm"
|
||||
fi
|
||||
|
||||
# Set baseline test skip flags.
|
||||
COMMON_TEST_SKIPS=(
|
||||
# failures
|
||||
-x test_concurrent_futures
|
||||
-x test_gdb
|
||||
# flaky: https://github.com/python/cpython/issues/121973
|
||||
-x test_pyrepl
|
||||
# flaky: https://github.com/python/cpython/issues/122136 (bug #936314)
|
||||
-x test_asyncio
|
||||
)
|
||||
|
||||
# Arch-specific skips. See #931888 for a collection of these.
|
||||
case ${CHOST} in
|
||||
alpha*)
|
||||
COMMON_TEST_SKIPS+=(
|
||||
-x test_builtin
|
||||
-x test_capi
|
||||
-x test_cmath
|
||||
-x test_float
|
||||
# timeout
|
||||
-x test_free_threading
|
||||
-x test_math
|
||||
-x test_numeric_tower
|
||||
-x test_random
|
||||
-x test_statistics
|
||||
# bug 653850
|
||||
-x test_resource
|
||||
-x test_strtod
|
||||
)
|
||||
;;
|
||||
ia64*)
|
||||
COMMON_TEST_SKIPS+=(
|
||||
-x test_ctypes
|
||||
-x test_external_inspection
|
||||
)
|
||||
;;
|
||||
mips*)
|
||||
COMMON_TEST_SKIPS+=(
|
||||
-x test_ctypes
|
||||
-x test_external_inspection
|
||||
-x test_statistics
|
||||
)
|
||||
;;
|
||||
powerpc64-*) # big endian
|
||||
COMMON_TEST_SKIPS+=(
|
||||
-x test_descr
|
||||
)
|
||||
;;
|
||||
riscv*)
|
||||
COMMON_TEST_SKIPS+=(
|
||||
-x test_urllib2
|
||||
)
|
||||
;;
|
||||
sparc*)
|
||||
COMMON_TEST_SKIPS+=(
|
||||
# bug 788022
|
||||
-x test_multiprocessing_fork
|
||||
-x test_multiprocessing_forkserver
|
||||
|
||||
-x test_ctypes
|
||||
-x test_descr
|
||||
# bug 931908
|
||||
-x test_exceptions
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
# musl-specific skips
|
||||
use elibc_musl && COMMON_TEST_SKIPS+=(
|
||||
# various musl locale deficiencies
|
||||
-x test__locale
|
||||
-x test_c_locale_coercion
|
||||
-x test_locale
|
||||
-x test_re
|
||||
|
||||
# known issues with find_library on musl
|
||||
# https://bugs.python.org/issue21622
|
||||
-x test_ctypes
|
||||
|
||||
# fpathconf, ttyname errno values
|
||||
-x test_os
|
||||
)
|
||||
|
||||
if use pgo; then
|
||||
local profile_task_flags=(
|
||||
-m test
|
||||
"-j$(makeopts_jobs)"
|
||||
--pgo-extended
|
||||
--verbose3
|
||||
-u-network
|
||||
|
||||
# We use a timeout because of how often we've had hang issues
|
||||
# here. It also matches the default upstream PROFILE_TASK.
|
||||
--timeout 1200
|
||||
|
||||
"${COMMON_TEST_SKIPS[@]}"
|
||||
|
||||
-x test_dtrace
|
||||
|
||||
# All of these seem to occasionally hang for PGO inconsistently
|
||||
# They'll even hang here but be fine in src_test sometimes.
|
||||
# bug #828535 (and related: bug #788022)
|
||||
-x test_asyncio
|
||||
-x test_httpservers
|
||||
-x test_logging
|
||||
-x test_multiprocessing_fork
|
||||
-x test_socket
|
||||
-x test_xmlrpc
|
||||
|
||||
# Hangs (actually runs indefinitely executing itself w/ many cpython builds)
|
||||
# bug #900429
|
||||
-x test_tools
|
||||
|
||||
# Fails in profiling run, passes in src_test().
|
||||
-x test_capi
|
||||
)
|
||||
|
||||
# Arch-specific skips. See #931888 for a collection of these.
|
||||
case ${CHOST} in
|
||||
alpha*)
|
||||
profile_task_flags+=(
|
||||
-x test_os
|
||||
)
|
||||
;;
|
||||
hppa*)
|
||||
profile_task_flags+=(
|
||||
-x test_descr
|
||||
# bug 931908
|
||||
-x test_exceptions
|
||||
-x test_os
|
||||
)
|
||||
;;
|
||||
ia64*)
|
||||
profile_task_flags+=(
|
||||
-x test_signal
|
||||
)
|
||||
;;
|
||||
powerpc64-*) # big endian
|
||||
profile_task_flags+=(
|
||||
# bug 931908
|
||||
-x test_exceptions
|
||||
)
|
||||
;;
|
||||
riscv*)
|
||||
profile_task_flags+=(
|
||||
-x test_statistics
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
if has_version "app-arch/rpm" ; then
|
||||
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
|
||||
profile_task_flags+=(
|
||||
-x test_distutils
|
||||
)
|
||||
fi
|
||||
local -x PROFILE_TASK="${profile_task_flags[*]}"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
# glibc-2.30 removes it; since we can't cleanly force-rebuild
|
||||
# Python on glibc upgrade, remove it proactively to give
|
||||
# a chance for users rebuilding python before glibc
|
||||
ac_cv_header_stropts_h=no
|
||||
|
||||
--enable-shared
|
||||
--without-static-libpython
|
||||
--enable-ipv6
|
||||
--infodir='${prefix}/share/info'
|
||||
--mandir='${prefix}/share/man'
|
||||
--with-computed-gotos
|
||||
--with-dbmliborder="${dbmliborder}"
|
||||
--with-libc=
|
||||
--enable-loadable-sqlite-extensions
|
||||
--without-ensurepip
|
||||
--without-lto
|
||||
--with-system-expat
|
||||
--with-system-libmpdec
|
||||
--with-platlibdir=lib
|
||||
--with-pkg-config=yes
|
||||
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
|
||||
|
||||
$(use_with debug assertions)
|
||||
$(use_enable gil)
|
||||
$(use_enable jit experimental-jit)
|
||||
$(use_enable pgo optimizations)
|
||||
$(use_with readline readline "$(usex libedit editline readline)")
|
||||
$(use_with valgrind)
|
||||
)
|
||||
|
||||
# https://bugs.gentoo.org/700012
|
||||
if tc-is-lto; then
|
||||
append-cflags $(test-flags-CC -ffat-lto-objects)
|
||||
myeconfargs+=(
|
||||
--with-lto
|
||||
)
|
||||
fi
|
||||
|
||||
# Force-disable modules we don't want built.
|
||||
# See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
|
||||
cat > Modules/Setup.local <<-EOF || die
|
||||
*disabled*
|
||||
nis
|
||||
$(usev !gdbm '_gdbm _dbm')
|
||||
$(usev !sqlite '_sqlite3')
|
||||
$(usev !ssl '_hashlib _ssl')
|
||||
$(usev !ncurses '_curses _curses_panel')
|
||||
$(usev !readline 'readline')
|
||||
$(usev !tk '_tkinter')
|
||||
EOF
|
||||
|
||||
# disable implicit optimization/debugging flags
|
||||
local -x OPT=
|
||||
|
||||
if tc-is-cross-compiler ; then
|
||||
build_cbuild_python
|
||||
myeconfargs+=(
|
||||
# Point the imminent CHOST build to the Python we just
|
||||
# built for CBUILD.
|
||||
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
|
||||
)
|
||||
fi
|
||||
|
||||
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
|
||||
# propagated to sysconfig for built extensions
|
||||
local -x CFLAGS_NODIST=${CFLAGS}
|
||||
local -x LDFLAGS_NODIST=${LDFLAGS}
|
||||
local -x CFLAGS= LDFLAGS=
|
||||
|
||||
# Fix implicit declarations on cross and prefix builds. Bug #674070.
|
||||
if use ncurses; then
|
||||
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
|
||||
eerror "configure has detected that the sem_open function is broken."
|
||||
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
|
||||
die "Broken sem_open function (bug 496328)"
|
||||
fi
|
||||
|
||||
# install epython.py as part of stdlib
|
||||
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Ensure sed works as expected
|
||||
# https://bugs.gentoo.org/594768
|
||||
local -x LC_ALL=C
|
||||
export PYTHONSTRICTEXTENSIONBUILD=1
|
||||
|
||||
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
|
||||
# end up writing bytecode & violating sandbox.
|
||||
# bug #831897
|
||||
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Gentoo hack to disable accessing system site-packages
|
||||
export GENTOO_CPYTHON_BUILD=1
|
||||
|
||||
if use pgo ; then
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
fi
|
||||
|
||||
# also need to clear the flags explicitly here or they end up
|
||||
# in _sysconfigdata*
|
||||
emake CPPFLAGS= CFLAGS= LDFLAGS=
|
||||
|
||||
# Restore saved value from above.
|
||||
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
|
||||
|
||||
# Work around bug 329499. See also bug 413751 and 457194.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E python
|
||||
else
|
||||
pax-mark m python
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests will not work when cross compiling.
|
||||
if tc-is-cross-compiler; then
|
||||
elog "Disabling tests due to crosscompiling."
|
||||
return
|
||||
fi
|
||||
|
||||
# this just happens to skip test_support.test_freeze that is broken
|
||||
# without bundled expat
|
||||
# TODO: get a proper skip for it upstream
|
||||
local -x LOGNAME=buildbot
|
||||
|
||||
local test_opts=(
|
||||
--verbose3
|
||||
-u-network
|
||||
-j "$(makeopts_jobs)"
|
||||
"${COMMON_TEST_SKIPS[@]}"
|
||||
)
|
||||
|
||||
# bug 660358
|
||||
local -x COLUMNS=80
|
||||
local -x PYTHONDONTWRITEBYTECODE=
|
||||
|
||||
nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
|
||||
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
|
||||
local ret=${?}
|
||||
|
||||
[[ ${ret} -eq 0 ]] || die "emake test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local libdir=${ED}/usr/lib/python${PYVER}
|
||||
|
||||
# -j1 hack for now for bug #843458
|
||||
emake -j1 DESTDIR="${D}" altinstall
|
||||
|
||||
# Fix collisions between different slots of Python.
|
||||
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
|
||||
|
||||
# Cheap hack to get version with ABIFLAGS
|
||||
local abiver=$(cd "${ED}/usr/include"; echo python*)
|
||||
if [[ ${abiver} != python${PYVER} ]]; then
|
||||
# Replace python3.X with a symlink to python3.Xm
|
||||
rm "${ED}/usr/bin/python${PYVER}" || die
|
||||
dosym "${abiver}" "/usr/bin/python${PYVER}"
|
||||
# Create python3.X-config symlink
|
||||
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
|
||||
# Create python-3.5m.pc symlink
|
||||
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
|
||||
fi
|
||||
|
||||
# python seems to get rebuilt in src_install (bug 569908)
|
||||
# Work around it for now.
|
||||
if has_version dev-libs/libffi[pax-kernel]; then
|
||||
pax-mark E "${ED}/usr/bin/${abiver}"
|
||||
else
|
||||
pax-mark m "${ED}/usr/bin/${abiver}"
|
||||
fi
|
||||
|
||||
rm -r "${libdir}"/ensurepip/_bundled || die
|
||||
if ! use ensurepip; then
|
||||
rm -r "${libdir}"/ensurepip || die
|
||||
fi
|
||||
if ! use sqlite; then
|
||||
rm -r "${libdir}/"sqlite3 || die
|
||||
fi
|
||||
if ! use tk; then
|
||||
rm -r "${ED}/usr/bin/idle${PYVER}" || die
|
||||
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
|
||||
fi
|
||||
|
||||
ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
|
||||
|
||||
dodoc Misc/{ACKS,HISTORY,NEWS}
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
find Tools -name __pycache__ -exec rm -fr {} + || die
|
||||
dodoc -r Tools
|
||||
fi
|
||||
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
|
||||
local libname=$(
|
||||
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
|
||||
emake --no-print-directory -s -f - 2>/dev/null
|
||||
)
|
||||
newins Tools/gdb/libpython.py "${libname}"-gdb.py
|
||||
|
||||
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
|
||||
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
|
||||
sed \
|
||||
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
|
||||
-e "s:@PYDOC@:pydoc${PYVER}:" \
|
||||
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
|
||||
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
|
||||
|
||||
# python-exec wrapping support
|
||||
local pymajor=${PYVER%.*}
|
||||
local EPYTHON=python${PYVER}
|
||||
local scriptdir=${D}$(python_get_scriptdir)
|
||||
mkdir -p "${scriptdir}" || die
|
||||
# python and pythonX
|
||||
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
|
||||
ln -s "python${pymajor}" "${scriptdir}/python" || die
|
||||
# python-config and pythonX-config
|
||||
# note: we need to create a wrapper rather than symlinking it due
|
||||
# to some random dirname(argv[0]) magic performed by python-config
|
||||
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
|
||||
#!/bin/sh
|
||||
exec "${abiver}-config" "\${@}"
|
||||
EOF
|
||||
chmod +x "${scriptdir}/python${pymajor}-config" || die
|
||||
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
|
||||
# pydoc
|
||||
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
|
||||
# idle
|
||||
if use tk; then
|
||||
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt 3.13.0_beta2; then
|
||||
ewarn "Python 3.13.0b2 has changed its module ABI. The .pyc files"
|
||||
ewarn "installed previously are no longer valid and will be regenerated"
|
||||
ewarn "(or ignored) on the next import. This may cause sandbox failures"
|
||||
ewarn "when installing some packages and checksum mismatches when removing"
|
||||
ewarn "old versions. To actively prevent this, rebuild all packages"
|
||||
ewarn "installing Python 3.13 modules, e.g. using:"
|
||||
ewarn
|
||||
ewarn " emerge -1v /usr/lib/python3.13/site-packages"
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
|
||||
DIST libtool-2.5.0.tar.xz 1032148 BLAKE2B a166423dae1000eb0a8d17f3872ed55b3338444ac61f51752f43a5886bc22fd233e060c7f4c8c7fa093bf50e589f03b755c628199534ef7b8a41935e1bf9d887 SHA512 7b426fe9550a7899de93c372d2c355867be02f7bb39f2b1de06ff30cb34c81bf89759c835bdb23081cef60bfeb39b786ed90bac43e7300956fd8ee1f7dc0a609
|
||||
DIST libtool-2.5.1.tar.xz 1043544 BLAKE2B ae1e45c9d56a94980549476ed5abb7d617491360ff23ce88da9e884630280004152a9f5a96267be710930f14917bf7b00ab212acd4c65ceba1e201d2f01809e0 SHA512 ac0a6a8570ff81099585f6c3bf5a8f94851457a068b808e505422276a22638b1912a81f94e185bc2f8661b7abe2f2b2482b1af2cf42307787cbbd71d1b1612da
|
||||
|
48
sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.1.ebuild
vendored
Normal file
48
sdk_container/src/third_party/portage-stable/dev-libs/libltdl/libltdl-2.5.1.ebuild
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Please bump with dev-build/libtool.
|
||||
|
||||
inherit multilib-minimal flag-o-matic
|
||||
|
||||
MY_P="libtool-${PV}"
|
||||
|
||||
DESCRIPTION="A shared library tool for developers"
|
||||
HOMEPAGE="https://www.gnu.org/software/libtool/"
|
||||
if ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then
|
||||
SRC_URI="https://alpha.gnu.org/gnu/libtool/${MY_P}.tar.xz"
|
||||
else
|
||||
SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}"/${MY_P}/libltdl
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="static-libs"
|
||||
# libltdl doesn't have a testsuite. Don't bother trying.
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND="app-arch/xz-utils"
|
||||
|
||||
multilib_src_configure() {
|
||||
# bug #907427
|
||||
filter-lto
|
||||
|
||||
append-lfs-flags
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf \
|
||||
--enable-ltdl-install \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# While the libltdl.la file is not used directly, the m4 ltdl logic
|
||||
# keys off of its existence when searching for ltdl support. # bug #293921
|
||||
#use static-libs || find "${D}" -name libltdl.la -delete
|
||||
}
|
@ -12,7 +12,7 @@ S=${DISTDIR}
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
!<dev-python/ensurepip-wheels-100
|
||||
|
@ -12,7 +12,7 @@ S=${DISTDIR}
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
!<dev-python/ensurepip-wheels-100
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST setuptools-71.1.0-py3-none-any.whl 2341722 BLAKE2B 5d2aa4205b91f619a5c6e9596d9ac77aaef4759a98d4a2ee1cd706b01febadf2b94cc891f92640da185ac565d315b141c66f628a213fa199a3ab282250250d34 SHA512 3c2a49f5a3953b525885635bbd93a503e6bc378914da2a2ff658b5800b27848e91ee268d652176c7034f55b8937db10d7e68f3d4d315ca03124ee3054f58e36c
|
||||
DIST setuptools-72.1.0-py3-none-any.whl 2337965 BLAKE2B 88954b396a47b4223b73313100b9ae0782a16f755660da1abed31316f056beca78401b151f1bec39a791b1c556da09479e527b2316f5d1391e6996f5433c0bc3 SHA512 ef9f855c8ca4d7f6e5eb79f3d40b44830eede4664ec5667415fc676a0b8230a64fb62fda49c1eef6a9c3f89d4724b0717e7d702be99ab61f8763d91feb9a6ea1
|
||||
DIST setuptools-72.2.0-py3-none-any.whl 2336658 BLAKE2B d46adb6be347ee6107ca90850ad1c8df60723e1cb93e402b53c02316a07b7cb71dd8d657cb3beb8c926fa23308d4e8fca7221b52e5f59fbfa744d6758b603343 SHA512 e7730427e7ff342a52f638fe1d457cdb906971f33dd87bb01a26b2d01b134f561397b7a6ffbe078ba5867306ba14bd8316995ab823f9b1c806646c2f242209c6
|
||||
|
@ -12,7 +12,7 @@ S=${DISTDIR}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
!<dev-python/ensurepip-wheels-100
|
||||
|
@ -12,7 +12,7 @@ S=${DISTDIR}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
!<dev-python/ensurepip-wheels-100
|
@ -1,2 +1 @@
|
||||
DIST jaraco_functools-4.0.1.tar.gz 18169 BLAKE2B 86d5b8020f9c44b8dc373fd2f07a8c5f11cb2a7ec069541763ce92562fb230b557a4c3783e899713136c71e457985bc7e4abb0becde9ca7eaacf7798b5815269 SHA512 04e0ea4719ec8c4439e5a1dd3c3ba0241b21b54b06d53ecc44263046e994aa736b9d196490edd3fd9d7ea997c23c177b30db506b2088bd9de62c637856101982
|
||||
DIST jaraco_functools-4.0.2.tar.gz 18319 BLAKE2B d7a9e56c5fb2a6a7648bbbf5d8c7d8e6ba9d62ad26fe101d91975eec601ba9532c458458d2cf1fe21eef2c81aac0eab352197d5942c84ec0bef2c89213963e38 SHA512 8571982839ca340aaf5482f7f88afd1aac6472a176f4e37be1febae83d92073d31975e465ec7018d906f764ad47c98b3b6191948d6cbfa42a37845cda81351c2
|
||||
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYPI_PN=${PN/-/.}
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..13} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Additional functions used by other projects by developer jaraco"
|
||||
HOMEPAGE="
|
||||
https://github.com/jaraco/jaraco.functools/
|
||||
https://pypi.org/project/jaraco.functools/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/jaraco-classes[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_configure() {
|
||||
grep -q 'build-backend = "setuptools' pyproject.toml ||
|
||||
die "Upstream changed build-backend, recheck"
|
||||
# write a custom pyproject.toml to ease setuptools bootstrap
|
||||
cat > pyproject.toml <<-EOF || die
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "jaraco.functools"
|
||||
version = "${PV}"
|
||||
description = "Functools like those found in stdlib"
|
||||
EOF
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
# rename to workaround a bug in pkg_resources
|
||||
# https://bugs.gentoo.org/834522
|
||||
mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
|
||||
}
|
@ -18,7 +18,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
|
||||
|
@ -1,2 +1 @@
|
||||
DIST jaraco_text-3.14.0.tar.gz 16824 BLAKE2B 62a4db8fc6e7148d81dacaab08a3dd3478a74e9cb0377a3b9cbce538575542cd99b42f599af04fdfa62be06d3edb7a7f7f4b27883e91608e8d1033c655ee8304 SHA512 3557876c0ab2e1a54c8ce85663b45c9c143a88bb64a5d9c3e2354b2af229b25983b7977c576f83add1b5bae79cceebb01206c756a354eca24681a57a0ee14fb4
|
||||
DIST jaraco_text-4.0.0.tar.gz 17009 BLAKE2B 4aa4381de0988383f4442a1caaab48eae79f2cbe564438b540adfed12d9cfb3680de1e5579029be204024256ba9f3327af225db73f2bd68fed7b2bdd4859a799 SHA512 240c4f6f3df6916e9015479147474a43ea9e858e22821f53263c1ef42c61336c36a34baa9c7384b9d345cf42e10b7499e2efa3c85178a0c2abc47fcd82b63fb3
|
||||
|
@ -1,56 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYPI_PN=${PN/-/.}
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Text utilities used by other projects by developer jaraco"
|
||||
HOMEPAGE="
|
||||
https://github.com/jaraco/jaraco.text/
|
||||
https://pypi.org/project/jaraco.text/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
|
||||
>=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_configure() {
|
||||
grep -q 'build-backend = "setuptools' pyproject.toml ||
|
||||
die "Upstream changed build-backend, recheck"
|
||||
# write a custom pyproject.toml to ease setuptools bootstrap
|
||||
cat > pyproject.toml <<-EOF || die
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "jaraco.text"
|
||||
version = "${PV}"
|
||||
description = "Module for text manipulation"
|
||||
EOF
|
||||
|
||||
# remove CLI tools, they have annoying deps, no entry points
|
||||
# and since there are dashes in their names, they can't be imported
|
||||
# anyway
|
||||
rm jaraco/text/*-*.py || die
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
# rename to workaround a bug in pkg_resources
|
||||
# https://bugs.gentoo.org/834522
|
||||
mv "${D}$(python_get_sitedir)"/jaraco{_,.}text-${PV}.dist-info || die
|
||||
}
|
@ -18,7 +18,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
|
||||
|
@ -1 +1,2 @@
|
||||
DIST lark-1.1.9.tar.gz 255451 BLAKE2B 0bdb34a75c17800cc6819413011de879a163317c7414b260e1a4a0ccc4b40d11636fad1ae84946e0408096525b6cfeb6f725c95caed8043d3dff3e318d15be1f SHA512 4d711451f129312a28cff84239a2928fdff96df1445f77ae7a9d882d13791a58e44663ef70fd064df954094878214611ee1313ce9315c8dcfb0833b003a3774f
|
||||
DIST lark-1.2.2.tar.gz 252132 BLAKE2B 175f51930972f17051af6fefdf71ef4602f126d373888f30a630a703d038abe9bb2706da80564c72f19273f7d0bfbe351ab34e9d72fa1ad9dd7181232eefe61e SHA512 77cf3abf26b827cb60eae4c193de0c98780df7dfa3daa1c21ca5d73bc16387d77561d57e8a20c69ceaeb35531b7191fe765b9834587972e2697f3f07def96b6c
|
||||
|
40
sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.2.2.ebuild
vendored
Normal file
40
sdk_container/src/third_party/portage-stable/dev-python/lark/lark-1.2.2.ebuild
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python"
|
||||
HOMEPAGE="
|
||||
https://github.com/lark-parser/lark/
|
||||
https://pypi.org/project/lark/
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
|
||||
|
||||
# dev-python/regex doesn't support pypy
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/atomicwrites[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
' 'python*')
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_IGNORE=(
|
||||
# require dev-python/js2py which is a really bad quality package
|
||||
tests/test_nearley/test_nearley.py
|
||||
)
|
||||
|
||||
epytest
|
||||
}
|
@ -26,7 +26,7 @@ LICENSE="MIT"
|
||||
# bundled deps
|
||||
LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ~ppc64 ~riscv ~sparc x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~sparc x86"
|
||||
IUSE="test-rust"
|
||||
|
||||
# see src/pip/_vendor/vendor.txt
|
||||
|
@ -26,7 +26,7 @@ LICENSE="MIT"
|
||||
# bundled deps
|
||||
LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~sparc x86"
|
||||
IUSE="test-rust"
|
||||
|
||||
# see src/pip/_vendor/vendor.txt
|
||||
|
@ -21,7 +21,7 @@ SRC_URI="
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ~ppc64 ~riscv ~sparc x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~sparc x86"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST setuptools-71.1.0.tar.gz 2422233 BLAKE2B b98bc2155cdf5acabd52c942a8b7908dbb48b39a3abbf065e42b089e22c3bba27aeee3492c5ecfc1de8b4bdba3c97259cfc609a31cdc11cdaf23f9a2dbab8685 SHA512 2cb817d3dee790ab1e71739b3980361c6dface44fa9c027a92aa3f96e758c034b0330de5eae48365dfa17933fe050f8418cff23fea192b3c616789215e411c1a
|
||||
DIST setuptools-72.1.0.tar.gz 2419487 BLAKE2B df05affc48f8909b6b3b9dc30ef33e31c4b3781e747fea7d23b855d0294976f563e25b268666bfd2c758be66eca00e3e850463ff3d6f26b891185a2a15c8d31c SHA512 d0a34f16dfa6bb9a6df39076cd43528cf854d343f6f801c448ea0ebab2a259aec3d03571e2a26709df6082ed2fcb6c43b86448be556fd559b6af41831b4f38e0
|
||||
DIST setuptools-72.2.0.tar.gz 2419230 BLAKE2B f04c196d13f62302e7c6f30a1021598fe22955cc8c980ddf22efa65f4d398c25273552b1a19b8719e2fee722dc44e9f1a2e339c5b6da8f4ca4ae8399cd27b2e1 SHA512 029c711be2953cc7fd88b6a0a00715e05ac04414e085e0b2387d58757c970a3316afb6e13426fa10dcc53785b98c8543ba48d49acf223a6332399a39a4924732
|
||||
|
@ -21,7 +21,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
|
@ -21,7 +21,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
@ -115,6 +115,8 @@ python_test() {
|
||||
setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
|
||||
# broken by unbundling
|
||||
setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
|
||||
# fails on normalized metadata, perhaps different dep version?
|
||||
setuptools/tests/test_build_meta.py::TestBuildMetaBackend::test_build_with_pyproject_config
|
||||
)
|
||||
|
||||
local EPYTEST_XDIST=1
|
@ -1,2 +1 @@
|
||||
DIST tenacity-8.5.0.tar.gz 47309 BLAKE2B 6d3e1dbcac5facf9c838e13fa3cb0ff03c22cb490cf9ed17aea44e4486f7f256918415779adf3854e4ebb2b2496686265acf2f5e42621b01aa3b6d43910cd828 SHA512 f5568233321bbc6c6cfca0f362f627ff6eecf6094c55644ae46448b5f1d6466928a35a1435c97004b640ac95444e4e8c0bb2b21520e2bba5c619eeff36955e72
|
||||
DIST tenacity-9.0.0.tar.gz 47421 BLAKE2B f263af6be0c2d3f26969884d0f211111c68d28dc0cdeddc4ff03791cb5344e60a481a80321d6946bbc9982fac61d0b6084e299766e620893cc30fdc8dae39a8d SHA512 c6236e7630d46048c7c8fb60213591b3489576b8a4413f0bc2d692751f456882c177bdbc425d5921d7679a019dd39371dfa5cd1210e68a3faefd5beb799961ea
|
||||
|
@ -1,39 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( pypy3 python3_{10..13} )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="General-purpose retrying library"
|
||||
HOMEPAGE="
|
||||
https://github.com/jd/tenacity/
|
||||
https://pypi.org/project/tenacity/
|
||||
"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ~ppc64 ~riscv ~sparc x86"
|
||||
|
||||
BDEPEND="
|
||||
dev-python/setuptools-scm[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
>=dev-python/tornado-6.4-r1[${PYTHON_USEDEP}]
|
||||
dev-python/typeguard[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_DESELECT=(
|
||||
# fragile to timing
|
||||
tests/test_asyncio.py::TestContextManager::test_sleeps
|
||||
)
|
||||
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
epytest
|
||||
}
|
@ -16,7 +16,7 @@ HOMEPAGE="
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~sparc x86"
|
||||
|
||||
BDEPEND="
|
||||
dev-python/setuptools-scm[${PYTHON_USEDEP}]
|
||||
|
@ -20,7 +20,7 @@ SRC_URI="
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ~ppc64 ~riscv ~sparc x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~sparc x86"
|
||||
# The vast majority of tests require Internet access.
|
||||
PROPERTIES="test_network"
|
||||
RESTRICT="test"
|
||||
|
1
sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/Manifest
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/Manifest
vendored
Normal file
@ -0,0 +1 @@
|
||||
DIST typing_extensions-4.12.2.tar.gz 85321 BLAKE2B 8f32740675f5da226c6fd5fa95e0b903794d76cc25d759bee6b136913a3eedc7a702cdc7709587cae13ba3b3d44a7bb1acbdad61333fe655382e3d01d63a3fa7 SHA512 b06f26ae55194f37ee48dcb894bf583051c9e74f639f25195990f56330eae7b585ab4b8655ca575539f48254c20f1920628db6db10512953d1f6364e3c076a27
|
13
sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/metadata.xml
vendored
Normal file
13
sdk_container/src/third_party/portage-stable/dev-python/typing-extensions/metadata.xml
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
<name>Python</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<upstream>
|
||||
<remote-id type="pypi">typing-extensions</remote-id>
|
||||
<remote-id type="github">python/typing_extensions</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=flit
|
||||
PYTHON_COMPAT=( python3_{10..13} pypy3 )
|
||||
|
||||
inherit distutils-r1 pypi
|
||||
|
||||
DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/typing-extensions/
|
||||
https://github.com/python/typing_extensions/
|
||||
"
|
||||
|
||||
LICENSE="PSF-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
python_test() {
|
||||
cd src || die
|
||||
eunittest
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2
|
||||
DIST linux-6.3.tar.xz 136891752 BLAKE2B f1887c8924efa8d0cb14c4e604affd0b0168bcf20f56a37c027405c7bc11aba822a43fcb38ccb55a81a26f747d00e1ab5a6554818affbf1e1c7ef5220150fc69 SHA512 768979440f4907ba64d4481b383d6101faf208f27a0b897156123aa278c5743fe3c4f61945b2541429c532d45382aaee8899ea9d44a1d2895bfbb79bfd937f65
|
||||
DIST linux-6.7.tar.xz 141406528 BLAKE2B cecdbd19905e43e485ab73b352ced18b37f2a138c97a6956cadcda5d3d271001117dc1cf896b166ff019fc7f405f9539e2ed0d6112b0890efb04d182adf4fd0e SHA512 de06de556191614bd9daf077ae239360352a402bab407748e67f1e5108c92fd933e451707840ab22fe0f9976db3d1e1b60ca9d41cf894f015ca09b3f652b74ad
|
||||
DIST patch-6.10.3.xz 252260 BLAKE2B 65acf62ff3e326d5ebb9f47067b626a25295fde2057531cf43e537601c42b0110419c0d6eee8c7c24e5d6d88ecf30e9b76d516efb925c91817504c52780b4df1 SHA512 28ad0de2086ca4b59637f8a7c69c6f5436b53235bf52c9ee18f428748c773780c54606a5c96d71614cadd49c707a8bb11843a7393da078e15d7f554244bfb9ca
|
||||
DIST patch-6.10.4.xz 303168 BLAKE2B d38bbcdd2f730a030add5b38c1ab09c7081c311ed716d3ae976a058dd34b235078700cdff05d79dc93d9badb75c95566a3bdfc39dfa045d54857d82ee2c92e9d SHA512 5f5e8b19d114fed733c8c98a581fe339f8896e05e5da6a37deb1d7d8aa9dd83b3c80a97b1c6f3f51b6f20cca9c435b20c28c2c511da2026980d9fa72624cf420
|
||||
|
@ -1,3 +1,4 @@
|
||||
DIST pkgconf-1.8.1.tar.xz 302372 BLAKE2B 591961f0b1fd185834fd8e2a672199cffc035139599817b1d56d571300d2aa800a719c9477aac4023dfade597ad3cc3b45360babe57498977568ee57077c7bbe SHA512 7a7d5204c1c9bfb6578bda56f299d1fa0300e69a133a65730b10ad77aefbf26fceb74ae77cecda326b3ed5db5736f27fcce94764b3a56d40f4bb99fecdc80bba
|
||||
DIST pkgconf-2.1.1.tar.xz 311956 BLAKE2B b59e57b1118bb75bc946a1e65e037a172c2ade3a7b9da8404b3598833cd091600045de151f2db06453b23563501b2dff7fdda8967e14c0c933ac50d28ddb3cd0 SHA512 cdf0998cd87f6d5e5a6560037eb847fd9613d237858d26eec321c42f54ca40ac72b6749c48c5b32611841d701393b1217bdb6c0cba5efd2c138be10d0e8fb32d
|
||||
DIST pkgconf-2.2.0.tar.xz 311920 BLAKE2B c2a89e932e7671785799f4b82beb75e92f246c152c03e88c847cedef39f2123da0544ff914d1c1512b8616f8b8cfd9f5115b33560042bcfa7ac5f78c0ceb2a27 SHA512 c4ff254c7323bdebc2595037df60e33f17fc5c222d7500a4b9d8b18c8b451ac35cd3ac90d31c920c23e9495ece2b82422de61e13286d43de3a5d1fe8211bd944
|
||||
DIST pkgconf-2.3.0.tar.xz 316160 BLAKE2B cca3476df0b79cdbca798ed3a067611414e9b422e8347d0f490e7c4d0c43cdd2c7b586ac11e028a8df365d4ea4194f46b1d9fc0acd0f5fd6b4a5548673a8f853 SHA512 869fe0a7a2e06e9da37ff672b991dad60a9a7c9df2c65b78b2aa70dba10920650fb946d5a9c8019ea54a510835acc2eb4244092fa36d0339bd6764ff84e8542c
|
||||
|
73
sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild
vendored
Normal file
73
sdk_container/src/third_party/portage-stable/dev-util/pkgconf/pkgconf-2.3.0.ebuild
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
# Copyright 2012-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit multilib multilib-minimal
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit autotools git-r3
|
||||
EGIT_REPO_URI="https://gitea.treehouse.systems/ariadne/pkgconf.git"
|
||||
else
|
||||
SRC_URI="https://distfiles.ariadne.space/${PN}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="pkg-config compatible replacement with no dependencies other than C99"
|
||||
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0/5"
|
||||
IUSE="+native-symlinks test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-libs/atf
|
||||
dev-util/kyua
|
||||
)
|
||||
"
|
||||
RDEPEND="!dev-util/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
[[ ${PV} == 9999 ]] && eautoreconf
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/pkgconf$(get_exeext)
|
||||
/usr/bin/pkg-config$(get_exeext)
|
||||
)
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
--with-system-includedir="${EPREFIX}/usr/include"
|
||||
--with-system-libdir="${EPREFIX}/$(get_libdir):${EPREFIX}/usr/$(get_libdir)"
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
unset PKG_CONFIG_LIBDIR PKG_CONFIG_PATH
|
||||
default
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
dosym pkgconf$(get_exeext) /usr/bin/pkg-config$(get_exeext)
|
||||
dosym pkgconf.1 /usr/share/man/man1/pkg-config.1
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
if ! use native-symlinks; then
|
||||
rm "${ED}"/usr/bin/{pkgconf,pkg-config}$(get_exeext) || die
|
||||
fi
|
||||
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
}
|
@ -17,7 +17,7 @@ DESCRIPTION="pkg-config compatible replacement with no dependencies other than C
|
||||
HOMEPAGE="https://gitea.treehouse.systems/ariadne/pkgconf"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0/4"
|
||||
SLOT="0/5"
|
||||
IUSE="+native-symlinks test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
@ -10,6 +10,7 @@ DIST git-2.43.5.tar.xz 7394400 BLAKE2B 8c3e6dd1c64469ebc11adb6e3c4156ba0a9dd8fa9
|
||||
DIST git-2.44.1.tar.xz 7436388 BLAKE2B cc4ef7da5db03f0b1a656cfbf3faaedf2f2cd8452fe656a9c9ef415006d5178db3d05faef5252d06e8ad4a927d13ef32eaf5d2da0e934d3157b94fa631336604 SHA512 803d820decd5ee9336d96b9a3145514644cdcb60de68396cfe6c29ab95b62b7040a92e86214317a701f3f93a51b6c49e914af4dd482aa843eb34436eb67d6154
|
||||
DIST git-2.44.2.tar.xz 7435020 BLAKE2B 625071528e6575af86aa51d7d5baeaa9b1b8be0e9f2b13f9f1c948a6dc0e9e03e227462c6ed9e8b80c413f02840f4f6b5d73487e0722d30835233480ea93caf3 SHA512 4dc70065fb1f47678cbed0d055f7734fce5cc26eeb627bda928056a80253053b230200db4b2936319df5b5b577eaaa1186a8bb041a205ac600d691e5663117ed
|
||||
DIST git-2.45.2.tar.xz 7487680 BLAKE2B 477acc786c26e0b04843ad6d07333607b2274d587263d72c6d036cade725e6f62f8c773903f401c799de71527d0473589afc507eec02f445e0c148dd7cbf407c SHA512 dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73
|
||||
DIST git-2.46.0.tar.xz 7577180 BLAKE2B 11fd88faea8cca0982945320c0a1ff949d2abedca9ffde34d40a739349e2a7ae6ceb51a23e8c21f7985cd494d9d17abcec4769e766c3c5188162b906eb1b96bc SHA512 3afae7a094da070c627f68ceb54c2345e3a49e04e455197527b732eb220e8c3249f5d09655a59bf4280dd0c0a3e305abc1380693e0a7fb0b8138b741c4708184
|
||||
DIST git-htmldocs-2.39.3.tar.xz 1506828 BLAKE2B 732e86ee004a44230d8f10eac16a14fbfb348d4278001011a0d22ba91240fbe65cad341b0547b649db3ce7fc67fc6fb544c896e7ba4bd7f1fa3c9b42371febf9 SHA512 7616c9c6600759f06973d36d5233b3909da72f39318410f5522b890d282a74e7585433c7195fed4792d5b7955292a466abcc2185ffdc23d0e8928ad58d7db1bf
|
||||
DIST git-htmldocs-2.39.4.tar.xz 1508520 BLAKE2B 116d279292f5d472dc31a438cc9ae4ab27fca608169307e70290e0aa8db57be305eb4007bf746f0bffbcb707fb709c7e2317d334255df8027e3870e695b16282 SHA512 d0de533c0662462a5d56ff8dbf20bb6c314e5dd159670d896e5ae30e9853549ae3eeaebfd56421787addb8c4811644c8cc3df719a314368a9bd22330ac22a1d0
|
||||
DIST git-htmldocs-2.39.5.tar.xz 1508480 BLAKE2B 028d37c16a14e588b73783a5a7f8b6b95bd5864f83e9ec69855967f4188366c34d71d4fcdccaa55929d9c451b9822674d681c786c662ad5812c73d4663343345 SHA512 d486d2cfea1a1f84e64da85f22c153fad5110cf89523aa0618de21f331aee0c53a3269e92b883eee391312e5a33166f9f10abbcffde44732531cf80120671e2f
|
||||
@ -22,6 +23,7 @@ DIST git-htmldocs-2.43.5.tar.xz 1547732 BLAKE2B eabdbdf4c5eeeee7c10cb809043b0b37
|
||||
DIST git-htmldocs-2.44.1.tar.xz 1559196 BLAKE2B e5b51ed1d7462b4579ed59047ad38006da94645ec1d00ec87948ab57f25e244b06de8710608914d1c3759a8887e37144200459421fcf1cfff400ff1c05bc5a8f SHA512 4c7fb3ad7f1c53d228dfef76789af1d7714928208428f497d80e14e7da1358a3c4e7b5b8fa155815d67b4865b8c08c7aa507be72979b6ff161c9ac66102ee649
|
||||
DIST git-htmldocs-2.44.2.tar.xz 1559412 BLAKE2B 9a62ab1d70b009a9bc29250c49ca835a46928703a73ec004ea57e7dc74212c5a29d7e0784cd752c8d2c1e23b70702e2c2f280904dfedefb3d4a687002a950596 SHA512 2a82e3c37aaca91643976d21fac3bd82b23fe2374856d73b0ba726339450ea6f8a5e8e38326546292f83923e28da280ca3bed549afff1aad684ebfb3926e4992
|
||||
DIST git-htmldocs-2.45.2.tar.xz 1569148 BLAKE2B 5013a13da54d87728f621a09d04dee1cba7b44d230360394b86e04269bf276399cf44de74ffc14a76ec1724e1015b630300d551b3a268273a768e0edc1a7fa45 SHA512 272bb31d8d43b270d5281c5d1beadea8e5a580c738ece2580d2c6ba7e7fe6fdbca71b672a2811273119495e62613f7a4d34764b4dfbc26e4dbf9dee5797fb440
|
||||
DIST git-htmldocs-2.46.0.tar.xz 1594172 BLAKE2B f59b8796a19a73e983ec56bfd3cb623a887b8e4d4d4767f90029fffffd874567020d1ea6b0fa923708721a34a5ccc0fb496d12126bb30a851865991983cc2e32 SHA512 af6f6bfbbae58dc60fd821e90f034d36a4a554b239ea60ab38f9ce9611cff44e5fd59366905b71c9363444a28aeadcaecac87a8596a8cd16c313921f6826c798
|
||||
DIST git-manpages-2.39.3.tar.xz 557428 BLAKE2B 4eb85035f7056a12c3f1276d26f99b3337b97721f8f4b0b3c74d2a484171bfdf74f566a03e175ba32b389c940ed7be66ce2933442ec77089d5db3aaeb2ed2557 SHA512 06414741667b990ff3a28f7cb29b502df3d4cc757d525438994af005c71d429ca969563a74d1d2b44185e5c40107ac8838b390835a8a947e542ce3636b43f98b
|
||||
DIST git-manpages-2.39.4.tar.xz 558200 BLAKE2B 04adff54a214354bc697bf0cca5066208f92fa5c659e5e939fdcc19a701c28119c36e37a5398357dedbc95bce6817e53ae0dee3344e2cb43db2e7a16c6e131f3 SHA512 5fc6593746de4022b97ee8862f7b4dae165ba33ab5ffa5ff643350149cdcdf8821056f25248b0a258301d226b320217b54532f7d07478d245477b1c9193c5d96
|
||||
DIST git-manpages-2.39.5.tar.xz 558188 BLAKE2B 062cc26c5ed5b955422c3c2c927eb666b7f141c20a52e85cc2910b657267a853a6cb971c61030fe266762ade37fdd830fc9fb0cef622e625d95ca359188a9720 SHA512 5cd07eff2ff90c0ffc7f0606cd35f44856a30febf53f7f8c5ab0438614f20459b2b96d4b140118c2c0c9c5e83ee66aaa1443aa64e9e4f2a78f5990d122fe1e74
|
||||
@ -34,3 +36,4 @@ DIST git-manpages-2.43.5.tar.xz 571176 BLAKE2B 077b74f8436da64116d173459b21aeef7
|
||||
DIST git-manpages-2.44.1.tar.xz 574200 BLAKE2B bd98eefb4207799e8e07d543680ef0f8ecbdc32980c646050d9936d4db3286ffca438fea51746509422f424493b03816fa29f0c5278650e1aa75e8ac26318709 SHA512 e81fb47487ee61e407a966f6a80bc0d287cb4f89b026327478d5fc6a16f8513d8fc7636af2503a73268f2950734944387aea537cec29f070232f9d6874eaf44a
|
||||
DIST git-manpages-2.44.2.tar.xz 574316 BLAKE2B ecfca8e05ca682097376ce6a1e8b9de8fcc36472860321987be12291a53d1a92befb950fd856775df65f28300b267b80975775cba046cfb89159887e8cba5516 SHA512 2ad6d922acf46028b3b7dd5a686c0396e5452e4d50b32ba9af0cc51cc3431003524b91279e2a795065a179af3d760ce72530580295ed09a53673274cf9567cc6
|
||||
DIST git-manpages-2.45.2.tar.xz 576428 BLAKE2B c89ebd25c0caf391fcd29cc8609252daf2cf742a8cc78ce5b64931befb126c951ebb7504bc8ccbee06b81727dc3e4ded67c69adf8d737f4df38dfda758e3c734 SHA512 d39a5c92c1cfcae145713b8ff1a84258947392a3cf1490e3f7d4f87836d05e79dc4fecbff16b7c1bc314572d6d32aa2c29e7fcde993b549b2fab71620734c19b
|
||||
DIST git-manpages-2.46.0.tar.xz 585072 BLAKE2B 8a7dbd9ac4d7e26c24f38baba0e2e639377ec56e23beef8123a4e28dd0c3cae26abd7a8491db9fd69c5ad58767617aadb4dec8649223a5db6520d383521fd142 SHA512 7bcc47107f9f06a42dafc7dfe3788a9fbacc550546cd6f1c481835749ad78e8b447e179cbb80e2a01ab765154562edbb64d94b244530bafdfb94c4a127c4068e
|
||||
|
652
sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.46.0.ebuild
vendored
Normal file
652
sdk_container/src/third_party/portage-stable/dev-vcs/git/git-2.46.0.ebuild
vendored
Normal file
@ -0,0 +1,652 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
|
||||
inherit toolchain-funcs perl-module bash-completion-r1 optfeature plocale python-single-r1 systemd
|
||||
|
||||
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
EGIT_REPO_URI="https://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit git-r3
|
||||
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
|
||||
# See https://git-scm.com/docs/gitworkflows#_graduation
|
||||
# In order of stability:
|
||||
# 9999-r0: maint
|
||||
# 9999-r1: master
|
||||
# 9999-r2: next
|
||||
# 9999-r3: seen
|
||||
case ${PVR} in
|
||||
9999) EGIT_BRANCH=maint ;;
|
||||
9999-r1) EGIT_BRANCH=master ;;
|
||||
9999-r2) EGIT_BRANCH=next;;
|
||||
9999-r3) EGIT_BRANCH=seen ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER="${MY_PV}"
|
||||
|
||||
DESCRIPTION="Stupid content tracker: distributed VCS designed for speed and efficiency"
|
||||
HOMEPAGE="https://www.git-scm.com/"
|
||||
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="xz"
|
||||
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
|
||||
|
||||
[[ ${PV/rc} != ${PV} ]] && SRC_URI_KORG+='/testing'
|
||||
|
||||
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}"
|
||||
SRC_URI+=" ${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}"
|
||||
SRC_URI+=" doc? ( ${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX} )"
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc keyring +gpg highlight +iconv mediawiki +nls +pcre perforce +perl +safe-directory selinux subversion tk +webdav xinetd cvs test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
DEPEND="
|
||||
dev-libs/openssl:=
|
||||
sys-libs/zlib
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
keyring? (
|
||||
app-crypt/libsecret
|
||||
dev-libs/glib:2
|
||||
)
|
||||
iconv? ( virtual/libiconv )
|
||||
pcre? ( dev-libs/libpcre2:= )
|
||||
perl? ( dev-lang/perl:=[-build(-)] )
|
||||
tk? ( dev-lang/tk:= )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? (
|
||||
dev-perl/Error
|
||||
dev-perl/MailTools
|
||||
dev-perl/Authen-SASL
|
||||
>=virtual/perl-libnet-3.110.0-r4[ssl]
|
||||
cgi? (
|
||||
dev-perl/CGI
|
||||
highlight? ( app-text/highlight )
|
||||
)
|
||||
cvs? (
|
||||
>=dev-vcs/cvsps-2.1:0
|
||||
dev-perl/DBI
|
||||
dev-perl/DBD-SQLite
|
||||
)
|
||||
mediawiki? (
|
||||
dev-perl/DateTime-Format-ISO8601
|
||||
dev-perl/HTML-Tree
|
||||
dev-perl/MediaWiki-API
|
||||
)
|
||||
subversion? (
|
||||
dev-vcs/subversion[-dso(-),perl]
|
||||
dev-perl/libwww-perl
|
||||
dev-perl/TermReadKey
|
||||
)
|
||||
)
|
||||
perforce? ( ${PYTHON_DEPS} )
|
||||
selinux? ( sec-policy/selinux-git )
|
||||
"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
BDEPEND="
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
app-text/xmlto
|
||||
sys-apps/texinfo
|
||||
)
|
||||
keyring? ( virtual/pkgconfig )
|
||||
nls? ( sys-devel/gettext )
|
||||
test? ( app-crypt/gnupg )
|
||||
"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
BDEPEND+=" app-text/asciidoc"
|
||||
fi
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
mediawiki? ( perl )
|
||||
perforce? ( ${PYTHON_REQUIRED_USE} )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
# Avoid automagic CVS, bug #350330
|
||||
"${FILESDIR}"/git-2.37.0_rc1-optional-cvs.patch
|
||||
|
||||
# Make submodule output quiet
|
||||
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version "dev-vcs/subversion[dso]" ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned!"
|
||||
fi
|
||||
|
||||
if use perforce ; then
|
||||
python-single-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local extlibs myopts
|
||||
|
||||
myopts=(
|
||||
ASCIIDOC_NO_ROFF=YesPlease
|
||||
|
||||
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
|
||||
|
||||
$(usev elibc_musl NO_REGEX=NeedsStartEnd)
|
||||
$(usev !cvs NO_CVS=YesPlease)
|
||||
$(usev !iconv NO_ICONV=YesPlease)
|
||||
$(usev !nls NO_GETTEXT=YesPlease)
|
||||
$(usev !perforce NO_PYTHON=YesPlease)
|
||||
$(usev !subversion NO_SVN_TESTS=YesPlease)
|
||||
$(usev !tk NO_TCLTK=YesPlease)
|
||||
)
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts+=( BLK_SHA1=YesPlease )
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts+=( NO_EXPAT=YesPlease )
|
||||
else
|
||||
myopts+=( NO_CURL=YesPlease )
|
||||
fi
|
||||
|
||||
# Broken assumptions because of static build system
|
||||
myopts+=(
|
||||
NO_FINK=YesPlease
|
||||
NO_DARWIN_PORTS=YesPlease
|
||||
INSTALL=install
|
||||
TAR=tar
|
||||
SHELL_PATH="${EPREFIX}/bin/sh"
|
||||
SANE_TOOL_PATH=
|
||||
OLD_ICONV=
|
||||
NO_EXTERNAL_GREP=
|
||||
)
|
||||
|
||||
# Can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
|
||||
|
||||
if use pcre; then
|
||||
myopts+=( USE_LIBPCRE2=YesPlease )
|
||||
extlibs+=( -lpcre2-8 )
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]]; then
|
||||
myopts+=(
|
||||
NEEDS_LIBICONV=YesPlease
|
||||
HAVE_CLOCK_MONOTONIC=1
|
||||
)
|
||||
|
||||
if grep -Fq getdelim "${ESYSROOT}"/usr/include/stdio.h ; then
|
||||
myopts+=( HAVE_GETDELIM=1 )
|
||||
fi
|
||||
fi
|
||||
|
||||
myopts+=( ASCIIDOC8=YesPlease )
|
||||
|
||||
export MY_MAKEOPTS="${myopts[@]}"
|
||||
export EXTLIBS="${extlibs[@]}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]] ; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
|
||||
cd "${S}" || die
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
|
||||
if use doc ; then
|
||||
pushd "${S}"/Documentation &>/dev/null || die
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
else
|
||||
git-r3_src_unpack
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN . || die
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if ! use safe-directory ; then
|
||||
# This patch neuters the "safe directory" detection.
|
||||
# bugs #838271, #838223
|
||||
PATCHES+=(
|
||||
"${FILESDIR}"/git-2.37.2-unsafe-directory.patch
|
||||
)
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
if use prefix ; then
|
||||
# bug #757309
|
||||
sed -i \
|
||||
-e 's:/usr/local/opt/gettext/:/do/not/look/elsewhere/:g' \
|
||||
-e 's:/opt/homebrew/:/do/not/look/elsewhere/:g' \
|
||||
config.mak.uname || die
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
|
||||
Documentation/Makefile || die
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #320647: PYTHON_PATH
|
||||
local PYTHON_PATH=""
|
||||
use perforce && PYTHON_PATH="${PYTHON}"
|
||||
|
||||
local mymakeargs=(
|
||||
${MY_MAKEOPTS}
|
||||
|
||||
prefix="${EPREFIX}"/usr
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
|
||||
perllibdir="$(use perl && perl_get_raw_vendorlib)"
|
||||
sysconfdir="${EPREFIX}"/etc
|
||||
|
||||
CC="$(tc-getCC)"
|
||||
CFLAGS="${CFLAGS}"
|
||||
PKG_CONFIG="$(tc-getPKG_CONFIG)"
|
||||
|
||||
# TODO: --verbose?
|
||||
GIT_TEST_OPTS="--no-color"
|
||||
|
||||
OPTAR="$(tc-getAR)"
|
||||
OPTCC="$(tc-getCC)"
|
||||
OPTCFLAGS="${CFLAGS}"
|
||||
OPTLDFLAGS="${LDFLAGS}"
|
||||
|
||||
CURL_CONFIG="${ESYSROOT}/usr/bin/curl-config"
|
||||
CURL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libcurl)"
|
||||
CURL_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libcurl)"
|
||||
|
||||
PERL_PATH="${EPREFIX}/usr/bin/perl"
|
||||
PERL_MM_OPT=""
|
||||
|
||||
PYTHON_PATH="${PYTHON_PATH}"
|
||||
|
||||
V=1
|
||||
"$@"
|
||||
)
|
||||
|
||||
emake "${mymakeargs[@]}"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
git_emake
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake gitweb
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
|
||||
git_emake -C contrib/credential/osxkeychain
|
||||
fi
|
||||
|
||||
pushd Documentation &>/dev/null || die
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man
|
||||
if use doc ; then
|
||||
git_emake info html
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info
|
||||
fi
|
||||
fi
|
||||
popd &>/dev/null || die
|
||||
|
||||
if use keyring ; then
|
||||
git_emake -C contrib/credential/libsecret
|
||||
fi
|
||||
|
||||
pushd contrib/subtree &>/dev/null || die
|
||||
git_emake git-subtree
|
||||
# git-subtree.1 requires the full USE=doc dependency stack
|
||||
use doc && git_emake git-subtree.html git-subtree.1
|
||||
popd &>/dev/null || die
|
||||
|
||||
git_emake -C contrib/diff-highlight
|
||||
|
||||
if use mediawiki ; then
|
||||
git_emake -C contrib/mw-to-git
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=(
|
||||
# We make safe-directory optional
|
||||
t0033-safe-directory.sh
|
||||
)
|
||||
|
||||
local tests_cvs=(
|
||||
t9200-git-cvsexportcommit.sh
|
||||
t9400-git-cvsserver-server.sh
|
||||
t9401-git-cvsserver-crlf.sh
|
||||
t9402-git-cvsserver-refs.sh
|
||||
t9600-cvsimport.sh
|
||||
t9601-cvsimport-vendor-branch.sh
|
||||
t9602-cvsimport-branches-tags.sh
|
||||
t9603-cvsimport-patchsets.sh
|
||||
t9604-cvsimport-timestamps.sh
|
||||
)
|
||||
|
||||
local tests_perl=(
|
||||
t3701-add-interactive.sh
|
||||
t5502-quickfetch.sh
|
||||
t5512-ls-remote.sh
|
||||
t5520-pull.sh
|
||||
t7106-reset-unborn-branch.sh
|
||||
t7501-commit.sh
|
||||
)
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot=(
|
||||
t0001-init.sh
|
||||
t0004-unwritable.sh
|
||||
t0070-fundamental.sh
|
||||
t1004-read-tree-m-u-wf.sh
|
||||
t3700-add.sh
|
||||
t7300-clean.sh
|
||||
)
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn=( t9100-git-svn-basic.sh )
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled+=( t5000-tar-tree.sh )
|
||||
fi
|
||||
|
||||
local cvs=0
|
||||
use cvs && let cvs=${cvs}+1
|
||||
if [[ ${EUID} -eq 0 ]] ; then
|
||||
if [[ ${cvs} -eq 1 ]] ; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled+=( ${tests_cvs[@]} )
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled+=( ${tests_nonroot[@]} )
|
||||
else
|
||||
if [[ ${cvs} -gt 0 ]] && has_version dev-vcs/cvs ; then
|
||||
let cvs=${cvs}+1
|
||||
fi
|
||||
|
||||
if [[ ${cvs} -gt 1 ]] && has_version "dev-vcs/cvs[server]" ; then
|
||||
let cvs=${cvs}+1
|
||||
fi
|
||||
|
||||
if [[ ${cvs} -lt 3 ]] ; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled+=( ${tests_cvs[@]} )
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled+=( ${tests_perl[@]} )
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled+=( ${test_svn[@]} )
|
||||
|
||||
# Reset all previously disabled tests
|
||||
pushd t &>/dev/null || die
|
||||
local i
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled[@]} ; do
|
||||
if [[ -f "${i}" ]] ; then
|
||||
mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' -i Makefile || die
|
||||
|
||||
# Clean old results first, must always run
|
||||
nonfatal git_emake clean
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
local rc
|
||||
# t0610-reftable-basics.sh uses $A
|
||||
local -x A=
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
pushd t &>/dev/null || die
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[[ ${rc} -eq 0 ]] || die "Tests failed. Please file a bug!"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake DESTDIR="${D}" install
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] && tc-is-clang ; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
local d
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
if use doc ; then
|
||||
docinto ${d}/html
|
||||
dodoc Documentation${d}*.html
|
||||
fi
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
bashcomp_alias git gitk
|
||||
# Not really a bash-completion file (bug #477920)
|
||||
# but still needed uncompressed (bug #507480)
|
||||
insinto /usr/share/${PN}
|
||||
doins contrib/completion/git-prompt.sh
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
exeinto /usr/libexec/git-core/
|
||||
newexe contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
# git-subtree
|
||||
pushd contrib/subtree &>/dev/null || die
|
||||
git_emake DESTDIR="${D}" install
|
||||
if use doc ; then
|
||||
# Do not move git subtree install-man outside USE=doc!
|
||||
git_emake DESTDIR="${D}" install-man install-html
|
||||
fi
|
||||
newdoc README README.git-subtree
|
||||
dodoc git-subtree.txt
|
||||
popd &>/dev/null || die
|
||||
|
||||
if use mediawiki ; then
|
||||
git_emake -C contrib/mw-to-git DESTDIR="${D}" install
|
||||
fi
|
||||
|
||||
# diff-highlight
|
||||
dobin contrib/diff-highlight/diff-highlight
|
||||
newdoc contrib/diff-highlight/README README.diff-highlight
|
||||
|
||||
# git-jump
|
||||
exeinto /usr/libexec/git-core/
|
||||
doexe contrib/git-jump/git-jump
|
||||
newdoc contrib/git-jump/README git-jump.txt
|
||||
|
||||
# git-contacts
|
||||
exeinto /usr/libexec/git-core/
|
||||
doexe contrib/contacts/git-contacts
|
||||
dodoc contrib/contacts/git-contacts.txt
|
||||
|
||||
if use keyring ; then
|
||||
pushd contrib/credential/libsecret &>/dev/null || die
|
||||
dobin git-credential-libsecret
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# diff-highlight - done above
|
||||
# emacs - removed upstream
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# git-jump - done above
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# persistent-https - TODO
|
||||
# mw-to-git - TODO
|
||||
# subtree - build seperately
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
local contrib_objects=(
|
||||
buildsystems
|
||||
fast-import
|
||||
hooks
|
||||
remotes2config.sh
|
||||
rerere-train.sh
|
||||
stats
|
||||
workdir
|
||||
)
|
||||
local i
|
||||
for i in "${contrib_objects[@]}" ; do
|
||||
cp -rf "${S}"/contrib/${i} "${ED}"/usr/share/${PN}/contrib || die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym ../gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
|
||||
if [[ -d "${d}" ]] ; then
|
||||
find "${d}" -name .packlist -delete || die
|
||||
fi
|
||||
done
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
if ! use prefix ; then
|
||||
newinitd "${FILESDIR}"/git-daemon-r2.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
|
||||
systemd_dounit "${FILESDIR}/git-daemon.socket"
|
||||
fi
|
||||
|
||||
perl_delete_localpod
|
||||
|
||||
# Remove disabled linguas
|
||||
# we could remove sources in src_prepare, but install does not
|
||||
# handle missing locale dir well
|
||||
rm_loc() {
|
||||
if [[ -e "${ED}/usr/share/locale/${1}" ]] ; then
|
||||
rm -r "${ED}/usr/share/locale/${1}" || die
|
||||
fi
|
||||
}
|
||||
plocale_for_each_disabled_locale rm_loc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]] ; then
|
||||
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
|
||||
elog "completion."
|
||||
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
|
||||
elog "Note that the prompt bash code is now in that separate script"
|
||||
fi
|
||||
|
||||
optfeature_header "Some scripts require additional dependencies:"
|
||||
optfeature git-quiltimport dev-util/quilt
|
||||
optfeature git-instaweb www-servers/lighttpd www-servers/apache www-servers/nginx
|
||||
}
|
@ -469,6 +469,8 @@ src_test() {
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
local rc
|
||||
# t0610-reftable-basics.sh uses $A
|
||||
local -x A=
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
|
@ -469,6 +469,8 @@ src_test() {
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
local rc
|
||||
# t0610-reftable-basics.sh uses $A
|
||||
local -x A=
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
|
@ -469,6 +469,8 @@ src_test() {
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
local rc
|
||||
# t0610-reftable-basics.sh uses $A
|
||||
local -x A=
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
|
@ -469,6 +469,8 @@ src_test() {
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
local rc
|
||||
# t0610-reftable-basics.sh uses $A
|
||||
local -x A=
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
|
@ -388,7 +388,7 @@ cmake_src_prepare() {
|
||||
local name
|
||||
for name in "${modules_list[@]}" ; do
|
||||
if [[ ${EAPI} == 7 ]]; then
|
||||
find "${S}" -name ${name}.cmake -exec rm -v {} + || die
|
||||
find "${S}" -name "${name}.cmake" -exec rm -v {} + || die
|
||||
else
|
||||
find -name "${name}.cmake" -exec rm -v {} + || die
|
||||
fi
|
||||
@ -542,10 +542,16 @@ cmake_src_configure() {
|
||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
|
||||
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
|
||||
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
|
||||
set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
|
||||
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF CACHE BOOL "")
|
||||
_EOF_
|
||||
|
||||
if [[ -n ${_ECM_ECLASS} ]]; then
|
||||
echo 'set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")' >> "${common_config}" || die
|
||||
cat >> ${common_config} <<- _EOF_ || die
|
||||
set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")
|
||||
set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "")
|
||||
set(ECM_DISABLE_GIT ON CACHE BOOL "")
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# See bug 689410
|
||||
|
@ -46,6 +46,16 @@ go-env_set_compile_environment() {
|
||||
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
|
||||
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
|
||||
export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}"
|
||||
|
||||
# bug #929219
|
||||
if tc-is-gcc ; then
|
||||
CGO_CFLAGS=$(
|
||||
CFLAGS=${CGO_CFLAGS}
|
||||
replace-flags -g3 -g
|
||||
replace-flags -ggdb3 -ggdb
|
||||
printf %s "${CFLAGS}"
|
||||
)
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: go-env_goos
|
||||
|
245
sdk_container/src/third_party/portage-stable/eclass/guile-single.eclass
vendored
Normal file
245
sdk_container/src/third_party/portage-stable/eclass/guile-single.eclass
vendored
Normal file
@ -0,0 +1,245 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: guile-single.eclass
|
||||
# @PROVIDES: guile-utils
|
||||
# @MAINTAINER:
|
||||
# Gentoo Scheme project <scheme@gentoo.org>
|
||||
# @AUTHOR:
|
||||
# Author: Arsen Arsenović <arsen@gentoo.org>
|
||||
# Inspired by prior work in the Gentoo Python ecosystem.
|
||||
# @BLURB: Utilities for packages that build against a single Guile.
|
||||
# @SUPPORTED_EAPIS: 8
|
||||
# @PROVIDES: guile-utils
|
||||
# @DESCRIPTION:
|
||||
# This eclass facilitates packages building against a single slot of
|
||||
# Guile, which is normally something that uses Guile for extending, like
|
||||
# GNU Make, or for programs built in Guile, like Haunt.
|
||||
#
|
||||
# These packages should use guile_gen_cond_dep to generate a dependency
|
||||
# string for their Guile package dependencies (i.e. other Guile single-
|
||||
# and multi-implementation packages). They should also utilize
|
||||
# GUILE_DEPS and GUILE_REQUIRED_USE to specify a dependency on their
|
||||
# Guile versions.
|
||||
#
|
||||
# They should also bump sources via guile_bump_sources during
|
||||
# src_prepare, and unstrip ccache via guile_unstrip_ccache during
|
||||
# src_install.
|
||||
#
|
||||
# If the user of the eclass needs some USE flag on Guile itself, they
|
||||
# should provide it via GUILE_REQ_USE.
|
||||
#
|
||||
# This eclass provides a guile-single_pkg_setup that sets up environment
|
||||
# variables needed for Guile and build systems using it. See the
|
||||
# documentation for that function for more details.
|
||||
#
|
||||
# @EXAMPLE:
|
||||
# A Guile program:
|
||||
#
|
||||
# @CODE
|
||||
# # Copyright 2024 Gentoo Authors
|
||||
# # Distributed under the terms of the GNU General Public License v2
|
||||
#
|
||||
# EAPI=8
|
||||
#
|
||||
# GUILE_COMPAT=( 2-2 3-0 )
|
||||
# inherit guile-single
|
||||
#
|
||||
# DESCRIPTION="Haunt is a simple, functional, hackable static site generator"
|
||||
# HOMEPAGE="https://dthompson.us/projects/haunt.html"
|
||||
# SRC_URI="https://files.dthompson.us/releases/${PN}/${P}.tar.gz"
|
||||
#
|
||||
# LICENSE="GPL-3+"
|
||||
# SLOT="0"
|
||||
# KEYWORDS="~amd64"
|
||||
# REQUIRED_USE="${GUILE_REQUIRED_USE}"
|
||||
#
|
||||
# RDEPEND="
|
||||
# ${GUILE_DEPS}
|
||||
# $(guile_gen_cond_dep '
|
||||
# dev-scheme/guile-reader[${GUILE_MULTI_USEDEP}]
|
||||
# dev-scheme/guile-commonmark[${GUILE_MULTI_USEDEP}]
|
||||
# ')
|
||||
# "
|
||||
# DEPEND="${RDEPEND}"
|
||||
# @CODE
|
||||
#
|
||||
# A program utilizing Guile for extension (GNU make, irrelevant pieces
|
||||
# elided):
|
||||
# @CODE
|
||||
# GUILE_COMPAT=( 1-8 2-0 2-2 3-0 )
|
||||
# inherit flag-o-matic unpacker verify-sig guile-single
|
||||
# # ...
|
||||
# REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
|
||||
# DEPEND="
|
||||
# guile? ( ${GUILE_DEPS} )
|
||||
# "
|
||||
#
|
||||
# src_prepare() {
|
||||
# # ...
|
||||
# if use guile; then
|
||||
# guile-single_src_prepare
|
||||
# fi
|
||||
# }
|
||||
#
|
||||
# pkg_setup() {
|
||||
# if use guile; then
|
||||
# guile-single_pkg_setup
|
||||
# fi
|
||||
# }
|
||||
#
|
||||
# src_configure() {
|
||||
# # ...
|
||||
# local myeconfargs=(
|
||||
# $(use_with guile)
|
||||
# )
|
||||
# econf "${myeconfargs[@]}"
|
||||
# }
|
||||
#
|
||||
# src_install() {
|
||||
# # ...
|
||||
# if use guile; then
|
||||
# guile_unstrip_ccache
|
||||
# fi
|
||||
# }
|
||||
# @CODE
|
||||
|
||||
case "${EAPI}" in
|
||||
8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
if [[ ! "${_GUILE_SINGLE_ECLASS}" ]]; then
|
||||
_GUILE_SINGLE_ECLASS=1
|
||||
|
||||
inherit guile-utils
|
||||
|
||||
# @ECLASS_VARIABLE: GUILE_COMPAT
|
||||
# @REQUIRED
|
||||
# @PRE_INHERIT
|
||||
# @DESCRIPTION:
|
||||
# List of acceptable versions of Guile. For instance, setting this
|
||||
# variable like below will allow the package to be built against either
|
||||
# Guile 2.2 or 3.0:
|
||||
#
|
||||
# @CODE
|
||||
# GUILE_COMPAT=( 2-2 3-0 )
|
||||
# @CODE
|
||||
#
|
||||
# Please keep in ascending order.
|
||||
|
||||
_guile_setup() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
# Inhibit generating the GUILE_USEDEP. This variable is not usable
|
||||
# for single packages.
|
||||
local GUILE_USEDEP
|
||||
guile_generate_depstrings guile_single_target ^^
|
||||
}
|
||||
|
||||
_guile_setup
|
||||
unset -f _guile_setup
|
||||
|
||||
# @FUNCTION: guile_gen_cond_dep
|
||||
# @USAGE: <dependency> [<pattern>...]
|
||||
# @DESCRIPTION:
|
||||
# Takes a string that uses (quoted) ${GUILE_SINGLE_USEDEP} and
|
||||
# ${GUILE_MULTI_USEDEP} markers as placeholders for the correct USE
|
||||
# dependency strings for each compatible slot.
|
||||
#
|
||||
# If the pattern is provided, it is taken to be list of slots to
|
||||
# generate the dependency string for, otherwise, ${GUILE_COMPAT[@]} is
|
||||
# taken.
|
||||
#
|
||||
# @EXAMPLE:
|
||||
# Note that the "inner" dependency string is in single quotes!
|
||||
# @CODE
|
||||
# RDEPEND="
|
||||
# $(guile_gen_cond_dep '
|
||||
# dev-scheme/guile-zstd[${GUILE_MULTI_USEDEP}]
|
||||
# dev-scheme/guile-config[${GUILE_SINGLE_USEDEP}]
|
||||
# ')
|
||||
# "
|
||||
# @CODE
|
||||
guile_gen_cond_dep() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
local deps="$1"
|
||||
shift
|
||||
|
||||
local candidates=( "$@" )
|
||||
if [[ ${#candidates[@]} -eq 0 ]]; then
|
||||
candidates=( "${GUILE_COMPAT[@]}" )
|
||||
fi
|
||||
|
||||
local candidate
|
||||
for candidate in "${candidates[@]}"; do
|
||||
local s="guile_single_target_${candidate}(-)" \
|
||||
m="guile_targets_${candidate}(-)" \
|
||||
subdeps=${deps//\$\{GUILE_SINGLE_USEDEP\}/${s}}
|
||||
subdeps=${subdeps//\$\{GUILE_MULTI_USEDEP\}/${m}}
|
||||
echo "
|
||||
guile_single_target_${candidate}? (
|
||||
${subdeps}
|
||||
)
|
||||
"
|
||||
done
|
||||
}
|
||||
|
||||
# @FUNCTION: guile-single_pkg_setup
|
||||
# @DESCRIPTION:
|
||||
# Sets up the PKG_CONFIG_PATH with the appropriate GUILE_SINGLE_TARGET,
|
||||
# as well as setting up a guile-config and the GUILE, GUILD and
|
||||
# GUILESNARF environment variables. Also sets GUILE_EFFECTIVE_VERSION
|
||||
# to the same value as GUILE_SELECTED_TARGET, as build systems sometimes
|
||||
# check that variable.
|
||||
#
|
||||
# For details on the latter three, see guile_export.
|
||||
guile-single_pkg_setup() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
guile_set_common_vars
|
||||
|
||||
GUILE_SELECTED_TARGET=
|
||||
for ver in "${GUILE_COMPAT[@]}"; do
|
||||
debug-print "${FUNCNAME}: checking for ${ver}"
|
||||
use "guile_single_target_${ver}" || continue
|
||||
GUILE_SELECTED_TARGET="${ver/-/.}"
|
||||
break
|
||||
done
|
||||
|
||||
[[ ${GUILE_SELECTED_TARGET} ]] \
|
||||
|| die "No GUILE_SINGLE_TARGET specified."
|
||||
|
||||
export PKG_CONFIG_PATH
|
||||
guile_filter_pkgconfig_path "${GUILE_SELECTED_TARGET}"
|
||||
guile_create_temporary_config "${GUILE_SELECTED_TARGET}"
|
||||
local -x GUILE_EFFECTIVE_VERSION="${GUILE_SELECTED_TARGET}"
|
||||
guile_export GUILE GUILD GUILESNARF
|
||||
}
|
||||
|
||||
# @FUNCTION: guile-single_src_prepare
|
||||
# @DESCRIPTION:
|
||||
# Runs the default prepare stage, and then bumps Guile sources via
|
||||
# guile_bump_sources.
|
||||
guile-single_src_prepare() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
default
|
||||
guile_bump_sources
|
||||
}
|
||||
|
||||
# @FUNCTION: guile-single_src_install
|
||||
# @DESCRIPTION:
|
||||
# Runs the default install stage, and then marks ccache files not to be
|
||||
# stripped using guile_unstrip_ccache.
|
||||
guile-single_src_install() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
default
|
||||
guile_unstrip_ccache
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS pkg_setup src_prepare src_install
|
||||
|
||||
fi # _GUILE_SINGLE_ECLASS
|
275
sdk_container/src/third_party/portage-stable/eclass/guile-utils.eclass
vendored
Normal file
275
sdk_container/src/third_party/portage-stable/eclass/guile-utils.eclass
vendored
Normal file
@ -0,0 +1,275 @@
|
||||
# Copyright 2023-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: guile-utils.eclass
|
||||
# @MAINTAINER:
|
||||
# Gentoo Scheme project <scheme@gentoo.org>
|
||||
# @AUTHOR:
|
||||
# Author: Arsen Arsenović <arsen@gentoo.org>
|
||||
# Inspired by prior work in the Gentoo Python ecosystem.
|
||||
# @BLURB: Common code between GNU Guile-related eclasses and ebuilds.
|
||||
# @SUPPORTED_EAPIS: 8
|
||||
# @DESCRIPTION:
|
||||
# This eclass contains various bits of common code between
|
||||
# dev-scheme/guile, Guile multi-implementation ebuilds and Guile
|
||||
# single-implementation ebuilds.
|
||||
|
||||
case "${EAPI}" in
|
||||
8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
if [[ ! "${_GUILE_UTILS_ECLASS}" ]]; then
|
||||
_GUILE_UTILS_ECLASS=1
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
# @ECLASS_VARIABLE: GUILE_COMPAT
|
||||
# @REQUIRED
|
||||
# @PRE_INHERIT
|
||||
# @DESCRIPTION:
|
||||
# List of acceptable versions of Guile. For instance, setting this
|
||||
# variable like below will allow the package to be built against either
|
||||
# Guile 2.2 or 3.0:
|
||||
#
|
||||
# @CODE
|
||||
# GUILE_COMPAT=( 2-2 3-0 )
|
||||
# @CODE
|
||||
#
|
||||
# Please keep in ascending order.
|
||||
|
||||
# @FUNCTION: guile_check_compat
|
||||
# @DESCRIPTION:
|
||||
# Checks that GUILE_COMPAT is set to an array, and has no invalid
|
||||
# values.
|
||||
guile_check_compat() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
if ! [[ ${GUILE_COMPAT@a} == *a* ]]; then
|
||||
die "GUILE_COMPAT not set to an array"
|
||||
fi
|
||||
|
||||
if [[ ${#GUILE_COMPAT[@]} -eq 0 ]]; then
|
||||
die "GUILE_COMPAT is empty"
|
||||
fi
|
||||
}
|
||||
|
||||
guile_check_compat
|
||||
|
||||
# @ECLASS_VARIABLE: GUILE_REQ_USE
|
||||
# @PRE_INHERIT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Specifies a USE dependency string for all versions of Guile in
|
||||
# GUILE_COMPAT.
|
||||
#
|
||||
# @EXAMPLE:
|
||||
# GUILE_REQ_USE="deprecated"
|
||||
|
||||
# @ECLASS_VARIABLE: GUILE_USEDEP
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# This variable is populated with a USE-dependency string which can be
|
||||
# used to depend on other Guile multi-implementation packages.
|
||||
# This variable is not usable from guile-single packages.
|
||||
|
||||
# @ECLASS_VARIABLE: GUILE_DEPS
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# Contains the dependency string for the compatible Guile runtimes.
|
||||
|
||||
# @FUNCTION: guile_set_common_vars
|
||||
# @DESCRIPTION:
|
||||
# Sets common variables that apply to all Guile packages, namely,
|
||||
# QA_PREBUILT.
|
||||
guile_set_common_vars() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
# These aren't strictly speaking prebuilt. but they do generated a
|
||||
# nonstandard ELF object.
|
||||
if [[ -z ${QA_PREBUILT} ]]; then
|
||||
QA_PREBUILT="usr/$(get_libdir)/guile/*/site-ccache/*"
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: guile_filter_pkgconfig_path
|
||||
# @USAGE: <acceptable slots>...
|
||||
# @DESCRIPTION:
|
||||
# Alters ${PKG_CONFIG_PATH} such that it does not contain any Guile
|
||||
# slots besides the ones required by the caller.
|
||||
guile_filter_pkgconfig_path() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
local filtered_path= unfiltered_path path
|
||||
IFS=: read -ra unfiltered_path <<<"${PKG_CONFIG_PATH}"
|
||||
debug-print "Unfiltered PKG_CONFIG_PATH:" "${unfiltered_path[@]}"
|
||||
for p in "${unfiltered_path[@]}"; do
|
||||
for v in "$@"; do
|
||||
debug-print "... considering '${p}' for ${v}"
|
||||
# Exclude non-selected versions.
|
||||
[[ ${p} == */usr/share/guile-data/${v}/pkgconfig* ]] \
|
||||
|| continue
|
||||
debug-print "... OK"
|
||||
|
||||
# Add separator, if some data already exists.
|
||||
[[ "${filtered_path}" ]] && filtered_path+=:
|
||||
|
||||
filtered_path+="${p}"
|
||||
break
|
||||
done
|
||||
done
|
||||
|
||||
debug-print "${FUNCNAME}: Constructed PKG_CONFIG_PATH: ${filtered_path}"
|
||||
PKG_CONFIG_PATH="$filtered_path"
|
||||
}
|
||||
|
||||
# @FUNCTION: guile_generate_depstrings
|
||||
# @USAGE: <prefix> <depop>
|
||||
# @DESCRIPTION:
|
||||
# Generates GUILE_REQUIRED_USE/GUILE_DEPS/GUILE_USEDEP based on
|
||||
# GUILE_COMPAT, and populates IUSE.
|
||||
guile_generate_depstrings() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
# Generate IUSE, REQUIRED_USE, GUILE_USEDEP
|
||||
local prefix="$1" depop="$2"
|
||||
GUILE_USEDEP=""
|
||||
local ver uses=()
|
||||
# TODO(arsen): enforce GUILE_COMPAT is in ascending order.
|
||||
for ver in "${GUILE_COMPAT[@]}"; do
|
||||
[[ -n ${GUILE_USEDEP} ]] && GUILE_USEDEP+=","
|
||||
uses+=("${prefix}_${ver}")
|
||||
GUILE_USEDEP+="${prefix}_${ver}"
|
||||
done
|
||||
GUILE_REQUIRED_USE="${depop} ( ${uses[@]} )"
|
||||
IUSE="${uses[@]}"
|
||||
debug-print "${FUNCNAME}: requse ${GUILE_REQUIRED_USE}"
|
||||
debug-print "${FUNCNAME}: generated ${uses[*]}"
|
||||
debug-print "${FUNCNAME}: iuse ${IUSE}"
|
||||
|
||||
# Generate GUILE_DEPS
|
||||
local base_deps=()
|
||||
local requse="${GUILE_REQ_USE+[}${GUILE_REQ_USE:-}${GUILE_REQ_USE+]}"
|
||||
for ver in "${GUILE_COMPAT[@]}"; do
|
||||
base_deps+="
|
||||
${prefix}_${ver}? (
|
||||
dev-scheme/guile:${ver/-/.}${requse}
|
||||
)
|
||||
"
|
||||
done
|
||||
GUILE_DEPS="${base_deps[*]}"
|
||||
debug-print "${FUNCNAME}: GUILE_DEPS=${GUILE_DEPS}"
|
||||
debug-print "${FUNCNAME}: GUILE_USEDEP=${GUILE_USEDEP}"
|
||||
}
|
||||
|
||||
# @FUNCTION: guile_unstrip_ccache
|
||||
# @DESCRIPTION:
|
||||
# Marks site-ccache files not to be stripped. Operates on ${D}.
|
||||
guile_unstrip_ccache() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
local ccache
|
||||
while read -r -d $'\0' ccache; do
|
||||
debug-print "${FUNCNAME}: ccache found: ${ccache#.}"
|
||||
dostrip -x "${ccache#.}"
|
||||
done < <(cd "${ED}" || die; \
|
||||
find . \
|
||||
-name '*.go' \
|
||||
-path "*/usr/$(get_libdir)/guile/*/site-ccache/*" \
|
||||
-print0 || die) || die
|
||||
}
|
||||
|
||||
# @FUNCTION: guile_export
|
||||
# @USAGE: [GUILE|GUILD|GUILE_SITECCACHEDIR|GUILE_SITEDIR]...
|
||||
# @DESCRIPTION:
|
||||
# Exports a given variable for the selected Guile variant.
|
||||
#
|
||||
# Supported variables are:
|
||||
#
|
||||
# - GUILE - Path to the guile executable,
|
||||
# - GUILD - Path to the guild executable,
|
||||
# - GUILESNARF - Path to the guile-snarf executable
|
||||
# - GUILECONFIG - Path to the guile-config executable
|
||||
# - GUILE_SITECCACHEDIR - Path to the site-ccache directory,
|
||||
# - GUILE_SITEDIR - Path to the site Scheme directory
|
||||
guile_export() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
local gver
|
||||
if [[ "${GUILE_CURRENT_VERSION}" ]]; then
|
||||
gver="${GUILE_CURRENT_VERSION}"
|
||||
elif [[ "${GUILE_SELECTED_TARGET}" ]]; then
|
||||
gver="${GUILE_SELECTED_TARGET}"
|
||||
else
|
||||
die "Calling guile_export outside of a Guile build context?"
|
||||
fi
|
||||
|
||||
_guile_pcvar() {
|
||||
local tip="Did you source /etc/profile after an update?"
|
||||
$(tc-getPKG_CONFIG) --variable="$1" guile-"${gver}" \
|
||||
|| die "Could not get $1 out of guile-${gver}. ${tip}"
|
||||
}
|
||||
|
||||
for var; do
|
||||
case "${var}" in
|
||||
GUILE) export GUILE="$(_guile_pcvar guile)" ;;
|
||||
GUILD) export GUILD="$(_guile_pcvar guild)" ;;
|
||||
GUILESNARF)
|
||||
GUILESNARF="${EPREFIX}/usr/bin/guile-snarf-${gver}"
|
||||
export GUILESNARF
|
||||
;;
|
||||
GUILECONFIG)
|
||||
GUILECONFIG="${EPREFIX}/usr/bin/guile-config-${gver}"
|
||||
export GUILECONFIG
|
||||
;;
|
||||
GUILE_SITECCACHEDIR)
|
||||
GUILE_SITECCACHEDIR="$(_guile_pcvar siteccachedir)"
|
||||
export GUILE_SITECCACHEDIR
|
||||
;;
|
||||
GUILE_SITEDIR)
|
||||
export GUILE_SITEDIR="$(_guile_pcvar sitedir)"
|
||||
;;
|
||||
*) die "Unknown variable '${var}'" ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# @FUNCTION: guile_create_temporary_config
|
||||
# @USAGE: <version>
|
||||
# @DESCRIPTION:
|
||||
# Creates a guile-config executable for a given Guile version, and
|
||||
# inserts it into path.
|
||||
guile_create_temporary_config() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
[[ ${1} ]] || die "Must specify a Guile version"
|
||||
|
||||
local cdir="${T}/guiles/${1}/"
|
||||
mkdir -p "${cdir}" || die
|
||||
|
||||
pushd "${cdir}" >/dev/null 2>&1 || die
|
||||
cat >guile-config <<-EOF
|
||||
#!/bin/sh
|
||||
exec guile-config-${1} "\${@}"
|
||||
EOF
|
||||
chmod +x guile-config
|
||||
popd >/dev/null 2>&1 || die
|
||||
PATH="${cdir}:${PATH}"
|
||||
}
|
||||
|
||||
# @FUNCTION: guile_bump_sources
|
||||
# @DESCRIPTION:
|
||||
# Searches over ${S} for .scm files and bumps them to avoid Guile using
|
||||
# the system ccache while trying to build packages.
|
||||
#
|
||||
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
|
||||
guile_bump_sources() {
|
||||
debug-print-function ${FUNCNAME} "${@}"
|
||||
|
||||
einfo "bumping *.scm source files..."
|
||||
find "${S}" -name "*.scm" -exec touch {} + || die
|
||||
}
|
||||
|
||||
fi # _GUILE_UTILS_ECLASS
|
@ -51,6 +51,7 @@ rust_abi() {
|
||||
riscv64*gnu) echo riscv64gc-unknown-linux-gnu;;
|
||||
riscv64*musl) echo riscv64gc-unknown-linux-musl;;
|
||||
s390x*) echo s390x-unknown-linux-gnu;;
|
||||
sparc64*gnu) echo sparc64-unknown-linux-gnu;;
|
||||
x86_64*gnu) echo x86_64-unknown-linux-gnu;;
|
||||
x86_64*musl) echo x86_64-unknown-linux-musl;;
|
||||
*) echo ${CTARGET};;
|
||||
@ -91,29 +92,27 @@ rust_arch_uri() {
|
||||
rust_all_arch_uris()
|
||||
{
|
||||
echo "
|
||||
abi_x86_32? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") )
|
||||
abi_x86_32? ( elibc_glibc? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) )
|
||||
abi_x86_64? (
|
||||
elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") )
|
||||
elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "$@") )
|
||||
)
|
||||
arm? (
|
||||
arm? ( elibc_glibc? (
|
||||
$(rust_arch_uri arm-unknown-linux-gnueabi "$@")
|
||||
$(rust_arch_uri arm-unknown-linux-gnueabihf "$@")
|
||||
$(rust_arch_uri armv7-unknown-linux-gnueabihf "$@")
|
||||
)
|
||||
) )
|
||||
arm64? (
|
||||
elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") )
|
||||
elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") )
|
||||
)
|
||||
ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") )
|
||||
ppc? ( elibc_glibc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) )
|
||||
ppc64? (
|
||||
big-endian? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") )
|
||||
!big-endian? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") )
|
||||
big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") ) )
|
||||
!big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) )
|
||||
)
|
||||
riscv? (
|
||||
elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") )
|
||||
)
|
||||
s390? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") )
|
||||
riscv? ( elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") ) )
|
||||
s390? ( elibc_glibc? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) )
|
||||
"
|
||||
|
||||
# Upstream did not gain support for loong until v1.71.0.
|
||||
@ -122,7 +121,7 @@ rust_all_arch_uris()
|
||||
local arg_version="${1##*-}"
|
||||
arg_version="${arg_version:-$PV}"
|
||||
if ver_test "${arg_version}" -ge 1.71.0; then
|
||||
echo "loong? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") )"
|
||||
echo "loong? ( elibc_glibc? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") ) )"
|
||||
fi
|
||||
|
||||
# until https://github.com/rust-lang/rust/pull/113274 is resolved, there
|
||||
|
@ -447,6 +447,41 @@ econf_build() {
|
||||
tc-env_build econf_env "$@"
|
||||
}
|
||||
|
||||
# @FUNCTION: tc-ld-is-bfd
|
||||
# @USAGE: [toolchain prefix]
|
||||
# @DESCRIPTION:
|
||||
# Return true if the current linker is set to GNU bfd.
|
||||
tc-ld-is-bfd() {
|
||||
local out
|
||||
|
||||
# Ensure ld output is in English.
|
||||
local -x LC_ALL=C
|
||||
|
||||
# First check the linker directly.
|
||||
out=$($(tc-getLD "$@") --version 2>&1)
|
||||
if [[ ${out} != "GNU ld"* ]] ; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Then see if they're selecting bfd via compiler flags.
|
||||
# Note: We're assuming they're using LDFLAGS to hold the
|
||||
# options and not CFLAGS/CXXFLAGS.
|
||||
local base="${T}/test-tc-linker"
|
||||
cat <<-EOF > "${base}.c"
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
|
||||
rm -f "${base}"*
|
||||
if [[ ! ${out} =~ .*^"GNU ld".* ]] ; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# It's bfd!
|
||||
# We use positive logic here unlike tc-ld-is-gold and tc-ld-is-mold
|
||||
# because LD might be bfd even if *FLAGS isn't.
|
||||
return 0
|
||||
}
|
||||
|
||||
# @FUNCTION: tc-ld-is-gold
|
||||
# @USAGE: [toolchain prefix]
|
||||
# @DESCRIPTION:
|
||||
@ -466,7 +501,7 @@ tc-ld-is-gold() {
|
||||
# Then see if they're selecting gold via compiler flags.
|
||||
# Note: We're assuming they're using LDFLAGS to hold the
|
||||
# options and not CFLAGS/CXXFLAGS.
|
||||
local base="${T}/test-tc-gold"
|
||||
local base="${T}/test-tc-linker"
|
||||
cat <<-EOF > "${base}.c"
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
@ -499,7 +534,7 @@ tc-ld-is-lld() {
|
||||
# Then see if they're selecting lld via compiler flags.
|
||||
# Note: We're assuming they're using LDFLAGS to hold the
|
||||
# options and not CFLAGS/CXXFLAGS.
|
||||
local base="${T}/test-tc-lld"
|
||||
local base="${T}/test-tc-linker"
|
||||
cat <<-EOF > "${base}.c"
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
@ -513,8 +548,43 @@ tc-ld-is-lld() {
|
||||
return 1
|
||||
}
|
||||
|
||||
|
||||
# @FUNCTION: tc-ld-is-mold
|
||||
# @USAGE: [toolchain prefix]
|
||||
# @DESCRIPTION:
|
||||
# Return true if the current linker is set to mold.
|
||||
tc-ld-is-mold() {
|
||||
local out
|
||||
|
||||
# Ensure ld output is in English.
|
||||
local -x LC_ALL=C
|
||||
|
||||
# First check the linker directly.
|
||||
out=$($(tc-getLD "$@") --version 2>&1)
|
||||
if [[ ${out} == *"mold"* ]] ; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Then see if they're selecting mold via compiler flags.
|
||||
# Note: We're assuming they're using LDFLAGS to hold the
|
||||
# options and not CFLAGS/CXXFLAGS.
|
||||
local base="${T}/test-tc-linker"
|
||||
cat <<-EOF > "${base}.c"
|
||||
int main(void) { return 0; }
|
||||
EOF
|
||||
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
|
||||
rm -f "${base}"*
|
||||
if [[ ${out} == *"mold"* ]] ; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# No mold here!
|
||||
return 1
|
||||
}
|
||||
|
||||
# @FUNCTION: tc-ld-disable-gold
|
||||
# @USAGE: [toolchain prefix]
|
||||
# @DEPRECATED: tc-ld-force-bfd
|
||||
# @DESCRIPTION:
|
||||
# If the gold linker is currently selected, configure the compilation
|
||||
# settings so that we use the older bfd linker instead.
|
||||
@ -525,11 +595,12 @@ tc-ld-disable-gold() {
|
||||
# @FUNCTION: tc-ld-force-bfd
|
||||
# @USAGE: [toolchain prefix]
|
||||
# @DESCRIPTION:
|
||||
# If the gold or lld linker is currently selected, configure the compilation
|
||||
# settings so that we use the bfd linker instead.
|
||||
# If a linker other than bfd is currently selected, configure the compilation
|
||||
# settings so that we use the bfd linker instead. This function should not
|
||||
# be used for simple underlinking problems. This function is intended for use
|
||||
# when a package is fragile and/or relies on bfd internals.
|
||||
tc-ld-force-bfd() {
|
||||
if ! tc-ld-is-gold "$@" && ! tc-ld-is-lld "$@" ; then
|
||||
# They aren't using gold or lld, so nothing to do!
|
||||
if tc-ld-is-bfd "$@" ; then
|
||||
return
|
||||
fi
|
||||
|
||||
@ -544,6 +615,8 @@ tc-ld-force-bfd() {
|
||||
|
||||
# Set up LDFLAGS to select bfd based on the gcc / clang version.
|
||||
if tc-is-gcc || tc-is-clang ; then
|
||||
export CFLAGS="${CFLAGS} -fuse-ld=bfd"
|
||||
export CXXFLAGS="${CXXFLAGS} -fuse-ld=bfd"
|
||||
export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
|
||||
fi
|
||||
}
|
||||
@ -561,8 +634,9 @@ _tc-has-openmp() {
|
||||
int nthreads, tid, ret = 0;
|
||||
#pragma omp parallel private(nthreads, tid)
|
||||
{
|
||||
tid = omp_get_thread_num();
|
||||
nthreads = omp_get_num_threads(); ret += tid + nthreads;
|
||||
tid = omp_get_thread_num();
|
||||
nthreads = omp_get_num_threads();
|
||||
ret += tid + nthreads;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
24
sdk_container/src/third_party/portage-stable/licenses/FatFs
vendored
Normal file
24
sdk_container/src/third_party/portage-stable/licenses/FatFs
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
FatFs License
|
||||
|
||||
FatFs has being developped as a personal project of the author, ChaN. It is free from the code anyone else wrote at current release. Following code block shows a copy of the FatFs license document that heading the source files.
|
||||
|
||||
/*----------------------------------------------------------------------------/
|
||||
/ FatFs - Generic FAT Filesystem Module Rx.xx /
|
||||
/-----------------------------------------------------------------------------/
|
||||
/
|
||||
/ Copyright (C) 20xx, ChaN, all right reserved.
|
||||
/
|
||||
/ FatFs module is an open source software. Redistribution and use of FatFs in
|
||||
/ source and binary forms, with or without modification, are permitted provided
|
||||
/ that the following condition is met:
|
||||
/
|
||||
/ 1. Redistributions of source code must retain the above copyright notice,
|
||||
/ this condition and the following disclaimer.
|
||||
/
|
||||
/ This software is provided by the copyright holder and contributors "AS IS"
|
||||
/ and any warranties related to this software are DISCLAIMED.
|
||||
/ The copyright owner or contributors be NOT LIABLE for any damages caused
|
||||
/ by use of this software.
|
||||
/----------------------------------------------------------------------------*/
|
||||
|
||||
Therefore FatFs license is one of the BSD-style licenses, but there is a significant feature. FatFs is mainly intended for embedded systems. In order to extend the usability for commercial products, the redistributions of FatFs in binary form, such as embedded code, binary library and any forms without source code, do not need to include about FatFs in the documentations. This is equivalent to the 1-clause BSD license. Of course FatFs is compatible with the most of open source software licenses include GNU GPL. When you redistribute the FatFs source code with changes or create a fork, the license can also be changed to GNU GPL, BSD-style license or any open source software license that not conflict with FatFs license.
|
@ -10,3 +10,5 @@ DIST c-ares-1.32.1.tar.gz 1022052 BLAKE2B 662f15e7f1ae39614f0212745fe7883bbf831d
|
||||
DIST c-ares-1.32.1.tar.gz.asc 228 BLAKE2B d3d44263673c79b2dae594f5a2b3be076528c9c9f3c672e9c5cf3db68eb1b7da6ba74f8ae44605d783440f3bbada4033073e4feeee8ed9833226f76068022dc4 SHA512 3a1dc1f1066bb4d35024ef9e7246c2f630d309a1843e32574f29c07ce01e0461176dd9d53b1a7d2df279959a8b13c10cb4396ee7fafbac534e1b4d44bcefc47a
|
||||
DIST c-ares-1.32.2.tar.gz 1026293 BLAKE2B 1acd4d90d0e9d8abcbc49561db8ae2e55295398353896a7ab0108c1ac8718eb08c655dff8aa6c0efa138524805972ac4033d0c49cfcebaeca1a019021073e981 SHA512 f552dbe9cb7f7b28ed05d93ee866a161e77c841453cde3659cb1e0bf6d501894bf5f6b8db308f7397e6ead4b42f34ce17e1c2ef307352de50f2aad25e4610de8
|
||||
DIST c-ares-1.32.2.tar.gz.asc 228 BLAKE2B 6a09ff532d1334f994f9e9365ce6074aae4227b27c0a5ef40e441192b6b23c728772278fec7c8c34fc93d20309b04b9e31802d4491dc3e1313818eadbe8a4afc SHA512 385ca9bd72a2131f2eb51c035e50d21d816361872a0db42c6a9dc60a1a3971d464f34c2518c759e01e6c88b5bf100ddaa87862e877187a9b59800070b2bef7af
|
||||
DIST c-ares-1.33.0.tar.gz 1040626 BLAKE2B 730ca3ca9ebb03228fc17d87f1a659f77f91d2a4cc840fa21d7bf083878cc2714a2695808f53de2182e3cf2be367a95bb9625473cfbace40536cb3a33fd0d338 SHA512 3cf1b94d6e8e53742703a679d7e35d3f985320720f41fa58189a0bcad4aca80405c73c4689abe7879df292dbe8f3ddca34b2d48429af5afcc9d2933edb075788
|
||||
DIST c-ares-1.33.0.tar.gz.asc 228 BLAKE2B 945ebedb47c998aa917aebc6180cc9f601bc4f10c648955cc9af84e09d5832e06cf7c7afa7ddc1591474f23758c7d269c722d4dce34e4680edc69ce93be483ad SHA512 bd6386a917d072ac41adb604affa314b8e05e8cfeff5ade7e9d6f520baf4d73d7adf68cff35f4748aeee45d4d646ca6d6cf438e75e1c7125f1ababd561809e8c
|
||||
|
109
sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.0.ebuild
vendored
Normal file
109
sdk_container/src/third_party/portage-stable/net-dns/c-ares/c-ares-1.33.0.ebuild
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Both Daniel and Brad are listed as possible signers on the homepage
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bradhouse.asc
|
||||
inherit edo multilib-minimal verify-sig
|
||||
|
||||
DESCRIPTION="C library that resolves names asynchronously"
|
||||
HOMEPAGE="https://c-ares.org/"
|
||||
SRC_URI="
|
||||
https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz
|
||||
verify-sig? ( https://github.com/c-ares/c-ares/releases/download/v${PV}/${P}.tar.gz.asc )
|
||||
"
|
||||
|
||||
# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405)
|
||||
LICENSE="MIT ISC"
|
||||
# Subslot = SONAME of libcares.so.2
|
||||
SLOT="0/2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
test? ( dev-cpp/gtest )
|
||||
verify-sig? ( sec-keys/openpgp-keys-bradhouse )
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS README.md RELEASE-NOTES.md )
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/ares_build.h
|
||||
)
|
||||
|
||||
A__QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
# Checking for obsolete headers
|
||||
malloc
|
||||
calloc
|
||||
free
|
||||
|
||||
# Non-existent on Linux
|
||||
closesocket
|
||||
CloseSocket
|
||||
ioctlsocket
|
||||
bitncmp
|
||||
ConvertInterfaceIndexToLuid
|
||||
ConvertInterfaceLuidToNameA
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# warnings are default, but enable -std=c90 which doesn't define
|
||||
# 'bool' which is a type used/assumed in macOS system headers
|
||||
sed -i -e 's/-std=c90/& -Dbool=int/' configure{.ac,} || die
|
||||
# sysconfig integration requires deep framework compatibility
|
||||
# and is not really desired in Prefix
|
||||
sed -i -e 's/__APPLE__/__DISABLED__/' \
|
||||
src/lib/ares_sysconfig_mac.c || die
|
||||
sed -i -e '/elif defined(__APPLE__)/s/__APPLE__/__DISABLED__/' \
|
||||
src/lib/ares_sysconfig.c || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
--enable-symbol-hiding
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable test tests)
|
||||
)
|
||||
|
||||
# Needed for running unit tests only
|
||||
# Violates sandbox and tests pass fine without
|
||||
export ax_cv_uts_namespace=no
|
||||
export ax_cv_user_namespace=no
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
cd "${BUILD_DIR}"/test || die
|
||||
|
||||
# We're skipping the "real" network tests with the filter
|
||||
# see https://github.com/c-ares/c-ares/tree/main/test
|
||||
local network_tests=(
|
||||
# Most live tests have Live in the name
|
||||
*Live*
|
||||
# These don't but are still in ares-test-live.cc => live
|
||||
*GetTCPSock*
|
||||
*TimeoutValue*
|
||||
*GetSock*
|
||||
*GetSock_virtualized*
|
||||
*VerifySocketFunctionCallback*
|
||||
# Seems flaky, even run manually
|
||||
# https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d
|
||||
*MockUDPMaxQueriesTest.GetHostByNameParallelLookups*
|
||||
)
|
||||
|
||||
# The format for disabling test1, test2, and test3 looks like:
|
||||
# -test1:test2:test3
|
||||
edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}"))
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -name "*.la" -delete || die
|
||||
}
|
@ -10,3 +10,5 @@ DIST gnutls-3.8.5.tar.xz 6491504 BLAKE2B 30ea0e213b426df896af7cddfc39a7c50fd3130
|
||||
DIST gnutls-3.8.5.tar.xz.sig 119 BLAKE2B 62ff7b33fb80422774f8252f574560679b7dc4fa56fa680a4cf570320fa9692aa6f8b6a7e4683a684572287cfd22168f58679d2dc4cc507dc50269ed126990fd SHA512 b0f7a8ec348765112cac75fd732e066adaa1595bb83024cfeff6633aba35277d8aceda145c733c3d95f1e0eb4d34fead2479abdb08d6041362094a235460fa67
|
||||
DIST gnutls-3.8.6.tar.xz 6517476 BLAKE2B 58910e252231c02cfaa1183b38f3127f61aa991d266078bef8fb65709930a2d2dda1adad5fa32cdb203fda65955bcab9193ce71b5fba0b74e6a36a218bc0dd94 SHA512 58631c456dfb43f8cb6a1703ffa91c593a33357f37dc146e808d88692e19c7ac10aeabea40bee9952205be97e00648879e9f0fa80e670e8e695f8633ba726513
|
||||
DIST gnutls-3.8.6.tar.xz.sig 119 BLAKE2B 044d0e31a5fa402daa73e88ce140f57e30cb143324c7cce1515a3bc6c444fe2f1fa2dd954dec69de09c7b4726766e17ec05410bbbbcf5b35dda1cb0f6452a0a5 SHA512 3f9552cdf5fa96184fbe394dd484fb55e6a3577d1e048aea373b82cda335ea0f174f2fb11926dc58532c1f950cd10a6a35bc36e9fe813a1259eae5c5364920b2
|
||||
DIST gnutls-3.8.7.1.tar.xz 6695404 BLAKE2B 43334190ce1e45c5302b195f17d06e767d1bea7376278bfbc6ff181a2f57423ba5f334c00ae1833938c7a7a8d15cf607ac862e57435a756ccfa98527d469fd3a SHA512 429cea78e227d838105791b28a18270c3d2418bfb951c322771e6323d5f712204d63d66a6606ce9604a92d236a8dd07d651232c717264472d27eb6de26ddc733
|
||||
DIST gnutls-3.8.7.1.tar.xz.sig 580 BLAKE2B ca627d7b3f089205c94f556bee9c06428ada9e0116bb50486dc7dd70f611ae744416d96b17452749d102ccd16bf7b400577b1886a7c8be55833c9e2fde85f9ae SHA512 53ebdaa9775ae22f7eb5e7d6f5411ec667c9c880cea84e23651b6d1994fb1398c09d8efa39b21c96f8be29fa09c2436bdd732a061308956ca1650e3e1878ed57
|
||||
|
@ -0,0 +1,156 @@
|
||||
https://bugs.gentoo.org/937997
|
||||
https://gitlab.com/gnutls/gnutls/-/merge_requests/1867
|
||||
|
||||
From 292f96f26d7ce80e4a165c903c4fd569b85c1c1f Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <ueno@gnu.org>
|
||||
Date: Fri, 16 Aug 2024 09:42:15 +0900
|
||||
Subject: [PATCH 1/3] build: fix setting AM_CONDITIONAL for brotli and zstd
|
||||
|
||||
As the with_{libbrotli,libzsttd} variables are unset if configured
|
||||
with --without-{brotli,zstd}, check the unequality to "no" doesn't
|
||||
work; use explicit matching with "yes" instead.
|
||||
|
||||
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1158,7 +1158,7 @@ if test x$ac_brotli != xno; then
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
-AM_CONDITIONAL(HAVE_LIBBROTLI, test "$with_libbrotlienc" != "no" && test "$with_libbrotlidec" != "no")
|
||||
+AM_CONDITIONAL(HAVE_LIBBROTLI, test "$with_libbrotlienc" = yes && test "$with_libbrotlidec" = yes)
|
||||
|
||||
AS_IF([test "$ac_cv_dlopen_soname_works" = yes], [
|
||||
save_CFLAGS=$CFLAGS
|
||||
@@ -1203,7 +1203,7 @@ if test x$ac_zstd != xno; then
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
-AM_CONDITIONAL(HAVE_LIBZSTD, test "$with_libzstd" != "no")
|
||||
+AM_CONDITIONAL(HAVE_LIBZSTD, test "$with_libzstd" = yes)
|
||||
|
||||
AS_IF([test "$ac_cv_dlopen_soname_works" = yes], [
|
||||
save_CFLAGS=$CFLAGS
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 546153198d2fb8fc4902f23de6254bb7988de534 Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <ueno@gnu.org>
|
||||
Date: Fri, 16 Aug 2024 09:48:31 +0900
|
||||
Subject: [PATCH 2/3] build: don't emit Requires.private for dlopened libraries
|
||||
|
||||
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1100,11 +1100,6 @@ if test x$ac_zlib != xno; then
|
||||
PKG_CHECK_EXISTS(zlib, ZLIB_HAS_PKGCONFIG=y, ZLIB_HAS_PKGCONFIG=n)
|
||||
if test "$ZLIB_HAS_PKGCONFIG" = "y" ; then
|
||||
PKG_CHECK_MODULES(ZLIB, [zlib])
|
||||
- if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then
|
||||
- GNUTLS_REQUIRES_PRIVATE="Requires.private: zlib"
|
||||
- else
|
||||
- GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, zlib"
|
||||
- fi
|
||||
ac_zlib=yes
|
||||
else
|
||||
AC_LIB_HAVE_LINKFLAGS(z,, [#include <zlib.h>], [compress (0, 0, 0, 0);])
|
||||
@@ -1134,6 +1129,13 @@ AS_IF([test "$ac_cv_dlopen_soname_works" = yes], [
|
||||
compress (0, 0, 0, 0);])])
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
+],
|
||||
+ [test "$ZLIB_HAS_PKGCONFIG" = y && test "$ac_zlib" = yes], [
|
||||
+ if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then
|
||||
+ GNUTLS_REQUIRES_PRIVATE="Requires.private: zlib"
|
||||
+ else
|
||||
+ GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, zlib"
|
||||
+ fi
|
||||
])
|
||||
|
||||
AC_ARG_WITH(brotli,
|
||||
@@ -1146,11 +1148,6 @@ if test x$ac_brotli != xno; then
|
||||
PKG_CHECK_MODULES(LIBBROTLIDEC, [libbrotlidec >= 1.0.0], [with_libbrotlidec=yes], [with_libbrotlidec=no])
|
||||
if test "${with_libbrotlienc}" = "yes" && test "${with_libbrotlidec}" = "yes"; then
|
||||
AC_DEFINE([HAVE_LIBBROTLI], 1, [Define if BROTLI compression is enabled.])
|
||||
- if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then
|
||||
- GNUTLS_REQUIRES_PRIVATE="Requires.private: libbrotlienc, libbrotlidec"
|
||||
- else
|
||||
- GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, libbrotlienc, libbrotlidec"
|
||||
- fi
|
||||
need_ltlibdl=yes
|
||||
else
|
||||
AC_MSG_WARN(*** LIBBROTLI was not found. You will not be able to use BROTLI compression.)
|
||||
@@ -1180,6 +1177,13 @@ AS_IF([test "$ac_cv_dlopen_soname_works" = yes], [
|
||||
BrotliDecoderVersion();])])
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
+],
|
||||
+ [test "$with_libbrotlienc" = yes && test "$with_libbrotlidec" = yes], [
|
||||
+ if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then
|
||||
+ GNUTLS_REQUIRES_PRIVATE="Requires.private: libbrotlienc, libbrotlidec"
|
||||
+ else
|
||||
+ GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, libbrotlienc, libbrotlidec"
|
||||
+ fi
|
||||
])
|
||||
|
||||
AC_ARG_WITH(zstd,
|
||||
@@ -1191,11 +1195,6 @@ if test x$ac_zstd != xno; then
|
||||
PKG_CHECK_MODULES(LIBZSTD, [libzstd >= 1.3.0], [with_libzstd=yes], [with_libzstd=no])
|
||||
if test "${with_libzstd}" = "yes"; then
|
||||
AC_DEFINE([HAVE_LIBZSTD], 1, [Define if ZSTD compression is enabled.])
|
||||
- if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then
|
||||
- GNUTLS_REQUIRES_PRIVATE="Requires.private: libzstd"
|
||||
- else
|
||||
- GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, libzstd"
|
||||
- fi
|
||||
need_ltlibdl=yes
|
||||
else
|
||||
AC_MSG_WARN(*** LIBZSTD was not found. You will not be able to use ZSTD compression.)
|
||||
@@ -1215,6 +1214,13 @@ AS_IF([test "$ac_cv_dlopen_soname_works" = yes], [
|
||||
ZSTD_versionNumber();])])
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
+],
|
||||
+ [test "$with_libzstd" = yes], [
|
||||
+ if test "x$GNUTLS_REQUIRES_PRIVATE" = "x"; then
|
||||
+ GNUTLS_REQUIRES_PRIVATE="Requires.private: libzstd"
|
||||
+ else
|
||||
+ GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, libzstd"
|
||||
+ fi
|
||||
])
|
||||
|
||||
AC_ARG_WITH(liboqs,
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 8d0ec0ccdfeaae0d56426169d4c7b490e3b07826 Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <ueno@gnu.org>
|
||||
Date: Fri, 16 Aug 2024 13:35:47 +0900
|
||||
Subject: [PATCH 3/3] build: add liboqs in Requires.private in gnutls.pc if
|
||||
needed
|
||||
|
||||
When --with-liboqs is specified and liboqs cannot be dlopen'ed, it
|
||||
will be linked at build time. In that case gnutls.pc should indicate
|
||||
that through Requires.private.
|
||||
|
||||
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1256,6 +1256,13 @@ AS_IF([test "$ac_cv_dlopen_soname_works" = yes], [
|
||||
OQS_version ();])])
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
+],
|
||||
+ [test "$have_liboqs" = yes], [
|
||||
+ if test "x$GNUTLS_REQUIRES_PRIVATE" = x; then
|
||||
+ GNUTLS_REQUIRES_PRIVATE="Requires.private: liboqs"
|
||||
+ else
|
||||
+ GNUTLS_REQUIRES_PRIVATE="$GNUTLS_REQUIRES_PRIVATE, liboqs"
|
||||
+ fi
|
||||
])
|
||||
|
||||
AM_CONDITIONAL(NEED_LTLIBDL, test "$need_ltlibdl" = yes)
|
||||
--
|
||||
GitLab
|
168
sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.7.1-r1.ebuild
vendored
Normal file
168
sdk_container/src/third_party/portage-stable/net-libs/gnutls/gnutls-3.8.7.1-r1.ebuild
vendored
Normal file
@ -0,0 +1,168 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnutls.asc
|
||||
inherit autotools multilib-minimal verify-sig flag-o-matic
|
||||
|
||||
DESCRIPTION="A secure communications library implementing the SSL, TLS and DTLS protocols"
|
||||
HOMEPAGE="https://www.gnutls.org/"
|
||||
SRC_URI="mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz"
|
||||
SRC_URI+=" verify-sig? ( mirror://gnupg/gnutls/v$(ver_cut 1-2)/${P}.tar.xz.sig )"
|
||||
if [[ ${PV} == 3.8.7.1 ]] ; then
|
||||
# Workaround for botched dist tarball
|
||||
S="${WORKDIR}"/gnutls-3.8.7
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-2.1+"
|
||||
# As of 3.8.0, the C++ library is header-only, but we won't drop the subslot
|
||||
# component for it until libgnutls.so breaks ABI, to avoid pointless rebuilds.
|
||||
# Subslot format:
|
||||
# <libgnutls.so number>.<libgnutlsxx.so number>
|
||||
SLOT="0/30.30"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="brotli +cxx dane doc examples +idn nls +openssl pkcs11 seccomp sslv2 sslv3 static-libs test test-full +tls-heartbeat tools zlib zstd"
|
||||
REQUIRED_USE="test-full? ( cxx dane doc examples idn nls openssl pkcs11 seccomp tls-heartbeat tools )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# >=nettle-3.10 as a workaround for bug #936011
|
||||
RDEPEND="
|
||||
>=dev-libs/libtasn1-4.9:=[${MULTILIB_USEDEP}]
|
||||
dev-libs/libunistring:=[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/nettle-3.10:=[gmp,${MULTILIB_USEDEP}]
|
||||
>=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]
|
||||
brotli? ( >=app-arch/brotli-1.0.0:=[${MULTILIB_USEDEP}] )
|
||||
dane? ( >=net-dns/unbound-1.4.20:=[${MULTILIB_USEDEP}] )
|
||||
nls? ( >=virtual/libintl-0-r1:=[${MULTILIB_USEDEP}] )
|
||||
pkcs11? ( >=app-crypt/p11-kit-0.23.1[${MULTILIB_USEDEP}] )
|
||||
idn? ( >=net-dns/libidn2-0.16-r1:=[${MULTILIB_USEDEP}] )
|
||||
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
|
||||
zstd? ( >=app-arch/zstd-1.3.0:=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
test? (
|
||||
seccomp? ( sys-libs/libseccomp )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
dev-build/gtk-doc-am
|
||||
>=virtual/pkgconfig-0-r1
|
||||
doc? ( dev-util/gtk-doc )
|
||||
nls? ( sys-devel/gettext )
|
||||
test-full? (
|
||||
app-crypt/dieharder
|
||||
|| ( sys-libs/libfaketime >=app-misc/datefudge-1.22 )
|
||||
dev-libs/softhsm:2[-bindist(-)]
|
||||
net-dialup/ppp
|
||||
net-misc/socat
|
||||
)
|
||||
verify-sig? ( >=sec-keys/openpgp-keys-gnutls-20240415 )
|
||||
"
|
||||
|
||||
DOCS=( README.md doc/certtool.cfg )
|
||||
|
||||
HTML_DOCS=()
|
||||
|
||||
QA_CONFIG_IMPL_DECL_SKIP=(
|
||||
# gnulib FPs
|
||||
MIN
|
||||
alignof
|
||||
static_assert
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.8.7.1-configure-brotli.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# bug #520818
|
||||
export TZ=UTC
|
||||
|
||||
use doc && HTML_DOCS+=( doc/gnutls.html )
|
||||
|
||||
# don't try to use system certificate store on macOS, it is
|
||||
# confusingly ignoring our ca-certificates and more importantly
|
||||
# fails to compile in certain configurations
|
||||
sed -i -e 's/__APPLE__/__NO_APPLE__/' lib/system/certs.c || die
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# should be gone on next release, for gnulib memset_s breakage
|
||||
append-cppflags -D__STDC_WANT_LIB_EXT1__=1
|
||||
# alloca usage, similar
|
||||
sed -i -e '$a#include <alloca.h>' config.h.in || die
|
||||
fi
|
||||
|
||||
# Use sane .so versioning on FreeBSD.
|
||||
#elibtoolize
|
||||
|
||||
# Switch back to elibtoolize after 3.8.7.1
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
LINGUAS="${LINGUAS//en/en@boldquot en@quot}"
|
||||
|
||||
local libconf=()
|
||||
|
||||
# TPM needs to be tested before being enabled
|
||||
# Note that this may add a libltdl dep when enabled. Check configure.ac.
|
||||
libconf+=(
|
||||
--without-tpm
|
||||
--without-tpm2
|
||||
)
|
||||
|
||||
# hardware-accel is disabled on OSX because the asm files force
|
||||
# GNU-stack (as doesn't support that) and when that's removed ld
|
||||
# complains about duplicate symbols
|
||||
[[ ${CHOST} == *-darwin* ]] && libconf+=( --disable-hardware-acceleration )
|
||||
|
||||
# -fanalyzer substantially slows down the build and isn't useful for
|
||||
# us. It's useful for upstream as it's static analysis, but it's not
|
||||
# useful when just getting something built.
|
||||
export gl_cv_warn_c__fanalyzer=no
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-valgrind-tests
|
||||
$(multilib_native_enable manpages)
|
||||
$(multilib_native_use_enable doc gtk-doc)
|
||||
$(multilib_native_use_enable doc)
|
||||
$(multilib_native_use_enable seccomp seccomp-tests)
|
||||
$(multilib_native_use_enable test tests)
|
||||
$(multilib_native_use_enable test-full full-test-suite)
|
||||
$(multilib_native_use_enable tools)
|
||||
$(use_enable cxx)
|
||||
$(use_enable dane libdane)
|
||||
$(use_enable nls)
|
||||
$(use_enable openssl openssl-compatibility)
|
||||
$(use_enable sslv2 ssl2-support)
|
||||
$(use_enable sslv3 ssl3-support)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable tls-heartbeat heartbeat-support)
|
||||
$(use_with brotli)
|
||||
$(use_with idn)
|
||||
$(use_with pkcs11 p11-kit)
|
||||
$(use_with zlib)
|
||||
$(use_with zstd)
|
||||
--disable-rpath
|
||||
--with-default-trust-store-file="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt
|
||||
--with-unbound-root-key-file="${EPREFIX}"/etc/dnssec/root-anchors.txt
|
||||
--without-included-libtasn1
|
||||
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${libconf[@]}" "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc doc/examples/*.c
|
||||
fi
|
||||
}
|
@ -11,7 +11,7 @@ SRC_URI="https://github.com/nghttp2/nghttp2/releases/download/v${PV}/${P}.tar.xz
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/1.14" # 1.<SONAME>
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="debug hpack-tools jemalloc static-libs systemd test utils xml"
|
||||
|
||||
REQUIRED_USE="test? ( static-libs )"
|
||||
|
@ -1,6 +1,14 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-08-16)
|
||||
# Requires large parts of dev-ruby/rails to be keyworded
|
||||
dev-ruby/minitest-hooks test
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2024-08-14)
|
||||
# QUIC dependencies are not keyworded
|
||||
net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2024-08-10)
|
||||
# Needs dev-libs/openspecfun which is not yet keyworded
|
||||
sci-visualization/gnuplot amos
|
||||
|
@ -124,13 +124,9 @@ dev-qt/qtbase -renderdoc
|
||||
# media-libs/roc-toolkit is not keyworded in most places
|
||||
media-video/pipewire -roc
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2023-08-10)
|
||||
# 'ssl' USE required for curl's nghttp3/quic support
|
||||
net-libs/ngtcp2 -ssl
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2023-08-10)
|
||||
# nghttp3 has been tested to work on amd64
|
||||
net-misc/curl -nghttp3 -http3 -quic -curl_quic_openssl
|
||||
net-misc/curl -nghttp3
|
||||
|
||||
# Sam James <sam@gentoo.org> (2023-07-18)
|
||||
# dev-cpp/cppdap is not keyworded in most places
|
||||
|
@ -141,6 +141,7 @@
|
||||
-video_cards_i965
|
||||
-video_cards_intel
|
||||
-video_cards_nvidia
|
||||
-video_cards_nvk
|
||||
-video_cards_siliconmotion
|
||||
-video_cards_vesa
|
||||
-video_cards_via
|
||||
|
@ -25,7 +25,3 @@ VIDEO_CARDS="exynos fbdev omap"
|
||||
# Michał Górny <mgorny@gentoo.org> (2017-03-14)
|
||||
# Unhide the ARM-specific USE_EXPANDs.
|
||||
USE_EXPAND_HIDDEN="-CPU_FLAGS_ARM"
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-05-20)
|
||||
# Allow ruby32 stabling: https://bugs.gentoo.org/932285
|
||||
RUBY_TARGETS="ruby31 -ruby32"
|
||||
|
@ -9,10 +9,6 @@ sci-visualization/gnuplot amos
|
||||
# Full testing requires www-client/firefox.
|
||||
dev-python/selenium test-rust
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2023-08-10)
|
||||
# nghttp3 has been tested to work on amd64
|
||||
net-misc/curl -http3 -quic -curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# orbea <orbea@riseup.net> (2024-07-19)
|
||||
# Unmask the dynarec flag which has arm asm.
|
||||
games-emulation/rmg -dynarec
|
||||
|
@ -4,10 +4,6 @@
|
||||
# This file requires eapi 5 or later. New entries go on top.
|
||||
# Please use the same syntax as in use.mask
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-05-20)
|
||||
# Allow ruby32 stabling: https://bugs.gentoo.org/932285
|
||||
ruby_targets_ruby32
|
||||
|
||||
# Sam James <sam@gentoo.org> (2022-01-16)
|
||||
# net-libs/gnome-online-accounts is not marked stable on arm yet
|
||||
gnome-online-accounts
|
||||
|
@ -1,6 +1,11 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Paul Zander <negril.nx+gentoo@gmail.com> (2024-08-12)
|
||||
# Builds a amd vendored opencl runtime that causes collisions.
|
||||
# Hardly useful outside of maintainer testing. #934963, #936317
|
||||
dev-util/hip opencl
|
||||
|
||||
# matoro <matoro_gentoo@matoro.tk> (2024-07-14)
|
||||
# Abandoned upstream, does not take bug reports, unsupported in Gentoo.
|
||||
# Only remaining use is as a requirement for dev-lang/go on arm{,64}.
|
||||
@ -297,7 +302,7 @@ app-emulation/aranym jit
|
||||
|
||||
# Craig Andrews <candrews@gentoo.org> (2019-10-08)
|
||||
# net-libs/nghttp3 net-libs/ngtcp2[ssl] are not available on all arches
|
||||
net-misc/curl nghttp3 http3 quic curl_quic_openssl
|
||||
net-misc/curl nghttp3
|
||||
|
||||
# Luke Dashjr <luke-jr+gentoobugs@utopios.org> (2019-09-21)
|
||||
# Moved from arch/powerpc/ppc64 as it applies to most architectures.
|
||||
|
@ -160,6 +160,7 @@ video_cards_i915
|
||||
video_cards_i965
|
||||
video_cards_intel
|
||||
video_cards_nvidia
|
||||
video_cards_nvk
|
||||
video_cards_vesa
|
||||
video_cards_via
|
||||
video_cards_vmware
|
||||
|
@ -22,7 +22,3 @@ CHOST_hppa="${CHOST}"
|
||||
# Donnie Berkholz <dberkholz@gentoo.org> (2006-08-18)
|
||||
# Defaults for video drivers
|
||||
VIDEO_CARDS="fbdev"
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-05-20)
|
||||
# Allow ruby32 stabling: https://bugs.gentoo.org/932285
|
||||
RUBY_TARGETS="ruby31 -ruby32"
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2024-08-14)
|
||||
# QUIC dependencies are not keyworded
|
||||
net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# Ulrich Müller <ulm@gentoo.org> (2024-08-03)
|
||||
# Needs dev-libs/openspecfun which is not yet keyworded
|
||||
sci-visualization/gnuplot amos
|
||||
|
@ -1,6 +1,14 @@
|
||||
# Copyright 2022-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-08-18)
|
||||
# Requires large parts of dev-ruby/rails to be keyworded
|
||||
dev-ruby/minitest-hooks test
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2024-08-14)
|
||||
# QUIC dependencies are not keyworded
|
||||
net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# Ulrich Müller <ulm@gentoo.org> (2024-08-03)
|
||||
# Needs dev-libs/openspecfun which is not yet keyworded
|
||||
sci-visualization/gnuplot amos
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2024-08-14)
|
||||
# QUIC dependencies are not keyworded
|
||||
net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2024-07-24)
|
||||
# Full testing requires www-client/firefox.
|
||||
dev-python/selenium test-rust
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2024-08-14)
|
||||
# QUIC dependencies are not keyworded
|
||||
net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# Andreas Sturmlechner <asturm@gentoo.org> (2024-08-09)
|
||||
# KDE PIM 6 is not being keyworded here
|
||||
kde-apps/libkgapi:5 kf6compat
|
||||
|
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/eapi
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/eapi
vendored
Normal file
@ -0,0 +1 @@
|
||||
5
|
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/ilp32/parent
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/ilp32/parent
vendored
Normal file
@ -0,0 +1 @@
|
||||
..
|
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/ilp32d/parent
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/ilp32d/parent
vendored
Normal file
@ -0,0 +1 @@
|
||||
..
|
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/parent
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/profiles/arch/riscv/rv32imac/parent
vendored
Normal file
@ -0,0 +1 @@
|
||||
../../../features/wd40
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2024-08-14)
|
||||
# QUIC dependencies are not keyworded
|
||||
net-misc/curl http3 quic curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2024-07-24)
|
||||
# Full testing requires www-client/firefox.
|
||||
dev-python/selenium test-rust
|
||||
|
@ -42,7 +42,3 @@ VIDEO_CARDS="fbdev mga r128 radeon"
|
||||
# Enable USE=libtirpc by default, to ease dependency resolution during
|
||||
# the stabilization of glibc-2.26. Bug 657148
|
||||
USE="libtirpc"
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-05-20)
|
||||
# Allow ruby32 stabling: https://bugs.gentoo.org/932285
|
||||
RUBY_TARGETS="ruby31 -ruby32"
|
||||
|
@ -4,10 +4,6 @@
|
||||
# This file requires eapi 5 or later. New entries go on top.
|
||||
# Please use the same syntax as in use.mask
|
||||
|
||||
# Hans de Graaff <graaff@gentoo.org> (2024-05-20)
|
||||
# Allow ruby32 stabling: https://bugs.gentoo.org/932285
|
||||
ruby_targets_ruby32
|
||||
|
||||
# Sam James <sam@gentoo.org> (2024-03-07)
|
||||
# dev-lang/php:8.2 is not marked stable here yet (bug #920701)
|
||||
php_targets_php8-2
|
||||
|
1
sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/parent
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/profiles/arch/x86/i486/parent
vendored
Normal file
@ -0,0 +1 @@
|
||||
../../../features/wd40
|
@ -1,10 +1,6 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Matt Jolly <kangie@gentoo.org> (2023-08-10)
|
||||
# http3 is avilable via openssl[quic] on this arch.
|
||||
net-misc/curl -http3 -quic -curl_quic_openssl curl_quic_ngtcp2
|
||||
|
||||
# orbea <orbea@riseup.net> (2024-07-19)
|
||||
# Unmask the dynarec flag which has x86 asm.
|
||||
games-emulation/rmg -dynarec
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user