diff options
author | 2022-10-09 12:03:06 +0000 | |
---|---|---|
committer | 2022-10-09 12:03:06 +0000 | |
commit | f2624cdc62e3b0d581e47076baede8f468df2de2 (patch) | |
tree | 9958231cf2028428038dfa42fae397dfc44768f1 | |
parent | 2022-10-09 11:33:07 UTC (diff) | |
parent | sys-libs/binutils-libs: 2.39 patchset bump (diff) | |
download | gentoo-f2624cdc62e3b0d581e47076baede8f468df2de2.tar.gz gentoo-f2624cdc62e3b0d581e47076baede8f468df2de2.tar.bz2 gentoo-f2624cdc62e3b0d581e47076baede8f468df2de2.zip |
Merge updates from master
18 files changed, 853 insertions, 41 deletions
diff --git a/dev-libs/libgrapheme/Manifest b/dev-libs/libgrapheme/Manifest index dc1e795e5493..7c9b2bf7c698 100644 --- a/dev-libs/libgrapheme/Manifest +++ b/dev-libs/libgrapheme/Manifest @@ -1,2 +1,3 @@ DIST libgrapheme-1.tar.gz 67912 BLAKE2B 62e82018b2a45f7259811fbfbae45741252ffedafa095d8e373d62220fc50141afe359d171b723e007120ac307db540c03cfe6e60ecedf1eea0be5518caa9bcb SHA512 c0f3300d30707266e44ee01f359204720ae1770788cec509b03be914f8581caae144fb72952d111f108ebef21fd96b5ca2cf69463ee569bce4bba8645942ee05 DIST libgrapheme-2.0.0.tar.gz 844784 BLAKE2B 02e52bbbf69276bf2ed43b7acb0b95d59ba5e435514d62827d2e41f1605ba207ab808864df149527798f51e8ae8025fe7880aac738c66dd35bec0ad042f34d85 SHA512 c5b55a4201958f10cabd2ad228cda8ea35b6fc3260d6018f2c01a82ce265369c2f4ebd36e7e66aabf7458f86791e97754b544acac136c8acd874ea708efe961a +DIST libgrapheme-2.0.1.tar.gz 845666 BLAKE2B 872617d492e64ac0af2562e2842c0011e47f103551b72f0ed4979c1c486401fac0881614d7205da4db4b375c8cd89c00a02e1063428caea0110d5cd3a92602aa SHA512 bc52d4384332a2e2cb01a2697b21e8a3a9742e8ae95dd6e815b69de0a82fdaa2286c44038688a94812dde09d5479a625b0b5c9f839a69789e40d4b76a2def808 diff --git a/dev-libs/libgrapheme/libgrapheme-2.0.1.ebuild b/dev-libs/libgrapheme/libgrapheme-2.0.1.ebuild new file mode 100644 index 000000000000..9cd9b0bf37de --- /dev/null +++ b/dev-libs/libgrapheme/libgrapheme-2.0.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="Unicode string library" +HOMEPAGE="https://libs.suckless.org/libgrapheme/" +SRC_URI="https://dl.suckless.org/libgrapheme/${P}.tar.gz" + +LICENSE="ISC" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~x86" +# upstream suggests keeping the static option, others have requested it too +IUSE="static-libs" + +src_prepare() { + default + + append-cflags ${CPPFLAGS} + tc-export CC AR RANLIB + tc-export_build_env BUILD_CC + sed -Ei '/^(BUILD_|)(CC|AR|RANLIB|CFLAGS|LDFLAGS|LDCONFIG).*=/d' config.mk || die +} + +src_install() { + local emakeargs=( + DESTDIR="${D}" + PREFIX="${EPREFIX}"/usr + LIBPREFIX="${EPREFIX}"/usr/$(get_libdir) + ) + + emake "${emakeargs[@]}" install + einstalldocs + + use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die +} diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-clang16.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-clang16.patch new file mode 100644 index 000000000000..e1b0cbd115b2 --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-clang16.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/871375 +--- a/dispdata.c ++++ b/dispdata.c +@@ -42,3 +42,3 @@ + +-extern destroy_program; ++extern int destroy_program; + extern Semaphore masterdo; +--- a/netwatch.c ++++ b/netwatch.c +@@ -608,2 +608,4 @@ + void findaddr (u_int32_t searchaddr); ++int doeth (); ++int gh (int opt); + +--- a/netwatch.h ++++ b/netwatch.h +@@ -220,2 +220,4 @@ + char *servicenm( char *s, int port); ++void uthread_wait( long usec); ++int dokeyin (int force); + diff --git a/net-analyzer/netwatch/files/netwatch-1.3.0.1-lto-mismatch.patch b/net-analyzer/netwatch/files/netwatch-1.3.0.1-lto-mismatch.patch new file mode 100644 index 000000000000..7a89ce111e9a --- /dev/null +++ b/net-analyzer/netwatch/files/netwatch-1.3.0.1-lto-mismatch.patch @@ -0,0 +1,8 @@ +Fix failure with -Werror=lto-type-mismatch +--- a/dispdata.c ++++ b/dispdata.c +@@ -96,3 +96,3 @@ + #define MAXSTATUS 14 +-#define STATUSSIZE 200 ++#define STATUSSIZE 256 + extern char status_lines[MAXSTATUS][STATUSSIZE]; diff --git a/net-analyzer/netwatch/netwatch-1.3.0.1-r4.ebuild b/net-analyzer/netwatch/netwatch-1.3.0.1-r5.ebuild index df2471e3538e..a7215c4e36d0 100644 --- a/net-analyzer/netwatch/netwatch-1.3.0.1-r4.ebuild +++ b/net-analyzer/netwatch/netwatch-1.3.0.1-r5.ebuild @@ -1,26 +1,25 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 -inherit autotools +EAPI=8 -MY_PV=$(ver_cut 1-3)-$(ver_cut 4) +inherit autotools flag-o-matic DESCRIPTION="Ethernet/PPP IP Packet Monitor" -HOMEPAGE="http://www.slctech.org/~mackay/netwatch.html" -SRC_URI="http://www.slctech.org/~mackay/NETWATCH/${PN}-${MY_PV}.tgz" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +SRC_URI="mirror://gentoo/${PN}-$(ver_rs 3 -).tgz" +S="${WORKDIR}/${PN}-$(ver_cut 1-3)" LICENSE="GPL-2" SLOT="0" KEYWORDS="amd64 ~x86" -IUSE="doc" -RDEPEND="sys-libs/ncurses" +RDEPEND="sys-libs/ncurses:=" DEPEND=" ${RDEPEND} - sys-kernel/linux-headers - virtual/pkgconfig -" + sys-kernel/linux-headers" +BDEPEND="virtual/pkgconfig" + PATCHES=( "${FILESDIR}"/${P}-append_ldflags.patch "${FILESDIR}"/${P}-open.patch @@ -29,22 +28,23 @@ PATCHES=( "${FILESDIR}"/${P}-includes.patch "${FILESDIR}"/${P}-tinfo.patch "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-lto-mismatch.patch + "${FILESDIR}"/${P}-clang16.patch ) -S=${WORKDIR}/${PN}-$(ver_cut 1-3) src_prepare() { default + eautoreconf + + append-flags -fno-strict-aliasing #861203 } src_install() { dosbin netresolv netwatch - doman netwatch.1 - dodoc BUGS CHANGES README* TODO + einstalldocs - if use doc; then - docinto html - dodoc NetwatchKeyCommands.html - fi + docinto html + dodoc NetwatchKeyCommands.html } diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest index 15748cfd21d1..bcef712c6975 100644 --- a/sys-devel/binutils-hppa64/Manifest +++ b/sys-devel/binutils-hppa64/Manifest @@ -3,4 +3,5 @@ DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c22 DIST binutils-2.38-patches-4.tar.xz 193852 BLAKE2B 5a83e20008e58464ed563a6817a367e50684c59d08c47345cc546054269c42463d1651441720f865851e4e182e917df1a095c68e64226e0351b64e975d524096 SHA512 6657e547bb02898632cc45a8f1894be098aa7472b6725b65f95393e621abb127e468b4e50310720bf03f7e8d0a68bc2c47af76fc43aaa8f32b2e4a149c0c6290 DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d DIST binutils-2.39-patches-4.tar.xz 62880 BLAKE2B 5cc335769d9c88417583ce059c61d0d7655f3ab9ac69647e6e2f65bd3a9dd143fe34c50bb68ab81d4226ddd0e4ef405d7102f67375a672eedc3d01b92b8ef497 SHA512 ef81350979af64cf35800b39982c84657a5c01362c01d221164a43d8f0dd80276c9f052c55d24516fad457e6671a58d467d71b5edd6c1f53fddbdb31172a21ee +DIST binutils-2.39-patches-5.tar.xz 82924 BLAKE2B 2cf75f661989f22270d6afe5f3c543814eb6a331be4493016fa2871e1f10a84a123c1c51e77a19b35e46680b9fe77390cb1532ca40d470a6041fa768fed3ccd7 SHA512 4b5811b4822b3a06f590fc7d082dc0ddf18a6058ac23887254e2ee9bd63c7f06f1636e446152115c7e0b01a6c5298a0d9df6904bd1582e66504ccde80dd1ecbd DIST binutils-2.39.tar.xz 25167756 BLAKE2B ac6a5296c6586d53eaadcbffc5c399a6d79edf72450b9bb8b3525ce525129cef3d2eb90c85ef3bb3270b5a03b0e1ffb8f0b705f028158726f9777ebb8685066f SHA512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.39-r3.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.39-r3.ebuild new file mode 100644 index 000000000000..e1508bce3ca7 --- /dev/null +++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.39-r3.ebuild @@ -0,0 +1,479 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CTARGET=hppa64-${CHOST#*-} + +inherit libtool flag-o-matic gnuconfig multilib strip-linguas toolchain-funcs + +DESCRIPTION="Tools necessary to build programs" +HOMEPAGE="https://sourceware.org/binutils/" + +LICENSE="GPL-3+" +IUSE="cet default-gold doc +gold multitarget +nls pgo +plugins static-libs test vanilla" +REQUIRED_USE="default-gold? ( gold )" + +# Variables that can be set here (ignored for live ebuilds) +# PATCH_VER - the patchset version +# Default: empty, no patching +# PATCH_BINUTILS_VER - the binutils version in the patchset name +# - Default: PV +# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/... +# for the patchsets + +PATCH_VER=5 +PATCH_DEV=dilfridge + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + SLOT=${PV} +else + PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} + PATCH_DEV=${PATCH_DEV:-dilfridge} + SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz" + [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + SLOT=$(ver_cut 1-2) + KEYWORDS="-* ~hppa" +fi + +# +# The cross-compile logic +# +export CTARGET=${CTARGET:-${CHOST}} +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +# +# The dependencies +# +RDEPEND=" + >=sys-devel/binutils-config-3 + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( sys-apps/texinfo ) + test? ( + dev-util/dejagnu + sys-devel/bc + ) + nls? ( sys-devel/gettext ) + sys-devel/flex + virtual/yacc +" + +RESTRICT="!test? ( test )" + +MY_BUILDDIR="${WORKDIR}"/build +S="${WORKDIR}"/${P/-hppa64/} + +src_unpack() { + if [[ ${PV} == 9999* ]] ; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git" + EGIT_CHECKOUT_DIR="${WORKDIR}"/patches-git + git-r3_src_unpack + mv patches-git/9999 patch || die + + S="${WORKDIR}"/binutils + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + EGIT_CHECKOUT_DIR="${S}" + git-r3_src_unpack + else + unpack ${P/-hppa64/}.tar.xz + + cd "${WORKDIR}" || die + unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz + + # _p patch versions are Gentoo specific tarballs ... + local dir=${P%_p?} + dir=${dir/-hppa64/} + + S="${WORKDIR}"/${dir} + fi + + cd "${WORKDIR}" || die + mkdir -p "${MY_BUILDDIR}" || die +} + +src_prepare() { + local patchsetname + if [[ ${PV} == 9999* ]] ; then + patchsetname="from git master" + else + patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}" + fi + + if [[ -n ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then + if ! use vanilla; then + einfo "Applying binutils patchset ${patchsetname}" + eapply "${WORKDIR}/patch" + einfo "Done." + fi + fi + + # Make sure our explicit libdir paths don't get clobbered, bug #562460 + sed -i \ + -e 's:@bfdlibdir@:@libdir@:g' \ + -e 's:@bfdincludedir@:@includedir@:g' \ + {bfd,opcodes}/Makefile.in || die + + # Fix locale issues if possible, bug #122216 + if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then + einfo "Fixing misc issues in configure files" + for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do + ebegin " Updating ${f/${S}\/}" + patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \ + || eerror "Please file a bug about this" + eend $? + done + fi + + # Apply things from PATCHES and user dirs + default + + # Run misc portage update scripts + gnuconfig_update + elibtoolize --portage --no-uclibc +} + +toolchain-binutils_bugurl() { + printf "https://bugs.gentoo.org/" +} +toolchain-binutils_pkgversion() { + printf "Gentoo ${PV}" + [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}" +} + +src_configure() { + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + # Setup some paths + LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV} + INCPATH=${LIBPATH}/include + DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV} + if is_cross ; then + TOOLPATH=/usr/${CHOST}/${CTARGET} + else + TOOLPATH=/usr/${CTARGET} + fi + BINPATH=${TOOLPATH}/binutils-bin/${PV} + + # Make sure we filter $LINGUAS so that only ones that + # actually work make it through, bug #42033 + strip-linguas -u */po + + # Keep things sane + strip-flags + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local x + echo + for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do + einfo "$(printf '%10s' ${x}:) ${!x}" + done + echo + + cd "${MY_BUILDDIR}" || die + local myconf=() + + if use plugins ; then + myconf+=( --enable-plugins ) + fi + # enable gold (installed as ld.gold) and ld's plugin architecture + if use gold ; then + myconf+=( --enable-gold ) + if use default-gold; then + myconf+=( --enable-gold=default ) + fi + fi + + if use nls ; then + myconf+=( --without-included-gettext ) + else + myconf+=( --disable-nls ) + fi + + myconf+=( --with-system-zlib ) + + # For bi-arch systems, enable a 64bit bfd. This matches the bi-arch + # logic in toolchain.eclass. bug #446946 + # + # We used to do it for everyone, but it's slow on 32bit arches. bug #438522 + case $(tc-arch) in + ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;; + esac + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} ) + + is_cross && myconf+=( + --with-sysroot="${EPREFIX}"/usr/${CTARGET} + --enable-poison-system-directories + ) + + myconf+=( --enable-secureplt ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + myconf+=( + --prefix="${EPREFIX}"/usr + --host=${CHOST} + --target=${CTARGET} + --datadir="${EPREFIX}"${DATAPATH} + --datarootdir="${EPREFIX}"${DATAPATH} + --infodir="${EPREFIX}"${DATAPATH}/info + --mandir="${EPREFIX}"${DATAPATH}/man + --bindir="${EPREFIX}"${BINPATH} + --libdir="${EPREFIX}"${LIBPATH} + --libexecdir="${EPREFIX}"${LIBPATH} + --includedir="${EPREFIX}"${INCPATH} + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.27) offer a configure flag now. + --enable-relro + # Newer versions (>=2.24) make this an explicit option, bug #497268 + --enable-install-libiberty + # Available from 2.35 on + --enable-textrel-check=warning + # Works better than vapier's patch., bug #808787 + --enable-new-dtags + --disable-werror + --with-bugurl="$(toolchain-binutils_bugurl)" + --with-pkgversion="$(toolchain-binutils_pkgversion)" + $(use_enable static-libs static) + # Disable modules that are in a combined binutils/gdb tree. bug #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # Change SONAME to avoid conflict across + # {native,cross}/binutils, binutils-libs. bug #666100 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + + ) + + if ! is_cross ; then + # No LTO for HPPA64 right now as we don't build kgcc64 with LTO support. + myconf+=( $(use_enable pgo pgo-build) ) + + if use pgo ; then + export BUILD_CFLAGS="${CFLAGS}" + fi + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" || die + + # Prevent makeinfo from running if doc is unset. + if ! use doc ; then + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die + fi +} + +src_compile() { + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + emake V=1 tooldir="${EPREFIX}${TOOLPATH}" all + + # only build info pages if the user wants them + if use doc ; then + emake V=1 info + fi + + # we nuke the manpages when we're left with junk + # (like when we bootstrap, no perl -> no manpages) + find . -name '*.1' -a -size 0 -delete +} + +src_test() { + cd "${MY_BUILDDIR}" || die + + # bug #637066 + filter-flags -Wall -Wreturn-type + + emake -k V=1 check +} + +src_install() { + local x d + + cd "${MY_BUILDDIR}" || die + + # see Note [tooldir hack for ldscripts] + emake V=1 DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install + rm -rf "${ED}"/${LIBPATH}/bin || die + use static-libs || find "${ED}" -name '*.la' -delete + + # Newer versions of binutils get fancy with ${LIBPATH}, bug #171905 + cd "${ED}"/${LIBPATH} || die + for d in ../* ; do + [[ ${d} == ../${PV} ]] && continue + mv ${d}/* . || die + rmdir ${d} || die + done + + # Now we collect everything intp the proper SLOT-ed dirs + # When something is built to cross-compile, it installs into + # /usr/$CHOST/ by default ... we have to 'fix' that :) + if is_cross ; then + cd "${ED}"/${BINPATH} || die + for x in * ; do + mv ${x} ${x/${CTARGET}-} || die + done + + if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then + # No die for now, dies on hppa? + mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH} + mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/usr/${CHOST}/{include,lib} + fi + fi + + insinto ${INCPATH} + local libiberty_headers=( + # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir. + demangle.h + dyn-string.h + fibheap.h + hashtab.h + libiberty.h + objalloc.h + splay-tree.h + ) + doins "${libiberty_headers[@]/#/${S}/include/}" + if [[ -d ${ED}/${LIBPATH}/lib ]] ; then + # TODO: add || die here, fails on hppa? + mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/ + rm -r "${ED}"/${LIBPATH}/lib + fi + + # Generate an env.d entry for this binutils + insinto /etc/env.d/binutils + cat <<-EOF > "${T}"/env.d + TARGET="${CTARGET}" + VER="${PV}" + LIBPATH="${EPREFIX}${LIBPATH}" + EOF + newins "${T}"/env.d ${CTARGET}-${PV} + + # Handle documentation + if ! is_cross ; then + cd "${S}" || die + dodoc README + + docinto bfd + dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO + + docinto binutils + dodoc binutils/ChangeLog binutils/NEWS binutils/README + + docinto gas + dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README* + + docinto gprof + dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl + + docinto ld + dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO + + docinto libiberty + dodoc libiberty/ChangeLog* libiberty/README + + docinto opcodes + dodoc opcodes/ChangeLog* + fi + + # Remove shared info pages + rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info} || die + + # Trim all empty dirs + find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null + + # the hppa64 hack; this should go into 9999 as a PN-conditional + # tweak the default fake list a little bit + cd "${D}"/etc/env.d/binutils + sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die +} + +pkg_postinst() { + # Make sure this ${CTARGET} has a binutils version selected + [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0 + binutils-config ${CTARGET}-${PV} +} + +pkg_postrm() { + local current_profile=$(binutils-config -c ${CTARGET}) + + # If no other versions exist, then uninstall for this + # target ... otherwise, switch to the newest version + # Note: only do this if this version is unmerged. We + # rerun binutils-config if this is a remerge, as + # we want the mtimes on the symlinks updated (if + # it is the same as the current selected profile) + if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then + local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}') + choice=${choice//$'\n'/ } + choice=${choice/* } + if [[ -z ${choice} ]] ; then + binutils-config -u ${CTARGET} + else + binutils-config ${choice} + fi + elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then + binutils-config ${CTARGET}-${PV} + fi +} + +# Note [slotting support] +# ----------------------- +# Gentoo's layout for binutils files is non-standard as Gentoo +# supports slotted installation for binutils. Many tools +# still expect binutils to reside in known locations. +# binutils-config package restores symlinks into known locations, +# like: +# /usr/bin/${CTARGET}-<tool> +# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips +# /usr/include/ +# +# Note [tooldir hack for ldscripts] +# --------------------------------- +# Build system does not allow ./configure to tweak every location +# we need for slotting binutils hence all the shuffling in +# src_install(). This note is about SCRIPTDIR define handling. +# +# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value +# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib' +# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time. +# Thus we can't just move files around after compilation finished. +# +# Our goal is the following: +# - at build-time set scriptdir to point to symlinked location: +# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case) +# - at install-time set scriptdir to point to slotted location: +# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV} diff --git a/sys-devel/binutils/binutils-2.39-r3.ebuild b/sys-devel/binutils/binutils-2.39-r3.ebuild index 620758c6608a..27930510b19c 100644 --- a/sys-devel/binutils/binutils-2.39-r3.ebuild +++ b/sys-devel/binutils/binutils-2.39-r3.ebuild @@ -33,7 +33,7 @@ else [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI} https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" SLOT=$(ver_cut 1-2) - #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 # diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest index 09835e092485..2ecbd6b1a77a 100644 --- a/sys-libs/binutils-libs/Manifest +++ b/sys-libs/binutils-libs/Manifest @@ -9,4 +9,5 @@ DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c22 DIST binutils-2.38-patches-4.tar.xz 193852 BLAKE2B 5a83e20008e58464ed563a6817a367e50684c59d08c47345cc546054269c42463d1651441720f865851e4e182e917df1a095c68e64226e0351b64e975d524096 SHA512 6657e547bb02898632cc45a8f1894be098aa7472b6725b65f95393e621abb127e468b4e50310720bf03f7e8d0a68bc2c47af76fc43aaa8f32b2e4a149c0c6290 DIST binutils-2.38.tar.xz 23651408 BLAKE2B 19ede396ec97b88e632aded2f69f4684cc5053109e06c3c4a1934944e3f0ceaa9e4a2604528a440189771f778cb5d75edd510163970eeea31afba87fa256feba SHA512 8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d DIST binutils-2.39-patches-4.tar.xz 62880 BLAKE2B 5cc335769d9c88417583ce059c61d0d7655f3ab9ac69647e6e2f65bd3a9dd143fe34c50bb68ab81d4226ddd0e4ef405d7102f67375a672eedc3d01b92b8ef497 SHA512 ef81350979af64cf35800b39982c84657a5c01362c01d221164a43d8f0dd80276c9f052c55d24516fad457e6671a58d467d71b5edd6c1f53fddbdb31172a21ee +DIST binutils-2.39-patches-5.tar.xz 82924 BLAKE2B 2cf75f661989f22270d6afe5f3c543814eb6a331be4493016fa2871e1f10a84a123c1c51e77a19b35e46680b9fe77390cb1532ca40d470a6041fa768fed3ccd7 SHA512 4b5811b4822b3a06f590fc7d082dc0ddf18a6058ac23887254e2ee9bd63c7f06f1636e446152115c7e0b01a6c5298a0d9df6904bd1582e66504ccde80dd1ecbd DIST binutils-2.39.tar.xz 25167756 BLAKE2B ac6a5296c6586d53eaadcbffc5c399a6d79edf72450b9bb8b3525ce525129cef3d2eb90c85ef3bb3270b5a03b0e1ffb8f0b705f028158726f9777ebb8685066f SHA512 68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 diff --git a/sys-libs/binutils-libs/binutils-libs-2.39-r3.ebuild b/sys-libs/binutils-libs/binutils-libs-2.39-r3.ebuild new file mode 100644 index 000000000000..e456c27e99b2 --- /dev/null +++ b/sys-libs/binutils-libs/binutils-libs-2.39-r3.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_VER=5 +PATCH_DEV=dilfridge + +inherit libtool toolchain-funcs multilib-minimal + +MY_PN="binutils" +MY_P="${MY_PN}-${PV}" +PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}} +PATCH_DEV=${PATCH_DEV:-dilfridge} + +DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages" +HOMEPAGE="https://sourceware.org/binutils/" +SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz" + +LICENSE="|| ( GPL-3 LGPL-3 )" +SLOT="0/${PV%_p?}" +IUSE="64-bit-bfd cet multitarget nls static-libs" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +BDEPEND="nls? ( sys-devel/gettext )" +DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]" +# Need a newer binutils-config that'll reset include/lib symlinks for us. +RDEPEND="${DEPEND} + >=sys-devel/binutils-config-5 +" + +S="${WORKDIR}/${MY_P%_p?}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/bfd.h +) + +src_prepare() { + if [[ -n ${PATCH_VER} ]] ; then + einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}" + eapply "${WORKDIR}/patch"/*.patch + fi + + # Fix cross-compile relinking issue, bug #626402 + elibtoolize + + if [[ ${CHOST} == *-darwin* ]] ; then + # somehow libtool/configure is messed up and (custom patch at + # upstream?) and misdetects (basically assumes) nm can be called + # with -B arg -- can't run eautoreconf (fails), so patch up + # manually, this would break any target that needs -B to nm + sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \ + libctf/configure || die + fi + + # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html + # Avoid really confusing logs from subconfigure spam, makes logs far + # more legible. + MAKEOPTS="--output-sync=line ${MAKEOPTS}" + + default +} + +pkgversion() { + printf "Gentoo ${PVR}" + [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}" +} + +multilib_src_configure() { + local myconf=( + --enable-obsolete + --enable-shared + --enable-threads + # Newer versions (>=2.24) make this an explicit option. #497268 + --enable-install-libiberty + --disable-werror + --with-bugurl="https://bugs.gentoo.org/" + --with-pkgversion="$(pkgversion)" + $(use_enable static-libs static) + # The binutils eclass enables this flag for all bi-arch builds, + # but other tools often don't care about that support. Put it + # beyond a flag if people really want it, but otherwise leave + # it disabled as it can slow things down on 32bit arches. #438522 + $(use_enable 64-bit-bfd) + # This only disables building in the zlib subdir. + # For binutils itself, it'll use the system version. #591516 + --without-zlib + --with-system-zlib + # We only care about the libs, so disable programs. #528088 + --disable-{binutils,etc,ld,gas,gold,gprof,gprofng} + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{gdb,libdecnumber,readline,sim} + # Strip out broken static link flags. + # https://gcc.gnu.org/PR56750 + --without-stage1-ldflags + # We pull in all USE-flags that change ABI in an incompatible + # way. #666100 + # USE=multitarget change size of global arrays + # USE=64-bit-bfd changes data structures of exported API + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def) + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + # mips can't do hash-style=gnu ... + if [[ $(tc-arch) != mips ]] ; then + myconf+=( --enable-default-hash-style=gnu ) + fi + + use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd ) + + use nls \ + && myconf+=( --without-included-gettext ) \ + || myconf+=( --disable-nls ) + + if [[ ${CHOST} == *-darwin* ]] && use nls ; then + # fix underlinking in opcodes + sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \ + "${S}"/opcodes/Makefile.in || die + fi + + ECONF_SOURCE="${S}" econf "${myconf[@]}" + + # Prevent makeinfo from running as we don't build docs here. + # bug #622652 + sed -i \ + -e '/^MAKEINFO/s:=.*:= true:' \ + Makefile || die +} + +multilib_src_compile() { + emake V=1 +} + +multilib_src_install() { + emake V=1 DESTDIR="${D}" install + + # Provide libiberty.h directly. + dosym libiberty/libiberty.h /usr/include/libiberty.h +} + +multilib_src_install_all() { + use static-libs || find "${ED}"/usr -name '*.la' -delete +} diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index a59f7af5c078..9124f9a4e521 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -4,6 +4,6 @@ DIST chromium-106.0.5249.61.tar.xz 1621965008 BLAKE2B f15043eeefb898809adf580c6e DIST chromium-106.0.5249.91.tar.xz 1611228868 BLAKE2B 75703b23a0538bdae74b2ac42e36e6d13297e3b6aaead6e5a8b97ed8f2cdd2d5883752c6d90f13fd1c2fb68828558f269c0c4f7ece4587de30e2ea8d878a9073 SHA512 741e3a3331a7e3f666bdbaa16cc8a1d829d73396bd34cb8f5f030e7704970dd5b5c4e274a1f69d05c1a9cfac148bc7740f56648c53bb20b782e6edd9b248a92c DIST chromium-107-patchset-1.tar.xz 5736 BLAKE2B 581ca307d63635ef91aaa907aeebb8c735be6d6bbfcc3fe064fed7531b8848b5d918e017031ee606ed3bd8f0fc23aa6d2f8af4b36d33483dbeee2b5c8eacac82 SHA512 acbfb41c31a510a689cad3b0686e24925b018bd7a2a8f56f74b730dc36d878c266a11b3bb76b131e66f7b859f483ff00e16cbaae1b2b6944010c7396310c03b8 DIST chromium-107.0.5304.29.tar.xz 1688306728 BLAKE2B 2e00ce9cdfe41ed20004ccdf11f7d0f5824f1b23ac706e18c3891ff189983815f1ccbd26e1a12862db0688f6bc045fcf49d7694043883a608b182994cd8f2cec SHA512 871c373b44b18167126deef82ec835e33772c27d5c9d89585a1752efdcade8696c3be5d2735999838b13e3ce2e06d431f30f3591e861d1dcd7a80281817851eb -DIST chromium-108-patchset-1.tar.xz 6344 BLAKE2B d5febda6415d0573d86f1c85dcf4449ab63633605b8d3cb5815bee0ed26dba8348554f8c7e06eb0450932c1062d388d5ad8817ef698afeb978bce1a98fcb3c5b SHA512 d5f47692388c66099d6af75c781866bc45e05ffb7fa91c354243fcd1dd83f5de3279706809b3f65039e07d2c3b03d86b7dadcf6d14d93d9aa53562f1b8318b01 -DIST chromium-108.0.5327.0.tar.xz 1672115480 BLAKE2B c92636436fb8017d4a6b5e7daa7518384149ea6478998e511dd04e17c1cc788cfa2fe5484c1f732e134d4f351fa9f37f68bab306904307cf2de5158f825a5efe SHA512 a073b08ea7cff74440510c08cc90105a80f91f8bdf49e74de9f048be54821a7ef246078775260ffeff00c925a849d9958c0643e9bdc1f31edc798d4bb0928efa +DIST chromium-108-patchset-2.tar.xz 6480 BLAKE2B 2a40bb741fdd305b3525b790f82c2b36f6c909680788527a31aa2a11f519ff630aa12ffe7c53553b717f1909978c77e7db07a02a86c8e7d12d63375402802d7a SHA512 3fe182f0f928baaf0f5521efa8763080de765240b5608d5126e84e49335eb5edc788ab406aa71f5fa97c371afe1f6808e93e2e082c7f65169b5f157ff6c3e00b +DIST chromium-108.0.5343.2.tar.xz 1669214708 BLAKE2B e022bb908b15a5ae645d23cc5ab1e268ab87b77af3ae9ac352f6dc2fc9ba36f9e212cd53f4e3fdb18bb114f89ffada3f0fbee2b2fd46b6824fccaa68e21d930a SHA512 ff74eae98a44ebfc77a729ee65b4d338fcc39f04f2168247eed039d5c19c945d90c2b6aa5a12ca96d493c5116c2dcf9c959c74ffe2dc25ea6717176f699342b2 DIST chromium-profiler-0.1.tar 269066240 BLAKE2B 6897387b63ff9a724b67f2e8799fe803dc75da376da809e752d19d6f5cf98bd84ac24161d07ac4a967577279e9ad5a8a46f0825332a7ee933a27693d6dc95611 SHA512 3fb6132599d28455d1b5c04d856ea7623e49b0b0b96f021c31d0952c4ba57d69d0a1cae6f0b91470a235221c89cc0d3bb38303ff02594ed0739712e6e2f8dbcc diff --git a/www-client/chromium/chromium-108.0.5327.0.ebuild b/www-client/chromium/chromium-108.0.5343.2.ebuild index c7fa92deec98..c9925bfbc5d4 100644 --- a/www-client/chromium/chromium-108.0.5327.0.ebuild +++ b/www-client/chromium/chromium-108.0.5343.2.ebuild @@ -12,11 +12,11 @@ CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu VIRTUALX_REQUIRED="pgo" -inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg-utils +inherit check-reqs chromium-2 desktop flag-o-matic llvm ninja-utils pax-utils python-any-r1 qmake-utils readme.gentoo-r1 toolchain-funcs virtualx xdg-utils DESCRIPTION="Open-source version of Google Chrome web browser" HOMEPAGE="https://chromium.org/" -PATCHSET="1" +PATCHSET="2" PATCHSET_NAME="chromium-$(ver_cut 1)-patchset-${PATCHSET}" SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz https://github.com/stha09/chromium-patches/releases/download/${PATCHSET_NAME}/${PATCHSET_NAME}.tar.xz @@ -167,7 +167,7 @@ BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] ') >=app-arch/gzip-1.7 - libcxx? ( >=sys-devel/clang-12 ) + libcxx? ( >=sys-devel/clang-13 ) lto? ( $(depend_clang_llvm_versions 13 14 15) ) pgo? ( >=dev-python/selenium-3.141.0 @@ -190,7 +190,7 @@ BDEPEND=" : ${CHROMIUM_FORCE_CLANG=no} if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=sys-devel/clang-12" + BDEPEND+=" >=sys-devel/clang-13" fi if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then @@ -254,7 +254,7 @@ pre_build_checks() { local -x CPP="$(tc-getCXX) -E" if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 9.2; then - die "At least gcc 9.2 is required" + die "At least gcc 10.4 is required" fi if use pgo && tc-is-cross-compiler; then die "The pgo USE flag cannot be used when cross-compiling" @@ -262,8 +262,8 @@ pre_build_checks() { if needs_clang || tc-is-clang; then tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ CPP+=" -E" - if ! ver_test "$(clang-major-version)" -ge 12; then - die "At least clang 12 is required" + if ! ver_test "$(clang-major-version)" -ge 13; then + die "At least clang 13 is required" fi fi if [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && use js-type-check; then @@ -296,7 +296,7 @@ pkg_pretend() { pre_build_checks if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "vaapi" "wayland") + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") for myiuse in ${headless_unused_flags[@]}; do use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." done @@ -322,9 +322,10 @@ src_prepare() { local PATCHES=( "${WORKDIR}/patches" "${FILESDIR}/chromium-93-InkDropHost-crash.patch" - "${FILESDIR}/chromium-98-EnumTable-crash.patch" "${FILESDIR}/chromium-98-gtk4-build.patch" "${FILESDIR}/chromium-107-system-zlib.patch" + "${FILESDIR}/chromium-108-EnumTable-crash.patch" + "${FILESDIR}/chromium-108-revert-GlobalMediaControlsCastStartStop.patch" "${FILESDIR}/chromium-use-oauth2-client-switches-as-default.patch" "${FILESDIR}/chromium-shim_headers.patch" "${FILESDIR}/chromium-cross-compile.patch" @@ -433,7 +434,6 @@ src_prepare() { third_party/fusejs third_party/fxdiv third_party/highway - third_party/libgifcodec third_party/liburlpattern third_party/libzip third_party/gemmlowp @@ -591,18 +591,14 @@ src_prepare() { third_party/libaom/source/libaom/third_party/x86inc ) fi + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi if use libcxx; then keeplibs+=( third_party/re2 ) fi - if use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng/utils ) - else - keeplibs+=( third_party/harfbuzz-ng ) - fi if use wayland && ! use headless ; then keeplibs+=( third_party/wayland ) - # only need the .gn files - rm -r third_party/wayland/src || die fi if use arm64 || use ppc64 ; then keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) @@ -926,7 +922,7 @@ chromium_configure() { myconf_gn+=" use_system_libdrm=true" myconf_gn+=" use_system_minigbm=true" myconf_gn+=" use_xkbcommon=true" - use qt5 && export PATH="${PATH}:/usr/$(get_libdir)/qt5/bin" + use qt5 && export PATH="${PATH}:$(qt5_get_bindir)" myconf_gn+=" use_qt=$(usex qt5 true false)" myconf_gn+=" ozone_platform_x11=$(usex X true false)" myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" @@ -1073,6 +1069,8 @@ src_compile() { mv out/Release/chromedriver{.unstripped,} || die + rm -f out/Release/locales/*.pak.info || die + # Build manpage; bug #684550 sed -e 's|@@PACKAGE@@|chromium-browser|g; s|@@MENUNAME@@|Chromium|g;' \ diff --git a/www-client/chromium/files/chromium-108-EnumTable-crash.patch b/www-client/chromium/files/chromium-108-EnumTable-crash.patch new file mode 100644 index 000000000000..661ec33c1d0d --- /dev/null +++ b/www-client/chromium/files/chromium-108-EnumTable-crash.patch @@ -0,0 +1,76 @@ +diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h +index 842553a..89de703 100644 +--- a/components/media_router/common/providers/cast/channel/enum_table.h ++++ b/components/media_router/common/providers/cast/channel/enum_table.h +@@ -8,6 +8,7 @@ + #include <cstdint> + #include <cstring> + #include <ostream> ++#include <vector> + + #include "base/check_op.h" + #include "base/notreached.h" +@@ -187,7 +188,6 @@ class + inline constexpr GenericEnumTableEntry(int32_t value); + inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str); + +- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete; + GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; + + private: +@@ -253,7 +253,6 @@ class EnumTable { + constexpr Entry(E value, base::StringPiece str) + : GenericEnumTableEntry(static_cast<int32_t>(value), str) {} + +- Entry(const Entry&) = delete; + Entry& operator=(const Entry&) = delete; + }; + +@@ -312,15 +311,14 @@ class EnumTable { + if (is_sorted_) { + const std::size_t index = static_cast<std::size_t>(value); + if (ANALYZER_ASSUME_TRUE(index < data_.size())) { +- const auto& entry = data_.begin()[index]; ++ const auto& entry = data_[index]; + if (ANALYZER_ASSUME_TRUE(entry.has_str())) + return entry.str(); + } + return absl::nullopt; + } + return GenericEnumTableEntry::FindByValue( +- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), +- data_.size(), static_cast<int32_t>(value)); ++ &data_[0], data_.size(), static_cast<int32_t>(value)); + } + + // This overload of GetString is designed for cases where the argument is a +@@ -348,8 +346,7 @@ class EnumTable { + // enum value directly. + absl::optional<E> GetEnum(base::StringPiece str) const { + auto* entry = GenericEnumTableEntry::FindByString( +- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()), +- data_.size(), str); ++ &data_[0], data_.size(), str); + return entry ? static_cast<E>(entry->value) : absl::optional<E>(); + } + +@@ -364,7 +361,7 @@ class EnumTable { + // Align the data on a cache line boundary. + alignas(64) + #endif +- std::initializer_list<Entry> data_; ++ const std::vector<Entry> data_; + bool is_sorted_; + + constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted) +@@ -376,8 +373,8 @@ class EnumTable { + + for (std::size_t i = 0; i < data.size(); i++) { + for (std::size_t j = i + 1; j < data.size(); j++) { +- const Entry& ei = data.begin()[i]; +- const Entry& ej = data.begin()[j]; ++ const Entry& ei = data[i]; ++ const Entry& ej = data[j]; + DCHECK(ei.value != ej.value) + << "Found duplicate enum values at indices " << i << " and " << j; + DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch b/www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch new file mode 100644 index 000000000000..650e94816f49 --- /dev/null +++ b/www-client/chromium/files/chromium-108-revert-GlobalMediaControlsCastStartStop.patch @@ -0,0 +1,35 @@ +From b58f0f2725a8c1a8a131f9984b5fd53b54119dba Mon Sep 17 00:00:00 2001 +From: Muyao Xu <muyaoxu@google.com> +Date: Thu, 20 Jan 2022 23:46:21 +0000 +Subject: [PATCH] [Zenith] Enable GlobalMediaControlsCastStartStop flag by + default + +The feature is rolled out to 100% stable through finch for M96+. +This CL enables it by default and fixes some unit tests failures. + +Bug: 1287242, 1287305 +Change-Id: I7e5c9625b77379fef253c41ef292a0dd6fc366fb +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3388416 +Reviewed-by: Takumi Fujimoto <takumif@chromium.org> +Commit-Queue: Muyao Xu <muyaoxu@google.com> +Cr-Commit-Position: refs/heads/main@{#961658} +--- + chrome/browser/media/router/media_router_feature.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc +index 862329e..47c8912 100644 +--- a/chrome/browser/media/router/media_router_feature.cc ++++ b/chrome/browser/media/router/media_router_feature.cc +@@ -54,7 +54,7 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop, + #else + BASE_FEATURE(kGlobalMediaControlsCastStartStop, + "GlobalMediaControlsCastStartStop", +- base::FEATURE_ENABLED_BY_DEFAULT); ++ base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) + + #endif // !BUILDFLAG(IS_ANDROID) +-- +2.35.1 + diff --git a/www-client/google-chrome-unstable/Manifest b/www-client/google-chrome-unstable/Manifest index e963f398f541..126966e4c77b 100644 --- a/www-client/google-chrome-unstable/Manifest +++ b/www-client/google-chrome-unstable/Manifest @@ -1 +1 @@ -DIST google-chrome-unstable_108.0.5327.0-1_amd64.deb 92322408 BLAKE2B 3f09ef4207976d898acd4e3965a399453a95efd47a9ff9237a58052f7b4fc0926893168dec027ac36057c59c711fa8f3bee220f60f8c0513e5949835600930bf SHA512 cef0b88339bd5468520a2d60341af6dd4d516e39fdf260a0e19f132b286306756b8d9c594e8a2d82cc465d13cf5707f35ce9e4dae306196cac56129d1207e358 +DIST google-chrome-unstable_108.0.5343.2-1_amd64.deb 92647740 BLAKE2B 4c50bd1f433f9698fcac61270d5e596b04899db3f4ab351de3c0bd5959208ccdd6c948f6bfcb23cb0747380b0301f516742374e82746a18a3f8c6e3b96cf2033 SHA512 f398a692456c0e2177c4d842237876cfa56360e99fe6611cb37d80093c54e724d43ea50c87b7250617f87e0f3ca62f6c3ea307646b7fef55178e94c690466d15 diff --git a/www-client/google-chrome-unstable/google-chrome-unstable-108.0.5327.0-r1.ebuild b/www-client/google-chrome-unstable/google-chrome-unstable-108.0.5343.2.ebuild index b1fd61130859..b1fd61130859 100644 --- a/www-client/google-chrome-unstable/google-chrome-unstable-108.0.5327.0-r1.ebuild +++ b/www-client/google-chrome-unstable/google-chrome-unstable-108.0.5343.2.ebuild diff --git a/www-plugins/chrome-binary-plugins/Manifest b/www-plugins/chrome-binary-plugins/Manifest index 529016af746f..e299f3c7c1db 100644 --- a/www-plugins/chrome-binary-plugins/Manifest +++ b/www-plugins/chrome-binary-plugins/Manifest @@ -1,3 +1,3 @@ DIST google-chrome-beta_107.0.5304.29-1_amd64.deb 92716112 BLAKE2B 33639ce65caecb9418b5556505fd57d3728e105fd7e350421840835fe86a5276498220494a2110ccd97e6929eae446e78a105d469d2e60a675b3eafe911fac84 SHA512 e28ffb903cb687dca5b2d1cdc7f754e01e51015ec672af5117d838f1c853d19fdc5b8fc0fb90398b0dadbd680d9651d9db950435b11d9712ed817eccfb0646f1 DIST google-chrome-stable_106.0.5249.103-1_amd64.deb 92243056 BLAKE2B d8fefc40013ce91d67555186357ca1934d18a6c136a007a641a1e058c3b07b4e0187ca6c963838c59bb0785a3bfaa970b546fbd8b862687e4801dd17a499e489 SHA512 5d362c349eae00be7899e8b89dc122783c99ded7d715a0e235335608c5bfdc974f33c79d6c3269ff18cf145950e1489ef9a470468f7af93bbe3c235070699003 -DIST google-chrome-unstable_108.0.5327.0-1_amd64.deb 92322408 BLAKE2B 3f09ef4207976d898acd4e3965a399453a95efd47a9ff9237a58052f7b4fc0926893168dec027ac36057c59c711fa8f3bee220f60f8c0513e5949835600930bf SHA512 cef0b88339bd5468520a2d60341af6dd4d516e39fdf260a0e19f132b286306756b8d9c594e8a2d82cc465d13cf5707f35ce9e4dae306196cac56129d1207e358 +DIST google-chrome-unstable_108.0.5343.2-1_amd64.deb 92647740 BLAKE2B 4c50bd1f433f9698fcac61270d5e596b04899db3f4ab351de3c0bd5959208ccdd6c948f6bfcb23cb0747380b0301f516742374e82746a18a3f8c6e3b96cf2033 SHA512 f398a692456c0e2177c4d842237876cfa56360e99fe6611cb37d80093c54e724d43ea50c87b7250617f87e0f3ca62f6c3ea307646b7fef55178e94c690466d15 diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-108.0.5327.0_alpha.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-108.0.5343.2_alpha.ebuild index 48788b628112..48788b628112 100644 --- a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-108.0.5327.0_alpha.ebuild +++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-108.0.5343.2_alpha.ebuild |