Merge pull request #1127 from flatcar/buildbot/weekly-portage-stable-package-updates-2023-09-11

Weekly portage-stable package updates 2023-09-11
This commit is contained in:
Dongsu Park 2023-09-19 13:47:52 +02:00 committed by GitHub
commit 33c94b390e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
97 changed files with 2653 additions and 1560 deletions

View File

@ -387,6 +387,7 @@ sys-apps/kbd
sys-apps/kexec-tools
sys-apps/kmod
sys-apps/less
sys-apps/locale-gen
sys-apps/lshw
sys-apps/makedev
sys-apps/man-db

View File

@ -158,7 +158,7 @@ run_localedef() {
loader=( "${root_fs_dir}/usr/lib64/ld-linux-x86-64.so.2" \
--library-path "${root_fs_dir}/usr/lib64" );;
*)
die "Unable to run localedev for ARCH ${ARCH}";;
die "Unable to run localedef for ARCH ${ARCH}";;
esac
info "Generating C.UTF-8 locale..."
local i18n="${root_fs_dir}/usr/share/i18n"
@ -166,6 +166,7 @@ run_localedef() {
# check that the paths we want are available first.
[[ -f "${i18n}/charmaps/UTF-8.gz" ]] || die
[[ -f "${i18n}/locales/C" ]] || die
sudo mkdir -p "${root_fs_dir}/usr/lib/locale"
sudo I18NPATH="${i18n}" "${loader[@]}" "${root_fs_dir}/usr/bin/localedef" \
--prefix="${root_fs_dir}" --charmap=UTF-8 --inputfile=C C.UTF-8
}

View File

@ -285,7 +285,32 @@ info "Merging board packages now"
sudo -E "${EMERGE_CMD[@]}" "${EMERGE_FLAGS[@]}" "$@"
info "Removing obsolete packages"
sudo -E "${EMERGE_CMD[@]}" --verbose --depclean @unavailable
# The return value of emerge is not clearly reliable. It may fail with
# an output like following:
#
# Calculating dependencies... done!
# dev-libs/gmp-6.3.0 pulled in by:
# cross-aarch64-cros-linux-gnu/gcc-12.3.1_p20230526 requires >=dev-libs/gmp-4.3.2:0/10.4=, >=dev-libs/gmp-4.3.2:0=
# cross-aarch64-cros-linux-gnu/gdb-13.2-r1 requires dev-libs/gmp:=, dev-libs/gmp:0/10.4=
# cross-x86_64-cros-linux-gnu/gcc-12.3.1_p20230526 requires >=dev-libs/gmp-4.3.2:0/10.4=, >=dev-libs/gmp-4.3.2:0=
# cross-x86_64-cros-linux-gnu/gdb-13.2-r1 requires dev-libs/gmp:0/10.4=, dev-libs/gmp:=
# dev-libs/mpc-1.2.1 requires >=dev-libs/gmp-5.0.0:0=[abi_x86_64(-)], >=dev-libs/gmp-5.0.0:0/10.4=[abi_x86_64(-)]
# dev-libs/mpfr-4.1.0-r1 requires >=dev-libs/gmp-5.0.0:=[abi_x86_64(-)], >=dev-libs/gmp-5.0.0:0/10.4=[abi_x86_64(-)]
# dev-libs/nettle-3.9.1 requires >=dev-libs/gmp-6.1:0/10.4=[abi_x86_64(-)], >=dev-libs/gmp-6.1:=[abi_x86_64(-)]
# net-libs/gnutls-3.8.0 requires >=dev-libs/gmp-5.1.3-r1:0/10.4=[abi_x86_64(-)], >=dev-libs/gmp-5.1.3-r1:=[abi_x86_64(-)]
# sys-devel/gcc-12.3.1_p20230526 requires >=dev-libs/gmp-4.3.2:0=, >=dev-libs/gmp-4.3.2:0/10.4=
#
# >>> No packages selected for removal by depclean
#
# Which gives you completely no reason for returning with non-zero
# status. Ignore emerge failures here.
#
# Well, actually, technically the reason for failure is that we asked
# for a removal of the unavailable packages and emerge found that
# dev-libs/gmp-6.3.0 is not available but didn't remove it, because
# it's pulled as a dependency by other packages. Question is why
# emerge thinks that dev-libs/gmp-6.3.0 is not available.
sudo -E "${EMERGE_CMD[@]}" --verbose --depclean @unavailable || :
if [[ "${FLAGS_usepkgonly}" -eq "${FLAGS_FALSE}" ]]; then
if "portageq-${BOARD}" list_preserved_libs "${BOARD_ROOT}" >/dev/null; then

View File

@ -0,0 +1,7 @@
- cJSON ([1.7.16](https://github.com/DaveGamble/cJSON/releases/tag/v1.7.16))
- file ([5.45](https://github.com/file/file/blob/FILE5_45/ChangeLog))
- gmp ([6.3.0](https://gmplib.org/gmp6.3))
- gnuconfig ([20230731](https://git.savannah.gnu.org/cgit/config.git/log/?id=d4e37b5868ef910e3e52744c34408084bb13051c))
- hwdata ([0.373](https://github.com/vcrhonek/hwdata/commits/v0.373))
- kbd ([2.6.1](https://github.com/legionus/kbd/releases/tag/v2.6.1) (includes [2.6.0](https://github.com/legionus/kbd/releases/tag/v2.6.0)))
- glibc ([2.37](https://sourceware.org/git/?p=glibc.git;a=tag;h=refs/tags/glibc-2.37))

View File

@ -14,6 +14,7 @@ IUSE=""
RDEPEND="
app-emulation/google-compute-engine
app-shells/bash
sys-apps/gentoo-functions
sys-libs/glibc
sys-libs/nss-usrfiles
"

View File

@ -22,3 +22,9 @@ sys-apps/portage -xattr
# Force openssl provider for net-misc/curl
net-misc/curl ssl openssl curl_ssl_openssl
# Force cpudetection for dev-libs/gmp, so it is also picked up during
# bootstrap. That way, we will not be hitting bindist restrictions
# that cause the build in stage1 to fail. Pulling in asm too, as it is
# required by cpudetection.
dev-libs/gmp cpudetection asm

View File

@ -1,5 +1,4 @@
DIST gcc-multilib-bootstrap-20201208.tar.xz 5528452 BLAKE2B 16699a6e4df5b2f28a21776ae9e3728b26a9ea251f5580aa5349545ad7c9f6145b9cb6a12ca8f5f96b9cb2a3c70b7e66ca702e4c6f083ac00408e0a20a69e613 SHA512 a243f505e17d0a7e144e8713c077582412f61d6cf7f79baa846de4fb77f5e0f27e11c9a785e14624e04ac52287b32164e7995323aa11caef59113ac438254347
DIST glibc-2.36-patches-5.tar.xz 81348 BLAKE2B 003a59a992302c21132474bcdc994d10b5d50a94368e949ce28cbe389cefd104f66c48cb61a63d24e2f6db94d010e4220bda3fb5291d088cda88069b928c92e0 SHA512 6d6a16114df2223bf04729a79d12a52e41c9b8e756863c1acbb909dc34696958073604ced1b691579271218738511191ddf517e03a700d3948752c455201bcc4
DIST glibc-2.36.tar.xz 18610836 BLAKE2B f8375e084043f032609e66fd98c234249df57a595c59672acb1bb8c69aed64d339d526611553449492b097cda900ad1d9bae8873d7f5932b10a9a0d8c9210c55 SHA512 9ea0bbda32f83a85b7da0c34f169607fb8a102f0a11a914e6bf531be47d1bef4f5307128286cffa1e2dc5879f0e6ccaef527dd353486883fa332a0b44bde8b3e
DIST glibc-2.37-patches-5.tar.xz 37640 BLAKE2B a87fb239208eb6d65c96bf7687570d8d0919277410fe1e28c293fa7749ffa862417bc1fe6d0819e47a806b20e52d14de84b843fa879fe15b884b2742719caf87 SHA512 344276606b7330322df72ee964d3447d02907df92b5a1d20b9aa427e93727be907f915ecd62db45e994c46451bd09d5da95ef7bf1a27d247a57589c568e6cb20
DIST glibc-2.37.tar.xz 18674604 BLAKE2B 8139cd977b2ed3bfdbde5ffb1cda8f759763dbb83071167272fef798cfbdc0d17cfd1ec893d126c52c91511b7961f3ad12eed34534b99412dfa04a1cdd5b4ea3 SHA512 4fc5932f206bb1b8b54828a28af1a681616b838bbab60c81c82155f3629cbfe1301d271af65511ed917f4c6949a025429221fe6035753282f15346919f15b90c
DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
DIST locale-gen-2.22.tar.gz 7971 BLAKE2B 2dc66fa69bf51799d0c34459b654fba6998b80a7e322e9b670036c967e269ad921f50195e6e34c4a83c1f0bad191fd5aa3f37defb82271b73acbca07b7e49d08 SHA512 9798b10dbbc792345a7b7a121dec5f4bba9839a8aec010f01a09f3402fd5bf2376f79e03a6a19bc357010db780037a8811c381136ce19be1f1370374906dff38

View File

@ -1,15 +0,0 @@
[Unit]
Description=Name Service Cache Daemon
After=network.target
[Service]
ExecStart=/usr/sbin/nscd -F
ExecStop=/usr/sbin/nscd --shutdown
ExecReload=/usr/sbin/nscd -i passwd
ExecReload=/usr/sbin/nscd -i group
ExecReload=/usr/sbin/nscd -i hosts
ExecReload=/usr/sbin/nscd -i services
Restart=always
[Install]
WantedBy=multi-user.target

View File

@ -1,4 +0,0 @@
# Configuration to create /run/nscd directory
# Used as part of systemd's tmpfiles
d /run/nscd 0755 root root

View File

@ -1,12 +1,12 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
# Please read & adapt the page as necessary if obsolete.
PYTHON_COMPAT=( python3_{8..11} )
PYTHON_COMPAT=( python3_{9..11} )
TMPFILES_OPTIONAL=1
inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
@ -23,6 +23,19 @@ EMULTILIB_PKG="true"
PATCH_VER=5
PATCH_DEV=dilfridge
# gcc mulitilib bootstrap files version
GCC_BOOTSTRAP_VER=20201208
# systemd integration version
GLIBC_SYSTEMD_VER=20210729
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
# Minimum pax-utils version needed (which contains any new syscall changes for
# its seccomp filter!). Please double check this!
MIN_PAX_UTILS_VER="1.3.3"
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
@ -31,25 +44,10 @@ else
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
RELEASE_VER=${PV}
GCC_BOOTSTRAP_VER=20201208
LOCALE_GEN_VER=2.22
GLIBC_SYSTEMD_VER=20210729
SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )"
IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
# Minimum pax-utils version needed (which contains any new syscall changes for
# its seccomp filter!). Please double check this!
MIN_PAX_UTILS_VER="1.3.3"
IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd hash-sysv-compat headers-only +multiarch multilib multilib-bootstrap nscd perl profile selinux +ssp stack-realign +static-libs suid systemd systemtap test vanilla"
# Here's how the cross-compile logic breaks down ...
# CTARGET - machine that will target the binaries
@ -99,17 +97,21 @@ fi
# Lastly, let's avoid some openssh nastiness, bug 708224, as
# convenience to our users.
# gzip, grep, awk are needed by locale-gen, bug 740750
IDEPEND="
!compile-locales? ( sys-apps/locale-gen )
"
BDEPEND="
${PYTHON_DEPS}
>=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
sys-devel/bison
doc? ( sys-apps/texinfo )
!compile-locales? (
app-arch/gzip
sys-apps/grep
app-alternatives/awk
compile-locales? ( sys-apps/locale-gen )
doc? (
dev-lang/perl
sys-apps/texinfo
)
test? (
dev-lang/perl
>=net-dns/libidn2-2.3.0
)
"
COMMON_DEPEND="
@ -123,20 +125,10 @@ COMMON_DEPEND="
systemtap? ( dev-util/systemtap )
"
DEPEND="${COMMON_DEPEND}
compile-locales? (
app-arch/gzip
sys-apps/grep
app-alternatives/awk
)
test? ( >=net-dns/libidn2-2.3.0 )
"
RDEPEND="${COMMON_DEPEND}
app-arch/gzip
sys-apps/grep
app-alternatives/awk
sys-apps/gentoo-functions
!<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
!<net-misc/openssh-8.1_p1-r2
perl? ( dev-lang/perl )
"
RESTRICT="!test? ( test )"
@ -421,6 +413,7 @@ setup_flags() {
fi
strip-unsupported-flags
filter-lto
filter-flags -m32 -m64 '-mabi=*'
# glibc aborts if rpath is set by LDFLAGS
@ -439,6 +432,9 @@ setup_flags() {
# #492892
filter-flags -frecord-gcc-switches
# #898098
filter-flags -fno-builtin
# #829583
filter-lfs-flags
@ -456,6 +452,7 @@ setup_flags() {
# glibc's headers disallow -O0 and fail at build time:
# include/libc-symbols.h:75:3: #error "glibc cannot be compiled without optimization"
# https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F
replace-flags -O0 -O1
# glibc handles this internally already where it's appropriate;
@ -466,16 +463,16 @@ setup_flags() {
filter-flags '-fsanitize=*'
# See end of bug #830454; we handle this via USE=cet
#
# Flatcar: When bootstrapping, we may have a situation where
filter-flags '-fcf-protection=*'
# When bootstrapping, we may have a situation where
# CET-enabled gcc from seed is used to build CET-disabled
# glibc. As such, gcc implicitly enables CET if no
# -fcf-protection flag is passed. For a typical package it
# should not be a problem, but for glibc it matters as it is
# dealing with CET in ld.so. So if CET is supposed to be
# disabled for glibc, be explicit about it.
filter-flags '-fcf-protection=*'
if ! use cet; then
if (use amd64 || use x86) && ! use cet; then
append-flags '-fcf-protection=none'
fi
}
@ -665,7 +662,7 @@ foreach_abi() {
glibc_banner() {
local b="Gentoo ${PVR}"
[[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
[[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" (patchset ${PATCH_VER})"
echo "${b}"
}
@ -761,13 +758,6 @@ sanity_prechecks() {
fi
fi
# Users have had a chance to phase themselves, time to give em the boot
if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
eerror "You still haven't deleted ${EROOT}/etc/locales.build."
eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
die "Lazy upgrader detected"
fi
if [[ ${CTARGET} == i386-* ]] ; then
eerror "i386 CHOSTs are no longer supported."
eerror "Chances are you don't actually want/need i386."
@ -874,6 +864,8 @@ pkg_pretend() {
upgrade_warning
}
# pkg_setup
pkg_setup() {
# see bug 682570
[[ -z ${BOOTSTRAP_RAP} ]] && python-any-r1_pkg_setup
@ -902,23 +894,24 @@ src_unpack() {
unpack ${P}.tar.xz
cd "${WORKDIR}" || die
unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.xz
unpack glibc-${PV}-patches-${PATCH_VER}.tar.xz
fi
cd "${WORKDIR}" || die
unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
use systemd && unpack glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz
}
# src_prepare
src_prepare() {
local patchsetname
if ! use vanilla ; then
if [[ ${PV} == 9999* ]] ; then
patchsetname="from git master"
else
patchsetname="${RELEASE_VER}-${PATCH_VER}"
patchsetname="${PV}-${PATCH_VER}"
fi
einfo "Applying Gentoo Glibc Patchset ${patchsetname}"
einfo "Applying Gentoo Glibc patchset ${patchsetname}"
eapply "${WORKDIR}"/patches
einfo "Done."
fi
@ -927,21 +920,17 @@ src_prepare() {
gnuconfig_update
cd "${WORKDIR}"
cd "${WORKDIR}" || die
find . -name configure -exec touch {} +
# move the external locale-gen to its old place
mkdir extra || die
mv locale-gen-${LOCALE_GEN_VER} extra/locale || die
eprefixify extra/locale/locale-gen
# Fix permissions on some of the scripts.
chmod u+x "${S}"/scripts/*.sh
cd "${S}"
cd "${S}" || die
}
# src_configure
glibc_do_configure() {
dump_build_environment
@ -957,7 +946,7 @@ glibc_do_configure() {
# https://sourceware.org/PR22634#c0
case $(tc-arch ${CTARGET}) in
# Keep whitelist of targets where autodetection mostly works.
amd64|x86|sparc|ppc|ppc64|arm|arm64|s390) ;;
amd64|x86|sparc|ppc|ppc64|arm|arm64|s390|riscv|loong) ;;
# Blacklist everywhere else
*) myconf+=( libc_cv_ld_gnu_indirect_function=no ) ;;
esac
@ -1020,6 +1009,14 @@ glibc_do_configure() {
$(use_enable systemtap)
$(use_enable nscd)
# /usr/bin/mtrace has a Perl shebang. Gentoo Prefix QA checks fail if
# Perl hasn't been installed inside the prefix yet and configure picks
# up a Perl from outside the prefix instead. configure will fail to
# execute Perl during configure if we're cross-compiling a prefix, but
# it will just disable mtrace in that case.
# Note: mtrace is needed by the test suite.
ac_cv_path_PERL="$(usex perl "${EPREFIX}"/usr/bin/perl $(usex test "${EPREFIX}"/usr/bin/perl $(usex doc "${EPREFIX}"/usr/bin/perl no)))"
# locale data is arch-independent
# https://bugs.gentoo.org/753740
libc_cv_complocaledir='${exec_prefix}/lib/locale'
@ -1027,6 +1024,7 @@ glibc_do_configure() {
# -march= option tricks build system to infer too
# high ISA level: https://sourceware.org/PR27318
libc_cv_include_x86_isa_level=no
# Explicit override of https://sourceware.org/PR27991
# exposes a bug in glibc's configure:
# https://sourceware.org/PR27991
@ -1206,6 +1204,8 @@ src_configure() {
foreach_abi do_src_configure
}
# src_compile
do_src_compile() {
emake -C "$(builddir nptl)"
}
@ -1218,6 +1218,8 @@ src_compile() {
foreach_abi do_src_compile
}
# src_test
glibc_src_test() {
cd "$(builddir nptl)"
@ -1237,26 +1239,16 @@ glibc_src_test() {
SANDBOX_ON=0 LD_PRELOAD= TIMEOUTFACTOR=16 emake ${myxfailparams} check
}
do_src_test() {
local ret=0
glibc_src_test
: $(( ret |= $? ))
return ${ret}
}
src_test() {
if just_headers ; then
return
fi
# Give tests more time to complete.
export TIMEOUTFACTOR=5
foreach_abi do_src_test || die "tests failed"
foreach_abi glibc_src_test || die "tests failed"
}
# src_install
run_locale_gen() {
# if the host locales.gen contains no entries, we'll install everything
local root="$1"
@ -1276,7 +1268,15 @@ run_locale_gen() {
locale_list="${root%/}/usr/share/i18n/SUPPORTED"
fi
set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
# bug 736794: we need to be careful with the parallelization... the number of
# processors saved in the environment of a binary package may differ strongly
# from the number of processes available during postinst
local mygenjobs="$(makeopts_jobs)"
if [[ "${EMERGE_FROM}" == "binary" ]] ; then
mygenjobs="$(nproc)"
fi
set -- locale-gen ${inplace} --jobs "${mygenjobs}" --config "${locale_list}" \
--destdir "${root}"
echo "$@"
"$@"
@ -1305,7 +1305,8 @@ glibc_do_src_install() {
# Avoid stripping binaries not targeted by ${CHOST}. Or else
# ${CHOST}-strip would break binaries build for ${CTARGET}.
# is_crosscompile && dostrip -x /
# gdb thread introspection relies on local libpthreas symbols. stripping breaks it
# gdb thread introspection relies on local libpthreads symbols. stripping breaks it
# See Note [Disable automatic stripping]
# dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
@ -1318,6 +1319,17 @@ glibc_do_src_install() {
mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a "${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
fi
# We configure toolchains for standalone prefix systems with a sysroot,
# which is prepended to paths in ld scripts, so strip the prefix from these.
# Before: GROUP ( /foo/lib64/libc.so.6 /foo/usr/lib64/libc_nonshared.a AS_NEEDED ( /foo/lib64/ld-linux-x86-64.so.2 ) )
# After: GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
if [[ -n $(host_eprefix) ]] ; then
local file
grep -lZIF "ld script" "${ED}/$(alt_usrlibdir)"/lib*.{a,so} 2>/dev/null | while read -rd '' file ; do
sed -i "s|$(host_eprefix)/|/|g" "${file}" || die
done
fi
# We'll take care of the cache ourselves
rm -f "${ED}"/etc/ld.so.cache
@ -1412,6 +1424,8 @@ glibc_do_src_install() {
#################################################################
# EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
#################################################################
# Make sure we install some symlink hacks so that when we build
# a 2nd stage cross-compiler, gcc finds the target system
# headers correctly. See gcc/doc/gccinstall.info
@ -1435,15 +1449,8 @@ glibc_do_src_install() {
-e "s: \\\\::g" -e "s:/: :g" \
"${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
|| die "generating /usr/share/i18n/SUPPORTED failed"
cd "${WORKDIR}"/extra/locale
dosbin locale-gen
doman *.[0-8]
insinto /etc
doins locale.gen
keepdir /usr/lib/locale
cd "${S}"
cd "${S}" || die
# Install misc network config files
insinto /etc
@ -1488,7 +1495,6 @@ glibc_do_src_install() {
# Generate all locales if this is a native build as locale generation
if use compile-locales && ! is_crosscompile ; then
run_locale_gen --inplace-glibc "${ED}/"
sed -e 's:COMPILED_LOCALES="":COMPILED_LOCALES="1":' -i "${ED}"/usr/sbin/locale-gen || die
fi
## Flatcar Container Linux: Add some local changes:
@ -1585,6 +1591,9 @@ pkg_preinst() {
# nothing to do if just installing headers
just_headers && return
einfo "Checking general environment sanity."
sanity_prechecks
# prepare /etc/ld.so.conf.d/ for files
mkdir -p "${EROOT}"/etc/ld.so.conf.d

View File

@ -17,6 +17,7 @@
<flag name="multiarch">enable optimizations for multiple CPU architectures (detected at runtime)</flag>
<flag name="multilib-bootstrap">Provide prebuilt libgcc.a and crt files if missing. Only needed for ABI switch.</flag>
<flag name="nscd">Build, and enable support for, the Name Service Cache Daemon</flag>
<flag name="perl">Install additional scripts written in Perl</flag>
<flag name="ssp">protect stack of glibc internals</flag>
<flag name="stack-realign">Realign the stack in the 32-bit build for compatibility with older binaries at some performance cost</flag>
<flag name="static-pie">Enable static PIE support (runtime files for -static-pie gcc option).</flag>

View File

@ -1,69 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib-minimal toolchain-funcs
DESCRIPTION="C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp"
HOMEPAGE="https://github.com/BLAKE2/libb2"
GITHASH="73d41c8255a991ed2adea41c108b388d9d14b449"
SRC_URI="https://github.com/BLAKE2/libb2/archive/${GITHASH}.tar.gz -> ${P}.tar.gz"
LICENSE="CC0-1.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs native-cflags openmp"
DEPEND="
openmp? (
|| ( >=sys-devel/gcc-4.2:*[openmp] sys-devel/clang-runtime:*[openmp] )
)
"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${PN}-${GITHASH}
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_prepare() {
default
# fix bashism
sed -i -e 's/ == / = /' configure.ac || die
# https://github.com/BLAKE2/libb2/pull/28
echo 'libb2_la_LDFLAGS = -no-undefined' >> src/Makefile.am || die
eautoreconf # upstream doesn't make releases
}
multilib_src_configure() {
ECONF_SOURCE=${S} \
econf \
$(use_enable static-libs static) \
$(use_enable native-cflags native) \
$(use_enable openmp)
}
do_make() {
# respect our CFLAGS when native-cflags is not in effect
local openmp=$(use openmp && echo -fopenmp)
emake $(use native-cflags && echo no)CFLAGS="${CFLAGS} ${openmp}" "$@"
}
multilib_src_compile() {
do_make
}
multilib_src_test() {
do_make check
}
multilib_src_install_all() {
einstalldocs
find "${ED}" -name '*.la' -type f -delete || die
}

View File

@ -42,6 +42,14 @@ src_prepare() {
librhash/util.h || die
fi
# upstream fix for BSD and others, but was only applied for BSD
# we need support for Solaris, where we use a GNU toolchain, so use
# the original hack, hopefully next release has this fixed
# https://github.com/rhash/RHash/issues/238
if [[ ${CHOST} == *-solaris* ]] ; then
sed -i -e 's/^elif linux; then/else/' configure || die
fi
multilib_copy_sources
}

View File

@ -25,11 +25,7 @@ if [[ ${PV} == *9999* ]]; then
QEMU_DOCS_PREBUILT=0
EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/"
EGIT_SUBMODULES=(
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
subprojects/keycodemapdb
)
EGIT_SUBMODULES=()
inherit git-r3
SRC_URI=""
else
@ -440,6 +436,14 @@ check_targets() {
popd >/dev/null
}
if [[ ${PV} == 9999 ]]; then
src_unpack() {
git-r3_src_unpack
cd "${P}" || die
meson subprojects download keycodemapdb berkeley-softfloat-3 berkeley-testfloat-3 || die
}
fi
src_prepare() {
check_targets IUSE_SOFTMMU_TARGETS softmmu
check_targets IUSE_USER_TARGETS linux-user
@ -454,7 +458,7 @@ src_prepare() {
MAKEOPTS+=" V=1"
# Remove bundled modules
rm -r subprojects/dtc roms/*/ || die
rm -r roms/*/ || die
}
##

View File

@ -1,2 +1,2 @@
DIST gtest-1.11.0.tar.gz 886330 BLAKE2B d11fdd485f292d96508cbc27a9a444ab69b86571cc594298fd3f0e6d4bd8d6ec20dea848fe11be165d34054b2251ad377f0930f852914feaa1416ff156986a9c SHA512 6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28
DIST gtest-1.13.0.tar.gz 862871 BLAKE2B d2768332c233d62f7a5f5332b63dc587c96c24765b2eeaa4f4caf5d421b175aa850d81cec4f50eeef9e06d4b86cb959555b4c2862a197ce3cb86d61fcb51f5d1 SHA512 70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e
DIST gtest-1.14.0.tar.gz 867764 BLAKE2B c457f55ac572b9fb1553eee3df7eeeaf1e7dd2c3d747dd5e90dd279038fa5c71bb7b7d9ba1cf7e6143898b2a1d24d100584bd2a48ded41a426870c4825eec1b2 SHA512 765c326ccc1b87a01027385e69238266e356361cd4ee3e18e3c9d137a5d11fa5d657c164d02dd1be8fe693c8e10f2b580588dbfa57d27f070e2750f50d3e662c

View File

@ -1,14 +0,0 @@
Bug: https://bugs.gentoo.org/692464
https://bugs.gentoo.org/834068
--- a/googletest/src/gtest-death-test.cc
+++ b/googletest/src/gtest-death-test.cc
@@ -1070,7 +1070,7 @@
if (!use_fork) {
static const bool stack_grows_down = StackGrowsDown();
- const auto stack_size = static_cast<size_t>(getpagesize() * 2);
+ const auto stack_size = static_cast<size_t>(getpagesize() * 12);
// MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead.
void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE,
MAP_ANON | MAP_PRIVATE, -1, 0);

View File

@ -4,7 +4,7 @@
EAPI=8
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( python3_{10..12} )
inherit cmake-multilib python-any-r1
@ -13,15 +13,15 @@ if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-release-${PV}
S="${WORKDIR}"/googletest-${PV}
else
SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-${GOOGLETEST_COMMIT}
fi
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~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 ~ppc-macos ~x64-macos ~x64-solaris"
fi
DESCRIPTION="Google C++ Testing Framework"
@ -34,21 +34,10 @@ RESTRICT="!test? ( test )"
BDEPEND="test? ( ${PYTHON_DEPS} )"
PATCHES=(
"${FILESDIR}"/${PN}-1.10.0_p20200702-increase-clone-stack-size.patch
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
sed -i -e '/set(cxx_base_flags /s:-Werror::' \
googletest/cmake/internal_utils.cmake || die "sed failed!"
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
@ -57,11 +46,17 @@ multilib_src_configure() {
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
use test && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
cmake_src_configure
}
multilib_src_test() {
# Exclude tests that fail with FEATURES="usersandbox"
cmake_src_test -E "googletest-(death-test|port)-test"
}
multilib_src_install_all() {
einstalldocs

View File

@ -4,7 +4,7 @@
EAPI=8
# Python is required for tests and some build tasks.
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit cmake-multilib python-any-r1
@ -38,13 +38,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
sed -i -e '/set(cxx_base_flags /s:-Werror::' \
googletest/cmake/internal_utils.cmake || die "sed failed!"
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_GMOCK=ON
@ -53,8 +46,9 @@ multilib_src_configure() {
# tests
-Dgmock_build_tests=$(usex test)
-Dgtest_build_tests=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
use test && mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
cmake_src_configure
}

View File

@ -8,6 +8,8 @@ DIST Python-3.12.0b4.tar.xz 20244176 BLAKE2B 6f1d199fcce07b5ca4fbf5a24b382aac2af
DIST Python-3.12.0b4.tar.xz.asc 963 BLAKE2B 3ed0c47bd892791325598f20578bca72d8ffce9421c80d35c12b2a0d23611dfc329a2016f332950910990fcd9bd55e90753f547ca8a54dde039618b43c71a6b4 SHA512 ab2684cc4044bf39c8064ec7d41dc2d04f01c9bccf5404ec1fffbce89a3a831b4d7dac3613ef892988a16839aeb13cbc03a085fae5c086ee19d3bfb925dff6c0
DIST Python-3.12.0rc1.tar.xz 20285264 BLAKE2B 2cbf77e9405426c58714506c14281a941b4006219215d990f79672719eaa4f26c7b6356a1096400aae84d682c5a9622dfd8ea90dc635312efba6cd8c730d3f37 SHA512 67c38317e34aa1c4ced831cf50f74de21f9e40ce708397be3682d0c1012c3e0b2617d77525dc6c3246725dfc11b5448792adc0ef2e3741e818776bc5fba0c50d
DIST Python-3.12.0rc1.tar.xz.asc 963 BLAKE2B 852298edf878c891e53e317d21a31a5fbd6876aa958aae715a77c0bd27a508844964ad69280d15d59428375a14a8f97c24ce9ef64ab101020bd541d5125e8676 SHA512 319ce9c5d935dcbb5ea12468c5127b4541c1b8af443aef210bdd26030fc3eee062639601fd72e70428cc18179fafb33ad2527a0c262650c4da678544fd06d0b9
DIST Python-3.12.0rc2.tar.xz 20563748 BLAKE2B a6d474cab25fc50878539c214e5f80be59e4f5ab8a69432d4757db6add6ee9f5c04c08be01818b6bc4c6d4eb338eedb6ed350005e07b9af668c573bf10891146 SHA512 102fbce1db186e95df586eeb56e7a3c2c9dee388670aef9c9caf4eb652cad528291601186c8dee5653f064b2f606ccac37bcb81d5afe77853db768bc4291f8a4
DIST Python-3.12.0rc2.tar.xz.asc 963 BLAKE2B 6746c9455e292c43d2984a81879145302f3cfe45f447ea586387e5d70f713a2d36fa7055b62f00dbd2ab277ce7f0cc90b66d76a6bcc12df7e56cea67413deffc SHA512 e5cd0952fe20f7b5022be3bc057eb83ae64304640f0761bbf08382be733ed7e6ed75c113b844e827903634c701641644298f26e2d6624857760eda1908382428
DIST Python-3.8.18.tar.xz 20696952 BLAKE2B 45be712aeef8bb3ba04aa2bd7d0282aa5f817327749c620ede18ee307fcb432540db9062a8186b08b49467515c74f01eb6fa739f366cca76dfadedcb22858429 SHA512 0be1d85cafade25e99b8277ba51d7b9b3a3d2dbbcc52fd0d1c633c47982e5dd87fd7a0ca180a78d7801d79a8ecafa79bd9d501d544cd7b6da53ea409daa70adf
DIST Python-3.8.18.tar.xz.asc 833 BLAKE2B bc4e989748d53c6be7040e78d9f1852227c6a76f4c63a68824f5139defd51d1ea7988df01f961ff5c77382e156ef45fead2bb97bddbb38b208ddfa9c709e4f34 SHA512 99a0fd74fe19144819fd9522836474e10c1593787eb464694bdc6224b2d4a9331e31d2ecafc35c2bbb9bf67f20186295b28f9374c1fdcd05ac13f5f400219489
DIST Python-3.9.18.tar.xz 19673928 BLAKE2B 97da9bedaf29101e5df82199ac3ee12f1da74d5cc89de21ff1510c3f6d34d7f9194489e79855f1ab3c6f26768738e784cb7231c1a692fa746edd21d35558bc4e SHA512 aab155aca757d298394eddb91ff9a8f239665bd46feb495c6b6f735bbcb7489c05c858cc4cd08f1575c24f293b33492d763e9a140d92f0b2b0cc81a165a677c7
@ -18,5 +20,6 @@ DIST python-gentoo-patches-3.11.5.tar.xz 7124 BLAKE2B 04e19b0cce37794622d211fb77
DIST python-gentoo-patches-3.12.0b4_p2.tar.xz 8132 BLAKE2B 4c1df7c8e1dda483724d8c3bb8ab7a7739fcdee16eaf1a2a5aeedb6011c13769ee9f2d0b1cf849df12aaf3230c0771b16533496539e1a0fab633e38699c8a75f SHA512 9051311d1e31163d13b8d2b1981d700ad2cf297b30f8d2867df8fe535fdb7da11efcb6fef8a201a76ff05aa8ae91c3679eeee72a729dc7249714796f6af2be9f
DIST python-gentoo-patches-3.12.0rc1_p5.tar.xz 348764 BLAKE2B 8f71d6172ca4e557c195f4226d548f10b888842a110824db6c73613016d5b1c900545a2a3331519cc35cd9cc740fba3970737f40cdb64bd4d48e23a2be9e8be6 SHA512 e05f6e51a0689f0b5bdc745518742aebc3ae9fe145cb82c5e43a1a048df0ea4f11711ac4850726f807a73e232f76cfdc09c62d513ad0007acea7d5d5420c8569
DIST python-gentoo-patches-3.12.0rc1_p6.tar.xz 349384 BLAKE2B 975aae449a01a31c459b287a47bd4d1a2d8b0b39e594a1c976371acc4948765bcb4733dd9e10b70c87dfb9409d4db6b2492004841db61577576852634a40365c SHA512 f262d1a9291867e1bdc8f92c682338369b1b52f210d6db0c648c3bbabea68c6b596dfd8d13507f6d65de37d1b83beb336be3abff239d2a588054794b5bebeb81
DIST python-gentoo-patches-3.12.0rc2_p1.tar.xz 5168 BLAKE2B 399ad4854c46e0a2bdc7c3028cc5ad1807a1d6566654a1a85bf9a8a1b205aa7b57ab1706d8ae478b93f0938a9c205374b291aaac0c3356c05d99c5955633f541 SHA512 61ac3191e0dabbc9eeef54595e4071523205def60dca9c86fdb58d72971423d6d4b37a0875562b8f1ec8627230062aea765c07b771a9ce002a1026cdaacd507e
DIST python-gentoo-patches-3.8.18.tar.xz 32424 BLAKE2B 2e0b6e1c8e3df666934ba283214ca1577b01140dea00513f6420b0255650002e4bc4cb142076620227cd430bc2547123fd392883285886e543ef72ca466f8ea6 SHA512 b005f1054b726fc8c82a50b006309de64fb7858fe5c22cc7b160687d059a7859ec9388706b74a0e6c1f42301bed071dc639eb8cfae0d7c5eef2f565c63cc2d29
DIST python-gentoo-patches-3.9.18.tar.xz 25044 BLAKE2B 1d9ace5c5a0f1c15bc23595cc51d64b4c2b416552cdaaa960c3e34360aba3e7029a06e2a077212c68fa7aee4fd20f649a3b0926bd4ebb10e529e8350ab051e63 SHA512 bc180c3346dfae60a7db221d114146ee83409bc42092171eb05c83de528bf5f0e5654d1441f40ba839d0a98e866a5b43452fb7a72047c837497620a12097b8f5

View File

@ -0,0 +1,528 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
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 libedit lto
+ncurses pgo +readline +sqlite +ssl test tk valgrind
"
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-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[extra-filters(+)]
dev-python/ensurepip-pip
dev-python/ensurepip-setuptools
dev-python/ensurepip-wheel
)
valgrind? ( dev-util/valgrind )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
app-alternatives/awk
virtual/pkgconfig
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=${BROOT}/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
}
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
eautoreconf
}
src_configure() {
local disable
# 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
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# 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
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-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
-x test_gdb
-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
)
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
--with-system-expat
--with-platlibdir=lib
--with-pkg-config=yes
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with debug assertions)
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
$(use_with valgrind)
)
# 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
# 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[@]}"
--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
)
myeconfargs+=(
# Point the imminent CHOST build to the Python we just
# built for CBUILD.
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
)
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
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}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict "/usr/lib/python${PYVER}/site-packages"
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=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# workaround docutils breaking tests
cat > Lib/docutils.py <<-EOF || die
raise ImportError("Thou shalt not import!")
EOF
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite "/usr/lib/python${PYVER}/site-packages"
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local ret=${?}
rm Lib/docutils.py || die
[[ ${ret} -eq 0 ]] || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
# the Makefile rules are broken
# https://github.com/python/cpython/issues/100221
mkdir -p "${libdir}"/lib-dynload || die
# -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
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
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.11.0_beta4-r2; then
ewarn "Python 3.11.0b4 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.11 modules, e.g. using:"
ewarn
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
fi
done
}

View File

@ -0,0 +1,530 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
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 libedit lto
+ncurses pgo +readline +sqlite +ssl test tk valgrind
"
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-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[extra-filters(+)]
dev-python/ensurepip-pip
dev-python/ensurepip-setuptools
dev-python/ensurepip-wheel
)
valgrind? ( dev-util/valgrind )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
app-alternatives/awk
virtual/pkgconfig
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=${BROOT}/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
}
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
eautoreconf
}
src_configure() {
local disable
# 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
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# 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
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-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
-x test_gdb
-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
)
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
--with-system-expat
--with-platlibdir=lib
--with-pkg-config=yes
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with debug assertions)
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
$(use_with valgrind)
)
# disable implicit optimization/debugging flags
local -x OPT=
if tc-is-cross-compiler ; then
# 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[@]}"
--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
)
myeconfargs+=(
# Point the imminent CHOST build to the Python we just
# built for CBUILD.
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
)
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
# We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating
# libdir correctly for cross.
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
# Avoid as many dependencies as possible for the cross build.
cat >> Makefile <<-EOF || die
MODULE_NIS_STATE=disabled
MODULE__DBM_STATE=disabled
MODULE__GDBM_STATE=disabled
MODULE__DBM_STATE=disabled
MODULE__SQLITE3_STATE=disabled
MODULE__HASHLIB_STATE=disabled
MODULE__SSL_STATE=disabled
MODULE__CURSES_STATE=disabled
MODULE__CURSES_PANEL_STATE=disabled
MODULE_READLINE_STATE=disabled
MODULE__TKINTER_STATE=disabled
MODULE_PYEXPAT_STATE=disabled
MODULE_ZLIB_STATE=disabled
EOF
# 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.
PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake
popd &> /dev/null || die
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
# force-disable modules we don't want built
local disable_modules=( NIS )
use gdbm || disable_modules+=( _GDBM _DBM )
use sqlite || disable_modules+=( _SQLITE3 )
use ssl || disable_modules+=( _HASHLIB _SSL )
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
use readline || disable_modules+=( READLINE )
use tk || disable_modules+=( _TKINTER )
local mod
for mod in "${disable_modules[@]}"; do
echo "MODULE_${mod}_STATE=disabled"
done >> Makefile || die
# 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}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict "/usr/lib/python${PYVER}/site-packages"
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=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# workaround docutils breaking tests
cat > Lib/docutils.py <<-EOF || die
raise ImportError("Thou shalt not import!")
EOF
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite "/usr/lib/python${PYVER}/site-packages"
nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local ret=${?}
rm Lib/docutils.py || die
[[ ${ret} -eq 0 ]] || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
# the Makefile rules are broken
# https://github.com/python/cpython/issues/100221
mkdir -p "${libdir}"/lib-dynload || die
# -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
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
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.11.0_beta4-r2; then
ewarn "Python 3.11.0b4 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.11 modules, e.g. using:"
ewarn
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
fi
done
}

View File

@ -11,7 +11,7 @@ SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"

View File

@ -1,3 +1,2 @@
DIST cyrus-sasl-2.1.27-r6-patches.tar.bz2 5169 BLAKE2B 43a2f0db4a8589ec1cde7807b31a93459eacb04d27ba36751a69dd5f4e669d1b28342194b0e1a5382e281a52a35e88168877b54065cfba01b9bd33e87fbd23f1 SHA512 41c4ca7c8f7b79e03faf5d826a6ff0ed398137239b93fb0046ccbf385f6ddeab2b9fb2f51d7a263dc74626e5fdbefb28615a1ee22aabe57ed57f10a52d382797
DIST cyrus-sasl-2.1.28-r3-patches.tar.xz 4244 BLAKE2B 113da9bb58cce3643269fca88ea8d700aa20226d9536427c9068ef7b43499c2b78cbcb233d8db2418d84136c7edd629cc05f52b31cdfddfcb529f9a9fcb4effb SHA512 0cccbb27646dc118fbeea64b0cb688f312df97b31fced8c18d5230764cd5e2f0d48806bd2f5524aeddd02e8933cd835fb6f67dd3fbc1b0abfd1a3e1f0f53cf8a
DIST cyrus-sasl-2.1.28.tar.gz 4034803 BLAKE2B 6cca8c26cebb9c2ee5d539c43797d30b6309a476ec4233225789978e1d7315c4ea5d2abbc7f5464be0f3c0de5fd9212706b43fbc92f40b76cd0b1013cc00f823 SHA512 db15af9079758a9f385457a79390c8a7cd7ea666573dace8bf4fb01bb4b49037538d67285727d6a70ad799d2e2318f265c9372e2427de9371d626a1959dd6f78

View File

@ -1,221 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools edos2unix flag-o-matic multilib multilib-minimal pam db-use systemd toolchain-funcs tmpfiles
SASLAUTHD_CONF_VER="2.1.26"
MY_PATCH_VER="${PN}-2.1.27-r6-patches"
DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
HOMEPAGE="https://www.cyrusimap.org/sasl/"
#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VER}.tar.bz2"
LICENSE="BSD-with-attribution"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
REQUIRED_USE="ldapdb? ( openldap )"
DEPEND="net-mail/mailbase
virtual/libcrypt:=
authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
postgres? ( dev-db/postgresql:* )
sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-sasl )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/sasl/md5global.h
)
PATCHES=(
"${WORKDIR}"/${MY_PATCH_VER}/cyrus-sasl-2.1.25-auxprop.patch
"${WORKDIR}"/${MY_PATCH_VER}/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch
"${WORKDIR}"/${MY_PATCH_VER}/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch
"${FILESDIR}"/cyrus-sasl-2.1.28-fix-configure-time-check.patch
)
src_prepare() {
default
# Use plugindir for sasldir
# https://github.com/cyrusimap/cyrus-sasl/issues/339 (I think)
sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
"${S}"/plugins/Makefile.{am,in} || die "sed failed"
# bug #486740 and bug #468556 (dropped AM_CONFIG_HEADER sed in 2.1.28)
sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' configure.ac || die
eautoreconf
}
src_configure() {
export CC_FOR_BUILD="$(tc-getBUILD_CC)"
append-flags -fno-strict-aliasing
if [[ ${CHOST} == *-solaris* ]] ; then
# getpassphrase is defined in /usr/include/stdlib.h
append-cppflags -DHAVE_GETPASSPHRASE
else
# this horrendously breaks things on Solaris
append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
# replaces BSD_SOURCE (bug #579218)
append-cppflags -D_DEFAULT_SOURCE
fi
multilib-minimal_src_configure
}
multilib_src_configure() {
local myeconfargs=(
--enable-login
--enable-ntlm
--enable-auth-sasldb
--disable-cmulocal
--disable-krb4
--disable-macos-framework
--enable-otp
--without-sqlite
--with-saslauthd="${EPREFIX}"/run/saslauthd
--with-pwcheck="${EPREFIX}"/run/saslauthd
--with-configdir="${EPREFIX}"/etc/sasl2
--with-plugindir="${EPREFIX}/usr/$(get_libdir)/sasl2"
--with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
--with-sphinx-build=no
$(use_with ssl openssl)
$(use_with pam)
$(use_with openldap ldap)
$(use_enable ldapdb)
$(multilib_native_use_enable sample)
$(use_enable kerberos gssapi)
$(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
$(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql")
$(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)")
$(use_enable srp)
$(use_enable static-libs static)
# Add authdaemond support (bug #56523).
$(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
# Fix for bug #59634.
$(usex ssl '' --without-des)
# Use /dev/urandom instead of /dev/random (bug #46038).
$(usex urandom --with-devrandom=/dev/urandom '')
)
if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
myeconfargs+=( --enable-sql )
else
myeconfargs+=( --disable-sql )
fi
# Default to GDBM if both 'gdbm' and 'berkdb' are present.
if use gdbm ; then
einfo "Building with GNU DB as database backend for your SASLdb"
myeconfargs+=( --with-dblib=gdbm )
elif use berkdb ; then
einfo "Building with BerkeleyDB as database backend for your SASLdb"
myeconfargs+=(
--with-dblib=berkeley
--with-bdb-incdir="$(db_includedir)"
)
else
einfo "Building without SASLdb support"
myeconfargs+=( --with-dblib=none )
fi
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_install() {
default
if multilib_is_native_abi; then
if use sample ; then
docinto sample
dodoc "${S}"/sample/*.c
exeinto /usr/share/doc/${P}/sample
doexe sample/client sample/server
fi
dosbin saslauthd/testsaslauthd
fi
}
multilib_src_install_all() {
doman man/*
keepdir /etc/sasl2
# Reset docinto to default value (bug #674296)
docinto
dodoc AUTHORS ChangeLog doc/legacy/TODO
newdoc pwcheck/README README.pwcheck
newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
edos2unix "${ED}"/usr/share/doc/${PF}/release-notes
docinto html
dodoc doc/html/*.html
if use pam; then
newpamd "${FILESDIR}"/saslauthd.pam-include saslauthd
fi
newinitd "${FILESDIR}"/pwcheck.rc6 pwcheck
systemd_dounit "${FILESDIR}"/pwcheck.service
newinitd "${FILESDIR}"/saslauthd2.rc7 saslauthd
newconfd "${FILESDIR}"/saslauthd-${SASLAUTHD_CONF_VER}.conf saslauthd
systemd_dounit "${FILESDIR}"/saslauthd.service
dotmpfiles "${FILESDIR}"/${PN}.conf
# The get_modname bit is important: do not remove the .la files on
# platforms where the lib isn't called .so for cyrus searches the .la to
# figure out what the name is supposed to be instead
if ! use static-libs && [[ $(get_modname) == .so ]] ; then
find "${ED}" -name "*.la" -delete || die
fi
}
pkg_postinst() {
tmpfiles_process ${PN}.conf
# Generate an empty sasldb2 with correct permissions.
if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
einfo "Generating an empty sasldb2 with correct permissions ..."
echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
|| die "Failed to generate sasldb2"
"${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
|| die "Failed to delete temp user"
chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
|| die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
|| die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
fi
if use authdaemond ; then
elog "You need to add a user running a service using Courier's"
elog "authdaemon to the 'mail' group. For example, do:"
elog " gpasswd -a postfix mail"
elog "to add the 'postfix' user to the 'mail' group."
fi
elog "pwcheck and saslauthd home directories have moved to:"
elog " /run/saslauthd, using tmpfiles.d"
}

View File

@ -1,218 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools edos2unix flag-o-matic multilib multilib-minimal pam db-use systemd toolchain-funcs tmpfiles
SASLAUTHD_CONF_VER="2.1.26"
MY_PATCH_VER="${PN}-2.1.28-r3-patches"
DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
HOMEPAGE="https://www.cyrusimap.org/sasl/"
#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VER}.tar.xz"
LICENSE="BSD-with-attribution"
SLOT="2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
REQUIRED_USE="ldapdb? ( openldap )"
DEPEND="net-mail/mailbase
virtual/libcrypt:=
authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
postgres? ( dev-db/postgresql:* )
sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-sasl )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/sasl/md5global.h
)
PATCHES=(
"${WORKDIR}"/${MY_PATCH_VER}/
)
src_prepare() {
default
# Use plugindir for sasldir
# https://github.com/cyrusimap/cyrus-sasl/issues/339 (I think)
sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
"${S}"/plugins/Makefile.{am,in} || die "sed failed"
# bug #486740 and bug #468556 (dropped AM_CONFIG_HEADER sed in 2.1.28)
sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' configure.ac || die
eautoreconf
}
src_configure() {
export CC_FOR_BUILD="$(tc-getBUILD_CC)"
append-flags -fno-strict-aliasing
if [[ ${CHOST} == *-solaris* ]] ; then
# getpassphrase is defined in /usr/include/stdlib.h
append-cppflags -DHAVE_GETPASSPHRASE
else
# this horrendously breaks things on Solaris
append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
# replaces BSD_SOURCE (bug #579218)
append-cppflags -D_DEFAULT_SOURCE
fi
multilib-minimal_src_configure
}
multilib_src_configure() {
local myeconfargs=(
--enable-login
--enable-ntlm
--enable-auth-sasldb
--disable-cmulocal
--disable-krb4
--disable-macos-framework
--enable-otp
--without-sqlite
--with-saslauthd="${EPREFIX}"/run/saslauthd
--with-pwcheck="${EPREFIX}"/run/saslauthd
--with-configdir="${EPREFIX}"/etc/sasl2
--with-plugindir="${EPREFIX}/usr/$(get_libdir)/sasl2"
--with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
--with-sphinx-build=no
$(use_with ssl openssl)
$(use_with pam)
$(use_with openldap ldap)
$(use_enable ldapdb)
$(multilib_native_use_enable sample)
$(use_enable kerberos gssapi)
$(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
$(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql")
$(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)")
$(use_enable srp)
$(use_enable static-libs static)
# Add authdaemond support (bug #56523).
$(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
# Fix for bug #59634.
$(usex ssl '' --without-des)
# Use /dev/urandom instead of /dev/random (bug #46038).
$(usex urandom --with-devrandom=/dev/urandom '')
)
if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
myeconfargs+=( --enable-sql )
else
myeconfargs+=( --disable-sql )
fi
# Default to GDBM if both 'gdbm' and 'berkdb' are present.
if use gdbm ; then
einfo "Building with GNU DB as database backend for your SASLdb"
myeconfargs+=( --with-dblib=gdbm )
elif use berkdb ; then
einfo "Building with BerkeleyDB as database backend for your SASLdb"
myeconfargs+=(
--with-dblib=berkeley
--with-bdb-incdir="$(db_includedir)"
)
else
einfo "Building without SASLdb support"
myeconfargs+=( --with-dblib=none )
fi
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
multilib_src_install() {
default
if multilib_is_native_abi; then
if use sample ; then
docinto sample
dodoc "${S}"/sample/*.c
exeinto /usr/share/doc/${P}/sample
doexe sample/client sample/server
fi
dosbin saslauthd/testsaslauthd
fi
}
multilib_src_install_all() {
doman man/*
keepdir /etc/sasl2
# Reset docinto to default value (bug #674296)
docinto
dodoc AUTHORS ChangeLog doc/legacy/TODO
newdoc pwcheck/README README.pwcheck
newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
edos2unix "${ED}"/usr/share/doc/${PF}/release-notes
docinto html
dodoc doc/html/*.html
if use pam; then
newpamd "${FILESDIR}"/saslauthd.pam-include saslauthd
fi
newinitd "${FILESDIR}"/pwcheck.rc6 pwcheck
systemd_dounit "${FILESDIR}"/pwcheck.service
newinitd "${FILESDIR}"/saslauthd2.rc7 saslauthd
newconfd "${FILESDIR}"/saslauthd-${SASLAUTHD_CONF_VER}.conf saslauthd
systemd_dounit "${FILESDIR}"/saslauthd.service
dotmpfiles "${FILESDIR}"/${PN}.conf
# The get_modname bit is important: do not remove the .la files on
# platforms where the lib isn't called .so for cyrus searches the .la to
# figure out what the name is supposed to be instead
if ! use static-libs && [[ $(get_modname) == .so ]] ; then
find "${ED}" -name "*.la" -delete || die
fi
}
pkg_postinst() {
tmpfiles_process ${PN}.conf
# Generate an empty sasldb2 with correct permissions.
if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
einfo "Generating an empty sasldb2 with correct permissions ..."
echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
|| die "Failed to generate sasldb2"
"${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
|| die "Failed to delete temp user"
chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
|| die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
|| die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
fi
if use authdaemond ; then
elog "You need to add a user running a service using Courier's"
elog "authdaemon to the 'mail' group. For example, do:"
elog " gpasswd -a postfix mail"
elog "to add the 'postfix' user to the 'mail' group."
fi
elog "pwcheck and saslauthd home directories have moved to:"
elog " /run/saslauthd, using tmpfiles.d"
}

View File

@ -1,50 +0,0 @@
https://github.com/cyrusimap/cyrus-sasl/pull/709
From 399625c3413c313e93432d0f5907350722b861c7 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Wed, 23 Feb 2022 00:45:15 +0000
Subject: [PATCH] Fix <time.h> check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We're conditionally including based on HAVE_TIME_H in a bunch of places,
but we're not actually checking for time.h, so that's never going to be defined.
While at it, add in a missing include in the cram plugin.
This fixes a bunch of implicit declaration warnings:
```
* cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function time [-Wimplicit-function-declaration]
* cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function clock [-Wimplicit-function-declaration]
* cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function time [-Wimplicit-function-declaration]
* cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function time [-Wimplicit-function-declaration]
* cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function clock [-Wimplicit-function-declaration]
* cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function time [-Wimplicit-function-declaration]
```
Signed-off-by: Sam James <sam@gentoo.org>
--- a/configure.ac
+++ b/configure.ac
@@ -1290,7 +1290,7 @@ AC_CHECK_HEADERS_ONCE([sys/time.h])
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h)
+AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h time.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h)
IPv6_CHECK_SS_FAMILY()
IPv6_CHECK_SA_LEN()
--- a/plugins/cram.c
+++ b/plugins/cram.c
@@ -53,6 +53,10 @@
#endif
#include <fcntl.h>
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+
#include <sasl.h>
#include <saslplug.h>
#include <saslutil.h>

View File

@ -1,4 +1,3 @@
DIST glib-2.76.3.tar.xz 5273460 BLAKE2B 894635281d1a3eb60d274b8db91cd59069b6d0abe61295175c794ad44e8669d869009fac44c7d6f416a93adcea5b9aeb90b944047d013fa1f2d9b1a8ded3de1e SHA512 291b8913918d411b679442b888f56893a857a77decfe428086c8bd1da1949498938ddb0bf254ed99d192e4a09b5e8cee1905fd6932ee642463fb229cac7c226e
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
DIST glib-2.77.1.tar.xz 5305568 BLAKE2B bca94b2884e4d4ef3246a398c785a83d814986ca5dc49dbbfed471b0303b2ef1aaa194728b580cc12155a0791b75d217e978ca6b9eb7b7ee5314799b7570059f SHA512 0f32eb7dcc652a727331226324225864212e14d0b1adac4493eb92f34c562cabd50cf8a602dae1b877e7adb73e038d2cc1e8d641e71eab77497990af4afb4906
DIST glib-2.77.3.tar.xz 5316816 BLAKE2B 94d28c1526a19cb679a85f32bda159ee07862ce6aa0e2bb2e953c748d8cc790454603d3db8c748638754fef60e74a6e3584952804ff438b49fcfc009803a07b5 SHA512 d9727d67e63d7f8ce710bff497c183799b0192ac10900da87887bd76812aad9603e7f132d7eb4e8626787c427048aeafb4a28654ab808c676bcfc2b897e005d9
DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765

View File

@ -1,312 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_REQ_USE="xml(+)"
PYTHON_COMPAT=( python3_{10..11} )
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
DESCRIPTION="The GLib library of C routines"
HOMEPAGE="https://www.gtk.org/"
LICENSE="LGPL-2.1+"
SLOT="2"
IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
RESTRICT="!test? ( test )"
REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
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"
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
# within ELF binaries on that platform anyway and inspecting ELF binaries from
# other platforms is not that useful so exclude the dependency in this case.
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
# these are used by GIO, which glib[static-libs] consumers don't really seem
# to need at all, thus not imposing the deps for now and once some consumers
# are actually found to static link libgio-2.0.a, we can revisit and either add
# them or just put the (build) deps in that rare consumer instead of recursive
# RDEPEND here (due to lack of recursive DEPEND).
RDEPEND="
!<dev-util/gdbus-codegen-${PV}
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
elf? ( virtual/libelf:0= )
sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
# libxml2 used for optional tests that get automatically skipped
BDEPEND="
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
>=sys-devel/gettext-0.19.8
gtk-doc? ( >=dev-util/gtk-doc-1.33
app-text/docbook-xml-dtd:4.2
app-text/docbook-xml-dtd:4.5 )
systemtap? ( >=dev-util/systemtap-1.3 )
${PYTHON_DEPS}
test? ( >=sys-apps/dbus-1.2.14 )
virtual/pkgconfig
"
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
PDEPEND="
dbus? ( gnome-base/dconf )
mime? ( x11-misc/shared-mime-info )
"
# shared-mime-info needed for gio/xdgmime, bug #409481
# dconf is needed to be able to save settings, bug #498436
MULTILIB_CHOST_TOOLS=(
/usr/bin/gio-querymodules$(get_exeext)
)
PATCHES=(
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
)
pkg_setup() {
if use kernel_linux ; then
CONFIG_CHECK="~INOTIFY_USER"
if use test ; then
CONFIG_CHECK="~IPV6"
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
fi
linux-info_pkg_setup
fi
python-any-r1_pkg_setup
}
src_prepare() {
if use test; then
# TODO: Review the test exclusions, especially now with meson
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
if ! has_version dev-util/desktop-file-utils ; then
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
ewarn "think on installing it to get these tests run."
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
fi
# gdesktopappinfo requires existing terminal (gnome-terminal or any
# other), falling back to xterm if one doesn't exist
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
# ewarn "Some tests will be skipped due to missing terminal program"
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
# for backport (or in a bump) and file new issue if still fails
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
# desktop-app-info/launch* might fail similarly
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
#fi
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
ewarn "Tests for search-utils have been skipped"
sed -i -e "/search-utils/d" glib/tests/meson.build || die
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
else
# Don't build tests, also prevents extra deps, bug #512022
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
fi
# Don't build fuzzing binaries - not used
sed -i -e '/subdir.*fuzzing/d' meson.build || die
# gdbus-codegen is a separate package
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
sed -i -e '/install_dir/d' gio/tests/meson.build || die
cat > "${T}/glib-test-ld-wrapper" <<-EOF
#!/usr/bin/env sh
exec \${LD:-ld} "\$@"
EOF
chmod a+x "${T}/glib-test-ld-wrapper" || die
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
# make default sane for us
if use prefix ; then
sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
# bug #308609, without path, bug #314057
export PERL=perl
fi
if [[ ${CHOST} == *-solaris* ]] ; then
# fix standards conflicts
sed -i \
-e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
-e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
meson.build || die
sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
glib/giounix.c || die
fi
# disable native macOS integrations
sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
meson.build || die
sed -i \
-e '/AvailabilityMacros.h/d' \
gio/giomodule.c || die
default
gnome2_environment_reset
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
}
multilib_src_configure() {
# TODO: figure a way to pass appropriate values for all cross properties
# that glib uses (search for get_cross_property)
#if tc-is-cross-compiler ; then
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
# TODO-meson: This should be in meson cross file as 'growing_stack'
# property; and more, look at get_cross_property
#case ${CHOST} in
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
#*) export glib_cv_stack_grows=no ;;
#esac
#fi
local emesonargs=(
--buildtype $(usex debug debug plain)
-Ddefault_library=$(usex static-libs both shared)
-Druntime_dir="${EPREFIX}"/run
$(meson_feature selinux)
$(meson_use xattr)
-Dlibmount=enabled # only used if host_system == 'linux'
-Dman=true
$(meson_use systemtap dtrace)
$(meson_use systemtap)
$(meson_feature sysprof)
$(meson_native_use_bool gtk-doc gtk_doc)
$(meson_use test tests)
-Dinstalled_tests=false
-Dnls=enabled
-Doss_fuzz=disabled
$(meson_native_use_feature elf libelf)
-Dmultiarch=false
)
meson_src_configure
}
multilib_src_test() {
export XDG_CONFIG_DIRS=/etc/xdg
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
export LC_TIME=C # bug #411967
export TZ=UTC
unset GSETTINGS_BACKEND # bug #596380
python_setup
# https://bugs.gentoo.org/839807
local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
addpredict /usr/b
# Related test is a bit nitpicking
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
meson_src_test --timeout-multiplier 2 --no-suite flaky
}
multilib_src_install() {
meson_src_install
keepdir /usr/$(get_libdir)/gio/modules
}
multilib_src_install_all() {
# These are installed by dev-util/glib-utils
# TODO: With patching we might be able to get rid of the python-any deps
# and removals, and test depend on glib-utils instead; revisit now with
# meson
rm "${ED}/usr/bin/glib-genmarshal" || die
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
rm "${ED}/usr/bin/glib-mkenums" || die
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
rm "${ED}/usr/bin/gtester-report" || die
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
}
pkg_preinst() {
xdg_pkg_preinst
# Make gschemas.compiled belong to glib alone
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"/${cache} || die
else
touch "${ED}"${cache} || die
fi
multilib_pkg_preinst() {
# Make giomodule.cache belong to glib alone
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
if [[ -e ${EROOT}${cache} ]]; then
cp "${EROOT}"${cache} "${ED}"${cache} || die
else
touch "${ED}"${cache} || die
fi
}
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
# file due to inability to create it and GIO might not look at any of the modules there
if ! tc-is-cross-compiler ; then
multilib_foreach_abi multilib_pkg_preinst
fi
}
pkg_postinst() {
xdg_pkg_postinst
# glib installs no schemas itself, but we force update for fresh install in case
# something has dropped in a schemas file without direct glib dep; and for upgrades
# in case the compiled schema format could have changed
gnome2_schemas_update
multilib_pkg_postinst() {
gnome2_giomodule_cache_update \
|| die "Update GIO modules cache failed (for ${ABI})"
}
if ! tc-is-cross-compiler ; then
multilib_foreach_abi multilib_pkg_postinst
else
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
ewarn "You might want to run gio-querymodules manually on the target for"
ewarn "your final image for performance reasons and re-run it when packages"
ewarn "installing GIO modules get upgraded or added to the image."
fi
for v in ${REPLACING_VERSIONS}; do
if ver_test "$v" "-lt" "2.63.6"; then
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
ewarn "to restart your session for \"Open With\" dialogs to work."
fi
done
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
if [[ -z ${REPLACED_BY_VERSION} ]]; then
multilib_pkg_postrm() {
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
}
multilib_foreach_abi multilib_pkg_postrm
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
fi
}

View File

@ -1,118 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit libtool flag-o-matic multilib-minimal toolchain-funcs
MY_PV=${PV/_p*}
MY_PV=${MY_PV/_/-}
MANUAL_PV=${MY_PV}
MANUAL_PV=6.2.1
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
HOMEPAGE="https://gmplib.org/"
SRC_URI="
https://gmplib.org/download/gmp/${MY_P}.tar.xz
mirror://gnu/${PN}/${MY_P}.tar.xz
doc? ( https://gmplib.org/${PN}-man-${MANUAL_PV}.pdf )
"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-arm64-darwin.patch.bz2"
LICENSE="|| ( LGPL-3+ GPL-2+ )"
# The subslot reflects the C & C++ SONAMEs.
SLOT="0/10.4"
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="+asm doc +cxx pic static-libs"
BDEPEND="sys-devel/m4
app-arch/xz-utils"
S=${WORKDIR}/${MY_P%a}
DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
HTML_DOCS=( doc )
MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
PATCHES=(
"${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
"${FILESDIR}"/${PN}-6.2.1-no-zarch.patch
"${WORKDIR}"/${P}-arm64-darwin.patch
"${FILESDIR}"/${P}-CVE-2021-43618.patch
)
src_prepare() {
default
# We cannot run autotools here as gcc depends on this package
elibtoolize
# bug #536894
if [[ ${CHOST} == *-darwin* ]] ; then
eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
fi
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/usr/bin/env sh
exec env ABI="${GMPABI}" "$0.wrapped" "$@"
EOF
# Patches to original configure might have lost the +x bit.
chmod a+rx configure{,.wrapped} || die
}
multilib_src_configure() {
# Generally a very fragile package
strip-flags
# Miscompiled with LTO at least on arm64, bug #889948
filter-lto
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
# --with-pic forces static libraries to be built as PIC
# and without TEXTRELs. musl does not support TEXTRELs: bug #707332
ECONF_SOURCE="${S}" econf \
CC_FOR_BUILD="$(tc-getBUILD_CC)" \
--localstatedir="${EPREFIX}"/var/state/gmp \
--enable-shared \
$(use_enable asm assembly) \
$(use_enable cxx) \
$(use pic && echo --with-pic) \
$(use_enable static-libs static)
}
multilib_src_install() {
emake DESTDIR="${D}" install
# Should be a standalone lib
rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
# This requires libgmp
local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
if ! use static-libs ; then
rm -f "${la}"
fi
}
multilib_src_install_all() {
einstalldocs
use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/
}

View File

@ -26,7 +26,7 @@ S="${WORKDIR}"/${MY_P%a}
LICENSE="|| ( LGPL-3+ GPL-2+ )"
# The subslot reflects the C & C++ SONAMEs.
SLOT="0/10.4"
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="+asm doc +cpudetection +cxx pic static-libs"
REQUIRED_USE="cpudetection? ( asm )"
RESTRICT="!cpudetection? ( bindist )"

View File

@ -1 +1,2 @@
DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916
DIST gobject-introspection-1.78.0.tar.xz 1060136 BLAKE2B ae95ad5cec48f0eb001e1ba65cd6e88ab8846d1ab6721ac421f6077f1a69fca1989a0631a7c852361d4b92f7f25503e3f505e734055d3f61530f829924f37972 SHA512 b7749295437255d45f5f842195315105d7b85bddb20bf205c7bd7f0c9e9e77fe1db2c84af6d784b54fb0d8eef488895f5eb9439ccf4ca81d03e802802b13e5dd

View File

@ -0,0 +1,30 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GNOME_ORG_MODULE="gobject-introspection"
inherit gnome.org
DESCRIPTION="Build infrastructure for GObject Introspection"
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
LICENSE="HPND"
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="!<${CATEGORY}/${GNOME_ORG_MODULE}-${PV}"
# Use !<${PV} because mixing gobject-introspection with different version of -common can cause issues like:
# https://forums.gentoo.org/viewtopic-p-7421930.html
src_configure() { :; }
src_compile() { :; }
src_install() {
insinto /usr/share/aclocal
doins m4/introspection.m4
insinto /usr/share/gobject-introspection-1.0
doins Makefile.introspection
}

View File

@ -1 +1,2 @@
DIST gobject-introspection-1.76.1.tar.xz 1055416 BLAKE2B 2251c34b543c95f95bdec6853c8234db1b2e6271e729eaa5abf28e39c7718b326e0813a1214c62fb4634fd11218c4c856e6651de09081b01c9fcf8f73b8cf316 SHA512 84331a30f8854d2259609650c21aadd6363ea1417a75828bd395f8f4346da1c6d6550cff5f2c9f5f6fd6fbf2a9d27b5880c2ee1616fa905c5f362384d481a916
DIST gobject-introspection-1.78.0.tar.xz 1060136 BLAKE2B ae95ad5cec48f0eb001e1ba65cd6e88ab8846d1ab6721ac421f6077f1a69fca1989a0631a7c852361d4b92f7f25503e3f505e734055d3f61530f829924f37972 SHA512 b7749295437255d45f5f842195315105d7b85bddb20bf205c7bd7f0c9e9e77fe1db2c84af6d784b54fb0d8eef488895f5eb9439ccf4ca81d03e802802b13e5dd

View File

@ -0,0 +1,79 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="xml(+)"
inherit gnome.org meson python-single-r1 xdg
DESCRIPTION="Introspection system for GObject-based libraries"
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
LICENSE="LGPL-2+ GPL-2+"
SLOT="0"
IUSE="doctool gtk-doc test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
# virtual/pkgconfig needed at runtime, bug #505408
RDEPEND="
>=dev-libs/gobject-introspection-common-${PV}
>=dev-libs/glib-2.$(($(ver_cut 2) - 1)).0:2
dev-libs/libffi:=
doctool? (
$(python_gen_cond_dep '
dev-python/mako[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
')
)
virtual/pkgconfig
${PYTHON_DEPS}
"
# Wants real bison, not app-alternatives/yacc
DEPEND="${RDEPEND}"
BDEPEND="
gtk-doc? (
>=dev-util/gtk-doc-1.19
app-text/docbook-xml-dtd:4.3
app-text/docbook-xml-dtd:4.5
)
sys-devel/bison
sys-devel/flex
test? (
x11-libs/cairo[glib]
$(python_gen_cond_dep '
dev-python/mako[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
')
)
"
pkg_setup() {
python-single-r1_pkg_setup
}
src_configure() {
local emesonargs=(
$(meson_feature test cairo)
$(meson_feature doctool)
#-Dglib_src_dir
$(meson_use gtk-doc gtk_doc)
#-Dcairo_libname
-Dpython="${EPYTHON}"
#-Dgir_dir_prefix
)
meson_src_configure
}
src_install() {
meson_src_install
python_fix_shebang "${ED}"/usr/bin/
python_optimize "${ED}"/usr/$(get_libdir)/gobject-introspection/giscanner
# Prevent collision with gobject-introspection-common
rm -v "${ED}"/usr/share/aclocal/introspection.m4 \
"${ED}"/usr/share/gobject-introspection-1.0/Makefile.introspection || die
rmdir "${ED}"/usr/share/aclocal || die
}

View File

@ -38,6 +38,7 @@ BDEPEND="
${RDEPEND}
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
python? (
${DISTUTILS_DEPS}
dev-lang/swig

View File

@ -38,6 +38,7 @@ BDEPEND="
${RDEPEND}
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
python? (
${DISTUTILS_DEPS}
dev-lang/swig

View File

@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~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 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
REQUIRED_USE="
readline? ( !libedit )

View File

@ -1,3 +1 @@
DIST jaraco.functools-3.8.0.tar.gz 16251 BLAKE2B 15735a053b395173de2568d13d54d0a770477f72e138998abb67f24314d13ae1a008a2b373979dfb8b3b8955754758e07eb5981459b793ba4b6839e6aefbdda8 SHA512 923e94f54c46896d89db6b4a0c5d803996dc5caddd6a3ada66f943b58afd1750f5403d10de5ab87f93e57c3eab43806401f7c6b5a8265938793d45cba93df688
DIST jaraco.functools-3.8.1.tar.gz 16210 BLAKE2B 2e49829c4eda4ba9228c8972b1971c1a42bb972e5a7f0ef9994313b4b07cb8395c0b0ccc15c5f285a6a224ad60dec65901742c5f162156c4be96257a9ef9f67c SHA512 0ffd8fc0e973b0ee957cbc074dcae790530c6a944a54ae36e3feee954a59765663b8a734e5c1d1e56975c958b47560eb1f23b510028fee6cf682aeaf175c9460
DIST jaraco.functools-3.9.0.tar.gz 17221 BLAKE2B 2476e7cc9440ac21abf4c7d4d5af5d98f7a48c6fb55ef93428936265843a0e9bd02b22e8a2a748e7844015c530bc46ad67be8447b0eddb9b7ddcc1522b53c42b SHA512 5ec081aa07e736b6cacc1f6213e3212b4828824e86033b440d4fc630b0a9cf8e67497b37a239e167e421c41852ea6c0c65a4ccd39d73cc7f1cb831f605b86f00

View File

@ -1,56 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
PYTHON_COMPAT=( pypy3 python3_{10..12} )
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
}

View File

@ -1,56 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
PYTHON_COMPAT=( pypy3 python3_{10..12} )
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
}

View File

@ -19,7 +19,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}]

View File

@ -1,2 +1 @@
DIST nspektr-0.4.0.tar.gz 7734 BLAKE2B 66a52f5080c78accc75e2193dab6d07a6257330f9938ac463c160d7e1f9740294416657193e5831f564354eb0dc3112a9ab41676e1c928ac40769d2a4d218089 SHA512 c8e8dcadd3ccd49bc9b1a38d2ff9f1d8d6f85665d3830cc9d7975ec1c63b1e2f1a7a64e12457701ca658e2e0e30cac7652be6d706a4e47ba6a61ae76d9be8875
DIST nspektr-0.5.0.tar.gz 8573 BLAKE2B a96aaaee5cd309272d5b0c78eaf9793baf1406e427a142595b67693d513d5badac064149587c02cdf02cdd7720fafeb2787fc98a9db79cc573e77d6158afd4d4 SHA512 b7293a6ccb34a5c4b87a9b28de170322296adf2d883e7671df05ac06453023190ed588eb8e1677b7c5383b6fc5962c079d363ebb214ebb9f8516cfd2039e6167

View File

@ -1,54 +0,0 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1 pypi
DESCRIPTION="Distribution package dependency inspector"
HOMEPAGE="
https://github.com/jaraco/nspektr/
https://pypi.org/project/nspektr/
"
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-r2[${PYTHON_USEDEP}]
>=dev-python/jaraco-functools-3.5.0-r2[${PYTHON_USEDEP}]
>=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
>=dev-python/packaging-21.3-r2[${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 = "nspektr"
version = "${PV}"
description = "package inspector"
# tests inspect itself
[project.optional-dependencies]
docs = [
"fake-nonexisting",
]
testing = [
"pytest",
]
EOF
}

View File

@ -17,7 +17,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-r2[${PYTHON_USEDEP}]

View File

@ -1,2 +1 @@
DIST Pygments-2.15.1.tar.gz 4819591 BLAKE2B f42d3342b88c5b5745fbfbd1f76913f7d17745d396311a39627aca8e968445b19983e7c633583097c495ce6f43a6a7224262a7c35645751803b6c1172062d8c0 SHA512 408f0bbbc8226ee91b82ed084d178f114657150bcf9381dd34debb704399ccdb2e78cb5578ff297797771660d7263c51c305d03b2a27ae29269110be0bca50a9
DIST Pygments-2.16.1.tar.gz 4872980 BLAKE2B 57ec4f52f2bca3d9df993f583434d61ad0adbc2719f2d0b4ac84160672a3a57ec144509c520f2724a15f0222548abfbe0e743fa31a8dac64d54111b2d7393ae4 SHA512 9b66c79c03e7ecd36cc00efd428a0a6b372e70dbccdcaae26eff4d56c07a17e2e00d2cf0291eb6624ffd1c896b797789b973e80ccbca4240d56daad95eacfd80

View File

@ -1,43 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN^}
PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1 bash-completion-r1 pypi
DESCRIPTION="Pygments is a syntax highlighting package written in Python"
HOMEPAGE="
https://pygments.org/
https://github.com/pygments/pygments/
https://pypi.org/project/Pygments/
"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
BDEPEND="
test? (
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
virtual/ttf-fonts
)
"
EPYTEST_DESELECT=(
# fuzzing tests, very slow
tests/test_basic_api.py::test_random_input
)
distutils_enable_tests pytest
src_install() {
distutils-r1_src_install
newbashcomp external/pygments.bashcomp pygmentize
}

View File

@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
BDEPEND="
test? (

View File

@ -1,4 +1,3 @@
DIST glib-2.76.3.tar.xz 5273460 BLAKE2B 894635281d1a3eb60d274b8db91cd59069b6d0abe61295175c794ad44e8669d869009fac44c7d6f416a93adcea5b9aeb90b944047d013fa1f2d9b1a8ded3de1e SHA512 291b8913918d411b679442b888f56893a857a77decfe428086c8bd1da1949498938ddb0bf254ed99d192e4a09b5e8cee1905fd6932ee642463fb229cac7c226e
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
DIST glib-2.77.1.tar.xz 5305568 BLAKE2B bca94b2884e4d4ef3246a398c785a83d814986ca5dc49dbbfed471b0303b2ef1aaa194728b580cc12155a0791b75d217e978ca6b9eb7b7ee5314799b7570059f SHA512 0f32eb7dcc652a727331226324225864212e14d0b1adac4493eb92f34c562cabd50cf8a602dae1b877e7adb73e038d2cc1e8d641e71eab77497990af4afb4906
DIST glib-2.77.3.tar.xz 5316816 BLAKE2B 94d28c1526a19cb679a85f32bda159ee07862ce6aa0e2bb2e953c748d8cc790454603d3db8c748638754fef60e74a6e3584952804ff438b49fcfc009803a07b5 SHA512 d9727d67e63d7f8ce710bff497c183799b0192ac10900da87887bd76812aad9603e7f132d7eb4e8626787c427048aeafb4a28654ab808c676bcfc2b897e005d9
DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765

View File

@ -1,74 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GNOME_ORG_MODULE="glib"
PYTHON_COMPAT=( python3_{9..12} )
PYTHON_REQ_USE="xml(+)"
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_SINGLE_IMPL=1
inherit gnome.org distutils-r1
DESCRIPTION="GDBus code and documentation generator"
HOMEPAGE="https://www.gtk.org/"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
RDEPEND="${PYTHON_DEPS}"
DEPEND="${RDEPEND}"
BDEPEND="
dev-libs/libxslt
app-text/docbook-xsl-stylesheets
"
S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen"
python_prepare_all() {
PATCHES=(
"${FILESDIR}/${PN}-2.56.1-sitedir.patch"
)
distutils-r1_python_prepare_all
local MAJOR_VERSION=$(ver_cut 1)
local MINOR_VERSION=$(ver_cut 2)
sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die
sed -e "s:@VERSION@:${PV}:" \
-e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \
-e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die
cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed"
sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed"
}
do_xsltproc_command() {
# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils)
xsltproc \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0 \
-o "${2}" \
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
"${1}" || die "manpage generation failed"
}
src_compile() {
distutils-r1_src_compile
do_xsltproc_command \
"${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.xml" \
"${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
}
src_test() {
einfo "Skipping tests. This package is tested by dev-libs/glib"
einfo "when merged with FEATURES=test"
}
python_install_all() {
distutils-r1_python_install_all # no-op, but prevents QA warning
doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
}

View File

@ -1,4 +1,3 @@
DIST glib-2.76.3.tar.xz 5273460 BLAKE2B 894635281d1a3eb60d274b8db91cd59069b6d0abe61295175c794ad44e8669d869009fac44c7d6f416a93adcea5b9aeb90b944047d013fa1f2d9b1a8ded3de1e SHA512 291b8913918d411b679442b888f56893a857a77decfe428086c8bd1da1949498938ddb0bf254ed99d192e4a09b5e8cee1905fd6932ee642463fb229cac7c226e
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
DIST glib-2.77.1.tar.xz 5305568 BLAKE2B bca94b2884e4d4ef3246a398c785a83d814986ca5dc49dbbfed471b0303b2ef1aaa194728b580cc12155a0791b75d217e978ca6b9eb7b7ee5314799b7570059f SHA512 0f32eb7dcc652a727331226324225864212e14d0b1adac4493eb92f34c562cabd50cf8a602dae1b877e7adb73e038d2cc1e8d641e71eab77497990af4afb4906
DIST glib-2.77.3.tar.xz 5316816 BLAKE2B 94d28c1526a19cb679a85f32bda159ee07862ce6aa0e2bb2e953c748d8cc790454603d3db8c748638754fef60e74a6e3584952804ff438b49fcfc009803a07b5 SHA512 d9727d67e63d7f8ce710bff497c183799b0192ac10900da87887bd76812aad9603e7f132d7eb4e8626787c427048aeafb4a28654ab808c676bcfc2b897e005d9
DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765

View File

@ -1,62 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
GNOME_ORG_MODULE="glib"
inherit gnome.org python-single-r1
DESCRIPTION="Build utilities for GLib using projects"
HOMEPAGE="https://www.gtk.org/"
LICENSE="LGPL-2.1+"
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
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="${PYTHON_DEPS}"
DEPEND="${RDEPEND}"
BDEPEND="
dev-libs/libxslt
app-text/docbook-xsl-stylesheets
"
src_configure() { :; }
do_xsltproc_command() {
# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/gdbus-codegen)
xsltproc \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0 \
-o "${2}" \
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
"${1}" || die "manpage generation failed"
}
src_compile() {
sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die
sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die
sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die
do_xsltproc_command docs/reference/gobject/glib-genmarshal.xml docs/reference/gobject/glib-genmarshal.1
do_xsltproc_command docs/reference/gobject/glib-mkenums.xml docs/reference/gobject/glib-mkenums.1
do_xsltproc_command docs/reference/glib/gtester-report.xml docs/reference/glib/gtester-report.1
}
src_install() {
python_fix_shebang gobject/glib-genmarshal
python_fix_shebang gobject/glib-mkenums
python_fix_shebang glib/gtester-report
exeinto /usr/bin
doexe gobject/glib-genmarshal
doexe gobject/glib-mkenums
doexe glib/gtester-report
doman docs/reference/gobject/glib-genmarshal.1
doman docs/reference/gobject/glib-mkenums.1
doman docs/reference/glib/gtester-report.1
}

View File

@ -276,6 +276,12 @@ multilib_src_configure() {
)
fi
if [[ ${CHOST} == *mingw* ]] ; then
myconf+=(
--disable-pthreads
)
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
if ! multilib_is_native_abi; then

View File

@ -282,6 +282,12 @@ multilib_src_configure() {
)
fi
if [[ ${CHOST} == *mingw* ]] ; then
myconf+=(
--disable-pthreads
)
fi
ECONF_SOURCE="${S}" econf "${myconf[@]}"
if ! multilib_is_native_abi; then

View File

@ -17,6 +17,10 @@
#--- END OF EXAMPLES ---
# Sam James <sam@gentoo.org> (2023-09-07)
# media-libs/roc-toolkit is not keyworded in most places
media-video/pipewire -roc
# Matt Jolly <matt.jolly@footclan.ninja> (2023-08-10)
# 'ssl' USE required for curl's nghttp3/quic support
net-libs/ngtcp2 -ssl

View File

@ -48,11 +48,6 @@ net-misc/curl rustls curl_ssl_rustls
media-libs/gst-plugins-bad qsv
media-video/ffmpeg qsv
# Kai-Chun Ning <kaichun.ning@gmail.com> (2022-05-23)
# Dependency media-libs/intel-hybrid-codec-driver is only available on unstable
# branch
media-libs/libva-intel-driver hybrid
# Adel Kara Slimane <adel.ks@zegrapher.com> (2022-03-14)
# needs stabilizing
media-video/ffmpeg vmaf

View File

@ -83,10 +83,6 @@ media-video/mjpg-streamer -input-raspicam
# dev-games/ogre doesn't build on arm64, see https://bugs.gentoo.org/806776#c12
dev-games/mygui ogre
# Georgy Yakovlev <gyakovlev@gentoo.org> (2021-08-02)
# pandoc not keyworded on arm64
sys-apps/exa man
# Georgy Yakovlev <gyakovlev@gentoo.org> (2021-07-24)
# not supported on arm64
sys-boot/grub grub_platforms_qemu grub_platforms_uboot

View File

@ -1,6 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2023-09-07)
# media-libs/roc-toolkit is not keyworded in most places
media-video/pipewire roc
# Sam James <sam@gentoo.org> (2023-07-18)
# dev-cpp/cppdap is not keyworded in most places
dev-util/cmake dap

View File

@ -1,6 +1,11 @@
# Copyright 2022 Gentoo Authors
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# WANG Xuerui <xen0n@gentoo.org> (2023-09-10)
# Has correctness issues on loong (failing test_encode_long_neg_conversion),
# pending debug.
dev-python/ujson
# WANG Xuerui <xen0n@gentoo.org> (2022-12-05)
# sys-boot/gnu-efi upstream hasn't merged the loong port yet
app-crypt/efitools
@ -9,4 +14,3 @@ app-crypt/sbsigntools
sys-apps/fwupd-efi
sys-boot/elilo
sys-boot/refind
sys-kernel/installkernel-systemd-boot

View File

@ -1,6 +1,12 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# WANG Xuerui <xen0n@gentoo.org> (2023-09-10)
# Revdeps of dev-python/ujson which is masked.
dev-python/cattrs test
dev-python/requests-cache test
dev-python/ruamel-std-pathlib test
# Andrew Ammerlaan <andrewammerlaan@gentoo.org> (2023-08-30)
# Avoid having to keyword more Qt deps
dev-python/pyside2 3d datavis script location scxml

View File

@ -75,6 +75,7 @@ media-video/obs-studio browser
# Joonas Niilola <juippis@gentoo.org> (2021-06-23)
# Pandoc is a required dep, and not keyworded.
sys-apps/exa man
sys-apps/eza man
# Matt Turner <mattst88@gentoo.org> (2021-06-10)
# dev-python/django is not keyworded here

View File

@ -6,6 +6,11 @@
# This file is only for generic masks. For arch-specific masks (i.e.
# mask everywhere, unmask on arch/*) use arch/base.
# Sam James <sam@gentoo.org> (2023-09-09)
# Needs <dev-libs/openssl-3 which is EOL on 2023-09-11. Please upgrade immediately.
# See bug #913685.
sci-libs/gloo ssl
# WANG Xuerui <xen0n@gentoo.org> (2023-08-28)
# Breaks multiple high-profile packages depending on outdated proc-macro2 when
# USE=nightly and using an affected Rust version; keep until revdep problems

View File

@ -4,6 +4,11 @@
# This file is only for generic masks. For arch-specific masks (i.e.
# mask everywhere, unmask on arch/*) use arch/base.
# David Seifert <soap@gentoo.org> (2023-09-09)
# EOL upstream in 2 months, causes major headaches for OpenSSL 1.1
# masking. Removal on 2023-10-09.
php_targets_php8-0
# Hans de Graaff <graaff@gentoo.org> (2023-08-19)
# Ruby 3.0 is not compatible with OpenSSL 3. Please upgrade to a newer
# Ruby version.
@ -11,7 +16,6 @@ ruby_targets_ruby30
# Michael Orlitzky <mjo@gentoo.org> (2023-08-11)
# PHP 7.x is end-of-life. Please upgrade to a newer slot.
php_targets_php7-3
php_targets_php7-4
# Hans de Graaff <graaff@gentoo.org> (2023-04-10)
@ -37,11 +41,6 @@ sysprof
# See e.g. bug #753323, bug #822690.
pch
# Brian Evans <grknight@gentoo.org> (2021-01-07)
# PHP 7.2 is security vulnerable and end-of-life
# Please upgrade to a newer slot
php_targets_php7-2
# Matt Turner <mattst88@gentoo.org> (2019-09-01)
# app-office/texmacs is package.mask'd. Bug #436400
texmacs

View File

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# This file contains descriptions of the PHP_TARGETS USE_EXPAND flags
@ -7,5 +7,3 @@ php8-2 - Build against PHP 8.2
php8-1 - Build against PHP 8.1
php8-0 - Build against PHP 8.0
php7-4 - Build against PHP 7.4
php7-3 - Build against PHP 7.3
php7-2 - Build against PHP 7.2

View File

@ -24,7 +24,8 @@ USE_EXPAND_UNPREFIXED="ARCH"
USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL"
USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-linux arm arm64 hppa ia64 loong m68k mips ppc ppc64 ppc64-linux ppc-macos riscv s390 sparc x64-macos x64-solaris x86 x86-linux"
USE_EXPAND_VALUES_ELIBC="bionic Darwin glibc mingw musl SunOS"
USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS"
# Note that we keep Winnt here for cross, especially for cmake.eclass (bug #910605)
USE_EXPAND_VALUES_KERNEL="Darwin linux SunOS Winnt"
# Env vars to expand into USE vars. Modifying this requires prior
# discussion on gentoo-dev@lists.gentoo.org.

View File

@ -43,6 +43,7 @@ dev-python/mkdocs-git-authors-plugin
dev-python/mkdocs-i18n
dev-python/mkdocs-material-extensions
dev-python/mkdocs-git-revision-date-localized-plugin
dev-python/nh3
>=dev-python/notebook-7
dev-python/oauthlib
dev-python/openapi-core
@ -68,6 +69,7 @@ dev-python/python-jose
dev-python/python-neutronclient
dev-python/python-openstackclient
dev-python/python-sshpubkeys
dev-python/readme-renderer
dev-python/referencing
dev-python/requests-kerberos
dev-python/requests-oauthlib
@ -93,6 +95,7 @@ dev-util/git-delta
dev-util/maturin
dev-util/selenium-manager
dev-util/tree-sitter-cli
dev-vcs/breezy
>=dev-vcs/stgit-2
>=games-board/gnome-mahjongg-3.40.0
gnome-base/gdm
@ -117,6 +120,7 @@ net-news/newsboat
net-p2p/deluge
sci-geosciences/gnome-maps
>=sys-apps/bat-0.18.1
>=sys-block/thin-provisioning-tools-1.0.6
sys-fs/bcachefs-tools
virtual/rust
www-apps/radicale

View File

@ -1,6 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Sam James <sam@gentoo.org> (2023-09-06)
# sys-block/thin-provisioning-tools now needs Rust.
>=sys-fs/lvm2-2.03.22-r2 thin
# Hans de Graaff <graaff@gentoo.org> (2023-09-03)
# selenium-webdriver is needed for these tests but that requires
# selenium-manager which requires rust (#912999)

View File

@ -33,6 +33,77 @@
#--- END OF EXAMPLES ---
# Leonardo Hernández Hernández <leohdz172@proton.me> (2023-09-10)
# Upstream has marked this packaged as unmaintained[0] and recommends usage of
# the active fork eza[1] available as sys-apps/eza
# Please transition to the new package.
# Removal: 2023-10-10. Bug #913737.
# [0]: https://github.com/ogham/exa/commit/fb05c421ae98e076989eb6e8b1bcf42c07c1d0fe
# [1]: https://github.com/eza-community/eza
sys-apps/exa
# Hans de Graaff <graaff@gentoo.org> (2023-09-10)
# Obsolete slot that no longer has any reverse dependencies. Not
# compatible with openssl 3. Use the newer slot instead. Masked for
# removal on 2023-10-10.
dev-ruby/net-ssh:6
# Hans de Graaff <graaff@gentoo.org> (2023-09-10)
# Obsolete slot that no longer has any reverse dependencies. Use the
# newer slot instead. Masked for removal on 2023-10-10.
dev-ruby/mail:2.7
# Sam James <sam@gentoo.org> (2023-09-09)
# OpenSSL 1.1.x is EOL on 2023-09-11. Please upgrade immediately to >= OpenSSL 3.
# https://www.openssl.org/blog/blog/2023/03/28/1.1.1-EOL/
# https://www.openssl.org/blog/blog/2023/06/15/1.1.1-EOL-Reminder/
# Please run a full world upgrade, especially checking /etc/portage and your world file
# for old PHP or Ruby references.
<dev-libs/openssl-3
<app-crypt/xca-2.4.0_p20230526
# Conrad Kostecki <conikost@gentoo.org> (2023-09-09)
# Release causes problems, upstream degrated to RC back.
# See #913884 for more information
=net-wireless/unifi-7.5.174-r1
# David Seifert <soap@gentoo.org> (2023-09-09)
# EOL upstream in 2 months, causes major headaches for OpenSSL 1.1
# masking. Removal on 2023-10-09.
dev-lang/php:8.0
virtual/httpd-php:8.0
# David Seifert <soap@gentoo.org> (2023-09-09)
# Depends on PHP 8.0. Removal on 2023-10-09.
~www-apps/tt-rss-20220218
# David Seifert <soap@gentoo.org> (2023-09-09)
# Unmaintained, depends on PHP 8.0. Removal on 2023-10-09.
www-apps/icingaweb2-module-director
www-apps/icingaweb2-module-incubator
# David Seifert <soap@gentoo.org> (2023-09-09)
# Depends on PHP 8.0, which in turn depends on OpenSSL 1.1, which in
# turn is to be masked and removed soon. Removal on 2023-10-09.
www-apps/moodle:3.11.16
www-apps/moodle:4.0.10
# Andreas Sturmlechner <asturm@gentoo.org> (2023-09-06)
# dev-libs/sink is unmaintained upstream, in Gentoo, fails to build.
# Masked for removal on 2023-10-06, together with mail-client/kube and
# would-be orphan libraries. Bugs #907499, #904876, #872062, #856094
net-libs/kdav2
net-libs/kimap2
dev-libs/kasync
dev-libs/sink
mail-client/kube
# David Seifert <soap@gentoo.org> (2023-09-05)
# OpenSSL 1.1 based, does not work with 3.0+. tpm2-openssl is the
# spiritual successor for OpenSSL 3.0+, but isn't packaged.
# Removal on 2023-10-05.
app-crypt/tpm2-tss-engine
# Florian Schmaus <flow@gentoo.org> (2023-09-03)
# Became a leaf package after dev-erlang/riak_pb was removed (989c0f55e0).
# Unmaintained in ::gentoo and upstream since multiple years. Alternative at
@ -237,12 +308,6 @@ sci-libs/rosetta-db
# after 30 days.
dev-php/swoole-async
# William Hubbs <williamh@gentoo.org> (2023-07-25)
# This package has been replaced by app-accessibility/espeak-ng.
# Please transition to the new package.
# Removal: 2023-08-24. Bug #877221.
app-accessibility/espeak
# Mike Gilbert <floppym@gentoo.org> (2023-07-24)
# Migrated to sys-apps/systemd-utils.
# Removal on 2023-08-24.
@ -387,6 +452,7 @@ acct-group/spi
# Matt Turner <mattst88@gentoo.org> (2023-07-06)
# GNOME 45 mask
>=app-accessibility/orca-45_alpha
>=app-crypt/libsecret-0.21
>=app-editors/ghex-45_alpha
>=app-editors/gnome-text-editor-45_alpha
@ -396,7 +462,10 @@ acct-group/spi
>=dev-cpp/gtkmm-4.11
>=dev-libs/gjs-1.77
>=dev-libs/glib-2.77
>=dev-libs/gobject-introspection-1.77
>=dev-libs/gobject-introspection-common-1.77
>=dev-libs/libdex-0.3.0
>=dev-libs/libportal-0.7
>=dev-util/gdbus-codegen-2.77
>=dev-util/glib-utils-2.77
>=games-puzzle/gnome-sudoku-45_alpha
@ -406,6 +475,7 @@ acct-group/spi
>=gnome-base/gnome-shell-45_alpha
>=gnome-base/gsettings-desktop-schemas-45_alpha
>=gnome-base/nautilus-45_alpha
>=gnome-extra/gnome-boxes-45_alpha
>=gnome-extra/gnome-calculator-45_alpha
>=gnome-extra/gnome-calendar-45_alpha
>=gnome-extra/gnome-characters-45_alpha
@ -447,11 +517,6 @@ gnome-extra/tecla
# Segfaults with non-bison yacc.
=app-shells/bash-5.2_p15-r4
# Sam James <sam@gentoo.org> (2023-06-22)
# Causes segfaults in dependent dev-util/conf2struct.
# See bug #908989 and related bug #908982.
=dev-perl/Conf-Libconfig-1.0.0
# Michał Górny <mgorny@gentoo.org> (2023-06-21)
# suitesparseconfig-7.0.0 fails to build with multilib enabled
# because of dependencies that cannot be satisfied. All the other
@ -517,11 +582,6 @@ gnome-extra/tecla
# supported gpg library. Removal on 2023-08-17.
dev-python/pyGPG
# David Seifert <soap@gentoo.org> (2023-05-19)
# Abandoned, replaced by 'eselect repository' (app-eselect/eselect-repository),
# tons of open bugs. Removal on 2023-08-17. Bug #761199.
app-portage/layman
# Sam James <sam@gentoo.org> (2023-05-10)
# Lots of package breakage as usual for new versions. Masked until most/all
# reverse dependencies are fixed. Tracker bug is bug #906077.
@ -787,7 +847,7 @@ app-office/texmacs
# If you still use one of these old toolchain packages, please upgrade (and
# switch the compiler / the binutils) ASAP. If you need them for a specific
# (isolated) use case, feel free to unmask them on your system.
<sys-libs/glibc-2.36-r5
<sys-libs/glibc-2.37-r3
<sys-libs/binutils-libs-2.40
<sys-devel/binutils-2.40
<sys-devel/binutils-hppa64-2.40

View File

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
USE="activities declarative dri kde kwallet pipewire plasma policykit pulseaudio qml screencast semantic-desktop wayland widgets"
USE="activities declarative dri kde kwallet networkmanager pipewire plasma policykit pulseaudio qml screencast semantic-desktop wayland widgets"

View File

@ -2,7 +2,7 @@ apache https://dlcdn.apache.org/ https://apache.lauf-forum.at/ https://apache.m
cpan https://cpan.metacpan.org https://www.cpan.org
cran https://cran.r-project.org https://cran.us.r-project.org
debian https://deb.debian.org/debian/ http://ftp.au.debian.org/debian/ http://ftp.at.debian.org/debian/ http://ftp.by.debian.org/debian/ http://ftp.be.debian.org/debian/ http://ftp.br.debian.org/debian/ http://ftp.bg.debian.org/debian/ http://ftp.ca.debian.org/debian/ http://ftp2.cn.debian.org/debian/ http://ftp.cn.debian.org/debian/ http://ftp.hr.debian.org/debian/ http://ftp.cz.debian.org/debian/ http://ftp.dk.debian.org/debian/ http://ftp.sv.debian.org/debian/ http://ftp.ee.debian.org/debian/ http://ftp.fi.debian.org/debian/ http://ftp.fr.debian.org/debian/ http://ftp2.de.debian.org/debian/ http://ftp.de.debian.org/debian/ http://ftp.gr.debian.org/debian/ http://ftp.hu.debian.org/debian/ http://ftp.is.debian.org/debian/ http://ftp.ie.debian.org/debian/ http://ftp.it.debian.org/debian/ http://ftp.jp.debian.org/debian/ http://ftp.lt.debian.org/debian/ http://ftp.mx.debian.org/debian/ http://ftp.md.debian.org/debian/ http://ftp.nl.debian.org/debian/ http://ftp.nc.debian.org/debian/ http://ftp.nz.debian.org/debian/ http://ftp.no.debian.org/debian/ http://ftp.pl.debian.org/debian/ http://ftp.pt.debian.org/debian/ http://ftp.ro.debian.org/debian/ http://ftp.ru.debian.org/debian/ http://ftp.sg.debian.org/debian/ http://ftp.sk.debian.org/debian/ http://ftp.si.debian.org/debian/ http://ftp.es.debian.org/debian/ http://ftp.se.debian.org/debian/ http://ftp.ch.debian.org/debian/ http://ftp.tw.debian.org/debian/ http://ftp.tr.debian.org/debian/ http://ftp.ua.debian.org/debian/ http://ftp.uk.debian.org/debian/ http://ftp.us.debian.org/debian/
gentoo https://gentoo.osuosl.org/distfiles https://ftp.halifax.rwth-aachen.de/gentoo/distfiles http://gentoo-distfiles.mirrors.tds.net/distfiles
gentoo https://distfiles.gentoo.org/distfiles https://gentoo.osuosl.org/distfiles https://ftp.halifax.rwth-aachen.de/gentoo/distfiles https://ftp.fau.de/gentoo/distfiles
gcc https://gcc.gnu.org/pub/gcc/ http://mirrors.concertpass.com/gcc/ https://mirrorservice.org/sites/sourceware.org/pub/gcc/ https://ftp.mpi-inf.mpg.de/mirrors/gnu/mirror/gcc.gnu.org/pub/gcc/ https://bigsearcher.com/mirrors/gcc/
gimp https://ftp.fau.de/gimp/gimp/ ftp://ftp.fau.de/gimp/gimp/ https://artfiles.org/gimp.org/pub/gimp/ https://www.mirrorservice.org/sites/ftp.gimp.org/pub/gimp/ ftp://ftp.mirrorservice.org/sites/ftp.gimp.org/pub/gimp/
gmt http://ftp.iris.washington.edu/pub/gmt/ ftp://ftp.soest.hawaii.edu/gmt/ ftp://ftp.iris.washington.edu/pub/gmt/ ftp://ftp.star.nesdis.noaa.gov/pub/sod/lsa/gmt

View File

@ -18,7 +18,7 @@ else
SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz"
SRC_URI+=" verify-sig? ( ftp://ftp.astron.com/pub/file/${P}.tar.gz.asc )"
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"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-file )"
fi

View File

@ -11,7 +11,7 @@ SRC_URI="https://github.com/vcrhonek/hwdata/archive/refs/tags/v${PV}.tar.gz -> $
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RESTRICT="test"

View File

@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]] ; then
else
if [[ $(ver_cut 3) -lt 90 ]] ; then
SRC_URI="https://www.kernel.org/pub/linux/utils/kbd/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
else
inherit autotools
SRC_URI="https://github.com/legionus/kbd/archive/v${PV}.tar.gz -> ${P}.tar.gz"

View File

@ -0,0 +1 @@
DIST locale-gen-2.23.tar.bz2 7664 BLAKE2B a529b62fbb840c9352f06e8f5c80fc764425a2619dc69cc820f550a026d391788d5e2cfeeb46a8b5b9716da63340b4fce57a5b523edd4196ee1219c1200cb752 SHA512 c1245caadb04403c535a836f19bc410d0f04b5c0e297ea5be9852e6d71e08e528071ae769d63d31a677dda8fdd618b4c4d581ed525cf8786b82d8f37636db754

View File

@ -0,0 +1,39 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit prefix
DESCRIPTION="Generate locales based upon the config file /etc/locale.gen"
HOMEPAGE="https://gitweb.gentoo.org/proj/locale-gen.git/"
SRC_URI="https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/${P}.tar.bz2"
# Totally unclear what the license is. Following here the statement
# in the Debian file that the tools accompanying glibc are GPL-2+
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
app-alternatives/awk
app-alternatives/gzip
sys-apps/gentoo-functions
sys-apps/grep
!<sys-libs/glibc-2.37-r3
"
DEPEND=""
src_prepare() {
default
eprefixify locale-gen
}
src_install() {
dosbin locale-gen
doman *.[0-8]
insinto /etc
doins locale.gen
keepdir /usr/lib/locale
}

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>toolchain@gentoo.org</email>
<name>Gentoo Toolchain Project</name>
</maintainer>
<upstream>
<remote-id type="gentoo">proj/locale-gen</remote-id>
<remote-id type="github">gentoo/locale-gen</remote-id>
</upstream>
</pkgmetadata>

View File

@ -40,7 +40,7 @@ else
"
fi
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos"
fi
SRC_URI+="

View File

@ -70,6 +70,7 @@ RDEPEND="
>=sys-apps/findutils-4.4
!build? (
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.0:0
>=sec-keys/openpgp-keys-gentoo-release-20230329
>=sys-apps/sed-4.0.5

View File

@ -1 +1,125 @@
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
DIST aho-corasick-1.0.2.crate 167694 BLAKE2B fa5323cbe6cb73594dfa4c327c64676bc1e006dadc0b9def325974c83b9a769beba02d59a4657ec7a2d0cc511a7b7cc6f72cf57b8f9e639206d1c2bf13107a52 SHA512 5c75451f96fbbd670e6af0e1f54df2bdb57259dfe6898495ac46a5b2fc04f316a4698fd5cfd4ec31a94c298661937a8de08ce97cab3890fb3c015e4a2a67bb7b
DIST anstyle-1.0.1.crate 13977 BLAKE2B 35be03a7de78737592528967e8ad4851436a74c7863cae9cf5cf7366d3cce9bbbd255b1a89401051f82fe8569a0ff029dcfe427c14a2e0677890453c6119d241 SHA512 2bf9b83ad9772c6a3ef28239cbb98bd667dc631fd1ef76ec5029825c128f6cb22756bb1548dd991e482f86eb9fd94fae5c648f91de2c0d71754b6dca4ec2362c
DIST anyhow-1.0.72.crate 43837 BLAKE2B 1547c158882e50579a568a14e6e5cd162feb6cf291835266c9dae0c1c4df05a7872bceb02bbc8a13ab5bb84d299a94892057f54eeade7fa095ff8f897f6fe9d8 SHA512 25d8d4cfcc9679c9125fe03c7ce5a46462ca66e7457d45cd7838b7867f3461a899f75b22d76dfb04caa09c013c3b702313ffb6373f92b2798119a30199c38a98
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST base64-0.21.2.crate 76389 BLAKE2B 6da080dfc31c5b2ebdbfd336be6e71373918f9388c85649133363a60ee1647b6ad67c7dfd461b6ee842c3633e40593b6ac2f313585b3e8e07dbd690739f433f9 SHA512 3f85bdf846e2f8a2e0f2335749bab58c904479a29311143580f1de42455799d04606dedbf64d355af580d77867d7b895e1078463c7cc5a5fbd9ded9d7cbf3559
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST bitflags-2.3.3.crate 34320 BLAKE2B da9f42fc888e31d50d0b2f0d0cc1bddfa97e0c2d3eac60fd2cc451670f000b5148e58c3c40c348ef1bd516c7a568bcc3a97742ac5bdb9ef4772048eb922171af SHA512 8f063ba2bc3f638ca9200722e1c4370102589fb07aef25efcf63993fbf283cc86d554d11d24719f728ecabe540a47a90ce4113d8719f8e773f2344a66d21ff78
DIST bytemuck-1.13.1.crate 42309 BLAKE2B 055e031a677823c110e44446e1e371632a0a5a8227ef7053e964bd3f9967705bdedf96b14178818021ffc09182ead805a68813a8a2b9cf7a70b6e8daf733eac4 SHA512 eb0a7e423a3f903fb831369e0c6d1e5fbffd7eff1b56bb7d1ffe4e5e18850cdfb9a7f9bdcfd53ce10b1c659dff11c59190b7b85ad89ca60485878548621f01c0
DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa
DIST cassowary-0.3.0.crate 22876 BLAKE2B 7e74a08e02050548ade7dd1ebba7ce4e4360d258ea6acf126453889dbf16df433bed7b68789736881c957f4c09eead1f763a0c02f2474157b1650a1e77e6eca9 SHA512 0838c0b79ed31f0c514fe4ac82633976e34b0d6cb08616313cda0e00623514fc6498c6c308cfef54ea029f1fdbaafe2991ca8ac3c38437a113ac62e37f9397f8
DIST cc-1.0.81.crate 66857 BLAKE2B 1f20aa7fe1e41b7d043242ed2e6b840ef7e764fcd844d82441d20dede2bac7386c8089e7dffee5bc22a49bfab2cf9f2c82757bb5068fdfc82610eae7cb2b188e SHA512 00878fcc5e344571cd8756fcd7e0a8e11325cf504eed09ea2ac890368c4d69978fc0de9ef99757cbacdadbf50faadc486d20640b529ac9a4963b3afd71caca6a
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST clap-4.3.19.crate 55022 BLAKE2B 90a674c96aa83d2472a8c67ab66eadf7110c497009349cce8f5b1043d14cc21dd89c23ab1316d26f48c40126ec8bc967b73663dd1efd78191dae005187f0a268 SHA512 00e9013a0af4013ea491f3556f53d8f861f9280db87fb4518e666ecfd4009cd731c67948e4fbe458eec22078e518a07336cc33a9346f0439d6e114856b7f16fe
DIST clap_builder-4.3.19.crate 161122 BLAKE2B df66e68d3280ceea30c96cf8f1db7e42a634b2b0cfc3b335a9200cb8b742cb386f928d6e0d429286b433ebc4812ce1c41a64c1335d52596e106c8dccc47c9ef5 SHA512 717cf74f419a0d62afdbd67a805aa2317bf296a0d8cbffff26605fc3b42fba4c223819368fdc43fede310843c698171dead4a552d3485ebcc6fd6e523368570d
DIST clap_lex-0.5.0.crate 11792 BLAKE2B 0409c9d957ea6a566eb8b50f4212702df038d04c4c38f7440d91cb4c58ec887940f0cf500c4c3949c2191399aac3f5cb1ce44868eac587cde90211d3e467b9a2 SHA512 0149ed7c2438a19b4857f895767550d783711078f07bfa9ac8ca531e06f51c7388110f4d558e30bf503536367cc370cb581e8deb6fe51f9b5460a334963daacd
DIST console-0.15.7.crate 35409 BLAKE2B b5e34b03a1c7d5fbffe5ae07182e28f6638e026a1dc2bd87bf47f67230ead612b37ce0c79b50d84619009753bb98dab661279b77c68760a0b75ce8303733abc7 SHA512 f37213812527bcad23baa8648cd949d8ec955e1be7589ecd36fee46637e77420c2561fc301f2562dd95bb66802b92ec1da5b85367bf16b793849913698a80576
DIST crc32c-0.6.4.crate 9661 BLAKE2B 96eb9b418833dd398e880e81a7afbf2670939b1ea6599bc03e8893e7b5a6b26ef6fcd15a2314e5a4dc50003bc5a7b239f7b4f9670859f4fbb720640d87a4b623 SHA512 5f537463596a57c081f1e28e68c22f1839607b676ed763b2edecaf8b780d234a4fa52d7432262231150ca3f48bc5b6ce5ad2af6f84d8c51e8cb4d10538c2531b
DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
DIST data-encoding-2.4.0.crate 19165 BLAKE2B fa870d377fe74c40e5739e6c063bd39ba5d824c4e452e1c490f911b2fd90cc0748aabe731b41eb2a9fc41eb061ac4144ccccee5586e99d556a0e4ab0171650c6 SHA512 b16c4bd5999a4f1281d6691ce05f8bc2a109cf422dd4fa4e7b26b573b2a4b7e33e2fb246681846bbf85fcb6361c115f509898724eb6526f1f49f55acb4f9ad7a
DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9
DIST downcast-0.11.0.crate 5976 BLAKE2B 4ca0e66dbd8dbc86920d4184de8b37ab41954cb1560c7727334c990b97ad9544b098f7ce50759d10cac8b9cb955893805aed3bac5849c8b44a965e24d2ac7653 SHA512 11b037a09829e3e93eabff69f02b608725e6e348a191b1b6c8bb044b8d820a6ebf46eaea2f8bf5eb1c156f20d3e97be9b581e1b5fccebbfe76d94157d6bccd53
DIST duct-0.13.6.crate 29320 BLAKE2B 11a7502f89ed7e2cbe787b131275b135c36273d074aa689c6a1d6184248d6a9667518b75c4884e1504b925e62a1e589c3822bf0ab316a21d5320a9c73471962a SHA512 bf6a69fc2eda5dbf79dd785eea131d5c9ee38ffa3c99e7ffb9fcd47ef0beae8b3e5e75ef78172e54ef076531a38c4598880694a7b93573ffeffd3861e7776369
DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
DIST errno-0.3.2.crate 10424 BLAKE2B 3061d5a5abee015bf41c11ef31dd0f38a738c51992e3bf9f9ec98f67a87b88341c97901211718a5f103b8cf021c875f8fc799fb217ad69fd27371326b5aa40e7 SHA512 b728704f11cfb2bffd421ad39e7bab79b11e548e336e9dd1cfb902bdfbb78a8afb102ae5684fbd6ac4b01b12603a1011a1faa21cfd0702bb25a300364b17ff84
DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
DIST exitcode-1.1.2.crate 6538 BLAKE2B 3015eb8bf6658336cfe43b4cc59ca95d8fff5380dfa2bb2a3086005b0dde5e6a704c6b62e027bb5c0d6e6103bb5dec4ab4c869ef454361f224d013c267bf4a78 SHA512 fa31817e2bfdafe64faaaa6b32573e01e2ca0db24c6c88c81f43d84a9db66d19db842b61cbd89b8f6e199aad531a1dc0053b2d4166e0f9196f275fe715f28fc3
DIST fastrand-2.0.0.crate 14402 BLAKE2B 8bf830151ec616dbc25f216265722e39f8a2cd9ae036b0904b73775a30497368aaf9bb7f49890c330024c3d9b8084749c91f601b60b53bc8cef2da8b0aa71322 SHA512 9449dd52e4b722d5747f68f127843c0d1a402765c2b6186b9526f8ae23293cb1f6b50adcbf18a8ea768292642184cb0eb42b1801d20f6815397903f9977f3cbc
DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab
DIST flate2-1.0.26.crate 70832 BLAKE2B acbfad138abf2175822153867413dc89bafa9254494b4f13d958dcc6008a26fca6f934e8010b8c090367b8e25272a4ba3b26a31e59cec69c1359f83ca859d186 SHA512 a9f7b9e4adfd0a22fbf66e1cbcfe377cc03ec248c7fb7113097b839922b569cc96bf080089b8c800b35ec6f81b3f602a5860de55963b85f27ee6d75a9df88f3d
DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8
DIST fragile-2.0.0.crate 14668 BLAKE2B 2e589b312d7409a1a550a676303b9b2adf2e28b0d4cd02c7fb22b48a88d1f88a04e55c4405078e2c43b13ccada890a33bcacfe179abd12236c23f219d275c4df SHA512 a48fee7c13ad800142a9ef1f355b2200b904ad9bf97b3601e310bad2b6ad90ea235b9704964c54be1d9c415c9c95fbc5f49e8ba5d7c6ee3488573f3404912608
DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
DIST hermit-abi-0.3.2.crate 13783 BLAKE2B 43089507a5ca0731a9e9a54fdc8f4dd5f807244797eba5bdcc072c2c2b3761481df65b8cc65900769777d9d21f8345b502cb1915ec36747160e87f179469a661 SHA512 22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6
DIST indicatif-0.17.6.crate 62817 BLAKE2B d8943117c6a7ce5c439657849a6ae2c25acf4a53ffbf70859878f5b4d27f2e7a6d9f591cd66af7f1241cefcd9e044e678ac1dd56bc4b6bbc100a42cc84267b44 SHA512 d7d191c25840e0c8bf583e1ff5620384b6512a570de3d00ee995898206777b6864336d2bcee431f2ec560f820290b967df376dc06e401ec63f5a922a9e94e945
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
DIST iovec-0.1.4.crate 8720 BLAKE2B aa1b4cd98ebe47901c0959cf1d8eb2586a803d0453e2a8bdd5c63442b32886dbcb37650aa218c748fd45c9fe3a7fdf20569eae5b19716487b139caae1526da4c SHA512 e23fcaac239807daea20ddcf2cdd4fb858ba1aa970ce6248f70f0fba5bff7ebdb27247c0997ac0ff2791178f86ff9657e473d8f64b86c644763e5b3474edd158
DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
DIST linux-raw-sys-0.4.5.crate 1274380 BLAKE2B e15ca5b63cb994e86a8161e3b6e4bd20da8f574d1a470128f9a209a729ff22c86470f4c2b2a8ccbc1e37d6284b026e0805902645ea4b742425fe34491e519638 SHA512 13c36e03cb5bdb2e9f17622e21eda608057fc9d908bc55a829fdeeb77785094769d4f4b4daf376c5509ceb3abfdb3936f668bd6d5b2fd48e21c5c28b6e597e78
DIST log-0.4.19.crate 38073 BLAKE2B bbc8ce51ad4a01562ecd204a531ec7d82101a342ec26405dfadd1761372f7039297dc97f4899889ebdf4eccbd56345e015d4ec6d2788851e523db56eb541aab3 SHA512 8f11ca6f5a99b61a5f3baeb7a23b7a879b3a5bed666337936bd1d8794864d14a6c4f0747d03505831783f15d8c14ebcf507267915481dfb1b32188b8ab36a038
DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
DIST mockall-0.11.4.crate 22374 BLAKE2B b300d9d74e6877f461539bb29afadd73b9439b81db4656f2a89bace2bb1ea0e15761aadf9cb3c0b3f8723e266e27dceac37477e2a54ed9b9d273a6bd896d32fd SHA512 71534e5c106cdb45da678370d81748831be6792a83f7b7a1082249cb6936eecf097ec88ca99d0c5029e15bb8b3923801e8779253b3e7e526e2d760a5fb01782c
DIST mockall_derive-0.11.4.crate 44096 BLAKE2B 336fdf8ff3d6e8218bb77c20e7fa6fc6360022b107abf5edb41fa6dc198a72576bd267cfeb59c9eefa0c6eccc1a56f4fb9ea22d3b6011af80061e5d0e4a27293 SHA512 a4aa214feb36b4e844d2b0b3d74c3733ed25085cf65dbe22b6387ac12c8b15517396ff4b875461732865f408582d2ffd3e0c190d438213c3cbcaba669608e735
DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea
DIST num-derive-0.4.0.crate 14008 BLAKE2B 34fa2cd518514c32a023135f010d332817e922d4fbe6468bd51f6df726df54c6d4e9be9dd68ec66116c318998ebc3d9944c79ec9a1ae8a71ca49a6efcbf4e311 SHA512 3c36c0bb3bb3ca7bd4cc109bd86f93f1ab7e7cb3e3182f9e6e21c36afcbfe381c9c911964fde360110fb4ad5b9f5b496d3ff8bc3867cb6c0d9406afd10666dcf
DIST num-traits-0.2.16.crate 50130 BLAKE2B 1101d28cb4dce477657684a068792b94c7008a965e655edbabfeff51cbe6f008450dc6d7e4fc5dc4fe9c3ee8623ed77a7bde83ce2f68e75d618295fe6cebe0a8 SHA512 2ef65e2f6275b1000f611cc4d019b2f4846a8964b54d9b96462da10e3ac9edbf3d1de82e40094c76f7f5205740361b0eb0ced414bcddbaba5955144f728c6f94
DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
DIST number_prefix-0.4.0.crate 6922 BLAKE2B 81bd3b588c788e6865104e5ce87119b5e0c5a526042963d52cd582ff23c2f8c9f32b4c445ef0397fc402b6d047e031d8e2c67ac97e191bde22e17662eec3a554 SHA512 a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df
DIST numtoa-0.1.0.crate 8999 BLAKE2B 6a8cbf17458227fa87bdd6a35404e09afc092a1ea45d68c6c035e08a9d344fdb356b1bc7b52239dd6354ed9094e9338ccac599542bd7f0caf167ab8d17ad5fa7 SHA512 41b5c774048592c5867fba217c85d4ece4540e0f3ab0eea7dd1a6af340ba46dae42bbca62ea7fe3afdb258660f39a3d3082264c99dea67d3d1ae178d00a01354
DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
DIST os_pipe-1.1.4.crate 11436 BLAKE2B 215f548a5b16854e156f785a1cc57ff16c241b50223c75159081017889cfe718d6dbdc6567dfc751d71eebda7476c95701c8ae88b1320a0cbba66a694b471d08 SHA512 8568008e30fdc47c1c89f7368654d26407fb6594cd89e2b85786c875d9dd99e77ed2bb84d281351072670e2dfe7a952d6251c6fb4d111ebe6a63cb34942b6aa3
DIST portable-atomic-1.4.2.crate 124375 BLAKE2B 49db30ce356e48eeae517663d174dade38d5029a5256f293b23807a77ea159c0293bd789e232ce2a9bef76e1f80df5cfa4738980a9455c35dbcc43e856847a3d SHA512 f1415288b612f734f4e4839b2a70ba57db17900d517e611e3bc8d3ca9165ee6c03dc3c7f69d10b700feed581e074298f52c48fd5ad188b59bfcb78f6dbd34f85
DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
DIST predicates-2.1.5.crate 24165 BLAKE2B a0eb1aa0f26d51140155b8b5e7141a253e298ac2197e59c7023ecc693d68cba01d645792c57467741ee074891438fba2f1439c79a4cef27f3d02eaec8f1d0b10 SHA512 d4b555d7f57ccec5788a957d4a3e130f5549a9333a47654baaef098bb284c64bd5c662677ba7e659b4563b3d0146914f1235e0caa2274af8787d9777141f4dd4
DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702
DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3
DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
DIST quick-xml-0.29.0.crate 160308 BLAKE2B 7b409153a597edd855752e00f50f5b1fea70570a07932cf2dd78ea31cdf5e1bea4732cfa632615ede79e551b7a35ef535def2c3112a3d07a363337e9b807d277 SHA512 1a6d61e2161e3701e2d4e4b243d1a20072d546a3a0e3389c185f1c9a53bd6af172ed1b791f9a329cec67a2dd9babae44048bebb7293dfdc0efacfce0aba820fb
DIST quickcheck-1.0.3.crate 28069 BLAKE2B 5f0ddc8e22fec55e879745a95024abaa03d7bcfc6453286eec072663b36a5d6ae247b3c1622c4743e1ca9b7c4bb21da0d095aa5247f32b0bedc393f92cda6bc0 SHA512 07dd707c9d3fd0b9cedbba545bc8b4fc1ca2770d169e444f8c96f8306d3161a6a3e9189cc5d0d6b3dc4221f7dbc05887dfe2dedc914f88d5e69ab2b94179185a
DIST quickcheck_macros-1.0.0.crate 5275 BLAKE2B 1681fbc5a476c627da442d601d9f24dfeaa147dbad7c8d6989ad73cf5a204963c29b2b5bf68513ba74c322f74ef5ceea92594953e9034921a2c8132150252779 SHA512 f7de86f76a53fc36063f10f5405979677a2e48a96d13c439a4aa98e89ec7f3c3cae324b8dd789a5236630110ac9a1763f28361442cca08d1a1ef458c7bfadd55
DIST quote-1.0.32.crate 28037 BLAKE2B 7b243ac7929f3b2e1d91a51a2dc2b11dd29bc017be9db588c83bd137609e2f991a4f3ff8682c7c11c177153e517c4f818285cce3237f435aa43ad0126c4bab6d SHA512 13cae36920dcbd0ad1978be63f20b35b8424d02b4d9992032fa78c7770d61d1fa7ec1532a48793cab48e703236b7bee7843041253b9e83700903228078b4c025
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rangemap-1.3.0.crate 45509 BLAKE2B 632e47a6b045575ad1456c4df104dfa32fb4e0770b55faba92085463fe4e733cc4881a1fae8bab27b4717e6f96b1bd3d98bc9bc78ca83988f7fd3a2bb81645b2 SHA512 feb1e504f905d0bc1701191394dfd68a5dd36cd7963f478d9d5835a50ef1fbe49085b828872909fde89e22ec7938aea997513d8daf7f5acdf1704ad406a664a2
DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
DIST redox_termios-0.1.2.crate 3268 BLAKE2B 5f3f4e2b7e7a8172f92e8161eb1dcd208b86320868ec351e2f7b47d8ed170b3f44ad8180e44ea7a554de0e53fc268365e683244ad59e4afabd11a09ae378d2b0 SHA512 d8624b2c78d02c5d3afcbecea9ad8d218bff508703cb50684d6ae05614a9f41bf2aa8c47440fbb7d964f01eb9085364222833fbf9c45984508e9d755dac563c1
DIST regex-1.9.1.crate 251978 BLAKE2B c5a049a485bb78cf27501b1c150d922ad56fa26fcc4594f111786cda8879b21573cd0b629dc4dee81e579a98d3ad2620a08ab97c5d0bd5abb1fbd1f8eadeb3e1 SHA512 cbee57ecf620795eb2625cb2a6a3d6eb2b46de91ade021111f8960e31d8d0098b786ddc1e97734cfa16f7e68d77ebb8a9b7362542d91f2345bf2e4f64778a454
DIST regex-automata-0.3.4.crate 604400 BLAKE2B 53d248be92d36097b01996d5ee53a32e8b0cd9cb89ec62d5ea3aff284f7f03e7c3fd6014f2b1e89220b00de885238e83904a06f79857387364b9f2d2452ba250 SHA512 b8eb9a5c868cb713274f55f467615b4e8e3bae83b9738aee87a465ef44a8dcafa80a700600544d02c17ab0068302ac3546952d97596fe0458470809f57629fa8
DIST regex-syntax-0.7.4.crate 343365 BLAKE2B b50c01f02e08729496e8bcf023949d088463bf62348b4a1043fe5205650da37863b2ca51f683662a4df33bd56085e0501e50410106c9c471a0daec4c71dfe945 SHA512 b33713c71f6f753820ca6405e8415e5eeed457efd01e81b0b720e48c135b9bb0973962269587ddca31350233aec6d3f598596cb48310db0633bf67f8970f0e18
DIST retain_mut-0.1.7.crate 3945 BLAKE2B 475a46e0e3df8a55305b0d14d6da595874a3c3bceefc4a4d4feabb5ae245d48190bbc7ec325499d2aafb4ddfcc0906789bee89689fdbac261a92b66bf33cd493 SHA512 c90538becfbac41952a0d5ea1ba0dfda4ef6fc8988ae60080c0ac32e3abfcb0cd674be7e7c221debd916060c6447ac59ef8b3cd93fd9d558228e70d0dacfbcb9
DIST rio-2979a720f671e836302c01546f9cc9f7988610c8.gh.tar.gz 27249 BLAKE2B 5a2206986662979875c6f8ed5c9cd19465bd22bef1ba55bc92d67bc539271a3af29993333951377953de2f4f8c8f5343c2def3350f1e94ead572a7b9b09159e8 SHA512 40d5b942737e099735bcacdaedb101e44c39dc1f8e1488550d3a039562b5b2bd78edaff42b0ba9731f038f0555a0480152ad1c33bf31693892ba5733a39bd946
DIST roaring-0.10.2.crate 91257 BLAKE2B 1c24f76bb038451f8239065ffe278625a4bfc5e46580e91a2c2c02b584d73f34c5aa5905ca3ddaa99b040fb2e679d93c3c21962d814af1a6d76d33920c1d282f SHA512 a13b84d9a2dfd05f0410f247abab816980c8b83504f40ec1e043335445ef7115a0d7bb00e3dfd22fbe8616e71187649bf27123388e6fc812451cd64c1c6cead2
DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
DIST rustix-0.38.6.crate 331959 BLAKE2B 9f0de9db61b02e597260970fa3e440c36c42057c18281121a6d0177ae15f4f1d7b0dc22d316a82f02b6c1d9da6c94c94a0d1cd59cabb3349d93824cd06cc4530 SHA512 c1d2d14df23cf371c16a202563f7bbf50770a64aa0238f6dc73b6fc72f2c6baf413b9e63ab8f80159cfde2a1866c6c1d5876a56206851851a370578f446b851f
DIST safemem-0.3.3.crate 7778 BLAKE2B 6ebc0e234054919687e8a369bc30ca6b007d0e4f8147157ba1a90c290b7f0b490e5c21a6d4406671e26ac073f9e4e06a2bc9b1f21eb152b05c4022a3a4ef3793 SHA512 2e4852ca91160f9f1e764b75145d794726a5f6c162cc99ecbf9cae20474a06cb3a0dfc245b895c51342240f6875423010b33e36d038b8b419a37e4820a9caf72
DIST semver-1.0.18.crate 29703 BLAKE2B b1867f552ac87968d895c5e49123bcce0f8aa0ad384e421e5ac88bd04ae203ed6b731d5c77fb8488ec6601f1f02a8f2a207a9d21f1cc66d433032628f5d7beda SHA512 698dcd37b354cfd6ee452dce02d16051f23088ce53f0b4d099e1e4ad0f9350996f0b9b2e1c3ac7d5ed258accd92773266892e945fcae28055d4671c7ae5aac02
DIST shared_child-1.0.0.crate 8939 BLAKE2B dd7aa5bc4f87cab26cd0cd382fa00f42ae45ab6944e3367e355d19fd1007ded068642a35941e0cecc100120bcb1ea7d07d91bc36227261e8207b87c53de87a17 SHA512 d0e16cc7253271e6468659db0d7344c2d75772dd3428f686c49ce34bfea6ba8fa010b1ba83375241bf019e77c842001c6e1ab5096af54af03586e05c3f8fc476
DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
DIST syn-2.0.28.crate 241635 BLAKE2B 5784468a0dd04eb298821ae5a3facf72c5fe5907cc469919b0a0b636bb55bd15e9e3a31c9ceb05b7b0f88e7a53e5891e6874641b61e5fde247a91361ae37047f SHA512 96e83979e70e2e1e46ca2af45d10fb259847d61e327809a51351a988282be9688a8c4942a284504674c8684970082dc15cd9ab9b3584bbfa68ac9716e071f9c5
DIST tempfile-3.7.0.crate 31754 BLAKE2B 50df09733ac358ccaa92be5e2284ce4df7f256285f2e9575637888b995af7a2e09d80cc7d228041143a36e08472d9c9f896e419d8208281fd5c768972dd6aa43 SHA512 cfa8fc57b8605edc6f4fecc167df17e484b24ab01f7f1a6cf19ed6f6161b77f124e55c8359a93d0a07970e25ca6aece4509338a66a3c683c4c473fa5ac9532df
DIST termion-1.5.6.crate 22677 BLAKE2B b918dc82bfa370bb9662bace34211bc7afa03a042dbd25f4456a7e3859521d4f32ab755780e58070f29eb7903f3b4f8129eb9447cda953b9190f9df3b7eb3aea SHA512 228b6fa7e2f280d6bfc7cef77e7a1d0d8f597178e66af0bde1b1fb6553857b511ba8a6786165815aac6d8a082fd37191f4ea35a47f1e1182f7f2c6086eb34a8c
DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062
DIST thin-provisioning-tools-0.9.0.tar.gz 500998 BLAKE2B ac269fb6dfd1baf1572da27582ac2cd763b07aaac130a9467d05581e7a0ba1309d7dbf4c6095407111667e57af2e8183318d558ed23853f9c84b9c151c0878d9 SHA512 e1796fb3948847d72ca8247cae58017507c0a847a00201b93668eeb8fbfea4107c4c2affa5c211c149798a89b10474e83d2bd61a5545a668299be97aed591e0f
DIST thin-provisioning-tools-1.0.6.tar.gz 393187 BLAKE2B ab0eab7097820e27fad8acd22fb83390c9d1f7b4acfbc2bed634acd159a23421e6ad5b34caae83af6aa1a8898884c86a1a1904e7a4dd99d46992bb24950252fe SHA512 b6a778048315fa83b8ffae797a406facd2be1552516f96abd0da5d02892be73f27c54e4e0a674b2f0253aa6fcdac187fc40d7a455eddfb25bc30f55a5e435b00
DIST thiserror-1.0.44.crate 18760 BLAKE2B 4afb9d1cae98afff52c2e9cb67b8bd75815092f87d51ab5afcbf3366ee6ae8fde33c0bfab9458c9c452aee3b324894fddce327475ee754afb9b27794fcd9d279 SHA512 3a8e9346e69216510337e2c27e91e08e7a42a8b6b2abaa776df3937ad4dbfd857fcaff26e97d89965dcfb2003df1f1d1ff88eb239d334e62c806e8d637eb149e
DIST thiserror-impl-1.0.44.crate 15086 BLAKE2B 664be3bca31bbcdd2bd8170e5e769d25e0a27c135067c84404d94bb51b5ef02daac76538898969281b0b0309c26b5ac4198e7bc819dec457dcec09e65530f75c SHA512 fe9211f50dc922b957ec3b9b5f132f812fc51fc68d23ad39837dfc174220dafb2b29d66822f34b05f1cd27cd473598d43e17979ccd9c70b056d509cd5c5c9ad7
DIST threadpool-1.8.1.crate 14408 BLAKE2B 8bd64ede19184e18460f6b2ad5bc888d6facd5fcaa5b43c35269e35909c9c68a884203f5c4b92619c097ad48c19ec29f73085755ee348cc637233ff3b5b50ccc SHA512 adaa5aecdeec25848af15b160e5b39833978454d834974211bd586d81837f2ce89e5590f08b7e0d4868346cf57056913a5d41bc8bf92b89109ed769cce4a8be0
DIST tui-0.19.0.crate 141279 BLAKE2B 55eb71dc524f45c3154f8af4024ccce33816d0c30aa28b3708a4991602892e5980df7f59b47d6c2cfe39fc90d07d7a0409693c37564b5d0d2f2f3a48e9e17c91 SHA512 b90497d06181ca74ad0a976ed57bfd6e6495e6fc96651ee96fe9e326ebf773b6627d87cae07aec26d17800a4274624ad3e835a86c37258c51077c86e667078a8
DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b
DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795

View File

@ -0,0 +1,66 @@
From 9f3823c97dc0b5d4a94a6179d45a3b45c045cff8 Mon Sep 17 00:00:00 2001
From: Ming-Hung Tsai <mtsai@redhat.com>
Date: Wed, 12 Aug 2020 23:25:24 +0800
Subject: [PATCH] [metadata_checker] Rename function to reflect command line
changes
---
thin-provisioning/metadata_checker.cc | 6 +++---
thin-provisioning/metadata_checker.h | 2 +-
thin-provisioning/thin_check.cc | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/thin-provisioning/metadata_checker.cc b/thin-provisioning/metadata_checker.cc
index e81e22c..0b26eca 100644
--- a/thin-provisioning/metadata_checker.cc
+++ b/thin-provisioning/metadata_checker.cc
@@ -603,8 +603,9 @@ void check_options::set_ignore_non_fatal() {
ignore_non_fatal_ = true;
}
-void check_options::set_fix_metadata_leaks() {
+void check_options::set_auto_repair() {
fix_metadata_leaks_ = true;
+ clear_needs_check_ = true;
}
void check_options::set_clear_needs_check() {
@@ -650,8 +651,7 @@ thin_provisioning::check_metadata(std::string const &path,
checker.check();
if (check_opts.fix_metadata_leaks_)
checker.fix_metadata_leaks(check_opts.open_transaction_);
- if (check_opts.fix_metadata_leaks_ ||
- check_opts.clear_needs_check_)
+ if (check_opts.clear_needs_check_)
checker.clear_needs_check_flag();
return checker.get_status();
diff --git a/thin-provisioning/metadata_checker.h b/thin-provisioning/metadata_checker.h
index 5569d27..b4afbdc 100644
--- a/thin-provisioning/metadata_checker.h
+++ b/thin-provisioning/metadata_checker.h
@@ -45,7 +45,7 @@ namespace thin_provisioning {
void set_override_mapping_root(bcache::block_address b);
void set_metadata_snap();
void set_ignore_non_fatal();
- void set_fix_metadata_leaks();
+ void set_auto_repair();
void set_clear_needs_check();
bool use_metadata_snap_;
diff --git a/thin-provisioning/thin_check.cc b/thin-provisioning/thin_check.cc
index 60f7838..e3c9db3 100644
--- a/thin-provisioning/thin_check.cc
+++ b/thin-provisioning/thin_check.cc
@@ -166,7 +166,7 @@ thin_check_cmd::run(int argc, char **argv)
case 6:
// auto-repair
- fs.check_opts.set_fix_metadata_leaks();
+ fs.check_opts.set_auto_repair();
break;
default:
--
2.41.0.255.g8b1d071c50-goog

View File

@ -0,0 +1,187 @@
From 1fe8a0dbde9f5e004b11430a9097a61b327967fe Mon Sep 17 00:00:00 2001
From: Ming-Hung Tsai <mtsai@redhat.com>
Date: Fri, 21 Aug 2020 18:26:48 +0800
Subject: [PATCH] [thin_check] Allow using --clear-needs-check and
--skip-mappings together
Although it is not recommended to clear the flag without a full
examination, however, the usage has been documented as an approach
to reduce lvchange run time [1]. For the purpose of backward
compatibility and avoiding boot failure after upgrading thin_check [2],
the limitation is now removed.
[1] https://wiki.archlinux.org/index.php/LVM#Thinly-provisioned_root_volume_device_times_out
[2] Community feedback on previous commit:
https://github.com/jthornber/thin-provisioning-tools/commit/b278f4f
---
tests/thin_check.rs | 18 +++++--
thin-provisioning/metadata_checker.cc | 71 ++++++++++++++-------------
thin-provisioning/metadata_checker.h | 3 ++
3 files changed, 53 insertions(+), 39 deletions(-)
diff --git a/thin-provisioning/metadata_checker.cc b/thin-provisioning/metadata_checker.cc
index 0b26eca..a398ce8 100644
--- a/thin-provisioning/metadata_checker.cc
+++ b/thin-provisioning/metadata_checker.cc
@@ -371,7 +371,8 @@ namespace {
out_(cerr, 2),
info_out_(cout, 0),
expected_rc_(true), // set stop on the first error
- err_(NO_ERROR) {
+ err_(NO_ERROR),
+ metadata_checked_(false) {
if (output_opts == OUTPUT_QUIET) {
out_.disable();
@@ -381,6 +382,22 @@ namespace {
sb_location_ = get_superblock_location();
}
+ void check_and_repair() {
+ check();
+ if (options_.fix_metadata_leaks_)
+ fix_metadata_leaks(options_.open_transaction_);
+ if (options_.clear_needs_check_)
+ clear_needs_check_flag();
+ }
+
+ bool get_status() const {
+ if (options_.ignore_non_fatal_)
+ return (err_ == FATAL) ? false : true;
+
+ return (err_ == NO_ERROR) ? true : false;
+ }
+
+ private:
void check() {
block_manager::ptr bm = open_bm(path_, block_manager::READ_ONLY,
!options_.use_metadata_snap_);
@@ -419,10 +436,12 @@ namespace {
} else
err_ << examine_data_mappings(tm, sb, options_.data_mapping_opts_, out_,
optional<space_map::ptr>());
+
+ metadata_checked_ = true;
}
bool fix_metadata_leaks(bool open_transaction) {
- if (!verify_preconditions_before_fixing()) {
+ if (!metadata_checked_) {
out_ << "metadata has not been fully examined" << end_message();
return false;
}
@@ -458,7 +477,7 @@ namespace {
}
bool clear_needs_check_flag() {
- if (!verify_preconditions_before_fixing()) {
+ if (!metadata_checked_) {
out_ << "metadata has not been fully examined" << end_message();
return false;
}
@@ -480,14 +499,6 @@ namespace {
return true;
}
- bool get_status() const {
- if (options_.ignore_non_fatal_)
- return (err_ == FATAL) ? false : true;
-
- return (err_ == NO_ERROR) ? true : false;
- }
-
- private:
block_address
get_superblock_location() {
block_address sb_location = superblock_detail::SUPERBLOCK_LOCATION;
@@ -545,19 +556,6 @@ namespace {
return err;
}
- bool verify_preconditions_before_fixing() const {
- if (options_.use_metadata_snap_ ||
- !!options_.override_mapping_root_ ||
- options_.sm_opts_ != check_options::SPACE_MAP_FULL ||
- options_.data_mapping_opts_ != check_options::DATA_MAPPING_LEVEL2)
- return false;
-
- if (!expected_rc_.get_counts().size())
- return false;
-
- return true;
- }
-
std::string const &path_;
check_options options_;
nested_output out_;
@@ -565,6 +563,7 @@ namespace {
block_address sb_location_;
block_counter expected_rc_;
base::error_state err_; // metadata state
+ bool metadata_checked_;
};
}
@@ -628,12 +627,22 @@ bool check_options::check_conformance() {
cerr << "cannot perform fix with an overridden mapping root" << endl;
return false;
}
+ }
+
+ if (fix_metadata_leaks_ &&
+ (data_mapping_opts_ != DATA_MAPPING_LEVEL2 || sm_opts_ != SPACE_MAP_FULL)) {
+ cerr << "cannot perform fix without a full examination" << endl;
+ return false;
+ }
- if (data_mapping_opts_ != DATA_MAPPING_LEVEL2 ||
- sm_opts_ != SPACE_MAP_FULL) {
- cerr << "cannot perform fix without a full examination" << endl;
+ if (clear_needs_check_) {
+ if (data_mapping_opts_ == DATA_MAPPING_NONE) {
+ cerr << "cannot perform fix without partially examination" << endl;
return false;
}
+
+ if (data_mapping_opts_ != DATA_MAPPING_LEVEL2 || sm_opts_ != SPACE_MAP_FULL)
+ cerr << "clearing needs_check without a full examination is not suggested" << endl;
}
return true;
@@ -647,13 +656,7 @@ thin_provisioning::check_metadata(std::string const &path,
output_options output_opts)
{
metadata_checker checker(path, check_opts, output_opts);
-
- checker.check();
- if (check_opts.fix_metadata_leaks_)
- checker.fix_metadata_leaks(check_opts.open_transaction_);
- if (check_opts.clear_needs_check_)
- checker.clear_needs_check_flag();
-
+ checker.check_and_repair();
return checker.get_status();
}
diff --git a/thin-provisioning/metadata_checker.h b/thin-provisioning/metadata_checker.h
index b4afbdc..ea66dc3 100644
--- a/thin-provisioning/metadata_checker.h
+++ b/thin-provisioning/metadata_checker.h
@@ -48,11 +48,14 @@ namespace thin_provisioning {
void set_auto_repair();
void set_clear_needs_check();
+ // flags for checking
bool use_metadata_snap_;
data_mapping_options data_mapping_opts_;
space_map_options sm_opts_;
boost::optional<bcache::block_address> override_mapping_root_;
bool ignore_non_fatal_;
+
+ // flags for repairing
bool fix_metadata_leaks_;
bool clear_needs_check_;
bool open_transaction_;
--
2.41.0.255.g8b1d071c50-goog

View File

@ -0,0 +1,21 @@
For USE=debug to work, portage needs to run cargo_src_compile(), but if `emake`
is used in src_install(), it will trigger a rebuild without debug. If
cargo_src_install() is used instead, manpages and symlinks won't be installed
and the binary would have to be moved since there's no way to make cargo install
to /usr/sbin. So remove $(PDATA_TOOLS) dependency in Makefile instead. Might as
well patch out $(STRIP) too.
--- a/Makefile
+++ b/Makefile
@@ -56,10 +56,9 @@
MANPAGES:=$(patsubst %,man8/%.8,$(TOOLS))
-install: $(PDATA_TOOLS) $(MANPAGES)
+install: $(MANPAGES)
$(INSTALL_DIR) $(BINDIR)
$(INSTALL_PROGRAM) $(PDATA_TOOLS) $(BINDIR)
- $(STRIP) $(BINDIR)/pdata_tools
ln -s -f pdata_tools $(BINDIR)/cache_check
ln -s -f pdata_tools $(BINDIR)/cache_dump
ln -s -f pdata_tools $(BINDIR)/cache_metadata_size

View File

@ -8,6 +8,9 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="io-uring">Enable experimental support for io-uring.</flag>
</use>
<upstream>
<remote-id type="github">jthornber/thin-provisioning-tools</remote-id>
</upstream>

View File

@ -0,0 +1,69 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools flag-o-matic
DESCRIPTION="A suite of tools for thin provisioning on Linux"
HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
if [[ ${PV} != *9999 ]]; then
SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
else
inherit git-r3
EGIT_REPO_URI='https://github.com/jthornber/thin-provisioning-tools.git'
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="static test"
RESTRICT="!test? ( test )"
LIB_DEPEND="dev-libs/expat[static-libs(+)]
dev-libs/libaio[static-libs(+)]"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND} )
test? (
>=dev-cpp/gtest-1.8.0
)
dev-libs/boost"
PATCHES=(
"${FILESDIR}"/${PN}-0.7.0-build-fixes.patch
"${FILESDIR}"/${PN}-0.9.0-build-fixes.patch
"${FILESDIR}"/0.9.0-remove-boost_iostreams.patch
"${FILESDIR}"/${PN}-0.9.0-metadata_checker-Rename-function-to-reflect-command-.patch
"${FILESDIR}"/${PN}-0.9.0-thin_check-Allow-using-clear-needs-check-and-skip-ma.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
use static && append-ldflags -static
local myeconfargs=(
--prefix="${EPREFIX}"/
--bindir="${EPREFIX}"/sbin
--with-optimisation=''
$(use_enable test testing)
)
STRIP=true econf "${myeconfargs[@]}"
}
src_compile() {
emake V=
}
src_test() {
emake V= unit-test
}
src_install() {
emake V= DESTDIR="${D}" DATADIR="${ED}/usr/share" install
dodoc README.md TODO.org
}

View File

@ -0,0 +1,190 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
if [[ ${PV} != *9999 ]]; then
CRATES="
adler@1.0.2
aho-corasick@1.0.2
anstyle@1.0.1
anyhow@1.0.72
atty@0.2.14
autocfg@1.1.0
base64@0.21.2
bitflags@1.3.2
bitflags@2.3.3
bytemuck@1.13.1
byteorder@1.4.3
cassowary@0.3.0
cc@1.0.81
cfg-if@1.0.0
clap@4.3.19
clap_builder@4.3.19
clap_lex@0.5.0
console@0.15.7
crc32c@0.6.4
crc32fast@1.3.2
data-encoding@2.4.0
difflib@0.4.0
downcast@0.11.0
duct@0.13.6
either@1.9.0
encode_unicode@0.3.6
env_logger@0.8.4
errno@0.3.2
errno-dragonfly@0.1.2
exitcode@1.1.2
fastrand@2.0.0
fixedbitset@0.4.2
flate2@1.0.26
float-cmp@0.9.0
fragile@2.0.0
getrandom@0.2.10
hermit-abi@0.1.19
hermit-abi@0.3.2
indicatif@0.17.6
instant@0.1.12
iovec@0.1.4
itertools@0.10.5
lazy_static@1.4.0
libc@0.2.147
linux-raw-sys@0.4.5
log@0.4.19
memchr@2.5.0
minimal-lexical@0.2.1
miniz_oxide@0.7.1
mockall@0.11.4
mockall_derive@0.11.4
nom@7.1.3
normalize-line-endings@0.3.0
num-derive@0.4.0
num-traits@0.2.16
num_cpus@1.16.0
number_prefix@0.4.0
numtoa@0.1.0
once_cell@1.18.0
os_pipe@1.1.4
portable-atomic@1.4.2
ppv-lite86@0.2.17
predicates@2.1.5
predicates-core@1.0.6
predicates-tree@1.0.9
proc-macro2@1.0.66
quick-xml@0.29.0
quickcheck@1.0.3
quickcheck_macros@1.0.0
quote@1.0.32
rand@0.8.5
rand_chacha@0.3.1
rand_core@0.6.4
rangemap@1.3.0
redox_syscall@0.2.16
redox_syscall@0.3.5
redox_termios@0.1.2
regex@1.9.1
regex-automata@0.3.4
regex-syntax@0.7.4
retain_mut@0.1.7
roaring@0.10.2
rustc_version@0.4.0
rustix@0.38.6
safemem@0.3.3
semver@1.0.18
shared_child@1.0.0
strsim@0.10.0
syn@1.0.109
syn@2.0.28
tempfile@3.7.0
termion@1.5.6
termtree@0.4.1
thiserror@1.0.44
thiserror-impl@1.0.44
threadpool@1.8.1
tui@0.19.0
unicode-ident@1.0.11
unicode-segmentation@1.10.1
unicode-width@0.1.10
wasi@0.11.0+wasi-snapshot-preview1
winapi@0.3.9
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
windows-sys@0.45.0
windows-sys@0.48.0
windows-targets@0.42.2
windows-targets@0.48.1
windows_aarch64_gnullvm@0.42.2
windows_aarch64_gnullvm@0.48.0
windows_aarch64_msvc@0.42.2
windows_aarch64_msvc@0.48.0
windows_i686_gnu@0.42.2
windows_i686_gnu@0.48.0
windows_i686_msvc@0.42.2
windows_i686_msvc@0.48.0
windows_x86_64_gnu@0.42.2
windows_x86_64_gnu@0.48.0
windows_x86_64_gnullvm@0.42.2
windows_x86_64_gnullvm@0.48.0
windows_x86_64_msvc@0.42.2
windows_x86_64_msvc@0.48.0
"
declare -A GIT_CRATES=(
[rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8"
)
fi
inherit cargo
DESCRIPTION="A suite of tools for thin provisioning on Linux"
HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git"
inherit git-r3
else
SRC_URI="
https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
SLOT="0"
IUSE="io-uring"
PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" )
DOCS=(
CHANGES
COPYING
README.md
doc/TODO.md
doc/thinp-version-2/notes.md
)
# Rust
QA_FLAGS_IGNORED="usr/sbin/pdata_tools"
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
cargo_live_src_unpack
else
cargo_src_unpack
fi
}
src_configure() {
local myfeatures=( $(usev io-uring io_uring) )
cargo_src_configure
}
src_install() {
emake \
DESTDIR="${D}" \
DATADIR="${ED}/usr/share" \
PDATA_TOOLS="target/$(usex debug debug release)/pdata_tools" \
install
einstalldocs
}

View File

@ -3,6 +3,136 @@
EAPI=8
if [[ ${PV} != *9999 ]]; then
CRATES="
adler@1.0.2
aho-corasick@1.0.2
anstyle@1.0.1
anyhow@1.0.72
atty@0.2.14
autocfg@1.1.0
base64@0.21.2
bitflags@1.3.2
bitflags@2.3.3
bytemuck@1.13.1
byteorder@1.4.3
cassowary@0.3.0
cc@1.0.81
cfg-if@1.0.0
clap@4.3.19
clap_builder@4.3.19
clap_lex@0.5.0
console@0.15.7
crc32c@0.6.4
crc32fast@1.3.2
data-encoding@2.4.0
difflib@0.4.0
downcast@0.11.0
duct@0.13.6
either@1.9.0
encode_unicode@0.3.6
env_logger@0.8.4
errno@0.3.2
errno-dragonfly@0.1.2
exitcode@1.1.2
fastrand@2.0.0
fixedbitset@0.4.2
flate2@1.0.26
float-cmp@0.9.0
fragile@2.0.0
getrandom@0.2.10
hermit-abi@0.1.19
hermit-abi@0.3.2
indicatif@0.17.6
instant@0.1.12
iovec@0.1.4
itertools@0.10.5
lazy_static@1.4.0
libc@0.2.147
linux-raw-sys@0.4.5
log@0.4.19
memchr@2.5.0
minimal-lexical@0.2.1
miniz_oxide@0.7.1
mockall@0.11.4
mockall_derive@0.11.4
nom@7.1.3
normalize-line-endings@0.3.0
num-derive@0.4.0
num-traits@0.2.16
num_cpus@1.16.0
number_prefix@0.4.0
numtoa@0.1.0
once_cell@1.18.0
os_pipe@1.1.4
portable-atomic@1.4.2
ppv-lite86@0.2.17
predicates@2.1.5
predicates-core@1.0.6
predicates-tree@1.0.9
proc-macro2@1.0.66
quick-xml@0.29.0
quickcheck@1.0.3
quickcheck_macros@1.0.0
quote@1.0.32
rand@0.8.5
rand_chacha@0.3.1
rand_core@0.6.4
rangemap@1.3.0
redox_syscall@0.2.16
redox_syscall@0.3.5
redox_termios@0.1.2
regex@1.9.1
regex-automata@0.3.4
regex-syntax@0.7.4
retain_mut@0.1.7
roaring@0.10.2
rustc_version@0.4.0
rustix@0.38.6
safemem@0.3.3
semver@1.0.18
shared_child@1.0.0
strsim@0.10.0
syn@1.0.109
syn@2.0.28
tempfile@3.7.0
termion@1.5.6
termtree@0.4.1
thiserror@1.0.44
thiserror-impl@1.0.44
threadpool@1.8.1
tui@0.19.0
unicode-ident@1.0.11
unicode-segmentation@1.10.1
unicode-width@0.1.10
wasi@0.11.0+wasi-snapshot-preview1
winapi@0.3.9
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
windows-sys@0.45.0
windows-sys@0.48.0
windows-targets@0.42.2
windows-targets@0.48.1
windows_aarch64_gnullvm@0.42.2
windows_aarch64_gnullvm@0.48.0
windows_aarch64_msvc@0.42.2
windows_aarch64_msvc@0.48.0
windows_i686_gnu@0.42.2
windows_i686_gnu@0.48.0
windows_i686_msvc@0.42.2
windows_i686_msvc@0.48.0
windows_x86_64_gnu@0.42.2
windows_x86_64_gnu@0.48.0
windows_x86_64_gnullvm@0.42.2
windows_x86_64_gnullvm@0.48.0
windows_x86_64_msvc@0.42.2
windows_x86_64_msvc@0.48.0
"
declare -A GIT_CRATES=(
[rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8"
)
fi
inherit cargo
DESCRIPTION="A suite of tools for thin provisioning on Linux"
@ -12,12 +142,25 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git"
inherit git-r3
else
SRC_URI="https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
SRC_URI="
https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
KEYWORDS="~amd64 ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="GPL-3"
LICENSE="Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016"
SLOT="0"
IUSE="io-uring"
PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" )
DOCS=(
CHANGES
COPYING
README.md
doc/TODO.md
doc/thinp-version-2/notes.md
)
# Rust
QA_FLAGS_IGNORED="usr/sbin/pdata_tools"
@ -27,14 +170,21 @@ src_unpack() {
git-r3_src_unpack
cargo_live_src_unpack
else
default
cargo_src_unpack
fi
}
src_compile() {
emake V= STRIP=true
src_configure() {
local myfeatures=( $(usev io-uring io_uring) )
cargo_src_configure
}
src_install() {
emake V= DESTDIR="${D}" DATADIR="${ED}/usr/share" STRIP=true install
emake \
DESTDIR="${D}" \
DATADIR="${ED}/usr/share" \
PDATA_TOOLS="target/$(usex debug debug release)/pdata_tools" \
install
einstalldocs
}

View File

@ -11,7 +11,7 @@ if [[ ${PV} == "99999999" ]] ; then
"
else
SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="Gentoo Cross-toolchain generator"

View File

@ -11,6 +11,7 @@ DIST gcc-11-20230810.tar.xz 76213220 BLAKE2B a58fc332238352bb5d30201451c1cd25052
DIST gcc-11-20230817.tar.xz 76219020 BLAKE2B cb1c97f415e098765fc6b958617046f52f66ad193ea85109e89e9eb880c1dc9ceaf0c88bc11c58f7b8426f1156effe6ff78fa29cf3fae73ba2b043f125f6f1f0 SHA512 1e0d88ec6c877c427288d676719a0c945850197226d878b9c4c354473e1a9bc73558391b30c7450547526a99026b273dac2eb9e6ba4709452665e071a2fc7805
DIST gcc-11-20230824.tar.xz 76202120 BLAKE2B 243ce16e28c66d681bb27df32866947309f8fa386e258896651b6853e390da79304250669096fd55cafe0a9d5adf4b3a3cf5989302f4ad13660ece80639b545a SHA512 a9cab8bf61f2a572baba73a2a11271eeb61d43f07411df376a8568820c1373f64f635d747933fda1e942ae717b0ae9f1c810f662fc09ccb075940248bc48b582
DIST gcc-11-20230831.tar.xz 76211908 BLAKE2B 5feec7b77049dfb2d6372f869d99bd6ed4d2f6cf463e10b503cddf986c38f0c1b4fadcd53bf19e7ca763cf54fbf12766528f99e303f7691dd04f2b43e4d61eeb SHA512 210d61c90fbedf3c52de17d7d2792a90d8e1ad0498dc5fdbb2c21f90ba3d19bb69f0a94766b436121eb149be585358cbf10de66065e40eebb3750d78d165eef9
DIST gcc-11-20230907.tar.xz 76271328 BLAKE2B 8bd407d603487dfaa52e28562e57a5895dbc3e76462d21de1a9671c3cf0306d0725129ea8468c9e28627329650745c29412f56a065e00188cc81df6fb78b8c64 SHA512 6b11dc113746a323a41bb52c33ec6a4af85818782fe4ba31fe553c5c723d2b8bcd20f4cb9552daf012ba45e0050112e7e6a51bab7c99b0305a17ffdf854b99ec
DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c
DIST gcc-11.4.0-patches-10.tar.xz 13852 BLAKE2B 54937d13e30e2a5303c7e197fae09eeed35ca0b9783625e02578fcee829b5503fb22d664366322b304df7d01ae807d00af7c93db3e3ceebe4851e15647724f87 SHA512 31b4d7a2e7cc589e92e12c3583d13d41c523cafbd309bc0532df9b68ea2473c89daef4c0edd3ce2917b5823d81a7792f145b9449f16277d0d64c22ceff50bbb9
DIST gcc-11.4.0-patches-9.tar.xz 14704 BLAKE2B 9aa2ecbac493d3040694e9930738e57d59a764b90ab92b91709c319b883f28ad108767e5d11e8b62af40bf1e583d5ff83a03e8c895f904bc6f41315ce9ab4f0a SHA512 ac8b7c6c382ffacc4e9d08299440fc237fa366ec36fb8eb7a8d426b64a4186384a262e6380dc83ed7f7240125ce26a8435c8a4e0e13976ef2652067a7129bd17
@ -24,6 +25,7 @@ DIST gcc-12-20230811.tar.xz 79789344 BLAKE2B eac77a22bf93524e60320db7aeb7ecbfceb
DIST gcc-12-20230818.tar.xz 79797008 BLAKE2B f838f69b699d74fedc2e9b038211bd0089d0ff38811ccbc45911dc2ef21452481216329b5398275ea36b1fc54052086daf5c7a86a7cdb53a14784b90d56c0dc7 SHA512 7a86639efb41fd2c9092729e9ebcdbb49d12bffb1ed6052b595892d2c3fab78955dda4d4fdbb89b4fb4ab2f827f458eb97ab01d76995267f2d7f1ee8cb6a0aad
DIST gcc-12-20230825.tar.xz 79804260 BLAKE2B 4d3eb40eb5954d497b3e9586dad0d18c9e561d3fdd0bdccc5c9572edfbe024a235e30371a10116d98c77f0b6042739600c57ac99253d34f0fbb8b8465b187e1f SHA512 a6cd868f474c356886460b95263807828f9a379ce97524611ec504d6a9149ca1f92585128e6ffd03fa2647442e72fde6ebe987fd49f2fc49d8df39ab056905c5
DIST gcc-12-20230901.tar.xz 79798068 BLAKE2B 2ed8b52dda448398e0c5954251f854c4051235c3c2364bdee1910ee513986f5b43cd776896b6a45f3479d7aef494aa0a956cee22338e004a7c0b8aa0d317ef99 SHA512 741e823916a025fe79779f40fb26518314eda45d004add8c6eaee7a6f32a25ac1afcfa1137d3cbec645a72cac83a759865dc37dee33d8fad2c742d6ce658fb8a
DIST gcc-12-20230908.tar.xz 79788640 BLAKE2B 1ade0324dc16fba5ae410277d0af7ddfd1dc4bcce9bd6d887e955b9069cae986ffece4916313399d5439663ffb40b71aad236b8021b06cb2e777fa13f912f18f SHA512 f31e40d9c3683a6e35b6b0c5b40a8d12a14c964609244415ed4776179c3139a2aead3dde7df3c5e20691360656b98387acefb41c445c840fe3cb27ee05fa28df
DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326
DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69aecb9158e6cf6f23c04754ed5d686be2616e81e2502eb16f4298ddd50518ca7677e13249da9e9b091162d3931ff65e4fe SHA512 b0d4b85dbf1a54aaaa1997203b872e3106906b4ad49cde57e1428bc22b2f8e2d73b8cb10ae0d0b792aebaf664594da4d1dea04c44ddc34e59047410766db04d1
DIST gcc-13-20230527.tar.xz 83956360 BLAKE2B 86a2131b88144817673a6300c73b29c2dbb8559a7057609601029aaf60aeb4c4926fa4b99c4e1768726cde09f994159685768b62b3ca73d7b606847788301e82 SHA512 87566c74258f9981742eae77f552361c220f79fa6f17c36d5b5a9e73f41c50d8a2cab16b9ffb17f07829005f0d42b4b1d524150d3dcba9710091532cbfad7152
@ -33,6 +35,7 @@ DIST gcc-13-20230812.tar.xz 84291228 BLAKE2B 5210e6d2dfc3250efb924ddd8ece283a568
DIST gcc-13-20230819.tar.xz 84298080 BLAKE2B 6488fef3c12f5f521c956294092117ab25bc1c0d5ba1691e3d57300aefa28219ebff9e8ed107f41a605253575c455884d3c7b637fbbfb4285afe488530c0553b SHA512 324b914a772a505b79906cff013c1c7a1bfa207ba05f080b4531a5ce5ba0d0c38747021b4f8fd5a0aac3ea225d972f0a4471897fbab82c372506210769350152
DIST gcc-13-20230826.tar.xz 84285788 BLAKE2B c25be594e322dd7145245c42ae21b98aa9e3e6ae69f1fa313830e40bf2e8fcb8435762f1c9d3f1ca1dbf31653bdc76a658bec708b7850fe40a7c55504ac30618 SHA512 3d47632e90651bd50a881c727c1ef2aa3322b4fc3e082919ae430270901abf8a05a34fe93f8b678c10dc9a0758f93dc3b33ed5947c8743dab453d2b50c063722
DIST gcc-13-20230902.tar.xz 84303384 BLAKE2B 75ffca5b36145d25e26ef2fc0afc611ecb1c4bbb11ef54bfed30fdd174d157acc9d2f7055e1d290be32eebe5e63380cfd361a3f0bc5f396fbf2c624f39cafcbe SHA512 81aff20ced3d973183a214d6936662c32b76edaa72fe6d12849ced988acb1aab78a013e6050e6b79a845fabb08486b552ec2e61826d52abc053bb6aeb571b5e9
DIST gcc-13-20230909.tar.xz 84307500 BLAKE2B 05c12b18f5ee0b0c76050f95bf979a9b0cf01422e26328abe6d1d58b31bc6b96f2767873b990cdfa432b2cd24a9c4690d13688af884177087fe783e6c9b0b48a SHA512 4c51f64b23a7e52e835c3127e2df94b14653ac3a13d1823e4531506018727a458c505b79aeadcb18877ab70991bfa4946a1621934b43fff5d5aaf7b0cb0e19f5
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
DIST gcc-13.2.0-patches-4.tar.xz 35284 BLAKE2B 230932b5df961518dc0c1aea219e65bd49a64bfcbe0621f90012d8fa18c099fbaa9ce865fb7b95e403e9b227d4cc86bf701668837519a3962a76769f49cd1356 SHA512 5464a6de67ed16a5b3200d513069e8ea10d57d0c78eb84523d30f7abfcaa2611c5462e83f9bbdb079e42b4f702e5f2ecd1db0f370fdf0fe6c0216a08cf2801d7
@ -46,6 +49,7 @@ DIST gcc-14-20230813.tar.xz 85109912 BLAKE2B 7c1f05a377697925776f9166271c0bf4f5f
DIST gcc-14-20230820.tar.xz 85164168 BLAKE2B 21521a63faf043390283b3bdae8bb66f3a4926034e0089322c16d237f9fdbffeb58e372ce55c617b02866584c0414c02320246881cee64973686720d2283d428 SHA512 2964d8ef2c08f7f8e3bb2e403180a921c3b048c51159b47ce1e9c5dc0c3543a4ef583f4f274a631d0aec1f798d6923b92e9cc0990e24459c40b04a916f8a0fd9
DIST gcc-14-20230827.tar.xz 85222804 BLAKE2B 5faba24eda2ca81d0cd3c3ea08353ef0047a10ff9be25503c46b4ea1fe9fbf729e3e8d20a5307d45c43250fcfeac6cc9f323aaeb62c81cd7cc9b3fda0ba56101 SHA512 d6c38cc3594e4a607adfd4b71b9af29f389d5a430aec01c4b4a76a71bdec3267798ea7cb3fcc2d1661886ac84636f0b9999c6bf4241a85eb7c238134dae02ab3
DIST gcc-14-20230903.tar.xz 85250996 BLAKE2B 798500bd10f07dbab08059bc5885162300c1fb36057118bf14959184c6d98a13ccf335458720a9e7c93a6919be10473094d96dc2d1144e3c6f8e33941a8f14fd SHA512 1bac24b1441123ee0b9a48a749fbf7bee23a5fa8ae798053fb5003721a2922221c49fa379ea358575c180a0571e47145dde01c3bbee4df0ed569bd78f6ee439a
DIST gcc-14-20230910.tar.xz 85633968 BLAKE2B 3abf0e0ca11cb5462380e8515167e43a43e44180d46df75092e46454244f76357357e3e3e6af7323b9e638ee24fe28283af26f6852bad691e8660e99f9ebdf78 SHA512 ddafbf862880b801dbfc3365d1d9416842d257b8f3d3a6d16acdf444ec13d4aa91f6c8fe062c26e01e8544339a7df20c42cff04beb1d9825a3fcee0744df4039
DIST gcc-14.0.0-musl-patches-1.tar.xz 3576 BLAKE2B 692baee8a7709905d53aeb150d73a3721c4ba47ee5f397cfb1b5be905cf003ca02b60c94ee294d90ac39645cd5cdf186c7a3aa950c47d8cf680c128ed705b807 SHA512 0592ab98a7142e404623a6511c67dff61e9ade32c3fb2c0e75b456306e0af3799ad13252b50b3d2fdd31e5815d7f0b16b0ad63ab8386fe4d78729fc9c182d617
DIST gcc-14.0.0-patches-2.tar.xz 11484 BLAKE2B 6ff968051d286f21eb7f4ec80303b232530c153cca8d9e61ddfdf3675ef8c5740223a8b720ec9d5c4561b505993c675cc6fc7a9bab659ee1db99e1d97911eb74 SHA512 b255338d6110d9bfe211ba14da7b186f69b81503dba6e4ec19ee6fa37d44c0690e713c763abe27ce934ff7f9e5d0c8788a54c30587f07f65858b1e817cbf7247
DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6

View File

@ -0,0 +1,64 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
PATCH_GCC_VER="11.4.0"
PATCH_VER="10"
MUSL_VER="2"
MUSL_GCC_VER="11.4.0"
if [[ ${PV} == *.9999 ]] ; then
MY_PV_2=$(ver_cut 2)
MY_PV_3=1
if [[ ${MY_PV_2} == 0 ]] ; then
MY_PV_2=0
MY_PV_3=0
else
MY_PV_2=$((${MY_PV_2} - 1))
fi
# e.g. 12.2.9999 -> 12.1.1
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
# Cheesy hack for RCs
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
MY_P=${PN}-${MY_PV}
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
TOOLCHAIN_SET_S=no
S="${WORKDIR}"/${MY_P}
fi
inherit toolchain
if tc_is_live ; then
# Needs to be after inherit (for now?), bug #830908
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# Don't keyword live ebuilds
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
:;
fi
if [[ ${CATEGORY} != cross-* ]] ; then
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
# If GCC is enabling CET by default, we need glibc to be built with support for it.
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
fi
src_prepare() {
local p upstreamed_patches=(
# add them here
)
for p in "${upstreamed_patches[@]}"; do
rm -v "${WORKDIR}/patch/${p}" || die
done
toolchain_src_prepare
eapply_user
}

View File

@ -0,0 +1,64 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
PATCH_GCC_VER="12.3.0"
PATCH_VER="2"
MUSL_VER="1"
MUSL_GCC_VER="12.3.0"
if [[ ${PV} == *.9999 ]] ; then
MY_PV_2=$(ver_cut 2)
MY_PV_3=1
if [[ ${MY_PV_2} == 0 ]] ; then
MY_PV_2=0
MY_PV_3=0
else
MY_PV_2=$((${MY_PV_2} - 1))
fi
# e.g. 12.2.9999 -> 12.1.1
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
# Cheesy hack for RCs
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
MY_P=${PN}-${MY_PV}
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
TOOLCHAIN_SET_S=no
S="${WORKDIR}"/${MY_P}
fi
inherit toolchain
if tc_is_live ; then
# Needs to be after inherit (for now?), bug #830908
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# Don't keyword live ebuilds
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
:;
fi
if [[ ${CATEGORY} != cross-* ]] ; then
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
# If GCC is enabling CET by default, we need glibc to be built with support for it.
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
fi
src_prepare() {
local p upstreamed_patches=(
# add them here
)
for p in "${upstreamed_patches[@]}"; do
rm -v "${WORKDIR}/patch/${p}" || die
done
toolchain_src_prepare
eapply_user
}

View File

@ -0,0 +1,65 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
PATCH_GCC_VER="13.2.0"
PATCH_VER="7"
MUSL_VER="2"
MUSL_GCC_VER="13.2.0"
if [[ ${PV} == *.9999 ]] ; then
MY_PV_2=$(ver_cut 2)
MY_PV_3=1
if [[ ${MY_PV_2} == 0 ]] ; then
MY_PV_2=0
MY_PV_3=0
else
MY_PV_2=$((${MY_PV_2} - 1))
fi
# e.g. 12.2.9999 -> 12.1.1
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
# Cheesy hack for RCs
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
MY_P=${PN}-${MY_PV}
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
TOOLCHAIN_SET_S=no
S="${WORKDIR}"/${MY_P}
fi
inherit toolchain
if tc_is_live ; then
# Needs to be after inherit (for now?), bug #830908
EGIT_BRANCH=releases/gcc-$(ver_cut 1)
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# Don't keyword live ebuilds
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
:;
fi
if [[ ${CATEGORY} != cross-* ]] ; then
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
# If GCC is enabling CET by default, we need glibc to be built with support for it.
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
fi
src_prepare() {
local p upstreamed_patches=(
# add them here
)
for p in "${upstreamed_patches[@]}"; do
rm -v "${WORKDIR}/patch/${p}" || die
done
toolchain_src_prepare
eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
eapply_user
}

View File

@ -0,0 +1,64 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
TOOLCHAIN_PATCH_DEV="sam"
PATCH_GCC_VER="14.0.0"
PATCH_VER="2"
MUSL_VER="1"
MUSL_GCC_VER="14.0.0"
if [[ ${PV} == *.9999 ]] ; then
MY_PV_2=$(ver_cut 2)
MY_PV_3=1
if [[ ${MY_PV_2} == 0 ]] ; then
MY_PV_2=0
MY_PV_3=0
else
MY_PV_2=$((${MY_PV_2} - 1))
fi
# e.g. 12.2.9999 -> 12.1.1
TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
# Cheesy hack for RCs
MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
MY_P=${PN}-${MY_PV}
GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
TOOLCHAIN_SET_S=no
S="${WORKDIR}"/${MY_P}
fi
inherit toolchain
if tc_is_live ; then
# Needs to be after inherit (for now?), bug #830908
EGIT_BRANCH=master
elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
# Don't keyword live ebuilds
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
:;
fi
if [[ ${CATEGORY} != cross-* ]] ; then
# Technically only if USE=hardened *too* right now, but no point in complicating it further.
# If GCC is enabling CET by default, we need glibc to be built with support for it.
# bug #830454
RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
DEPEND="${RDEPEND}"
BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
fi
src_prepare() {
local p upstreamed_patches=(
# add them here
)
for p in "${upstreamed_patches[@]}"; do
rm -v "${WORKDIR}/patch/${p}" || die
done
toolchain_src_prepare
eapply_user
}

View File

@ -9,7 +9,7 @@ if [[ ${PV} == 99999999 ]] ; then
inherit git-r3
else
SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${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"
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"
S="${WORKDIR}"
fi

View File

@ -258,7 +258,32 @@ sudo -E ${EMERGE_CMD} "${EMERGE_FLAGS[@]}" \
coreos-devel/sdk-depends world
info "Removing obsolete packages"
sudo -E ${EMERGE_CMD} --verbose --depclean @unavailable
# The return value of emerge is not clearly reliable. It may fail with
# an output like following:
#
# Calculating dependencies... done!
# dev-libs/gmp-6.3.0 pulled in by:
# cross-aarch64-cros-linux-gnu/gcc-12.3.1_p20230526 requires >=dev-libs/gmp-4.3.2:0/10.4=, >=dev-libs/gmp-4.3.2:0=
# cross-aarch64-cros-linux-gnu/gdb-13.2-r1 requires dev-libs/gmp:=, dev-libs/gmp:0/10.4=
# cross-x86_64-cros-linux-gnu/gcc-12.3.1_p20230526 requires >=dev-libs/gmp-4.3.2:0/10.4=, >=dev-libs/gmp-4.3.2:0=
# cross-x86_64-cros-linux-gnu/gdb-13.2-r1 requires dev-libs/gmp:0/10.4=, dev-libs/gmp:=
# dev-libs/mpc-1.2.1 requires >=dev-libs/gmp-5.0.0:0=[abi_x86_64(-)], >=dev-libs/gmp-5.0.0:0/10.4=[abi_x86_64(-)]
# dev-libs/mpfr-4.1.0-r1 requires >=dev-libs/gmp-5.0.0:=[abi_x86_64(-)], >=dev-libs/gmp-5.0.0:0/10.4=[abi_x86_64(-)]
# dev-libs/nettle-3.9.1 requires >=dev-libs/gmp-6.1:0/10.4=[abi_x86_64(-)], >=dev-libs/gmp-6.1:=[abi_x86_64(-)]
# net-libs/gnutls-3.8.0 requires >=dev-libs/gmp-5.1.3-r1:0/10.4=[abi_x86_64(-)], >=dev-libs/gmp-5.1.3-r1:=[abi_x86_64(-)]
# sys-devel/gcc-12.3.1_p20230526 requires >=dev-libs/gmp-4.3.2:0=, >=dev-libs/gmp-4.3.2:0/10.4=
#
# >>> No packages selected for removal by depclean
#
# Which gives you completely no reason for returning with non-zero
# status. Ignore emerge failures here.
#
# Well, actually, technically the reason for failure is that we asked
# for a removal of the unavailable packages and emerge found that
# dev-libs/gmp-6.3.0 is not available but didn't remove it, because
# it's pulled as a dependency by other packages. Question is why
# emerge thinks that dev-libs/gmp-6.3.0 is not available.
sudo -E ${EMERGE_CMD} --verbose --depclean @unavailable || :
if portageq list_preserved_libs / >/dev/null; then
info "Rebuilding packages linked against old libraries"