--- /dev/null
+AUX 4.0.4-configure-fixes.patch 523 BLAKE2B 8cb555cdf763b734dcf27c6f6892867f597de5481ce69f975df17844518842b9f8f6f0190f8b3690eb4b7f5978f6daa508525eebb07d8349e84f314969c16d90 SHA512 5d67d43d7bcfe6497826ac1f8e2d8f1ac63bc724c31a44caa6cb91d9f5a1004be5a56d0d6f03891c9acb2530fb7f14503f7cc950ff650ebdad31868ee6b1c7b6
+DIST gentoo-wine-patches-20180120.tar.xz 58672 BLAKE2B 84d621075b65475cec41a06429680b518d7eafb938cefd903f3f8aa71ea3049ac9d8de05af48f9f4f4a1b9172c7ef17784540413e410eb8ec11e8ec4a63858c6 SHA512 5b354a409c7a2b77499aaa593b9248a1d15d755e3687b095755faacc30068bfcdbdd5c2a2a78617cb1a78c46d2931162bd69ec3379b035d81494bea7108263c2
+DIST wine-4.0.4.tar.xz 21686868 BLAKE2B 3ba9afef38a33e53eb1979aa4e7bbb120370692a8480e7bc15fc6959fb326c0c1f2151bb96355220e534858c0be56e1c35813e5e31b8a85db89c701466edac21 SHA512 21780b3c846bfa7a54572fe78939d7a2579a2b96654fc578e8e70d20b50262b4bfb43a0431f4089264cf8f83202c2fc67dd6a4c89257e951b64e7c91ee3bdf4e
+EBUILD wine-vanilla-4.0.4-r2.ebuild 17945 BLAKE2B 14856ae26a71d12128d1f23840c9f995bed33846cd3662aad0a9d114996c38544e4a9c341f39202217238ad2f62fbfb0dfb50f043c8aa8c66961184c069dc4d7 SHA512 f81c26ed094f18385f1aefc1ff63315edf0a946f7ee7eb63f18023a04658640c4f2ed64f3056ffcdfc55bec289562d5ffbde638a56680b9261cbdc5f4e6a32a4
--- /dev/null
+diff --git a/aclocal.m4 b/aclocal.m4
+index 25ac678..1d41d6a 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -28,7 +28,7 @@ dnl Like AC_CHECK_TOOL but without the broken fallback to non-prefixed name
+ dnl
+ AC_DEFUN([WINE_CHECK_HOST_TOOL],
+ [AS_VAR_SET_IF([ac_tool_prefix],
+- AC_CHECK_PROG([$1],[${ac_tool_prefix}$2],[${ac_tool_prefix}$2],,[$4]))
++ [AC_CHECK_PROG([$1],[${ac_tool_prefix}$2],[${ac_tool_prefix}$2],,[$4])])
+ AS_VAR_IF([ac_cv_prog_$1],[],
+ [AS_VAR_IF([cross_compiling],[yes],[],
+ [AS_UNSET([ac_cv_prog_$1])
--- /dev/null
+# This ebuild is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
+#
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Apply patch to build successfully with Autoconf 2.71 (2021-11)
+# * Build with -fcommon to get compatible behaviour from GCC 10 (2022-04)
+# * Port to EAPI 8 for compatibility with current eclasses (2022-12)
+# * Update media-sound/mpg123 -> media-sound/mpg123-base (2024-02)
+
+EAPI=8
+
+PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+
+inherit autotools estack flag-o-matic multilib multilib-minimal pax-utils plocale toolchain-funcs virtualx wrapper xdg-utils
+
+MY_PN="${PN%%-*}"
+MY_P="${MY_PN}-${PV}"
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+ SRC_URI=""
+ #KEYWORDS=""
+else
+ MAJOR_V=$(ver_cut 1)
+ MINOR_V=$(ver_cut 2)
+ SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.${MINOR_V}/${MY_P}.tar.xz"
+ KEYWORDS="-* ~amd64 ~x86"
+fi
+S="${WORKDIR}/${MY_P}"
+
+GWP_V="20180120"
+PATCHDIR="${WORKDIR}/gentoo-wine-patches"
+
+DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
+HOMEPAGE="https://www.winehq.org/"
+SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~np-hardass/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="${PV}"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks v4l vkd3d vulkan +X +xcomposite xinerama +xml"
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
+ X? ( truetype )
+ elibc_glibc? ( threads )
+ osmesa? ( opengl )
+ test? ( abi_x86_32 )
+ vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
+
+# FIXME: the test suite is unsuitable for us; many tests require net access
+# or fail due to Xvfb's opengl limitations.
+RESTRICT="test"
+
+BDEPEND="virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex"
+
+COMMON_DEPEND="
+ X? (
+ x11-libs/libXcursor[${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-libs/libXi[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ )
+ alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
+ capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
+ cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
+ fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
+ gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
+ gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
+ gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ gstreamer? (
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
+ )
+ jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
+ kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
+ lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
+ ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
+ mp3? (
+ || (
+ >=media-sound/mpg123-base-1.5.0[${MULTILIB_USEDEP}]
+ >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}]
+ )
+ )
+ ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
+ netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
+ nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
+ odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
+ openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? (
+ virtual/glu[${MULTILIB_USEDEP}]
+ virtual/opengl[${MULTILIB_USEDEP}]
+ )
+ osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
+ pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
+ png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
+ scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
+ ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
+ vkd3d? ( app-emulation/vkd3d[${MULTILIB_USEDEP}] )
+ vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
+ xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
+ xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
+ xml? (
+ dev-libs/libxml2[${MULTILIB_USEDEP}]
+ dev-libs/libxslt[${MULTILIB_USEDEP}]
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ app-emulation/wine-desktop-common
+ >app-eselect/eselect-wine-0.3
+ !app-emulation/wine:0
+ dos? ( >=games-emulation/dosbox-0.74_p20160629 )
+ gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] )
+ mono? ( app-emulation/wine-mono:4.7.5 )
+ perl? (
+ dev-lang/perl
+ dev-perl/XML-Simple
+ )
+ pulseaudio? (
+ realtime? ( sys-auth/rtkit )
+ )
+ samba? ( >=net-fs/samba-3.0.25[winbind] )
+ selinux? ( sec-policy/selinux-wine )
+ udisks? ( sys-fs/udisks:2 )"
+
+# tools/make_requests requires perl
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-2.6
+ X? ( x11-base/xorg-proto )
+ prelink? ( sys-devel/prelink )
+ xinerama? ( x11-base/xorg-proto )"
+
+# These use a non-standard "Wine" category, which is provided by
+# /etc/xdg/applications-merged/wine.menu
+QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
+usr/share/applications/wine-notepad.desktop
+usr/share/applications/wine-uninstaller.desktop
+usr/share/applications/wine-winecfg.desktop"
+
+PATCHES=(
+ "$FILESDIR/$PV-configure-fixes.patch"
+ "${PATCHDIR}/patches/${MY_PN}-1.5.26-winegcc.patch" #260726
+ "${PATCHDIR}/patches/${MY_PN}-1.9.5-multilib-portage.patch" #395615
+ "${PATCHDIR}/patches/${MY_PN}-1.6-memset-O3.patch" #480508
+ "${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
+)
+PATCHES_BIN=()
+
+# https://bugs.gentoo.org/show_bug.cgi?id=635222
+if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
+ DEPEND+=" dev-util/patchbin"
+fi
+
+wine_compiler_check() {
+ [[ ${MERGE_TYPE} = "binary" ]] && return 0
+
+ # GCC-specific bugs
+ if tc-is-gcc; then
+ # bug #549768
+ if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
+ ebegin "Checking for gcc-5 ms_abi compiler bug"
+ $(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
+ # Run in subshell to prevent "Aborted" message
+ ( "${T}"/pr66838 || false ) >/dev/null 2>&1
+ if ! eend $?; then
+ eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
+ eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
+ eerror "or use gcc-config to select a different compiler version."
+ eerror "See https://bugs.gentoo.org/549768"
+ eerror
+ return 1
+ fi
+ fi
+ # bug #574044
+ if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
+ ebegin "Checking for gcc-5-3 stack realignment compiler bug"
+ # Compile in subshell to prevent "Aborted" message
+ ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
+ if ! eend $?; then
+ eerror "Wine cannot be built with this version of gcc-5.3"
+ eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
+ eerror "or use gcc-config to select a different compiler version."
+ eerror "See https://bugs.gentoo.org/574044"
+ eerror
+ return 1
+ fi
+ fi
+ fi
+
+ # Ensure compiler support
+ if use abi_x86_64; then
+ ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
+ # Compile in subshell to prevent "Aborted" message
+ ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
+ if ! eend $?; then
+ eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
+ eerror
+ eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
+ eerror
+ return 1
+ fi
+ fi
+}
+
+wine_build_environment_check() {
+ [[ ${MERGE_TYPE} = "binary" ]] && return 0
+
+ if use abi_x86_64; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
+ eerror "You need gcc-4.4+ to compile 64-bit wine"
+ die
+ elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
+ eerror "You need clang-3.8+ to compile 64-bit wine"
+ die
+ fi
+ fi
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
+ ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
+ ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
+ ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
+ fi
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
+ if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
+ ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
+ ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
+ ewarn "See package.env in man 5 portage for more information on how to do this."
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
+ fi
+ fi
+
+ if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
+ eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
+ eerror "See https://bugs.gentoo.org/487864 for more details."
+ eerror
+ return 1
+ fi
+}
+
+wine_env_vcs_vars() {
+ local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
+ local pn_live_val="${pn_live_var}"
+ eval pn_live_val='$'${pn_live_val}
+ if [[ ! -z ${EGIT_COMMIT} ]]; then
+ eerror "Commits must now be specified using the environmental variables"
+ eerror "EGIT_OVERRIDE_COMMIT_WINE"
+ eerror
+ return 1
+ fi
+}
+
+pkg_pretend() {
+ wine_build_environment_check || die
+
+ # Verify OSS support
+ if use oss && ! use kernel_FreeBSD; then
+ if ! has_version ">=media-sound/oss-4"; then
+ eerror "You cannot build wine with USE=oss without having support from a"
+ eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
+ eerror
+ die
+ fi
+ fi
+}
+
+pkg_setup() {
+ wine_build_environment_check || die
+ wine_env_vcs_vars || die
+
+ WINE_VARIANT="${PN#wine}-${PV}"
+ WINE_VARIANT="${WINE_VARIANT#-}"
+
+ MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
+ MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
+ MY_DATADIR="${MY_DATAROOTDIR}"
+ MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
+ MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
+ MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
+ MY_MANDIR="${MY_DATADIR}/man"
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]] ; then
+ EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
+ fi
+
+ default
+
+ plocale_find_changes "${S}/po" "" ".po"
+}
+
+src_prepare() {
+
+ eapply_bin(){
+ local patch
+ for patch in ${PATCHES_BIN[@]}; do
+ patchbin --nogit < "${patch}" || die
+ done
+ }
+
+ local md5="$(md5sum server/protocol.def)"
+
+ default
+ eapply_bin
+ eautoreconf
+
+ # Modification of the server protocol requires regenerating the server requests
+ if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
+ einfo "server/protocol.def was patched; running tools/make_requests"
+ tools/make_requests || die #432348
+ fi
+ sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
+ if ! use run-exes; then
+ sed -i '/^MimeType/d' loader/wine.desktop || die #117785
+ fi
+
+ # Edit wine.desktop to work for specific variant
+ sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
+
+ # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
+ cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
+
+ plocale_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
+
+ # Fix manpage generation for locales #469418 and abi_x86_64 #617864
+
+ # Duplicate manpages input files for wine64
+ local f
+ for f in loader/*.man.in; do
+ cp ${f} ${f/wine/wine64} || die
+ done
+ # Add wine64 manpages to Makefile
+ if use abi_x86_64; then
+ sed -i "/wine.man.in/i \
+ \\\twine64.man.in \\\\" loader/Makefile.in || die
+ sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
+\164\2/' loader/Makefile.in || die
+ fi
+
+ rm_man_file(){
+ local file="${1}"
+ loc=${2}
+ sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
+ }
+
+ while read f; do
+ plocale_for_each_disabled_locale rm_man_file "${f}"
+ done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
+}
+
+src_configure() {
+ wine_compiler_check || die
+
+ export LDCONFIG=/bin/true
+ use custom-cflags || strip-flags
+ append-flags -fcommon
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --prefix="${MY_PREFIX}"
+ --datarootdir="${MY_DATAROOTDIR}"
+ --datadir="${MY_DATADIR}"
+ --docdir="${MY_DOCDIR}"
+ --includedir="${MY_INCLUDEDIR}"
+ --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
+ --libexecdir="${MY_LIBEXECDIR}"
+ --localstatedir="${MY_LOCALSTATEDIR}"
+ --mandir="${MY_MANDIR}"
+ --sysconfdir=/etc/wine
+ $(use_with alsa)
+ $(use_with capi)
+ $(use_with lcms cms)
+ $(use_with cups)
+ $(use_with ncurses curses)
+ $(use_with udisks dbus)
+ $(use_with fontconfig)
+ $(use_with ssl gnutls)
+ $(use_enable gecko mshtml)
+ $(use_with gphoto2 gphoto)
+ $(use_with gsm)
+ $(use_with gssapi)
+ $(use_with gstreamer)
+ --without-hal
+ $(use_with jpeg)
+ $(use_with kerberos krb5)
+ $(use_with ldap)
+ $(use_enable mono mscoree)
+ $(use_with mp3 mpg123)
+ $(use_with netapi)
+ $(use_with nls gettext)
+ $(use_with openal)
+ $(use_with opencl)
+ $(use_with opengl)
+ $(use_with osmesa)
+ $(use_with oss)
+ $(use_with pcap)
+ $(use_with png)
+ $(use_with pulseaudio pulse)
+ $(use_with threads pthread)
+ $(use_with scanner sane)
+ $(use_with sdl)
+ $(use_enable test tests)
+ $(use_with truetype freetype)
+ $(use_with udev)
+ $(use_with v4l)
+ $(use_with vkd3d)
+ $(use_with vulkan)
+ $(use_with X x)
+ $(use_with X xfixes)
+ $(use_with xcomposite)
+ $(use_with xinerama)
+ $(use_with xml)
+ $(use_with xml xslt)
+ )
+
+ local PKG_CONFIG AR RANLIB
+ # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
+ # set AR and RANLIB to make QA scripts happy; #483342
+ tc-export PKG_CONFIG AR RANLIB
+
+ if use amd64; then
+ if [[ ${ABI} == amd64 ]]; then
+ myconf+=( --enable-win64 )
+ else
+ myconf+=( --disable-win64 )
+ fi
+
+ # Note: using --with-wine64 results in problems with multilib.eclass
+ # CC/LD hackery. We're using separate tools instead.
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf "${myconf[@]}"
+ emake depend
+}
+
+multilib_src_test() {
+ # FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
+ if [[ ${ABI} == x86 ]]; then
+ if [[ $(id -u) == 0 ]]; then
+ ewarn "Skipping tests since they cannot be run under the root user."
+ ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
+ return
+ fi
+
+ WINEPREFIX="${T}/.wine-${ABI}" \
+ Xemake test
+ fi
+}
+
+multilib_src_install_all() {
+ local DOCS=( ANNOUNCE AUTHORS README )
+ add_locale_docs() {
+ local locale_doc="documentation/README.$1"
+ [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
+ }
+ plocale_for_each_locale add_locale_docs
+
+ einstalldocs
+ find "${ED}" -name *.la -delete || die
+
+ if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
+ rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
+ "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
+ fi
+
+ # Remove wineconsole if neither backend is installed #551124
+ if ! use X && ! use ncurses; then
+ rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
+ rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
+ rm_wineconsole() {
+ rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
+ }
+ multilib_foreach_abi rm_wineconsole
+ fi
+
+ use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
+ use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
+
+ if use abi_x86_64 && ! use abi_x86_32; then
+ dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
+ dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
+ fi
+
+ # Failglob for binloops, shouldn't be necessary, but including to stay safe
+ eshopts_push -s failglob #615218
+ # Make wrappers for binaries for handling multiple variants
+ # Note: wrappers instead of symlinks because some are shell which use basename
+ local b
+ for b in "${D%/}${MY_PREFIX}"/bin/*; do
+ make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
+ done
+ eshopts_pop
+}
+
+pkg_postinst() {
+ eselect wine register ${P}
+ if [[ ${PN} == "wine-vanilla" ]]; then
+ eselect wine register --vanilla ${P} || die
+ fi
+
+ eselect wine update --all --if-unset || die
+
+ xdg_desktop_database_update
+
+ if ! use gecko; then
+ ewarn "Without Wine Gecko, wine prefixes will not have a default"
+ ewarn "implementation of iexplore. Many older windows applications"
+ ewarn "rely upon the existence of an iexplore implementation, so"
+ ewarn "you will likely need to install an external one, like via winetricks"
+ fi
+ if ! use mono; then
+ ewarn "Without Wine Mono, wine prefixes will not have a default"
+ ewarn "implementation of .NET. Many windows applications rely upon"
+ ewarn "the existence of a .NET implementation, so you will likely need"
+ ewarn "to install an external one, like via winetricks"
+ fi
+}
+
+pkg_prerm() {
+ eselect wine deregister ${P}
+ if [[ ${PN} == "wine-vanilla" ]]; then
+ eselect wine deregister --vanilla ${P} || die
+ fi
+
+ eselect wine update --all --if-unset || die
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
AUX pycairo-1.18.2-no-setuptools.patch 390 BLAKE2B 2e96d663534447de9aadd2a688dd6277a35ff2f9f3ea3f8a9bd060d4fffca36c565ac0ba4dff2b1fe470ac55cace671b7875a387d85fcaf307a289727f922190 SHA512 31775030b33a756a5075b793f5a4b6c3998f42b6a98f612aa991a2c8ed72263363aaf2dcf43bbd2357adb8897f372e3cd88526fe1b14f3ed645cde53386127f0
AUX pycairo-1.19.1-py39.patch 890 BLAKE2B 8ee84005e17fd485f568213e751dd30bcb904806d4016088d0c6882958ce7edeba2517f3ab4b8139a8f923e3baec435bc9a21cf3546b60f4459c5cc9ad7a54d6 SHA512 607d6f2cf6bcaec394b755f452d3c4bc0f6edb39bea185a18258c1ee0db11a99d84c7605dbe9db83906518d41baf065b2b8d9261db3736f8a737a2a8f7dff266
DIST pycairo-1.18.2.tar.gz 200462 BLAKE2B 1f755dc90fe3ee50aa68273a0816752312f144831ff857709e1a4695a58646ffe6be518733480ed37231c213a11d4e5aaf8dfd1cfa68104873bc7d4192435b89 SHA512 279ea80413ba55d493d51455685da09afa1f5c45e2930c3fca3e417a8afe6645a0d8131201f79482de59e5ec56cfef62eac65ed88fe88866bfcc06503dcc59e0
-EBUILD pycairo-1.18.2-r3.ebuild 1714 BLAKE2B d86b6b31c5d4d84b5342f732759ed173bdd30210db792751948573ddaca2a87af67015b8640e46912fe30f0cfd8397d7a3bb222e4ca9e49e9644bb7cf9448be1 SHA512 ca1dc55c53fe187970064c84ccdfe024c21ffba3dd76052ab00dc1c1f9e9c7145411e77ca9b6f953f3ee905244685af08405ce63486c54c42d3c2685d1853d2b
+EBUILD pycairo-1.18.2-r6.ebuild 1757 BLAKE2B 0fb036e6a75a406c2727ee8bed057c97640e115e6b959413642f07d33a3a934f5179a6a3b6b8aa41924541f81802c3b3c83eb573144b6e5d6e4998641fafec2e SHA512 ed791996e0b35df6ee743f46a5ee8d41b427858634511505030547d53e749572a57a5bfdcd5507ddbee8eff0c10acf75482d24080583f9f72db9230c2aa07d10
-# Copyright © 2020-2021 Nick Bowler
+# Copyright © 2020-2023 Nick Bowler
#
# License GPLv2+: GNU General Public License version 2 or any later version.
# This is free software: you are free to change and redistribute it.
#
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Resurrect python2 version installable alongside newer version (2020-11)
+# * Avoid python eclasses as there is no more python2 support (2022-12)
+# * Fix deps against newer cairo ebuilds w/o "svg" USE flag (2023-01)
EAPI=7
-_PYTHON_ALLOW_PY27=1
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1
-
DESCRIPTION="Python bindings for the cairo library"
HOMEPAGE="https://www.cairographics.org/pycairo/ https://github.com/pygobject/pycairo"
SRC_URI="https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz"
# Strong block on old pycairo w/ python2 support because the merge will
# otherwise not work properly due to replacing a directory with a file.
-RDEPEND=">=x11-libs/cairo-1.13.1[svg]
+DEPEND=">=x11-libs/cairo-1.13.1[svg(+)]
!!dev-python/pycairo:0[python_targets_python2_7]"
-DEPEND=$RDEPEND
+RDEPEND="$DEPEND
+ dev-lang/python:2.7[threads(+)]"
+BDEPEND="dev-lang/python:2.7"
PATCHES=(
"$FILESDIR/$P-no-setuptools.patch"
"$FILESDIR/$PN-1.19.1-py39.patch"
)
-distutils_enable_tests setup.py
-
-python_test() {
- einfo "Skipping tests on Python 2 to unblock deps"
+src_compile () {
+ python2.7 setup.py build || die
}
-python_install() {
- distutils-r1_python_install \
- install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-}
+src_install () {
+ default
-python_install_all() {
if use examples; then
dodoc -r examples
fi
- distutils-r1_python_install_all
+ python2.7 setup.py install --skip-build --root="$D" || die
}
AUX pygobject-2.28.6-set_qdata.patch 847 BLAKE2B 696aa6c48ee900db738f8a92265a625a3ab7b59afece84157bf0b9abd0aca5ae68b7ac8cc627a47a5b1a688029d592abcc38e403543a4144e055bcdac68285e4 SHA512 19025af51a8387061276ec9d6c8eb0ecadb5124bba2c4ab3755ab653df467896d19c366d80ce9313fd46e43b493b7c536f780014cf18a6ac47f4b1d2ad4bedb4
AUX pygobject-2.28.6-tests-no-introspection.patch 1257 BLAKE2B 7ff0587b4b40a1519927f8837b5487847ad0d0aa25f57dbaa4b10eaed2eff79f52d6581ca29f1688ebdbe71db231aba56de06c3aa8b246fdd1799320d9a15cc3 SHA512 7d57cb9bbd0b16f4fb0ed9d5eca310c47daf86b89daefa41fb0cf5dd470a6f6a31d0dad31dd261332c039d39bd778f9de8de7260c5856f1b718f72b9aabc01b4
DIST pygobject-2.28.6.tar.xz 747248 BLAKE2B 5f92794034b2d0559a623db4a7d273a7dc3f099cae87ede91b17e81acac085a9298c6b81b45b4b8540b6a75ced97e474a993437dbfcfc2133d3321d6a979b541 SHA512 37544ea2377258758169b25a2969d5ee1c9ffb9b6e63e05bc7a0471a49ac9169c51ec587d4489172c7d256f53df878a81c1992a08059aa7e43dbbb69f799545c
-EBUILD pygobject-2.28.6-r57.ebuild 3815 BLAKE2B 13bdd3340133165e52ccb240be031a7c0734ded439b0a0fa8f37dfd70c9769d9db04f240fbd2dc5921ab30a504f50862f749164e13de037bd721ebb45da3f7cd SHA512 98644b9e87663905975455384609196c1e9026a54644a748487683d9dfbf202f29ac29ea289ba38d987796e38e4496e011b6b7cdaa702fc37e9210d176bbe0a4
+EBUILD pygobject-2.28.6-r59.ebuild 2859 BLAKE2B 6de822503f961d5ee6cb8b8139b13308c13e179f51b6d811d44f65affac57d985ae3805520ec7e51abb5d375377fc40b1700f8d630fc76dd66713e20a535f0cb SHA512 9ed57cbd24cb251c0369779df82899398126f82c5c47c2ca15823e87d564d6f994eeecbb2206fad6404058e70052780732261e41c2ea36ea7f4e55626308e461
-# Copyright © 2020-2021 Nick Bowler
-#
-# License GPLv2+: GNU General Public License version 2 or any later version.
-# This is free software: you are free to change and redistribute it.
-# There is NO WARRANTY, to the extent permitted by law.
-#
-# This is a modified version of the original ebuild from Gentoo GNU/Linux,
-# covered by the following copyright and permission notice:
+# This ebuild is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
#
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Resurrect python2 version installable alongside newer version (2020-11)
+# * Avoid python eclasses as there is no more python2 support (2022-12)
+# * Drop unused eutils inherit (2023-09)
EAPI=7
GNOME2_LA_PUNT=yes
GNOME2_EAUTORECONF=yes
-_PYTHON_ALLOW_PY27=1
-PYTHON_COMPAT=( python2_7 )
+inherit autotools virtualx gnome2
-inherit autotools eutils gnome2 python-r1 virtualx
-
-DESCRIPTION="GLib's GObject library bindings for Python"
+DESCRIPTION="GLib's GObject library bindings for Python 2"
HOMEPAGE="http://www.pygtk.org/"
LICENSE="LGPL-2.1+"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="examples libffi test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE=$PYTHON_REQUIRED_USE
+
+# Tests seem to require network access which can't work.
+RESTRICT="test"
BDEPEND="virtual/pkgconfig
dev-util/gtk-doc-am"
RDEPEND=">=dev-libs/glib-2.24.0:2
- dev-lang/python-exec:2
libffi? ( dev-libs/libffi:= )
!<dev-python/pygtk-2.23
- $PYTHON_DEPS"
+ dev-lang/python:2.7"
DEPEND="$RDEPEND
test? (
configure.ac || die
gnome2_src_prepare
-
- python_copy_sources
- prepare_shebangs() {
- # Make a backup with unconverted shebangs to keep python_doscript happy
- cp codegen/codegen.py pygobject-codegen-2.0
- sed -e "s%#! \?/usr/bin/env python%#!${PYTHON}%" \
- -i codegen/*.py || die "shebang convertion failed"
- }
- python_foreach_impl run_in_build_dir prepare_shebangs
}
src_configure() {
--disable-introspection
--disable-cairo
$(use_with libffi ffi)
+ PYTHON=python2.7
)
- python_foreach_impl run_in_build_dir gnome2_src_configure "${myconf[@]}"
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir gnome2_src_compile
+ gnome2_src_configure "${myconf[@]}"
}
# FIXME: With python multiple ABI support, tests return 1 even when they pass
src_test() {
unset DBUS_SESSION_BUS_ADDRESS
export GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ export XDG_CACHE_HOME="${T}/${EPYTHON}"
+
+ virtx emake -j1 check
- testing() {
- export XDG_CACHE_HOME="${T}/${EPYTHON}"
- run_in_build_dir Xemake -j1 check
- unset XDG_CACHE_HOME
- }
- python_foreach_impl testing
- unset GIO_USE_VFS
+ unset XDG_CACHE_HOME GIO_USE_VFS
}
src_install() {
- installing() {
- local f prefixed_sitedir
-
- gnome2_src_install
-
- python_doscript pygobject-codegen-2.0
-
- # Don't keep multiple copies of pygobject-codegen-2.0 script
- prefixed_sitedir=$(python_get_sitedir)
- dosym "${prefixed_sitedir#${EPREFIX}}/gtk-2.0/codegen/codegen.py" "/usr/lib/python-exec/${EPYTHON}/pygobject-codegen-2.0"
- }
- python_foreach_impl run_in_build_dir installing
+ gnome2_src_install
if use examples; then
- insinto /usr/share/doc/${PF}
- doins -r examples
+ dodoc -r examples
fi
}
AUX pygtk-2.24.0-test-fail.patch 252 BLAKE2B 9d808e50d9e64f481cd8d83e4693a60f472d4cf75b3d356c49d73056939b25d48842a1a64becbb17220ac74adb466deec0d1a42081144c7f853a5f5d1c7fddfa SHA512 22965a5ccc14ba842551ca07ca31d3a26f246354e35a7a24f66c34ace41fa1ee51a46ab404a103a8824957d5a197469ff6762eb829e236269420ba1842cb351b
AUX pygtk-2.24.0-test_dialog.patch 961 BLAKE2B 035021b5a4a94e487f8e4fdd69b83e54d2baea1891ce1bf8378e7375749de4a45477acdfe2a07e259d907bb182c2951bb512e7ded0ffdeed138ab4fce81f81b7 SHA512 13254063895412641b51cb536892f2c4b9bb76ac1ffa92f8d82fa20b80f5c7748392a968315af3731def20392de917a0ae2b4ac0607cee9e2f38911283d33ca9
DIST pygtk-2.24.0.tar.bz2 2361097 BLAKE2B 35b8ad94f242dcfb5d0593762eaa5480928e63bfbf8d030dd199200daa1dd6fd1769c878517cbb56e3beeaeecedb554b06b04cc35f9b2eefd2d8ec4381daf707 SHA512 64f4344fcf7636e0b2016ffd5310250b5c02a1bf87e44aef39b5d4cf4a5fc50d27cb4f030d4c6802cff61fffb88dee7752821e3d8a4cd1c34dc3745d9ff2f0da
-EBUILD pygtk-2.24.0-r6.ebuild 3127 BLAKE2B 42e8978d176855b454cdc31ecaccb58be0d0f2a29522fd8d69dc58256c2a36d2f97f95dce7d504a5dc43f1d9aca5511cb6119126cdb99a1a15afcdc5f5cd4455 SHA512 a720ff7f946c596ec64efcf29a457e8130fd5190d19ed4bd92dabef1dae397367b67ad9741646690fc6072b3d62378ba6b870b774a753dc193dd3523616c6f40
+EBUILD pygtk-2.24.0-r8.ebuild 2902 BLAKE2B 0528958d1fe1ce4235607569e8c515755848f264f5b8787af4dbdde43231884709805449b0db3799c77a7c81f2f8234cd335ac7724f6c49fe4db0c016f92ec03 SHA512 ba340123b039c74c401b18098da9a60fd8f95205dafb9ae42ed17f918b1ad8fc856dceac0aafba5454601f91e94a379ca80dcd7421d64ff677981f7a425faa7e
#
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Resurrect python2 version (2020-11)
+# * Avoid python eclasses as there is no more python2 support (2022-12)
EAPI=7
GNOME_TARBALL_SUFFIX="bz2"
-_PYTHON_ALLOW_PY27=1
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools flag-o-matic gnome2 python-r1 virtualx
+inherit autotools flag-o-matic virtualx gnome2
DESCRIPTION="GTK+2 bindings for Python"
HOMEPAGE="https://gitlab.gnome.org/Archive/pygtk"
SLOT="2"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="doc examples test"
-REQUIRED_USE=$PYTHON_REQUIRED_USE
RESTRICT="!test? ( test )"
-RDEPEND="${PYTHON_DEPS}
- >=dev-libs/glib-2.8:2
+DEPEND=">=dev-libs/glib-2.8:2
>=x11-libs/pango-1.16
>=dev-libs/atk-1.12
>=x11-libs/gtk+-2.24:2
- >=dev-python/pycairo-1.0.2:2[$PYTHON_USEDEP]
- >=dev-python/pygobject-2.26.8-r53:2[$PYTHON_USEDEP]
+ >=dev-python/pycairo-1.0.2:2[python_targets_python2_7(+)]
+ >=dev-python/pygobject-2.26.8-r53:2[python_targets_python2_7(+)]
>=gnome-base/libglade-2.5:2.0"
-DEPEND=$RDEPEND
-BDEPEND="virtual/pkgconfig
+RDEPEND="$DEPEND
+ dev-lang/python:2.7"
+BDEPEND="dev-lang/python:2.7
+ virtual/pkgconfig
doc? ( dev-libs/libxslt
>=app-text/docbook-xsl-stylesheets-1.70.1 )"
-i configure.ac || die #466968
AT_M4DIR="m4" eautoreconf
-
- prepare_pygtk() {
- mkdir -p "${BUILD_DIR}" || die
- }
- python_foreach_impl prepare_pygtk
}
src_configure() {
use hppa && append-flags -ffunction-sections
- configure_pygtk() {
- ECONF_SOURCE="${S}" gnome2_src_configure \
- $(use_enable doc docs) \
- --disable-numpy \
- --with-glade \
- --enable-thread
- }
- python_foreach_impl run_in_build_dir configure_pygtk
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir gnome2_src_compile
+ myconf=(
+ $(use_enable doc docs)
+ --disable-numpy
+ --with-glade
+ --enable-thread
+ PYTHON=python2.7
+ )
+
+ gnome2_src_configure "${myconf[@]}"
}
src_test() {
gnome2_environment_reset
unset DBUS_SESSION_BUS_ADDRESS
- testing() {
- cd tests
- virtx emake check-local
- }
- python_foreach_impl run_in_build_dir testing
+ cd tests && virtx emake check-local
}
src_install() {
dodoc -r examples
fi
- python_foreach_impl run_in_build_dir gnome2_src_install
+ gnome2_src_install
find "${D}" -name '*.la' -type f -delete || die
}
+++ /dev/null
-AUX python-musicbrainz-ngs-0.6-fix-test-submit.patch 993 BLAKE2B 3347bd841f0f1b23477f387275ad8e6d40fcffc434150e93c0d57c9291c239639018c28e519032ee2cb251371343d0f3ce6c070b960d4ca8bd1dc5b5b480511f SHA512 ed5b6b674edddcc1d6047bfd97ffdbc1bd4ae3b83e61100b0389cabad84014dce894857faf5555824f245eacaea7541ee18424f630881698b8f2bebceabf8b78
-DIST python-musicbrainzngs-0.6.tar.gz 110948 BLAKE2B 9528d966565f7c927a98d311dcbb6db73a84614efa3eb071fe944b29b655526f9dd6e8a4a217428883d30b93c18e45c3d752d321d3c0689e5af00423b5fd7faa SHA512 901729f736b207f2f086e3d44a3515d405f6621706ad9c7ca07dd304349e048c5790bb16b054393651808bac4905ceb9493dd66d9fb17a1612692427c0bd3bd4
-EBUILD python-musicbrainz-ngs-0.6.ebuild 1556 BLAKE2B 6061a0f7e82a645955c422199a19eb298f680b502d305bf628f1a1885bafb60f91264bad96d69cf1099c56ea253f87775c88cee7fc5e6673eb958de17426ed1d SHA512 aaea28dedc01871f2c7ba6efcd00fe2f58159d1738602bf10f8fe61618e1f6432f2fd80dc290ca29959dd87c2c86e3da4d30863997e0a096792955f058abaa54
+++ /dev/null
-diff --git a/test/test_submit.py b/test/test_submit.py
-index bce5362..2d13811 100644
---- a/test/test_submit.py
-+++ b/test/test_submit.py
-@@ -1,13 +1,23 @@
- import unittest
--import os
--import sys
--sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
--
- import musicbrainzngs
- from musicbrainzngs import musicbrainz
- from test import _common
-
-+
- class SubmitTest(unittest.TestCase):
-+
-+ def setUp(self):
-+ self.orig_opener = musicbrainzngs.compat.build_opener
-+ musicbrainz.set_useragent("test_client", "1.0")
-+ musicbrainz.auth("user", "password")
-+
-+ def tearDown(self):
-+ musicbrainzngs.compat.build_opener = self.orig_opener
-+ musicbrainz._useragent = ""
-+ musicbrainz._client = ""
-+ musicbrainz.user = ""
-+ musicbrainz.password = ""
-+
- def test_submit_tags(self):
- self.opener = _common.FakeOpener("<response/>")
- musicbrainzngs.compat.build_opener = lambda *args: self.opener
+++ /dev/null
-# Copyright © 2020 Nick Bowler
-# License GPLv2+: GNU General Public License version 2 or any later version.
-# This is free software: you are free to change and redistribute it.
-# There is NO WARRANTY, to the extent permitted by law.
-#
-# This is a modified version of the original ebuild from Gentoo GNU/Linux,
-# covered by the following copyright and permission notice:
-#
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-
-inherit distutils-r1
-
-MY_PN=${PN%-ngs}ngs
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Python bindings for the MusicBrainz NGS and the Cover Art Archive webservices"
-HOMEPAGE="https://github.com/alastair/python-musicbrainzngs"
-SRC_URI="https://github.com/alastair/$MY_PN/archive/v$PV.tar.gz -> $MY_P.tar.gz"
-
-LICENSE="BSD-2 ISC"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-S=$WORKDIR/$MY_P
-
-PATCHES="$FILESDIR/$PN-0.6-fix-test-submit.patch"
-
-DEPEND="dev-python/setuptools[$PYTHON_USEDEP]
- doc? ( dev-python/sphinx[$PYTHON_USEDEP] )"
-
-python_prepare_all() {
- # Prevent un-needed d'loading
- sed -e "s/^ *'sphinx.ext.intersphinx'//" -i docs/conf.py || die
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- use doc && emake -C docs html
-}
-
-python_test() {
- esetup.py test --verbosity=2
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/_build/html/. )
-
- if use examples; then
- dodoc -r examples
- docompress -x "/usr/share/doc/$PF/examples"
- fi
-
- distutils-r1_python_install_all
-}
--- /dev/null
+# This eclass is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
+#
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Update libffi dependency (2022-12)
+# * Update to EAPI 8 (2023-04)
+#
+# @ECLASS: mozconfig-v6.52.eclass
+# @MAINTAINER:
+# mozilla team <mozilla@gentoo.org>
+# @SUPPORTED_EAPIS: 7 8
+# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6
+# @DESCRIPTION:
+# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey)
+# to provide a single common place for the common mozilla engine compoments.
+#
+# The eclass provides all common dependencies as well as common use flags.
+#
+# Some use flags which may be optional in particular mozilla packages can be
+# supported through setting eclass variables.
+#
+# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3,
+# and so ebuilds inheriting this eclass do not need to inherit that.
+
+case ${EAPI} in
+ 0|1|2|3|4|5|6)
+ die "EAPI=${EAPI} not supported"
+ ;;
+esac
+
+inherit flag-o-matic toolchain-funcs mozcoreconf-v5
+
+# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set this variable before the inherit line, when an ebuild needs to provide
+# optional necko-wifi support via IUSE="wifi". Currently this would include
+# ebuilds for firefox, and potentially seamonkey.
+#
+# Leave the variable UNSET if necko-wifi support should not be available.
+# Set the variable to "enabled" if the use flag should be enabled by default.
+# Set the variable to any value if the use flag should exist but not be default-enabled.
+
+# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set this variable before the inherit line, when an ebuild needs to provide
+# deterministic jit support via IUSE="jit". The upstream default will be used
+# otherwise, which is generally to enable jit unless support for the platform
+# is missing.
+#
+# Set the variable to "enabled" if the use flag should be enabled by default.
+# Set the variable to any value if the use flag should exist but not be default-enabled.
+
+# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set this variable before the inherit line, when an ebuild can provide
+# optional gtk3 support via IUSE="force-gtk3". Currently this would include
+# thunderbird and seamonkey in the future, once support is ready for testing.
+#
+# Leave the variable UNSET if gtk3 support should not be optionally available.
+# Set the variable to "enabled" if the use flag should be enabled by default.
+# Set the variable to any value if the use flag should exist but not be default-enabled.
+# If gtk+:3 is to be the standard toolkit, do not use this and instead use
+# MOZCONFIG_OPTIONAL_GTK2ONLY.
+
+# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set this variable before the inherit line, when an ebuild can provide
+# optional gtk2-only support via IUSE="gtk2".
+#
+# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both
+# variables cannot be set at the same time and this variable will be ignored if
+# MOZCONFIG_OPTIONAL_GTK3 is set.
+#
+# Leave the variable UNSET if gtk2-only support should not be available.
+# Set the variable to "enabled" if the use flag should be enabled by default.
+# Set the variable to any value if the use flag should exist but not be default-enabled.
+
+# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set this variable before the inherit line, when an ebuild can provide
+# optional qt5 support via IUSE="qt5". Currently this would include
+# ebuilds for firefox, but thunderbird and seamonkey could follow in the future.
+#
+# Leave the variable UNSET if qt5 support should not be available.
+# Set the variable to "enabled" if the use flag should be enabled by default.
+# Set the variable to any value if the use flag should exist but not be default-enabled.
+
+# use-flags common among all mozilla ebuilds
+IUSE="${IUSE} dbus debug +jemalloc neon pulseaudio selinux startup-notification system-cairo
+ system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx"
+
+# some notes on deps:
+# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14
+# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau
+
+RDEPEND=">=app-text/hunspell-1.2:=
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-2.18:2
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.25:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ pulseaudio? ( || ( media-sound/pulseaudio
+ >=media-sound/apulse-0.1.9 ) )
+ virtual/freedesktop-icon-theme
+ dbus? ( >=sys-apps/dbus-0.60
+ >=dev-libs/dbus-glib-0.72 )
+ startup-notification? ( >=x11-libs/startup-notification-0.8 )
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=dev-libs/libffi-3.0.10:=
+ media-video/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ system-cairo? ( >=x11-libs/cairo-1.12[X,xcb(+)] >=x11-libs/pixman-0.19.2 )
+ system-icu? ( >=dev-libs/icu-58.1:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0=[threads] )
+ system-sqlite? ( >=dev-db/sqlite-3.17.0:3[secure-delete,debug=] )
+ system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
+ system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.8 )
+"
+
+if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
+ MOZCONFIG_OPTIONAL_GTK2ONLY=
+ if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then
+ IUSE+=" +force-gtk3"
+ else
+ IUSE+=" force-gtk3"
+ fi
+ RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )"
+elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
+ if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then
+ IUSE+=" +gtk2"
+ else
+ IUSE+=" gtk2"
+ fi
+ RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )"
+fi
+if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then
+ if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then
+ IUSE+=" +wifi"
+ else
+ IUSE+=" wifi"
+ fi
+ RDEPEND+="
+ wifi? (
+ kernel_linux? ( >=sys-apps/dbus-0.60
+ >=dev-libs/dbus-glib-0.72
+ net-misc/networkmanager )
+ )"
+fi
+
+BEPEND="app-arch/zip
+ app-arch/unzip
+ sys-apps/findutils"
+
+DEPEND="$RDEPEND
+ pulseaudio? ( media-libs/libpulse )"
+
+RDEPEND+="
+ pulseaudio? ( || ( media-libs/libpulse
+ >=media-sound/apulse-0.1.9 ) )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+# @FUNCTION: mozconfig_config
+# @DESCRIPTION:
+# Set common configure options for mozilla packages.
+# Call this within src_configure() phase, after mozconfig_init
+#
+# Example:
+#
+# inherit mozconfig-v6.46
+#
+# src_configure() {
+# mozconfig_init
+# mozconfig_config
+# # ... misc ebuild-unique settings via calls to
+# # ... mozconfig_{annotate,use_with,use_enable}
+# mozconfig_final
+# }
+
+mozconfig_config() {
+ # Migrated from mozcoreconf-2
+ mozconfig_annotate 'system_libs' \
+ --with-system-zlib \
+ --with-system-bz2
+
+ if has bindist ${IUSE}; then
+ mozconfig_use_enable !bindist official-branding
+ if [[ ${PN} == firefox ]] && use bindist ; then
+ mozconfig_annotate '' --with-branding=browser/branding/aurora
+ fi
+ fi
+
+ # Enable position independent executables
+ mozconfig_annotate 'enabled by Gentoo' --enable-pie
+ mozconfig_use_enable debug
+ mozconfig_use_enable debug tests
+
+ if ! use debug ; then
+ mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
+ else
+ mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
+ fi
+
+ mozconfig_use_enable startup-notification
+
+ if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then
+ # wifi pulls in dbus so manage both here
+ mozconfig_use_enable wifi necko-wifi
+ if use kernel_linux && use wifi && ! use dbus; then
+ echo "Enabling dbus support due to wifi request"
+ mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus
+ else
+ mozconfig_use_enable dbus
+ fi
+ else
+ mozconfig_use_enable dbus
+ mozconfig_annotate 'disabled' --disable-necko-wifi
+ fi
+
+ if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then
+ mozconfig_use_enable jit ion
+ fi
+
+ # These are enabled by default in all mozilla applications
+ mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
+ if use system-libevent; then
+ mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
+ fi
+ mozconfig_annotate '' --prefix="${EPREFIX}"/usr
+ mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate 'Gentoo default' --enable-system-hunspell
+ mozconfig_annotate '' --disable-gnomeui
+ mozconfig_annotate '' --enable-gio
+ mozconfig_annotate '' --disable-crashreporter
+ mozconfig_annotate 'Gentoo default' --with-system-png
+ mozconfig_annotate '' --enable-system-ffi
+ mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold
+ mozconfig_annotate '' --disable-gconf
+ mozconfig_annotate '' --with-intl-api
+
+ # skia has no support for big-endian platforms
+ if [[ $(tc-endian) == "big" ]]; then
+ mozconfig_annotate 'big endian target' --disable-skia
+ else
+ mozconfig_annotate '' --enable-skia
+ fi
+
+ # default toolkit is cairo-gtk2, optional use flags can change this
+ local toolkit="cairo-gtk2"
+ local toolkit_comment=""
+ if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then
+ if use force-gtk3; then
+ toolkit="cairo-gtk3"
+ toolkit_comment="force-gtk3 use flag"
+ fi
+ fi
+ if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then
+ if ! use gtk2 ; then
+ toolkit="cairo-gtk3"
+ else
+ toolkit_comment="gtk2 use flag"
+ fi
+ fi
+ if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then
+ if use qt5; then
+ toolkit="cairo-qt"
+ toolkit_comment="qt5 use flag"
+ # need to specify these vars because the qt5 versions are not found otherwise,
+ # and setting --with-qtdir overrides the pkg-config include dirs
+ local i
+ for i in qmake moc rcc; do
+ echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \
+ >> "${S}"/.mozconfig || die
+ done
+ echo 'unset QTDIR' >> "${S}"/.mozconfig || die
+ mozconfig_annotate '+qt5' --disable-gio
+ fi
+ fi
+ mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit}
+
+ # Use jemalloc unless libc is not glibc >= 2.4
+ # at this time the minimum glibc in the tree is 2.9 so we should be safe.
+ if use elibc_glibc && use jemalloc; then
+ # We must force-enable jemalloc 4 via .mozconfig
+ echo "export MOZ_JEMALLOC4=1" >> "${S}"/.mozconfig || die
+ mozconfig_annotate '' --enable-replace-malloc
+ fi
+
+ # Instead of the standard --build= and --host=, mozilla uses --host instead
+ # of --build, and --target intstead of --host.
+ # Note, mozilla also has --build but it does not do what you think it does.
+ # Set both --target and --host as mozilla uses python to guess values otherwise
+ mozconfig_annotate '' --target="${CHOST}"
+ mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
+
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_annotate '-pulseaudio' --enable-alsa
+ fi
+
+ mozconfig_use_enable system-cairo
+ mozconfig_use_enable system-sqlite
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+
+ # Modifications to better support ARM, bug 553364
+ if use neon ; then
+ mozconfig_annotate '' --with-fpu=neon
+ mozconfig_annotate '' --with-thumb=yes
+ mozconfig_annotate '' --with-thumb-interwork=no
+ fi
+ if [[ ${CHOST} == armv* ]] ; then
+ mozconfig_annotate '' --with-float-abi=hard
+ if ! use system-libvpx ; then
+ sed -i -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build
+ fi
+ fi
+}
+
+# @FUNCTION: mozconfig_install_prefs
+# @DESCRIPTION:
+# Set preferences into the prefs.js file specified as a parameter to
+# the function. This sets both some common prefs to all mozilla
+# packages, and any prefs that may relate to the use flags administered
+# by mozconfig_config().
+#
+# Call this within src_install() phase, after copying the template
+# prefs file (if any) from ${FILESDIR}
+#
+# Example:
+#
+# inherit mozconfig-v6.46
+#
+# src_install() {
+# cp "${FILESDIR}"/gentoo-default-prefs.js \
+# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+# || die
+#
+# mozconfig_install_prefs \
+# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
+#
+# ...
+# }
+
+mozconfig_install_prefs() {
+ local prefs_file="${1}"
+
+ einfo "Adding prefs from mozconfig to ${prefs_file}"
+
+ # set dictionary path, to use system hunspell
+ echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
+ >>"${prefs_file}" || die
+
+ # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
+ if use system-harfbuzz ; then
+ echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+ >>"${prefs_file}" || die
+ fi
+
+ # force cairo as the canvas renderer on platforms without skia support
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
+ >>"${prefs_file}" || die
+ echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
+ >>"${prefs_file}" || die
+ fi
+}
--- /dev/null
+# This eclass is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
+#
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Avoid python eclasses which no longer support python2 (2022-12)
+# * Remove versionator inherit which seems unused (2023-04)
+# * Update to EAPI 8 (2023-04)
+#
+# @DEAD
+# @ECLASS: mozcoreconf-v5.eclass
+# @MAINTAINER:
+# Mozilla team <mozilla@gentoo.org>
+# @BLURB: core options and configuration functions for mozilla
+# @DESCRIPTION:
+#
+# inherit mozconfig-v6.* or above for mozilla configuration support
+
+# @ECLASS_VARIABLE: MOZILLA_FIVE_HOME
+# @DESCRIPTION:
+# This is an eclass-generated variable that defines the rpath that the mozilla
+# product will be installed in. Read-only
+
+if [[ ! ${_MOZCORECONF} ]]; then
+
+inherit multilib toolchain-funcs flag-o-matic
+
+IUSE="${IUSE} custom-cflags custom-optimization"
+
+BDEPEND="dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)]
+ virtual/pkgconfig"
+
+# @FUNCTION: mozconfig_annotate
+# @DESCRIPTION:
+# add an annotated line to .mozconfig
+#
+# Example:
+# mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc
+# => ac_add_options --enable-js-ultrasparc # building on ultrasparc
+mozconfig_annotate() {
+ declare reason=$1 x ; shift
+ [[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!"
+ for x in ${*}; do
+ echo "ac_add_options ${x} # ${reason}" >>.mozconfig
+ done
+}
+
+# @FUNCTION: mozconfig_use_enable
+# @DESCRIPTION:
+# add a line to .mozconfig based on a USE-flag
+#
+# Example:
+# mozconfig_use_enable truetype freetype2
+# => ac_add_options --enable-freetype2 # +truetype
+mozconfig_use_enable() {
+ declare flag=$(use_enable "$@")
+ mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}"
+}
+
+# @FUNCTION: mozconfig_use_with
+# @DESCRIPTION:
+# add a line to .mozconfig based on a USE-flag
+#
+# Example:
+# mozconfig_use_with kerberos gss-api /usr/$(get_libdir)
+# => ac_add_options --with-gss-api=/usr/lib # +kerberos
+mozconfig_use_with() {
+ declare flag=$(use_with "$@")
+ mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}"
+}
+
+# @FUNCTION: mozconfig_use_extension
+# @DESCRIPTION:
+# enable or disable an extension based on a USE-flag
+#
+# Example:
+# mozconfig_use_extension gnome gnomevfs
+# => ac_add_options --enable-extensions=gnomevfs
+mozconfig_use_extension() {
+ declare minus=$(use $1 || echo -)
+ mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2}
+}
+
+moz_pkgsetup() {
+ # Ensure we use C locale when building
+ export LANG="C"
+ export LC_ALL="C"
+ export LC_MESSAGES="C"
+ export LC_CTYPE="C"
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD PKG_CONFIG
+
+ # Ensure that we have a sane build enviroment
+ export MOZILLA_CLIENT=1
+ export BUILD_OPT=1
+ export NO_STATIC_LIB=1
+ export USE_PTHREADS=1
+ export ALDFLAGS=${LDFLAGS}
+ # ensure MOZCONFIG is not defined
+ unset MOZCONFIG
+
+ # set MOZILLA_FIVE_HOME
+ export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"
+
+ # nested configure scripts in mozilla products generate unrecognized options
+ # false positives when toplevel configure passes downwards.
+ export QA_CONFIGURE_OPTIONS=".*"
+
+ export PYTHON=python2.7
+}
+
+# @FUNCTION: mozconfig_init
+# @DESCRIPTION:
+# Initialize mozilla configuration and populate with core settings.
+# This should be called in src_configure before any other mozconfig_* functions.
+mozconfig_init() {
+ declare enable_optimize pango_version myext x
+ declare XUL=$([[ ${PN} == xulrunner ]] && echo true || echo false)
+ declare FF=$([[ ${PN} == firefox ]] && echo true || echo false)
+ declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false)
+ declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false)
+ declare WF=$([[ ${PN} == waterfox* ]] && echo true || echo false)
+
+ ####################################
+ #
+ # Setup the initial .mozconfig
+ # See http://www.mozilla.org/build/configure-build.html
+ #
+ ####################################
+
+ case ${PN} in
+ *xulrunner)
+ cp xulrunner/config/mozconfig .mozconfig \
+ || die "cp xulrunner/config/mozconfig failed" ;;
+ *firefox|waterfox*)
+ cp browser/config/mozconfig .mozconfig \
+ || die "cp browser/config/mozconfig failed" ;;
+ seamonkey)
+ # Must create the initial mozconfig to enable application
+ : >.mozconfig || die "initial mozconfig creation failed"
+ mozconfig_annotate "" --enable-application=suite ;;
+ *thunderbird)
+ # Must create the initial mozconfig to enable application
+ : >.mozconfig || die "initial mozconfig creation failed"
+ mozconfig_annotate "" --enable-application=mail ;;
+ esac
+
+ ####################################
+ #
+ # CFLAGS setup and ARCH support
+ #
+ ####################################
+
+ # Set optimization level
+ mozconfig_annotate "Workaround known breakage" --enable-optimize=-O2
+
+ if [[ ${ARCH} == hppa ]]; then
+ mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0
+ elif [[ ${ARCH} == x86 ]]; then
+ mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2
+ elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
+ # Set optimization level based on CFLAGS
+ if is-flag -O0; then
+ mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
+ elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then
+ mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1
+ elif is-flag -O4; then
+ mozconfig_annotate "from CFLAGS" --enable-optimize=-O4
+ elif is-flag -O3; then
+ mozconfig_annotate "from CFLAGS" --enable-optimize=-O3
+ elif is-flag -O1; then
+ mozconfig_annotate "from CFLAGS" --enable-optimize=-O1
+ elif is-flag -Os; then
+ mozconfig_annotate "from CFLAGS" --enable-optimize=-Os
+ else
+ mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2
+ fi
+ else
+ # Enable Mozilla's default
+ mozconfig_annotate "mozilla default" --enable-optimize
+ fi
+
+ # Strip optimization so it does not end up in compile string
+ filter-flags '-O*'
+
+ # Strip over-aggressive CFLAGS
+ use custom-cflags || strip-flags
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ arm)
+ # Reduce the memory requirements for linking
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ ;;
+ alpha)
+ # Historically we have needed to add -fPIC manually for 64-bit.
+ # Additionally, alpha should *always* build with -mieee for correct math
+ # operation
+ append-flags -fPIC -mieee
+ ;;
+ ia64)
+ # Historically we have needed to add this manually for 64-bit
+ append-flags -fPIC
+ ;;
+ ppc64)
+ append-flags -fPIC -mminimal-toc
+ # Reduce the memory requirements for linking
+ append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
+ ;;
+ esac
+
+ # We need to append flags for >= gcc-6 support
+ append-cxxflags -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2
+
+ # Use the MOZILLA_FIVE_HOME for the rpath
+ append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags
+ # Set MOZILLA_FIVE_HOME in mozconfig
+ mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
+
+ ####################################
+ #
+ # mozconfig setup
+ #
+ ####################################
+
+ mozconfig_annotate disable_update_strip \
+ --disable-updater \
+ --disable-strip \
+ --disable-install-strip
+
+ # jemalloc won't build with older glibc
+ ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc
+}
+
+# @FUNCTION: mozconfig_final
+# @DESCRIPTION:
+# Apply EXTRA_ECONF values to .mozconfig
+# Display a table describing all configuration options paired
+# with reasons, then clean up extensions list.
+# This should be called in src_configure at the end of all other mozconfig_* functions.
+mozconfig_final() {
+ declare ac opt hash reason
+
+ # Apply EXTRA_ECONF entries to .mozconfig
+ if [[ -n ${EXTRA_ECONF} ]]; then
+ IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!}
+ for opt in "${ac[@]}"; do
+ mozconfig_annotate "EXTRA_ECONF" --${opt#--}
+ done
+ fi
+
+ echo
+ echo "=========================================================="
+ echo "Building ${PF} with the following configuration"
+ grep ^ac_add_options .mozconfig | while read ac opt hash reason; do
+ [[ -z ${hash} || ${hash} == \# ]] \
+ || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"
+ printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"
+ done
+ echo "=========================================================="
+ echo
+
+ # Resolve multiple --enable-extensions down to one
+ declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' \
+ .mozconfig | xargs)
+ sed -i '/^ac_add_options --enable-extensions/d' .mozconfig
+ echo "ac_add_options --enable-extensions=${exts// /,}" >> .mozconfig
+}
+
+_MOZCORECONF=1
+fi
--- /dev/null
+DIST urw-fonts-2.4-9.fc13.src.rpm 3198315 BLAKE2B 9f4c026af2ee6b472454be43b4e1d11616770cb63841fe022762f18a7c71abc37e442102a3d54b880a6a34117442cf45b2d65133ef9cca564e55a26ac1179824 SHA512 cd8c9eb9e56480e70129c14cc744b944fe51fc616b8b5da46b7251520c84486c6c4354afdd7517569ba7874255c00b755aace076dc2cf1a1d8bdd30e41322d4b
+EBUILD urw-fonts-2.4.9.ebuild 1888 BLAKE2B 82ee73a1701d792c325b45f93dfec63a05ee1c0d524fafa267917d4830a9c94757a18b54722b7b05437e7cd57ed3783723cf4805d49c610a6aac70ec946fe464 SHA512 da2d97c4d1642c41e011dc452058e5fd43d04a07cae6d4c76d3c46737840387245de67e504772c1da76a03c5599e1fb1a4b11717d49810c4e85d2ad8c7b19eee
--- /dev/null
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# At some point URW++ released fonts under GPL license. After that they were took
+# and improved by Valek Filippov and this work was somehow related with AFPL...
+# At least it can be found on their svn server:
+# http://svn.ghostscript.com/ghostscript/trunk/urw-fonts/
+
+# Also, some time ago, sources where published on sf.net:
+# https://sourceforge.net/projects/gs-fonts/files/
+# At this point this package was published on a nuber of other sites
+# (gimp.org/cups.org) and media-fonts/gnu-gs-fonts-std was added to the tree.
+# But nobody use that old releases any mover and everybody syncs with
+# svn.ghostscript.com. The most recent tag there is:
+# http://svn.ghostscript.com/ghostscript/tags/urw-fonts-1.0.7pre44/
+
+# But note that version we have is different from upstream tag. This happened
+# because we started to use redhat versions and followed their versioning. It's
+# hard to say why they use such strange version since they also sync with
+# svn.ghostscript.com. Redhat's ChangeLog states:
+# Tue Jan 8 23:00:00 2008 Than Ngo 2.4-2
+# - update to 1.0.7pre44
+
+inherit estack rpm font
+
+MY_PV=$(ver_rs 2 -)
+
+DESCRIPTION="free good quality fonts gpl'd by URW++"
+HOMEPAGE="http://www.urwpp.de/"
+SRC_URI="mirror://gentoo/${PN}-${MY_PV}.fc13.src.rpm"
+
+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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !media-fonts/gnu-gs-fonts-std
+ !media-fonts/gnu-gs-fonts-other"
+
+S="${WORKDIR}"
+
+DOCS="ChangeLog README*"
+FONT_S="${S}"
+FONT_SUFFIX="afm pfb pfm"
+
+pkg_postinst() {
+ font_pkg_postinst
+
+ elog "If you upgraded from ${PN}-2.1-r2 some fonts will look a bit"
+ elog "different. Take a look at bug #208990 if interested."
+}
+++ /dev/null
-DIST gimp-resynthesizer-2.0.3.tar.gz 11097693 BLAKE2B 51e064ed1a5d31dc3162a27b76c8b68d7652e3efdf2acad1844f4c76b47a6485b4e43788993c344a7154cddd8d2ac1ebda7c24f871ea8d6af332b1f15759f396 SHA512 de18fa41f5c3feaeff3365cc57b49f404f20439c6f84b212bc5cc76ee21f34566b8d093bebef1e6f27dbe3df6a23570dc091d23044a0967957ec0e97a16fa7c4
-EBUILD gimp-resynthesizer-2.0.3-r5.ebuild 1123 BLAKE2B 56bf4315af558cb323faa5880cd8cbaf7c9617e98b471fe3c4e969f2cbc13d90c8311e0e6a1472f94cf7445718d3445da3c99997476b32510b60789447804faf SHA512 121153223ea1ffc8119a88c5299ada94dec6c1ca51dd2b8704c1bc3ab3ba111aa73c713240395472cf4d3b65ab3bdb7669a2303f98e5e3d7423380eeb2724e43
-MISC metadata.xml 651 BLAKE2B fce88379f37caa26affce3b55ab152952ab8ca7578b5f2cc19daf93228ec11211c32e278b194c2f9d55ed330c4de94abfdfdf0b99f2612bb85e1bf5187f431f9 SHA512 ee4c49df50d6e834d27093eaf2c6639749b625402003fd3a2575ad514a73cb0e71a3a0d8dbed807660ad0011a4fa6fac7c5d7e0899bcd137cc43749197f93501
+++ /dev/null
-# Copyright © 2020-2021 Nick Bowler
-#
-# License GPLv2+: GNU General Public License version 2 or any later version.
-# This is free software: you are free to change and redistribute it.
-# There is NO WARRANTY, to the extent permitted by law.
-#
-# This is a modified version of the original ebuild from Gentoo GNU/Linux,
-# covered by the following copyright and permission notice:
-#
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-_PYTHON_ALLOW_PY27=1
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools python-single-r1
-
-MY_PN=${PN#gimp-}
-MY_P=$MY_PN-$PV
-
-DESCRIPTION="Suite of GIMP plugins for texture synthesis"
-HOMEPAGE="https://github.com/bootchk/resynthesizer"
-SRC_URI="https://github.com/bootchk/$MY_PN/archive/v$PV.tar.gz -> $P.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="virtual/pkgconfig"
-DEPEND="$PYTHON_DEPS
- || (
- media-plugins/gimp-python[$PYTHON_SINGLE_USEDEP]
- media-gfx/gimp[python(-),$PYTHON_SINGLE_USEDEP] )"
-RDEPEND=$DEPEND
-REQUIRED_USE=$PYTHON_REQUIRED_USE
-
-S=$WORKDIR/$MY_P
-
-src_prepare() {
- default
- eautoreconf
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription lang="en">
- This is a suite of GIMP plugins known as the 'Resynthesizer'.
- The most commonly used is 'Heal selection' but all use the plugin
- whose full interface is found at 'Filters>Map>Resynthesize.'
- </longdescription>
- <upstream>
- <maintainer status="active">
- <email>bootch@nc.rr.com</email>
- <name>Lloyd Konneker</name>
- </maintainer>
- <remote-id type="github">bootchk/resynthesizer</remote-id>
- <bugs-to>https://github.com/bootchk/resynthesizer/issues</bugs-to>
- </upstream>
-</pkgmetadata>
--- /dev/null
+AUX apulse 488 BLAKE2B 20231c1041e1658e993ecc5f0dbd37f1d7e718aa5095b0bcb18b6c78639da5da29d5aa72fe77c774598d199e8284cceaab9fdb9aa07cf734957fb1c2d8d617c0 SHA512 2b1ebb3d574af2469f50a42e324b3367b5e08d3de00076620ce2133226d544ab2507e6d752ff3ed427319978ab5e1a0e73189368666a5c7f5ed61f1294417228
+AUX check-key-before-remove.patch 1888 BLAKE2B d8bee7f8acac213396d18d44740703746653a57d300c8d86967e83c24b73aca7d8ba5e91e38d7c3683d40c2a520cacb29210e2c1d739bf4b0403199beb9bda81 SHA512 e7edf75cdddc94a433ce387853cc59cfa40ef7fbdc955357141f42133bf9bde4e6528078d75c7d58001ab07dcaf209b0437a92445d770f6cd08f9b919e97caa4
+AUX man.patch 1054 BLAKE2B 37228832250f1c1e06edf79d00a4a4d7d5433f2d9b28ebb10eacb54bcfb7478d9ef64459e87f7f43a94be0b194eba024cde60175fc324ef6dad7a4ef9e2c1db3 SHA512 c2b05dd8c42f79994ae3be5df5ac495e95bfbc14355423faa75b23863418bad4bbc33524e2b86abc9e346678256c1ff454c160ebb5e09f48d466ef99cdfa407c
+AUX sdk.patch 4357 BLAKE2B ad43209ebf78f1f8937bfde54c88034a9c0f426caf62da5aa70b6171e29546af97c374765bed081cdf13827add3d02e5cdb6b30adccaae03318c102dba4cff65 SHA512 f1f743d049c120f3c8d6d1387577b53e9637881d9d5e007c55b4e42feca21b170ee24146c5fb0cc050c3eb1c26659dc6363e673710ae08c76f2844306a1ca01d
+DIST apulse-0.1.13.tar.gz 117369 BLAKE2B 8cf527daf21420a72e46968a3b07ab61029f404a2b6574ac1f08dd40528f3e6e4baf7e38f5914b0c89252e16eec5e8f3722be51e5a61b6a71c683e994740b4bf SHA512 366385ae2304f7ff697ba70951d0753a5b1630310922e3763fd0813a73e0b4088b715135295aa2fa9111b8edcf91d82849dc31346b292b2e9db598bcdd47b007
+EBUILD apulse-0.1.13-r2.ebuild 1880 BLAKE2B 689292db6b86fbb62ddc5a2b84afd15933b96632c3ac19cb46cbe9d473fa66486895abccd794fa4b915cd7afc0057ca54eb511cf4cfb8114ed255d941c19f0b8 SHA512 c95060daeb354d3019b9c77cb8e7f69b451b401a60b3068705f0081581e98933b4ce781a1625f6960ef1b7476a5d85844c94b0c86deba5a3270a63df486481f9
--- /dev/null
+# This is a modified version of the original ebuild from Gentoo GNU/Linux,
+# covered by the following copyright and permission notice:
+#
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications include:
+#
+# * Removed pointless alsa-plugins blocker (2022-04)
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib multiprocessing
+
+DESCRIPTION="PulseAudio emulation for ALSA"
+HOMEPAGE="https://github.com/i-rinat/apulse"
+SRC_URI="https://github.com/i-rinat/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+
+IUSE="debug sdk test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/glib:2[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib[${MULTILIB_USEDEP}]
+ sdk? ( !media-libs/libpulse !media-sound/pulseaudio ) "
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/sdk.patch"
+ "${FILESDIR}/check-key-before-remove.patch"
+ "${FILESDIR}/man.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ if ! use sdk; then
+ # Ensure all relevant libdirs are added, to support all ABIs
+ DIRS=
+ _add_dir() { DIRS="${EPREFIX}/usr/$(get_libdir)/apulse${DIRS:+:${DIRS}}"; }
+ multilib_foreach_abi _add_dir
+ sed -e "s#@@DIRS@@#${DIRS}#g" "${FILESDIR}"/apulse > "${T}"/apulse || die
+ fi
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ "-DINSTALL_SDK=$(usex sdk)"
+ "-DLOG_TO_STDERR=$(usex debug)"
+ "-DWITH_TRACE=$(usex debug)"
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ _test() {
+ pushd tests || die
+ cmake -S "${S}/tests" -B . || die
+ emake test_ringbuffer
+ ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" || die
+ popd || die
+ }
+ multilib_foreach_abi _test
+}
+
+multilib_src_install_all() {
+ if ! use sdk; then
+ _install_wrapper() { newbin "${BUILD_DIR}/apulse" "${CHOST}-apulse"; }
+ multilib_foreach_abi _install_wrapper
+ dobin "${T}/apulse"
+ fi
+ einstalldocs
+}
--- /dev/null
+#!/bin/sh
+# Author: Daniel Campbell <zlg@gentoo.org>
+# License: Creative Commons Public Domain Dedication (CC0 1.0)
+# <https://creativecommons.org/publicdomain/zero/1.0/>
+
+# apulse needs at least one argument
+if [ $# -lt 1 ]; then
+ echo "Usage: apulse <app-path> [options]"
+ exit
+fi
+
+# Set library path for the application so it'll use apulse. DIRS is
+# replaced by the ebuild to include the correct paths
+LD_LIBRARY_PATH=@@DIRS@@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} exec "$@"
--- /dev/null
+From bf146f0d711ce3e48cdc8ba772039d843d590b47 Mon Sep 17 00:00:00 2001
+From: "Miouyouyou (Myy)" <myy@miouyouyou.fr>
+Date: Sun, 20 Oct 2019 05:09:29 +0200
+Subject: [PATCH] stream: Check the key before invoking g_hash_table_remove
+
+Turns out that I hit a bug where pa_stream_unref would
+call g_hash_table_remove with a NULL key.
+
+Thanks for the lightweight and smooth error handling from
+Glib, g_hash_table_remove generated an ABORT call, crashing
+some Unity3D games I was trying to start.
+Now, you also CANNOT call g_hash_table_lookup with a NULL
+key. That also generate a crash... Ugh...
+
+So, yeah, we first check that the key is not 0, then check
+if the key is actually inside the Hash table and THEN remove
+it.
+
+Note, here's my ~/.asoundrc, just in case :
+defaults.pcm.!card Audio
+defaults.ctl.!card Audio
+
+Audio being :
+card 3: Audio [DigiHug USB Audio], device 0: USB Audio [USB Audio]
+ Subdevices: 0/1
+ Subdevice #0: subdevice #0
+card 3: Audio [DigiHug USB Audio], device 1: USB Audio [USB Audio #1]
+ Subdevices: 1/1
+ Subdevice #0: subdevice #0
+
+I'm using a FiiO device for sound output.
+
+Signed-off-by: Miouyouyou (Myy) <myy@miouyouyou.fr>
+---
+ src/apulse-stream.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/apulse-stream.c b/src/apulse-stream.c
+index 84b18bb..1de4885 100644
+--- a/src/apulse-stream.c
++++ b/src/apulse-stream.c
+@@ -1019,7 +1019,11 @@ pa_stream_unref(pa_stream *s)
+
+ s->ref_cnt--;
+ if (s->ref_cnt == 0) {
+- g_hash_table_remove(s->c->streams_ht, GINT_TO_POINTER(s->idx));
++ GHashTable * __restrict const streams_ht =
++ s->c->streams_ht;
++ void const * key = GINT_TO_POINTER(s->idx);
++ if (key && g_hash_table_lookup(streams_ht, key))
++ g_hash_table_remove(streams_ht, key);
+ ringbuffer_free(s->rb);
+ free(s->peek_buffer);
+ free(s->write_buffer);
--- /dev/null
+From 2c2bf366599d957837acbdf54eb300526fc125a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
+Date: Tue, 5 May 2020 14:24:52 -0300
+Subject: [PATCH] Add ENVIRONMENT to man-page.
+
+---
+ man/apulse.1 | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/man/apulse.1 b/man/apulse.1
+index cd67cf3..df75c60 100644
+--- a/man/apulse.1
++++ b/man/apulse.1
+@@ -36,6 +36,16 @@ compatibility layer between OSS programs and \fBALSA\fR, \fBapulse\fR was
+ designed to be compatibility layer between PulseAudio applications and
+ \fBALSA\fR.
+
++.SH ENVIRONMENT
++
++The following environment variables can be used to configure the devices used
++by \fBapulse\fR. Try \fIhw:0,0\fR, \fIplughw:0,0\fR and the like.
++Refer to the ALSA user guide for a full list of device names.
++
++\fIAPULSE_CAPTURE_DEVICE\fR: Can be used to configure the capture device.
++
++\fIAPULSE_PLAYBACK_DEVICE\fR: Can be used to configure the playback device.
++
+ .SH RETURN VALUE
+
+ \fBapulse\fR is a simple shell wrapper script that calls \fBexec\fR on the
--- /dev/null
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 072f3b1..5fe6bcd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ project(apulse)
+ cmake_minimum_required (VERSION 2.8)
++include(GNUInstallDirs)
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -fPIC -fvisibility=hidden")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror=implicit-function-declaration")
+@@ -28,6 +29,8 @@ else()
+ include_directories(${PA_INCLUDE_DIRECTORIES})
+ endif()
+
++set(INSTALL_SDK 0 CACHE BOOLEAN "Install SDK files to build applications with apulse (Pulse Audio headers and pkg-config files) instead of system ones")
++
+ link_directories(${REQ_LIBRARY_DIRS})
+
+ add_library(trace-helper STATIC
+@@ -72,12 +75,30 @@ target_link_libraries(pulse-simple ${SYMBOLMAP} trace-helper ${REQ_LIBRARIES})
+
+ add_subdirectory(tests)
+
+-set(APULSEPATH "${CMAKE_INSTALL_PREFIX}/lib/apulse" CACHE PATH "library installation directory")
+-set(APULSE_SEARCH_PATHS "${APULSEPATH}" CACHE PATH "directory list for LD_LIBRARY_PATH")
+-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/apulse.template"
+- "${CMAKE_CURRENT_BINARY_DIR}/apulse" @ONLY)
++if (${INSTALL_SDK})
++ set(APULSEPATH "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "library installation directory")
++
++ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/libpulse.pc.in"
++ "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/libpulse.pc" @ONLY)
++ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/libpulse-simple.pc.in"
++ "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/libpulse-simple.pc" @ONLY)
++ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/libpulse-mainloop-glib.pc.in"
++ "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/libpulse-mainloop-glib.pc" @ONLY)
++else()
++ set(APULSEPATH "${CMAKE_INSTALL_LIBDIR}/apulse" CACHE PATH "library installation directory")
++ set(APULSE_SEARCH_PATHS "${CMAKE_INSTALL_PREFIX}/${APULSEPATH}" CACHE PATH "directory list for LD_LIBRARY_PATH")
++
++ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/apulse.template"
++ "${CMAKE_CURRENT_BINARY_DIR}/apulse" @ONLY)
++endif()
+
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/apulse" DESTINATION bin
+- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+ install(TARGETS pulse-simple pulse pulse-mainloop-glib DESTINATION "${APULSEPATH}")
+-install(FILES "${CMAKE_SOURCE_DIR}/man/apulse.1" DESTINATION share/man/man1)
++
++if (${INSTALL_SDK})
++ install(DIRECTORY "${CMAKE_SOURCE_DIR}/3rdparty/pulseaudio-headers/pulse" DESTINATION include)
++ install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig" DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++else()
++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/apulse" DESTINATION bin
++ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
++ install(FILES "${CMAKE_SOURCE_DIR}/man/apulse.1" DESTINATION share/man/man1)
++endif()
+diff --git a/pkgconfig/libpulse-mainloop-glib.pc.in b/pkgconfig/libpulse-mainloop-glib.pc.in
+new file mode 100644
+index 0000000..957e3b2
+--- /dev/null
++++ b/pkgconfig/libpulse-mainloop-glib.pc.in
+@@ -0,0 +1,9 @@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++
++Name: libpulse-mainloop-glib
++Description: PulseAudio GLib 2.0 Main Loop Wrapper (apulse)
++Version: 5.0
++Libs: -L${libdir} -lpulse-mainloop-glib -pthread
++Cflags: -I${includedir}
++Requires: glib-2.0
+diff --git a/pkgconfig/libpulse-simple.pc.in b/pkgconfig/libpulse-simple.pc.in
+new file mode 100644
+index 0000000..57d917f
+--- /dev/null
++++ b/pkgconfig/libpulse-simple.pc.in
+@@ -0,0 +1,9 @@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++
++Name: libpulse-simple
++Description: PulseAudio Simplified Synchronous Client Interface (apulse)
++Version: 5.0
++Libs: -L${libdir} -lpulse-simple -pthread
++Cflags: -I${includedir}
++Requires: glib-2.0
+diff --git a/pkgconfig/libpulse.pc.in b/pkgconfig/libpulse.pc.in
+new file mode 100644
+index 0000000..edcbbd8
+--- /dev/null
++++ b/pkgconfig/libpulse.pc.in
+@@ -0,0 +1,9 @@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
++
++Name: libpulse
++Description: PulseAudio Client Interface (apulse)
++Version: 5.0
++Libs: -L${libdir} -lpulse -pthread
++Cflags: -I${includedir}
++Requires: glib-2.0 alsa
+++ /dev/null
-DIST picard-2.4.2.tar.gz 4096438 BLAKE2B a44e82ac1a0ad776eb371309ad13f0a5e9afe4a0fe8b898dbbcb71ac554da3ff7cf4a2d88a8e476c811dfeb515ca7371ca8effb326b9285e6c53ebeac6795c15 SHA512 17f6015dd06a1282e6dc216726a74cc7bf2a54a5694e09e2d7ae6f1b4c85f2f60f3de1218d952fa2c4e088b3330d1fd12e4b41cf819d7c3d2d96278532338e15
-EBUILD picard-2.4.2.ebuild 1625 BLAKE2B 7c2be47b06fa47bb929ca77a14223bc4a0b36d3bf4ada6cc0fda6225403ea7e1e34d1374e13899e762f86ad0133ca8ab9fdba7ba9187d17f8c2cf38349707d27 SHA512 078d4118194374548acbc6316a7d5b654af07e35edd3a8c0a20b37f6c8867f4dbfb3613cd15a8b1ef6bbd3e5e8d3721441eed882de1fc796c0c907a216a677e9
+++ /dev/null
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_SINGLE_IMPL=1
-DISABLE_AUTOFORMATTING=true
-inherit distutils-r1 xdg
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://github.com/metabrainz/picard"
- inherit git-r3
-else
- SRC_URI="https://musicbrainz.osuosl.org/pub/musicbrainz/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 x86"
- S="${WORKDIR}/${PN}-release-${PV}"
-fi
-
-DESCRIPTION="Cross-platform music tagger"
-HOMEPAGE="https://picard.musicbrainz.org"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="discid fingerprints nls"
-
-BDEPEND="
- nls? ( dev-qt/linguist-tools:5 )
-"
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/PyQt5[declarative,gui,network,widgets,${PYTHON_MULTI_USEDEP}]
- dev-python/python-dateutil[${PYTHON_MULTI_USEDEP}]
- media-libs/mutagen[${PYTHON_MULTI_USEDEP}]
- discid? ( dev-python/python-discid[${PYTHON_MULTI_USEDEP}] )
- ')
- dev-qt/qtgui:5
- fingerprints? ( media-libs/chromaprint[tools] )
-"
-
-RESTRICT="test" # doesn't work with ebuilds
-
-python_compile() {
- local build_args=(
- --disable-autoupdate
- )
- if ! use nls; then
- build_args+=( --disable-locales )
- fi
- distutils-r1_python_compile ${build_args[@]}
-}
-
-python_install() {
- local install_args=(
- --disable-autoupdate
- --skip-build
- )
- if ! use nls; then
- install_args+=( --disable-locales )
- fi
- distutils-r1_python_install ${install_args[@]}
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- elog "If you are upgrading Picard and it does not start, try removing"
- elog "Picard's settings:"
- elog " rm ~/.config/MusicBrainz/Picard.conf"
-}
--- /dev/null
+DIST pan-0.149.tar.bz2 2328015 BLAKE2B 6c40c215a63f14bc0a9585c0476f5c92c96c0547de67767b353ec79c0999a1ad3a9e3fd23740ae25f29c32ce51ac3d48995aac622997f16ccd06ab842ed9a653 SHA512 2e558f53bbc0c9ae907c566fe8efd56ed2ef0edeffa23f922b63c956f16096c2ad1ea0bd43c31f82ee096899550bf47cb7011f354a6941a1d53cb6c6eaa5e5a6
+EBUILD pan-0.149.ebuild 1389 BLAKE2B 3b01b468928056c3bf14a80fce8c2829720efc74fbeefec1adf73a864fc079a765df9bb3b843f476d4615b636abc18a7ddd1460345cbdf9bf571cf5064152d05 SHA512 dfc2ddcf3c7600a9175713bcc7b0961358ee4ff3aaec43fc9a640e89c537b0f94a279443f653fa10a4d0e6ae3536da82e1c2aeb534261d356eefb5d912f5523f
--- /dev/null
+# This ebuild is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
+#
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Update for gmime-3 support in newer pan (2022-06)
+
+EAPI=6
+inherit gnome2
+
+DESCRIPTION="A newsreader for GNOME"
+HOMEPAGE="http://pan.rebelbase.com/"
+SRC_URI="http://pan.rebelbase.com/download/releases/${PV}/source/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="dbus gnome-keyring libnotify spell ssl"
+
+RDEPEND="
+ >=dev-libs/glib-2.26:2
+ dev-libs/gmime:3.0
+ >=sys-libs/zlib-1.2.0
+ >=x11-libs/gtk+-2.16:2
+ gnome-keyring? ( >=gnome-base/libgnome-keyring-3.2 )
+ libnotify? ( >=x11-libs/libnotify-0.4.1:0= )
+ spell? (
+ >=app-text/enchant-1.6:0/0
+ >=app-text/gtkspell-2.0.7:2 )
+ ssl? ( >=net-libs/gnutls-3:0= )
+"
+DEPEND="${RDEPEND}
+ app-text/yelp-tools
+ >=sys-devel/gettext-0.19.7
+ virtual/pkgconfig
+"
+
+src_configure() {
+ # Wait for webkitgtk4 support
+ # gtk3 support is still not ready (follow what Fedora does)
+ gnome2_src_configure \
+ --with-yelp-tools \
+ --without-gtk3 \
+ --without-webkit \
+ $(use_with dbus) \
+ $(use_enable gnome-keyring gkr) \
+ $(use_with spell gtkspell) \
+ $(use_enable libnotify) \
+ $(use_with ssl gnutls)
+}
AUX man-1.6g-nonportable-echo.patch 607 BLAKE2B c04845b50fc1f7e962ff40e6173e14293c83b675c1db87de9f9a442ac8fdb4a27fe75d6d83a587da611f7fee214a79e4a449bd3d5f00afa6925798068674fb64 SHA512 ddbbe14755a0ccea627a734c37428485a5f310ab916a230707b45ed503e629518cc7ea81aa5097b0bd403f2fa6e1305dce246c01e791987f5f11901b1d100b6e
AUX man-1.6g-xz.patch 1848 BLAKE2B 6a0855eda72386a0f48e715e9ba620b3473b3aa854c42fabd93bc02b7c9cd44fbd07f2608257fe953bdfa9b02e8fa35876d651ba5aab99937fe42325fcfb7b69 SHA512 6a883fa800a6d3b11c76a70e1a31c0736d380271c9f21315863ddaca9529e3d613b587724287fb94bab2b0d97215f6ccb3f1438a5c5e339e5a2edf872c92515c
DIST man-1.6g.tar.gz 256906 BLAKE2B f13e21400aecd41a5f001b37bf3c6f9fd8463ff627f761cfd0a6846c7b8dac48a6dc87ff2cf4786b55800a558141cffcc0d66420943e46f708292f5653b42d51 SHA512 c786fa2201aed92293e5590dc3ad5d550cf14e5059fa274ef7719af86ee4c892e747576495b6dc0a09286e73e2f0f0caf860216e0c8032d9ef13e5d26853048b
-EBUILD man-1.6g-r2.ebuild 3930 BLAKE2B e6af0c063cce75b40ac6ab16581586304fb28ca0f0c53ed04ad52fe980c902ab484be01bbc947a558782402297c2e32e1d3fb9fb55101ed875cf65e94c6c4003 SHA512 e3cd0c582bfeb01155bed8ffaf52f095a522f65bfcd15e92dc4484df41b021b57fd5e915c2dc380a2ae02dd026e421d737b932b30fc50eb9629fc685f8d44075
+EBUILD man-1.6g-r3.ebuild 4155 BLAKE2B 22fb00df938c79208486fa99e2fe99a21784a48a4d44a39ff15ab2026d7281b3848ec712f6173fc40367601ea75c1189b6fc64f4088be17b4269262b6aea578b SHA512 aa6ee1a335d10aaadd7f983f5e9539077bef154e85953af5fb2ddb1bc4a1b95f0328542a86384a7bd23526cce147fedca388e045fa510d413583b48d07e2f7aa
-# Copyright © 2018 Nick Bowler
+# Copyright © 2018-2019, 2022 Nick Bowler
# License GPLv2+: GNU General Public License version 2 or any later version.
# This is free software: you are free to change and distribute it.
# There is NO WARRANTY, to the extent permitted by law.
#
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Fix nonportable "echo" usage (2018-10)
+# * Convert to EAPI 6 patch application (2019-03)
+# * Improve /etc/cron.daily/makewhatis installation (2019-03)
+# * Convert from user.eclass to GLEP 81 user/group packages (2022-12)
EAPI="6"
-inherit eutils prefix toolchain-funcs user
+inherit eutils prefix toolchain-funcs
DESCRIPTION="Standard commands to read man pages"
HOMEPAGE="http://primates.ximian.com/~flucifredi/man/"
!sys-apps/man-db
!<app-arch/lzma-4.63
lzma? ( app-arch/xz-utils )
- selinux? ( sec-policy/selinux-makewhatis )"
-
-pkg_setup() {
- enewgroup man 15
- enewuser man 13 -1 /usr/share/man man
-}
+ selinux? ( sec-policy/selinux-makewhatis )
+ acct-group/man
+ acct-user/man"
PATCHES=(
"${FILESDIR}"/man-1.6f-man2html-compression-2.patch
EBUILD man-0-r3.ebuild 436 BLAKE2B 57053faa703d6cdd8f5cfccaa5583aeb70d67997fabf0dd5c66e90fcb4aa7fa0a619e0f95509d0290a62d8e810ede4fe3d8fb2ec390458a22556d9f1a3745c95 SHA512 1289ab250fcd8f76ede9697872da3bb482f621516e95b60f272c44a2adf7afdec4334ab04b723e0898d6ba606a39db5b8d363e54dee344f72d529a1cf121356f
+EBUILD man-0-r4.ebuild 455 BLAKE2B a645748286f3a89ff33ea107fa61dce45c6687f69587a41c6231355ca485d4435e1b4ca81b6000faa73dced907f71a8b6fae844ebadc3e3408500da867c34697 SHA512 b771fdc301cab3fa52fcf354464161196d15c4e9b98bba2617f6a2f484522e286c8f6c48ef65896043e2d0a19c3d31005e508f276b0c9fee1a9c3319e1b235b3
--- /dev/null
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for man"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+RDEPEND="
+ || (
+ sys-apps/man
+ sys-apps/man-db
+ >=app-text/mandoc-1.14.5-r1[system-man]
+ )
+"
--- /dev/null
+AUX firefox-52.9.0-blessings-TERM.patch 2276 BLAKE2B 2413368995dd8421a634e2a50f4bd9ee01062043a18bef4cd07645ecca05459891ff5aaa294f3abbc85e7ed9515e8936ede8b7faacfb19fadd81ec98ff8080b0 SHA512 08f8d2ba3258b3ef6bda1d2f8ea429e579e1f616dd940f6dc25ef231199d9155b22631f4366908c77ec5b9c4ce63310c9b9e075a6a7a7503b6423e13082f2b91
+AUX firefox-52.9.0-fix-idb-name-conflict.patch 10116 BLAKE2B 0f285f2918b1c3f50c5b31cfb6527b8cdf4593f4a21f09a6ee200f7c2c8b0840b99eac58c6a0dc24beb873c7cd1b451ce3cc9d39f8e336d2c4094d70766bb9e9 SHA512 848aef9eb4eb5e677e69522be3051afb1bfa508f098f8b06eec9f224356c2480f10a36e053c8555d74454ad40ecca13708c2abb140ad857d9bd5663a0b469ed3
+AUX firefox-52.9.0-fix-missing-includes.patch 1238 BLAKE2B 7046a0c6e5846732ef7ab3714c2e98bf6b77d0a711a5ae616cadb3dc65f2c82cbf2efdc4af932d0e2b1eb1497b6124b9b453d143f52d2e07d6531535738d5279 SHA512 ef6aa3c6d50ced3cde973429b3ce9a227e608463cdb8130cb3a4329ce01694765782c4cfa4a14284e29d98262bdf33cc5b7bcee7a925135d580c12139e74860f
+AUX firefox-52.9.0-fix-thebes-templates.patch 5806 BLAKE2B 568d3bd61f43daa84957c719f38bad93c8cbbdb863156c9f350d96a2af020ff3c1f32e3dd211b2636f822bb34116c98c82c101e25d3d0b3c147b07ee77279467 SHA512 5d5f28fbd3cd6818aa11bf8dd2d14e6a6887f2b44d04a5e824696151e176273a7a2a384772ba748761ff2c2c9c6e1f6b43d6355e64a293cb3b76715313194798
+AUX firefox-52.9.0-glibc-2.30.patch 492 BLAKE2B a73d3da636cb65c882ad4f06a8aae26df32ce77aea74b8d9477eb7f6aa9eb1046ad9acf47f4a70dde55c9c98da6506846f83e75a4cf5f09d63d56a883effa8f6 SHA512 d028c35d3e33f2cfc1f3e806d16975810be5a5fad4b4e9c68a02d0159aed9258b5540728bbcadd31d7959691cfed5940e90b47a9733d1b1a6e1b944216e38174
+AUX firefox-52.9.0-glibc-2.36.patch 2475 BLAKE2B 93c6eeab26f5fcdc5a9a5acf6a78834b35839dd7511499edea0fbb9ea70b7c3a95982b4488619f6c132ec03f63f97c7b4c7c22b02d77d010bd469f180f60175c SHA512 3efa72a036a49f48461f6b36e39a71c79c03e7a41e55cc9195175886fc299e6bcf5966c98b52200aa0b84c3eadbe273a5db0dc88087165dfbf43ec3cf479c5bd
+AUX firefox-52.9.0-less-werror.patch 395 BLAKE2B 32310b52988d6b54a4acfdba5fbb0b2baff5a5b1383b5e1336dc55c3c11c9f8d444bbdb68ed280fdece828c0d4b6969e86a60a6bd6c0bcc50c4530f6e661b4a2 SHA512 caacf8522ce05fa1fe1461719cf8381a2dac4f928c0077f7862c3b41103f9bfcc7710cd053e9d1f68c6bfd86406c68a960538a9ad4e6623a3edbb7480f01700f
+AUX gentoo-default-prefs.js-1 821 BLAKE2B 2af9a9e9f3a71fae918a4098397e931c02df5a8021d0bc87ebc4981076674aba99d88c5b8acf2380c915e92ad07a7636891ea8a07cfc850e9c4d15e58d0cd276 SHA512 b63542c51edfe0158ce487b317ea6d36ffc17cf8457534adb6aa3f613d9a027f4285c9dcf76eb1b96de6bbc10ba09948fa6c081e00cfb25ca47450cbc32923f2
+AUX gentoo-hwaccel-prefs.js-1 100 BLAKE2B 08be790b58524077a5681cc06e10890b72dc6e8155c9e03e6ef9165035087d4b8cbcac4a6b8997f61db3721895c9247a12171eec7d082fa15e1d5312bf51fbee SHA512 cf5385c793056e66b8853fd641dce2e7804d6878675afd24485487f2201801e1bdd5d27c15cb0d483eb34bfb75e7a21c01f1bbf701cb1c2dfa48f8f6422ed42c
+AUX icon/firefox.desktop 277 BLAKE2B 944a7b4706ba5f6b93a1369416adc31203dfaf0d12291a035ce05830f2c79bd14d1f7d5324c16d3e5be21fdda2a9237223901030a974f3ff778b1def7f8bb3e3 SHA512 99b57d36601bba420bb2e6647e0fa4baa1c31f15bf7c602ac43a347d7fe78f4350b3fb10af3a709a5aac02a4c4f283dcfacd780bacb43e7e8ed46b83b97d6f4d
+DIST firefox-52.5-patches-02.tar.xz 15084 BLAKE2B 538dd61dbb7b290add4782b323a62f9ab4dbc57326a9a085710d207752118c504eb030a8741c1eed2e281c8d18e5453210b1905d71439250caa588137bbc37d0 SHA512 b80f9acaf49226cd5c2864714826c5b0e7e918e94c31ec81521b90c47edbb88ea85faa34fc22791efefbcd3867ddc413c563de58ca0f8ce21e10a3858899efce
+DIST firefox-52.9.0esr-ach.xpi 420286 BLAKE2B 41643f6cdc43722dc2a61249720902a503c5f547979e80ace08bef097e2efef7b67d6d44b04a66965ee80722194b2183feed15d3b2f13d5b6ccdc993415eb9e3 SHA512 8a28262b9bb44592801e063348401924b2dc8ab1b4e042d11f560d892e276b7d14279a1a2ab3f6ad27068113969ca59377493839f1efbdd61a77f5246815989c
+DIST firefox-52.9.0esr-af.xpi 429469 BLAKE2B 224617fcee13cbc62863dca9ecde4f45f1dc1a83535780a0f3b13f74ddd492ffd46b544ba93cb0ba505e99afc7327a5398c7bce735ba2d24612ea5ea80717221 SHA512 a723edc72c1e373e250fb878a73024054c670f0fd3ceadbd4a1306981f8cb560ec8f078a017cafb84dc49a11bb0d17046b102a6f67dba65b67d64946d909b189
+DIST firefox-52.9.0esr-an.xpi 437887 BLAKE2B 5be731c8d5f044c773ae34ac27009dae5f8bf9c87fb0c6a50d64e752810fd497533b74a5d409b98f53fbfab58b037904c418f5fe45da70c9da79ee1be3d6293f SHA512 07cbdfc2296a96b9fa9d286d803b1acabc14bffedefaf009ffb324909e4c4a923ca4a023cab92562821c1a5d30abd23debbc825ecd1121476924216c3668bed8
+DIST firefox-52.9.0esr-ar.xpi 466028 BLAKE2B e431e58c94de1c00d019534c4025977861864d1eaa32f5acc51052252ef7d20818464fc4c92b39ca955eff063b4b6df50cc3ccc0fb2322412d4d711dddc9def8 SHA512 037336c659890256fecc4bf0028c14a73a6e52fd0524da29bf4d58efc61a89a66fcb8a32f4a31e789e0ec7a7a376ddc232f9e0f850fc485e7e908b2caab00b96
+DIST firefox-52.9.0esr-as.xpi 479635 BLAKE2B 7ba88cc70b21a90dfce4ffee844434ea4ee756cf8d0d425f82e71009d325d74b8728fb28a7b8c1ab0826accf71144b126ee6f91d84821dd3ab037864aaf15303 SHA512 62038ed87f45c865a3fe2d10487ba69dc48cdb6f166e040cb2942f02afb9222bf7ff325bb47d2c0dd3582e752fe20e89440fd488028dd3f1b9cba5f696107a6a
+DIST firefox-52.9.0esr-ast.xpi 432775 BLAKE2B 391aeaba518ac560d789fc7b6771b08c7f2437075767231b13e5575cb552d5fc388329ea794843a43dd4dd6ba68831fa28330a6120eafda60b215899543589c4 SHA512 97582f59348f18ec858bf09d8e496632ed618088d88a030a4d2801627f6c54c70e67595008483065e1df33d02661410fa49c17fe5a6625c7fb97140bb1749ea1
+DIST firefox-52.9.0esr-az.xpi 454923 BLAKE2B d6172b0ec8e90f843617f1b5e749b722dad8adfda51d5a0c8a464238202884f11f0583a19e4bbc005eea0d5bb94a0637d9be34693ccd78c473ddfb70bb52ffd4 SHA512 beb7758cc3d369b14dfe606144e1c6e64c3a6f6178f69ee91a64e5a3fb9df827e103afc6d8490a3a1359efd766d1c73bbfe2d00814c66f9d95d13c3be9a9d81f
+DIST firefox-52.9.0esr-bg.xpi 487891 BLAKE2B a1acf93b23a68374f1af0e4cb017ee3da8ab33c54891b1aad62e6e5ed7ce5616f646df988a82fe58fb92b2d844de0cf5f8bc882a46166695fda1980b4d009d1e SHA512 cf416bfebeb56c32ac0a985cd3e3c532f7f6900833dd15c3d1ddb915189a18a382376b8b0909c1d4ba4beedd4dbbe652ebaa29fa0f1a480736effd1b2c6992a5
+DIST firefox-52.9.0esr-bn-BD.xpi 504634 BLAKE2B 17b4b7c8befe136b99ce869223dbf7e7172c878e07a0705726a04b41539596639c5c8299b01e50dba19b4d88a7da59ea9dd311abe43968f517b9181e991ecd5e SHA512 092e92a29700c9d5fe344aa027a5a01a6ffbae4aca4e15e852c5fa032eea81d7744f8901712efcca5819813d3d37877d104c3d96abf9c57732d3fe3a13a1bfe9
+DIST firefox-52.9.0esr-bn-IN.xpi 502114 BLAKE2B 26b90f95451b92d5c112e70687a99b9a24e6f3f948fac9fbd46aefb11d19e02a498111eec9673e3289a56995a92df0d86f7401e744b5e2ddf9e586565d0b79f8 SHA512 767016400fa3f582fe11e120250f158347270d66ba0b297961a3f362f09bbcaa8ad588c0b5ec25682e3b87bebb0cd68279d9a52e6ba91cf9f33264b7a63b5cfd
+DIST firefox-52.9.0esr-br.xpi 428216 BLAKE2B 173495fad24e1bd24b2f8fd47e05256df47866bb0af3d1f254dd747cd753ef2d6555e83a1733a8bfc56b0c0b2ff83e5c8dca0ff0360c10354ff82def4c0233ef SHA512 78bc39ae71ce041d6cf8c202f6f0f9370711113363b6b01c14157b0762455c9f2da86539c77574d47402d3765bd05c6ab6798f9ffdd8b512b1c50fab768ce86b
+DIST firefox-52.9.0esr-bs.xpi 434428 BLAKE2B 9f29aad62bab6480653a891249d2e922ee0828d6660e511f40ef064affe73486bd4e242831497f437477246cf8cc90e0517cfcf3575df8530a66eea6ea67458c SHA512 5d1377013e08e066b683d6b25677eb9fef4aa10a8fe3999b2e332c7f9971dcd571787e0268baf65a9288ce6a4bfdb6cb763692f0334ef76a7c7abff0a9467e28
+DIST firefox-52.9.0esr-ca.xpi 443304 BLAKE2B 9d9496eed906a40ca8c69e380c7849d5d927af1ec1cf754d6ee3da79d6de9c99551269a7b4593ec3a29594724c2c232b67441d3423bc54fe96d52862f1e85f4e SHA512 dbb2b09fbffbe3b69916ec36658764820e69125f51fae7be490e1d903444db7fdfea05736c4ab791b6cda3070aba592a736c787bb7fe283820fc91009ec10e4b
+DIST firefox-52.9.0esr-cak.xpi 451911 BLAKE2B 4dbb016fe0f5dc5634d94f564514672583a324d2bf48f067aa2c911b0b6dd4239e9fea9405d4f4e34ccbaa48cd80a04218d229cb54a41ceebaccb76894c9aa07 SHA512 266bf767a4cc8ee7611b5e92903eecb8ff0f89b13cabb5bd2cb547a6345e20a52f1bcb59ed34f0b8f991c46d03062b0bb0a6edcf4732f7ca800f79cb1675626f
+DIST firefox-52.9.0esr-cs.xpi 444075 BLAKE2B a39d90b7cdcc5bcc45e8bfbe971bd80036f1b01154dd65d14d2d68f2ed0468938d2a58e9db11841fdfc04c63496ba37fefef76da2b9c0b9a102a20bff38a1842 SHA512 8e3ca731a99c6aa774564aa8aba0de8ce0cd2c5c81d9f1bfd31a78546f03d2ba07999d296cd12bf02ebdff6e4874d7a82e58b412d21f6862dcfea296e90ef3fc
+DIST firefox-52.9.0esr-cy.xpi 429300 BLAKE2B dba43dd71e970295b810bd6d27a7ead237e3ac67b83c5700b7cc26085b58c6ec3130f63146f72e3c7e688606905ed58ad4712d3ea535b96a91be47337ad36f81 SHA512 dc643461bf3ea0b7ef480bdef805522d0eac83ca0e41e9fa211282bc7e7b8110a5e06c76789e5d3f9f55da2699769c8622d06b351ad86569a2852d06ca4ac0cf
+DIST firefox-52.9.0esr-da.xpi 424394 BLAKE2B 64018098d96ffda08caa6b260bfd6820844d94fb8d2bf02677812d10934068ed6ac7439bed93c559b16ecf731ef6f3744718bb98f390485015491a2667260c54 SHA512 80dc86a3dfa15c5cb4dfd349411a226267f12ecdb548e27f436750feb126bfed06d60389da3184432617f02853d62e8a2d98bcfb19c154f67144d42604435023
+DIST firefox-52.9.0esr-de.xpi 435228 BLAKE2B 7daaf9b278dd4cf48c5183dd92978f01719d06cb88a6b15c3e8059c423be9ef2a17760934e2746a3dff5e3211fe90109c53b60cb5a6d2c53ced87a84d1a965a2 SHA512 827fe20427fa3f9b81e1c256418c27ae917f964960ae3baa38ac3754530b682fbd6b54cfb8eaa943992180b16d72a474ad84fa7b02e1f809cf1c973a09c3840a
+DIST firefox-52.9.0esr-dsb.xpi 452168 BLAKE2B 07a033dc80b73446d2342eb1a549a9b96a7ac5ab58ae53d2544a6c60f05767c350958d0c188b8e768b29880fb02b561ffa925bc80d480f5c18028d353782363c SHA512 494cfefce19ad75f254a4fda494f8a215773bff610ee88bd241ba034353ee2e4b7327791eb8c658a30b249e62e2f5430cff894c3e8e9064fe9f567e5c5e2669e
+DIST firefox-52.9.0esr-el.xpi 509237 BLAKE2B 9391cd81457b15d5aa0bd62891e4e7e480a090e61e3cccdc789d8ac055a26071ba58963daeb66ffa8a2476f1d61ef55cd22ac196eb99dbca0b09a8d9944e5462 SHA512 9f4fc865795804b67d89542b28fe82c18a7b9ccdd3683928f876e24442336c43100a7881e4127439a1bf97dab90d919dd88e464410d321fe10a2cde116e8c38a
+DIST firefox-52.9.0esr-en-GB.xpi 412038 BLAKE2B c5001c4f3a65d2427c8eab998852e7ef33f62735f6e423521e8bb281ff85bf8dadda7888aa3555b9e40a6d8ebb438345a21375fc1df4c54913f43e46f26993c2 SHA512 c16fb52dbb09c8e6ffdcb19c3e4ceca780ec69d521f5f422da3b0c58bce8da15d34c5c85dbf3f004865040f03de0c8c0b8ee0c4b21dfbc2be00dca04fc82358e
+DIST firefox-52.9.0esr-en-ZA.xpi 412212 BLAKE2B 893c371bd5f8a8a84f3161395827d3b1e5dbdf1c31319f5e10f20d860324fce344795abe175eec8aef44c60f9c0ade56ee301d7810495dbcfb38370cbb8dc3a8 SHA512 12d2e7608c8a5964bdd237882cccb6b1e824918366ab7788a80b741046e8cb14cd5fa1c1c7d9d3b0641a03aab16e3ae5ed1af64d79cf384884bff26b7cad4395
+DIST firefox-52.9.0esr-eo.xpi 430117 BLAKE2B e707d92b1b02f42aa936ccddc3a613020f4ba73083e5f095670dc3e41628bdc2c530b8f83695a6bda92765a934f7e8ed823e0e1b040bba4a4af69de397e50d02 SHA512 a48039bc9e060fb6b7939effc5d0c7e223dcd47080d01fcbd8b4f1fca90621024dae408cc052b166f085e694d00ffc40d48c6a434006dfde088e75e4b509ec25
+DIST firefox-52.9.0esr-es-AR.xpi 438659 BLAKE2B de1cbb21cbbc4da5b608fd51ea4d3b21eef83ead67200e21a71887456b9837f641dd42fde33ffec40d1d3052950f70279af1a80a02eaa7c842957d3b8085ef61 SHA512 fb3d70ea97af2cfa3b0023473be9e6fb474e15c0622b9c247961222424e563027ff57a451e3dbb32b73d2fde06f6f857aca0d367ee38b8ed1d777ec1f2b21378
+DIST firefox-52.9.0esr-es-CL.xpi 438407 BLAKE2B 5bf5c07b5715762a81fd7b35338a3d4bf8d384de3df42e76940e386ab83c207ff7d9a11b7211e4bb3925e0e4f47a8ee8ccd82edb27f9fb9f2d7ec277ca9ab9e3 SHA512 a08d2de92afdcbd2ca238f70d425887154caf7fdc7df5df1c0475b21d4e40c2ae00192d6985986a8a30f81d29538832ae573da06c5b924723a19894a9f747702
+DIST firefox-52.9.0esr-es-ES.xpi 337614 BLAKE2B 3df8f326ebe81ea688b3b1c7ad2351f6d3aa3ddd954f923f5551a02fdcb3c1dd5dcc170140f0a202ea9ee102a3adba97331751bfa1d293789ae209a0dcaf871a SHA512 e4e8d5c434313416b8f07ce656a0d73de53e65412e99c29a41ccc3436d76eb3584df79351e56a6334ec2e46dff3c8c0c486b2a1be08b88ff3880d04502123ca8
+DIST firefox-52.9.0esr-es-MX.xpi 441127 BLAKE2B 97563eafb96234cd7f03e2a9c5092879812d0056037004ca023fd494d7163ad75842c1613ccab792a415aaba3eec786fd87b0ce5b84c9de667b03717574784ab SHA512 47cc9989fcdd99960befc310c259b84695a298b4472ea99a4f42a3c4b0024e6690b0957ef2588fe66a6cca2ec2a819df2264a6943da2caa1a293c1cd33a51965
+DIST firefox-52.9.0esr-et.xpi 425113 BLAKE2B 493abaf01932eb9e956cc805ea83036590186b8a3a40380d9b16119d8608ad034d5a0d332174b1de62ce365d443f3b9a70f2edfb7aa99fee0df4495123300348 SHA512 c8c26d1f60fa5d40bd34cb3c7d1f0e97f1a49f27ac43d7219bef2e8bf496cb8b358df30749118c21449393f9a5b1a9d2cbdda893fc90e6d4351efb648b86e122
+DIST firefox-52.9.0esr-eu.xpi 431124 BLAKE2B ed8ec8c178ea21befe2826dc08622e0d59f288f5f3ab23eb1de2ffa0caec2654800e4298ce5179e2366f46e11b2a35721e9ab3c2c783a9dec4e7b546225e0758 SHA512 4e5368994ed64f06fee4b5e7da0aea6f0b2f275b8d8a3d64ca0f09031b14efcf9198f62dfc7fccb273fc0028a963d9501e174224019780814fdd151e66261c64
+DIST firefox-52.9.0esr-fa.xpi 483990 BLAKE2B 4e94c51a04212f482dba4c1cdb20d5c36bc38da422d2038a1f3f03e04316a7f6bdffc11b26a1577021b396ee65cad60911694caa8e65d5bfc7501da2f38b2a73 SHA512 1ca907bb17f608d2225ea0749a25dfee5c76b7231fd95c21cc14e84db2c3ab09a55a2615560c51e88b47071ce1ada31ae8d23c92ed6246bbabb3109f536a5ac5
+DIST firefox-52.9.0esr-ff.xpi 433662 BLAKE2B b8a851374299b440ffed1b7ead4dbc6771eee3aee006802edaf3845566e53879547d244e1c84179ebeed8d6c66b0cc19bc8916bd6257ccf003ef01a2d417b49f SHA512 b537fc8239672e2d0ecb7439782052e196c41ba450abc05e5d2286711243d8dbabea81f376b85be904f9f77c3d1a1f5fb91b9eb2701e9af377d587d0868356e1
+DIST firefox-52.9.0esr-fi.xpi 422807 BLAKE2B cbaa72baf469b30f2d7d95b27bbf7f388e0555e45468a23f6b2b6b0305904c8bef8538c505202c0cf87099b15dc32b8cd85a464fc6e84b79e68eeea03bea1747 SHA512 3b86434f57fe6f5ce481f8e36187d6eafad0d467039eb62ca4e002634f911cfc9876c182557f39217c8bf80b0f14d0bbc6b654fdc43d0f9222aa980e8202482a
+DIST firefox-52.9.0esr-fr.xpi 442944 BLAKE2B 8affb0817ac4108ae5f8102d7b03a6d097f0b7aad9435d39649c75e2efd20c617d1939594849b40c4af563b81c07dea8a330eb6219b0177e37298adfc3d7b535 SHA512 dc23b244ea163571beb8aa2a89f8f3fa63cd7afe63b2eb18e215133c2adb4aaeee5b262e08d5b64877a3374d53ab962baa1e85dff178680122f0560e6f788cea
+DIST firefox-52.9.0esr-fy-NL.xpi 437699 BLAKE2B d31af005d37ce674e8397c8235cdc8718c8277708d788c342e53701a77589b5379a5868b67f3d8f68343bdd0029b3666622cda505e3b71b0488595724ebb921d SHA512 5d7a1b9ee9c95c785b73a618087bd3e9dda30dcd1396a3d107f0beb43caa67d75dc0def13f87177ff9a7a4f8d5c2b99b18834ddedf89e1d5013ae3ba33b219dc
+DIST firefox-52.9.0esr-ga-IE.xpi 450875 BLAKE2B d80b05ccf9935d634ca6562f4785493ba392f2cee27b0d841b80317b67782e3644a76e16d5c77e132a1c551363827e03e5321426cbd77c6f02acc5b183c269f8 SHA512 2db28cc2b5223c3d8b48eb58049634ef1e3a1a954bfd77a31e3fa12fb28535ab65605c18b6672e3b5805afc12a3739b1e7a9a5563cdc3267214fcdd25916dc7e
+DIST firefox-52.9.0esr-gd.xpi 439988 BLAKE2B f3e10713438a46a97281c56dc4fd58173684c7a38453bf88914b908dddd282f220bab86b14d5b164a795b301783fb5cf24250560c080ae8fd31e3d1f7f06794b SHA512 aef56c42cdd5a82349f9ded656a4c11a941ea3279fe0d2ee7a5229d33c67bc8b9ead560a4427c372e62385834b1b8ef1bcda2d50c92e94213a1f5135704d1f6b
+DIST firefox-52.9.0esr-gl.xpi 440039 BLAKE2B 619cd93b30e041a6dbacd7357e7f24be16d14435e6c834ccf4f10c326440bc603e2de2e13ff66a2b000093769ae375a3879798262bc4cd72b69d449c010e926c SHA512 7972dda939fa001100cb212adaf946dbbf7b03e54216f67dc45885ceb764d9b8a5e3b819360c55b59cd7c1aa6168c945186d39be8b5280b6c3ed50c816353835
+DIST firefox-52.9.0esr-gn.xpi 448957 BLAKE2B 11b41c30a8cdae5a10047c7aff568844a74462359cf9853e7b20d7e4c21aa1c39c226bddc8b15c5c7a445556faccc1982d524ca39287a4f9455756065e58b2f4 SHA512 211b1a2f31fdbec47b0e77023671b080f55da7b19699fb4e32e7004e0813bd20aa6cbbfe8a1abe5d47ab0c93d3b5a0bbce75db1714b0a217f2081288e6bd0d32
+DIST firefox-52.9.0esr-gu-IN.xpi 482104 BLAKE2B 3c14cf446fa5d2c1c8ee4c2b4db8806396339b571ce9e6e1d4b7db25ea8b567d7d22dea6b19269e152d55cd25dde715acfc9ee4ac7714c74ac0592f77256e97e SHA512 d86e9a8b606ded3fb76b233b1513cd38e99be8bc882e8b2b8c5df7a332fcb4fb03dfaa286e52387e93ad744fe94a30cac41e80b42ed63b5b4744049349b4a390
+DIST firefox-52.9.0esr-he.xpi 447928 BLAKE2B f4978a409669d8d99f46ce7479a8e9f44b289d3094277f612065a95b867a68fe4a443dbaedb50593f420abb6f3d6767a29b0eb140cad60d11b39a4fa8d123a5c SHA512 f628411851367bc7dcc417cddba235a05e4f12dece9684f241a35d0c9f9b1c8841f75cc9c52f1f25759f45f0e894f6d43e161381ac4ce3ebd71f0c07c71f115c
+DIST firefox-52.9.0esr-hi-IN.xpi 499257 BLAKE2B 3f3869f5265ec60c0a53ea11c61fa01508bf92817e97bc8a581f55c3b2bf0967ea767da48d644e246c93bda74221af6fe34fc6e1d44596795b3df17897514b0b SHA512 cbac7d87136df32d148682e1d82d8b0fd3c35720bdcc0b81be64ebd77a3ee1dc7e97bbdbb21d5afb3772eedd9d9202e17d915deca07463fcc1dc123a0ca7391a
+DIST firefox-52.9.0esr-hr.xpi 440149 BLAKE2B 2e9a24250360014d8de360efda6d18ab007ac6641784b9fa709879aa9c712a34f61481f8f10dece5cdaacaf37f0c91c69dfb3cfce9f18a482139024037fd2660 SHA512 cdb66c3a0ef98c8016c3bcd1d3cf3d450c558a14abc1196b157621c4492f07f23dc93f915cdbbfe59444d2155fe088418e6d9c4b7f1f73ffe5ad9bb48627113f
+DIST firefox-52.9.0esr-hsb.xpi 450002 BLAKE2B dcb67bf9a0162b7c2688f1ec3ab25b279e876dc957c1defbb8a84f4be2a1215dbd7cd5113fe9f3c98b3aa69703d1cc591d80c400074ffd3dc06e894e1f068e65 SHA512 159dfe8bbeef38643abb7392c57b427bc9e1bbf1402e6dca3ad8fd356f62702d67f499d2fd26be81b14cfc83a4b01169d9df9a0f29f0c085e88a921c252ff513
+DIST firefox-52.9.0esr-hu.xpi 451496 BLAKE2B 212e7bb20a4b98c6949160e39c4f47ea932fe415fa7ac0404b2515695e002e9fa0e75fba064a43c7098f950c65d1e1be92c8754c5d0bad775c6b4b46466413b9 SHA512 6f5a22354c7d9d9eb89611e94c80a9af7e6d7f0ef1b725bc16524ebe074c7e257e76255e831791640b98b19c055e82f8dd55be91697cf3d5e916c8199a05af2e
+DIST firefox-52.9.0esr-hy-AM.xpi 488414 BLAKE2B d819c52642f4415d2b5d08e356051968f9cdfaea32be30fff3f7fb047ac0b351fff5bb9a1544720489c43eb075a199466bf1a44b68c6bf75a3121d7e6d6046d5 SHA512 65b11ceaeeb469eae121094f3d0213c7bfdca597de41a0d4b9cedafcc7d88c96ab7d5b9b26278b043f9630bc9e07b2aed5fc159d42c17960225c886e8f031959
+DIST firefox-52.9.0esr-id.xpi 418764 BLAKE2B ddefdf19d968ca8e638af6732704ef705384321a6329d2c481f7fff5d368ad4038c34072192739f2059269852f9d6a811e126323e0fc7d4bfa23fbfa6302bf30 SHA512 141482d12faea6e43a504d8e31328c3062d82c8022745caa4bd23a73e5df9ed64d853752597599ae414049ce9ea632e44c8e86ed3ae707546f75f94f96fa8e42
+DIST firefox-52.9.0esr-is.xpi 435339 BLAKE2B d0766d545566a90f6a5375d11fc773e2ec1c8a85ca9ae98bd0ad606e37fc22e63450f26991f303add43ca5b79bf9848fd9479dc80b6ff9b5df21056e9afe8cac SHA512 b0221f06de4c601443048149803be8cd5c69e9f304d6d9eedcd37cbf6bd26d0604c5152616a1f870c74926380a725a4b842e82eb182d271bf0b51f03490e4b47
+DIST firefox-52.9.0esr-it.xpi 331969 BLAKE2B 98959c1dc78bf6bfd30699e38f903ca8b00065da68b46cbacc858a585bb65e4469ebc80b9dd8ad6811f30cb1de4888bd354229944295bbb19bcc109be4cfa843 SHA512 67e7f2078fe373e31df041b569d3c90b69b32527a681b14e32ccb9af625daabfc6e68fd95ec4362600f894e8342839da907b71e30c8ef843f2ceaf3b68c2ebcb
+DIST firefox-52.9.0esr-ja.xpi 488343 BLAKE2B 81418ab2289e83b81f33e6dc44cd1ed3fb4df15e572b23e94e2ab2b004aa09003459ba54b1d7fa014e06e877c71be88ea7eba53caceeec98c28668f49d052ac0 SHA512 e29fdfc09d780d9dfd952731fa12410a7709c3e2abfcde6b7d3e2bdf8476b2d0379390bf24590df5ad4815b85c4dce5b3a91d9c38caabe08f15f5cdaefbed809
+DIST firefox-52.9.0esr-ka.xpi 468023 BLAKE2B 3c167ea7fb92261d169bd3d23ee337534816e6ffa95538d202ac136dcf9a5c9a35eeddcd1bebd5d64ed43a9aa74981a9707ebf0bcde39c8c984200a8f77adc05 SHA512 bf0a4392b10479b7929786b6e8aa6a1065db19ee7c1c14fc472ecbf25d881558885b0905454c840bd25535b299253dcd154ed9c283720b3595e9d9ea33a99eb9
+DIST firefox-52.9.0esr-kab.xpi 437247 BLAKE2B dd9494064d6fcd4cdfd26b982800c4a9307b06110d5a95f3263eb62f04fef174e634b0fa92423644fc0bcd638b9192986ef189ff2bf977c6b89825b1f8ef184c SHA512 5d195c1f971a526881a1173542624ca9e3719e695a273421ceda8146f3d77d4a201f4906e4c0b5b29a14999447222818b1ec0b32959e710488bbb25092ac4c42
+DIST firefox-52.9.0esr-kk.xpi 496939 BLAKE2B ec2e0b3268761a9d87617551ea427d68c459dfacfeaeff1f0032a367ddf3e8ab69d0f5a6c9677e248787927a27945dbb0396455716611e75efe860efb8cb4558 SHA512 74ba2bf40a6a848639dec9503c2b3dcc827db260ee5afc58db127ea6a8c89e8b2e480313c2bd9a9de04e4fd2cef6cad478d331e5063447a9c4b73cc5b0def770
+DIST firefox-52.9.0esr-km.xpi 512989 BLAKE2B af9f819c635161285d8839b6920101208c20ac3b4022c052b03b01cce4ac06e630744268850ae9f2cb6a41e00f95e6b61ecb2b44e0f82a6a5d0d16c31706374f SHA512 87b6e4084321c996e1a806b1750f53158a4703ca5cd3042036bb6e961a1ac4c43f3163563c7e55b5c918559da3192e5e21d9c969e9f52e9d440dfa5f7248d02f
+DIST firefox-52.9.0esr-kn.xpi 512200 BLAKE2B 37bfa1e3ecbd4c506241b91d18f9369e061b0b31f130577b78e2955699a88095f47202bb810c81b4c152925149869266e803c6890185f2ecc539cd9c2604fa76 SHA512 97cbf192278271ac9a80c02373ab69addd9c4be9403347a2a9da2dfdba4ffb8f772d7b4ee680ce6f48a9b6afd725cd6ae2dc6726776b8becc78c59ec973f0d6a
+DIST firefox-52.9.0esr-ko.xpi 463630 BLAKE2B 1c782d20719976b59177e4f55794ae80bcac0c514fcd7f3e7ae1813f09ee29f0c8a28ef53443b6ec2d1f1c2bd913aa658782252d9a53b12dd2ec79ef29a9ee27 SHA512 b7533be9612d558f33a49fea3f071c84dbdc7a8faefe3791f458412d5107d5583534264166454170aff3daa9390bdee5d2f13c8b8077990e27631309f9820b5f
+DIST firefox-52.9.0esr-lij.xpi 413817 BLAKE2B f5b2a630847dda4cc54d0795c5da95ccd0722e4e7f825c892fd18747be3545d900794638c8fd5af7e9ef99e99a5e62e4c72ff78686012f2127287c3294cc4e16 SHA512 fb45a04b078de54c1d9d8c395b839465efa7ded0db0733b9946d84a0dd38e6ac02d5de4fecda8e15036575d64ff20899cecc767d6531d4640d198eadc6925150
+DIST firefox-52.9.0esr-lt.xpi 452235 BLAKE2B a9938a725c35f5e515faa6b502785056712bb4faff2b4da396a39746c4c0207984989dc52123d00f1565b71c0de07eb2175fc9991a4982f6d9f5e214bc64d8a5 SHA512 912e6391587794457f2b314f36c77f395d634e41a2a0be7956015f3395b59c94b3cb854c0c9f424f6283f683934aab88732dcf36fbcbc8a26c860f354a516e1f
+DIST firefox-52.9.0esr-lv.xpi 441096 BLAKE2B bf0ad68435f5224a24a4c994c592e38ed1e61d8200a71e47b6c4cdd3f8df4539a1780d840a6a46dde9265c10ee8097bfaa7e43061caa88f9552d2be4e334fa19 SHA512 a102f7d8e16ed9769b6d57a8fd7042e55b6fd66501f128e8d18ec22600997d66aba2c0ec0483fb7d5ed13fc539feeb64d93520f5298a982bf9840ab07932fba3
+DIST firefox-52.9.0esr-mai.xpi 492585 BLAKE2B 0e934428b6b81c427d340f373ab890c28ae8aa8c59e12ca2f53e8920196540088f3a656be43966e93c4fab90cb021d0a35db6e912f44b9c2b2e569ab9c558a4f SHA512 a545589ce072654cd68020da0bd31b48e780ebd9b2c2af0126bd96787c4a44931382de2b46f0d4e85c177f120263db5f1d1e10dfc961d0e420845a9e64e9368d
+DIST firefox-52.9.0esr-mk.xpi 488846 BLAKE2B 674db9b2a50abd25e3002d6f0d16431137140f66f0cc5fd9462e43169cfe0f0f35a3cebdc6180e2b4747ffbcbf629c53952d66cb7023bade03b363844372d6d8 SHA512 7e0aa7aaebc4913b3ba7b688caa4d1013df635e768cbc33f4a018301ceae352ae9485c3b31e1237d98922f12e45046c875b09ce9ce0d02efe17d36eab040d5b6
+DIST firefox-52.9.0esr-ml.xpi 516487 BLAKE2B 2eee153f1a39c6c7064997c80026344e53fdd58cc503c437f1326644ca11eec835675ec16ee84d64816545bde8c456c6ccca2076928a1ae42d27c09d58b0d99d SHA512 d4adebc0a02e2d4ce05b5e83f688f4bca3cd4dce4eec34421c52e9c2452e11ca93e228b4a6d75aa67a9d9242f0ed34c0e802c70cd1c7d413ff5e8eb9da588174
+DIST firefox-52.9.0esr-mr.xpi 495178 BLAKE2B c1670230e9b26cf3a7e5b276d9fde1791056184155cbf96d36068124d46e57f696bfbfacb6793e2d24a594ca60d0152a13f2e106ae8aa620ac05185cd294b663 SHA512 2d9e642e9ec6719857fdf72577482d6a1a06620c9631970d4d67c07311c2a62bbf93da183a969b4b8c8c76f319d411867a199f4e31613b777ab80ea213a99ad0
+DIST firefox-52.9.0esr-ms.xpi 428635 BLAKE2B ba80493bd652777b9da12f98d698098a4f92db9c205a4ffd523023ae57aa1e5c10a4a54778f42d6ef0fa6a7ad2302f51a16e41f66f57387335b21e9ec3427a6c SHA512 ed7501b04c69782b810540b81df84ad4db48947ce8cb0f39b6f61b3d7cee155ca913edc31282b27f35a9c6d2971da802eafee7dbfe275eba101d19555eba7074
+DIST firefox-52.9.0esr-nb-NO.xpi 427148 BLAKE2B dcf7467a6c975b175668f05768dd8d1f9fca226fcc4241c2fab0a70148d0471fb457fdcfaaebc46cab35328b13813a55fe320f034cf62f909f881326c43515ff SHA512 0a00c4c4aa1522ce68f3303f08c510215e5273d35e7f7406c19fb85ae08fde86553f2ea9c2787555ebc3aefa20f18f7ecf630ff1314f317f994207e74f4aa380
+DIST firefox-52.9.0esr-nl.xpi 432007 BLAKE2B 371536f670062f6ec72363f2bc80d90993970fa17f1ae9de4d3e148ffe8ee23e621b43ecb123251985fd6c946fd10eb7e0523615c52f23a0ea2f0d9d8741c24a SHA512 bb3e47867fd63a2d0a92ad4502d51c57c210e9d46974a954e6f1f11c796b59a808063ff843d6126b5988c62b79dee654792a996502acf636fb4967b385aff1ed
+DIST firefox-52.9.0esr-nn-NO.xpi 428645 BLAKE2B d0f230de22c79e8b36b585c0804a94cb48a1f75d775fdf84fde6b0f4c480a06e0622813ad3b0dd7e00c283ff76e7fdcee6f1b04ae748c01c12e532e49d88b0e0 SHA512 53cc4f9b1b77652dbbf3a3e3b665ab1b3e8fb5de4d02895104a2d10a9921729e6a2d5f8218d837f0af4ed041efcb376bdc1f6e6f8168a50921919d6883c0d765
+DIST firefox-52.9.0esr-or.xpi 489664 BLAKE2B 50423a7676ae406b32d4740c0503e1da4ca85335498f73d1f365636d6ad23f3e93491762bda54dd796a0b4c142f2e9936e460220ef62b28221d306873993be24 SHA512 10d32ec4ce701449e2bcf1b4189eb92d264f60cf023b2f570d51948beae90fbdff2727df94fd627a313795f7d92baaf3b0dd01b3db4fc73dd5ab2661f8c7868c
+DIST firefox-52.9.0esr-pa-IN.xpi 469325 BLAKE2B 5921ceb576a2ea1889bab794b946c13c40906f5670e95e514aafe3009f3f29375891ec570f80e4a3cf4ae51ae4bf9a039086eac3060304a04cff025fdd8b8bd2 SHA512 e31cd78bfbea7eb1814fe094b2ece31c09fd024b20e090ff32c5af061a399ca5aedebff14a2db5fa47d35bfa7e417acf559dd7e5e766a72b5f900d19c6eef07f
+DIST firefox-52.9.0esr-pl.xpi 352851 BLAKE2B 8c9b74f45b944ccb81483e25a4680bc03b02c7c85bab7ce922c69d215dd159a7cd9dd43fc90da081f631bb31ea5a7dbbbe5b02bb8c867013de47de4c8c0e63b6 SHA512 aa7f20805ee5acf997d613cc3001c255f362a6272fc59f1fa114f4fb57e901fcdd0aa8eb28ac588b30032165661dc5d2d075d8dd17fd7339774df1c233b641b0
+DIST firefox-52.9.0esr-pt-BR.xpi 430903 BLAKE2B 0f40107be529b3880129ebcdd1c5a56f5dcf4e70d25315015a8d9e8b68df098fdfd1a9d006577286e80dc1e4aa86146e060d4ca2ee4adcd1939ef56e4f0f82f1 SHA512 8643b1e7f5fd5a9b07b69a47b210a0e4d3749d03c5ab63d52517e88d126c6c76627fb09b31943bf35a5380864af8af5ff361092e7591aaa22070a373942068d4
+DIST firefox-52.9.0esr-pt-PT.xpi 436727 BLAKE2B 4a7aa318484d7c9e6ecc055b29d3f5b82d82b63e3763faa3f577864e96546e4de10fce6bad91a6a48f97f964bd16df72400144e9b345e253ef9b9c5c5ac827aa SHA512 eef828d957fc473ce6584a30f2ea3671ffc27d411ada3071336f1a2cd91f69dcf6d9f360a58efb7a40bdc5c8f5c413f3eaf2c4f430187f66c4701b8027a76352
+DIST firefox-52.9.0esr-rm.xpi 427342 BLAKE2B f66e25ea7da4af8adc91a54be715757c391df7b09957e5fab09dc4166d0324aa03a1acc19b83041d178b2bc3f9298e070da4e810eb95568fd4ac5aaeb930a766 SHA512 d927b6a139f385dce58efa16fade8f3c20912ceacfe565d3fd75ca68de3c57978bbc086aea990f835ecac2947fe66c555f6033871917b03ce1e14c4074d31ee6
+DIST firefox-52.9.0esr-ro.xpi 442585 BLAKE2B fc94f31cdef97ebc32098a38b2ac983431996dec99f8d11eea75bec52345d2fc4baef389e88ba5fe8c5757a15704a0b99cecc0bca870796dc643ffde569f4fe0 SHA512 476f07dd570526a21521d79c037caae93af7f3ee35fa02ed4979e9b9467ef6bfa92f1dcb55dbf903057111eccf384c309733d258096a6ac61698e22b4486d277
+DIST firefox-52.9.0esr-ru.xpi 395364 BLAKE2B e3d84689499863008c8e2232a66162aeb64549daafc4577cd71b6dccee3ec9c5d5acdc9f85d73a25992d2c67a85bfb82215dfcb07e97506f14c449506aac87b6 SHA512 7ab459b8a5612a2c9febcd092e6635058888323b72f243c39b22e066e2551b58d83c0168322499b2d1b452ee143e9de3c50b65667ee6c78879a3c91b5a55e91c
+DIST firefox-52.9.0esr-si.xpi 484605 BLAKE2B f6f7427c96f9c4a96514104ac6eb3442b99ce776a3f57d78c86ef242b66df8c75ca752d5ef1639e53b85e2a2c4e815d6e32c9521260acb6d171bada4997e056a SHA512 8af28e2638d5ea386e9590af105eaa4df3e233a7b823b8a77cf1e9d1ec76abeb2479140fb6367657fbc80c0baf304cd0a42f09183e4c062b48011580c948ae11
+DIST firefox-52.9.0esr-sk.xpi 455820 BLAKE2B 57f5df2145aa45f7990a1d5de43a9b270ba00a4d52822aa1d617f170d950b11af04a0cb35c92f6ba946e2068e829cbdaaae825adcf08759254bd27dce3a832c6 SHA512 38bcf41427b96c021bcfd4f738ff2c33bb29cf5178cf0011a4e5f6549eca85e4d04ac8bbbe38c964e962d07b10227ee072c7a22c2594ce73e4efdf8927fe1c8b
+DIST firefox-52.9.0esr-sl.xpi 433482 BLAKE2B cf3b598ad3daf81394f540d06663677fd1315a2896d69dfcf9aaa495f1d8bdd5f983dae8a4d0f0ab4226cbfef1c8a3d5e4e95b0feb985f2449ac75a07ff93c81 SHA512 0f17e2066f020a6117ecd5a1c7fbde6ace96cef3b0a14b481722a2d473e849ca9cff67500a33d56ddcb6ae420b5e7afe54483256c4d7fc11fa7b834c80172ff8
+DIST firefox-52.9.0esr-son.xpi 427860 BLAKE2B 1849c829572ee203a8210c150ec67276277618e3388110593c095bc18cfc9f61bc6bfa5c896b3569994a10aa8e51c19862296ef56e5ce5c969fc2c051807ef5f SHA512 6061748dd7b0694910c512d8af070e4e3372df47dd24ff707a9c4c0f9083cb0f60afe5eccc34c1bb7f091624604bc488a04a2e0682c321bcfad7bd6fc091a2cf
+DIST firefox-52.9.0esr-sq.xpi 440802 BLAKE2B 3279141a3c7dd3fb84f26c1fdcf44a48314dc403488454ef26375fd065db3578277824116f0dd4169e97a65ebd128d1a5324c2f6f288892339719d5bf00fa462 SHA512 edfae845dacbe0a43946bdd8ccd4b9a6117d8f96b874a40ab00e0be739c6071f8b7fb680792c1a6fc3f218d6f2f000f5577b4ea3c4474bf4f455cb1a038f188d
+DIST firefox-52.9.0esr-sr.xpi 463395 BLAKE2B 7cffd36615b93071b3eca75b581e055d23abab4aa41f53b473e4cf542696c381083176bfdf0a1120821b8f19389f2462bce76e4a795cc49263963d6ac011a1cd SHA512 069908acbfcfdc659b1da9148dd7b24af07b37112799f51c8c091f1af308f5f3d936b4473d0636c29550a3a8ed63e3f48638c981b7fe2d0b856a789c43e2f20b
+DIST firefox-52.9.0esr-sv-SE.xpi 433908 BLAKE2B c3e8553b7963d3d1d291ef9ea7a4c081044cc6f54a5eb359575b9e60ad6cd824e478bee9b1a07087d1250090bb70f3768dda5f2c59948a19b82aa543044e464d SHA512 94dae19d2d94673d266eea3e9d496c39426ed9ef578bc65fa74cb2ab23153c824467ce75bb6e76c8115bbe939d8b07d8f75350dc6dcdf9729c10ea4d0792eafa
+DIST firefox-52.9.0esr-ta.xpi 487541 BLAKE2B 41826cf559bb4e2d5c5471cf41e0903e81f5d1f01ced19a286905a13398cd43f25e9b3767324457b2a8a45061c7d203a09a4ed3d5aea7b55555bd3235f7db9a8 SHA512 e60a24bc6111ca3f3923c14ea59b4bb1a2bd8ea244bef2e0ecc123192f23f2e5e198b893811bc6edf4187fc11fb21935b4d8a35bc9010d5ac416770f4eec9e1a
+DIST firefox-52.9.0esr-te.xpi 507988 BLAKE2B e362ddf9ac9b30a54800a3654849793f34d13a2ac00f349e0f9f77b1b7f6b8ea63582a418f73b237c334bafdf108d5dffde6cf70a7f95dd8ad320555b866a235 SHA512 2506b3c7be92a75dfb9cf0d91c049efc383ef6c3a08806f93b8909a89badef175d994b4b68d67d3bea8e1dd45a5293a796777c6b5b8764718a6ce3e604f351ba
+DIST firefox-52.9.0esr-th.xpi 482022 BLAKE2B 19b036e40247d3eaf2c3098894ddb34e42e55fd261314c63192eec512d4aba1a43230be22ce5ad539a34d17dfc8a68d01535631c17cfcd90a38a9ca11f779400 SHA512 3c4c849a8b427f2e73d40ee8967713f5449b695a12e77c21f8d09ce18d605f68c0cdcaaf7edc6aa8d18f7c8e8e2a3467f6e1ed8b0f124ef43cc5c24a70980e5d
+DIST firefox-52.9.0esr-tr.xpi 443673 BLAKE2B df7fb2fc035db9b965aba2ca5fe4658c9e4f10c09f15036449155e07f805ba3f09b0ead560df76aeaaf786d0d3d4fe45001c1b5c817fa0866c25abcf363a2b64 SHA512 3b36df56158713957a2b8b257623cf98a1b7955d079cf677b17f92e59639c69f144dd856688436ab10cfcadb1285173d73af8119e96b52e7a266f72286672c46
+DIST firefox-52.9.0esr-uk.xpi 495095 BLAKE2B 72202898138dfcd667c15b79fe22e9a5fb17b96473d674deea34c749477f1f09532a3c088d40c5d61d66aad51f63a1761ea534997780450eb7bf75a77eccfa8d SHA512 ab4d62f1198eeca113e68898e1af280644518cf934c94445d961cdcb8219ce9235d4f5208de8b27db2a6c741ab1f627f396b88e3414043e0d511e61d975b4c31
+DIST firefox-52.9.0esr-uz.xpi 440565 BLAKE2B 848c6fc36556fd89d026bd62b3b6005da3bc44b10c814492fed17d96ef92df5827fb230c036f606afa13e9066dde27a2ab5066f270bc27e84850e75a58b3335a SHA512 8f5df148343de6d01eb5125fe2933a349c491a63ad4f8a4b6f60efe7555bd4512c84160b24d653e5bd1ea48f9cc4a9ad900fb67fb5cd96b1cfc3c492c611ab83
+DIST firefox-52.9.0esr-vi.xpi 450805 BLAKE2B 9dacebac235a738cf7f068e16335b8b15ca977ec4a1f8787ce1bf2998442b2a80b4d027f70d3df0f1e565566e3530fd4aca4dc9813dea13786b6b74590c53142 SHA512 cff7ae8ef44ea5d19710f7e604847d7020e1d5ad4b33ccb990df6d37fa52da296f3fbebf53dab0573bacf57e20c3cb9fee45aa0f276a1693aebc4489104ca771
+DIST firefox-52.9.0esr-xh.xpi 441173 BLAKE2B 3e1b907a7659c639d17d25a1825f472853242891d55f6a5ad93c1f5a12e12f05706173dc6ef5594f27e049d9b9a4c748d7371780843f1da204c5d93a39213197 SHA512 54ac64f0c119ab42d4f87dd2663ba7e14310c215a1ea76acd463b4c1a9073491f8df8c9b03d391ecc6f9ffbbdccc3756a7b13ed559336a6d1527fad3097ddb53
+DIST firefox-52.9.0esr-zh-CN.xpi 461679 BLAKE2B 745b2cfb86e93a379e13fa73b7e3721bae06694768316e31a2aed608e3050f585a9603375cd35b90affca11b3e5e44401b1e676f9c8050ade287ed0feb442a7a SHA512 ca62e0e2ab075086741159b185b5eba44c6bdfc29fd9ba1cf25808f127c1aed8875ea61c1c33e4f742fa26af4455a8873730f96ad9c7bec1f66aed0595f253f1
+DIST firefox-52.9.0esr-zh-TW.xpi 453068 BLAKE2B 84e08ea4fd119db1f1c6f84b212fbbb5d6999c5ac6010c0e7836d8734726d281107f3d91ba7bac1aeaf855dc36d3b018ae3913dccdbe2b11aad02a8d8aaa893c SHA512 a99042ef7d00820e341dfcf2c45a8b5bd77eaf2cc8ecf0ff5ee982b7bd9beac7cb4bf051c57ef3b7a5d9b67cd35858dca396d21e65718e248f3b1fdba5273999
+DIST firefox-52.9.0esr.source.tar.xz 214087304 BLAKE2B eba5305ae3fc9a4306cbcbcd8d4610272ca5b75e369367961e9d94919b003de8aae8f3c58fe1c628787d98105a85fab575ae2b051e92a0b35bbb8b402c100766 SHA512 bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9
+EBUILD firefox-52.9.0-r3.ebuild 13505 BLAKE2B 4f56743732f815d442b68237a166ffcc5d1ce87cca4c11d0c2f2d731b3589ff09dc7940cedc6ffcaa34b61644abc0b6a373d32289358df3c23eab4fe7cc88979 SHA512 15db6300858d841a3ec643c11a675ea2880768f1c24016ba5aced9585c0040343c23e7de58c7b10a56ad1d0f009b3a131e53e58b359a1c56a482b3784753e3ec
--- /dev/null
+https://github.com/erikrose/blessings/pull/137
+
+Fixes: https://bugs.gentoo.org/654316
+
+From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
+From: Jay Kamat <jaygkamat@gmail.com>
+Date: Fri, 24 Aug 2018 11:11:57 -0700
+Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
+
+---
+ blessings/__init__.py | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 98b75c3..3872b5f 100644
+--- a/python/blessings/blessings/__init__.py
++++ b/python/blessings/blessings/__init__.py
+@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, force_styling=False):
+ # init sequences to the stream if it has a file descriptor, and
+ # send them to stdout as a fallback, since they have to go
+ # somewhere.
+- setupterm(kind or environ.get('TERM', 'unknown'),
+- self._init_descriptor)
++ try:
++ setupterm(kind or environ.get('TERM', 'dumb') or 'dumb',
++ self._init_descriptor)
++ except:
++ # There was an error setting up the terminal, either curses is
++ # not supported or TERM is incorrectly set. Fall back to dumb.
++ self._does_styling = False
+
+ self.stream = stream
+
+
+From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
+From: Jay Kamat <jaygkamat@gmail.com>
+Date: Sat, 1 Sep 2018 13:20:32 -0700
+Subject: [PATCH 2/2] Explicitly catch curses.error
+
+---
+ blessings/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 3872b5f..fdceb09 100644
+--- a/python/blessings/blessings/__init__.py
++++ b/python/blessings/blessings/__init__.py
+@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, force_styling=False):
+ try:
+ setupterm(kind or environ.get('TERM', 'dumb'),
+ self._init_descriptor)
+- except:
++ except curses.error:
+ # There was an error setting up the terminal, either curses is
+ # not supported or TERM is incorrectly set. Fall back to dumb.
+ self._does_styling = False
--- /dev/null
+diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
+index 1118ece64..ac8e28828 100644
+--- a/dom/indexedDB/ActorsParent.cpp
++++ b/dom/indexedDB/ActorsParent.cpp
+@@ -11529,7 +11529,7 @@ AutoSavepoint::~AutoSavepoint()
+ MOZ_ASSERT(mDEBUGTransaction->GetMode() == IDBTransaction::READ_WRITE ||
+ mDEBUGTransaction->GetMode() ==
+ IDBTransaction::READ_WRITE_FLUSH ||
+- mDEBUGTransaction->GetMode() == IDBTransaction::CLEANUP ||
++ mDEBUGTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP ||
+ mDEBUGTransaction->GetMode() == IDBTransaction::VERSION_CHANGE);
+
+ if (NS_FAILED(mConnection->RollbackSavepoint())) {
+@@ -11545,7 +11545,7 @@ AutoSavepoint::Start(const TransactionBase* aTransaction)
+ MOZ_ASSERT(aTransaction);
+ MOZ_ASSERT(aTransaction->GetMode() == IDBTransaction::READ_WRITE ||
+ aTransaction->GetMode() == IDBTransaction::READ_WRITE_FLUSH ||
+- aTransaction->GetMode() == IDBTransaction::CLEANUP ||
++ aTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP ||
+ aTransaction->GetMode() == IDBTransaction::VERSION_CHANGE);
+
+ DatabaseConnection* connection = aTransaction->GetDatabase()->GetConnection();
+@@ -14692,7 +14692,7 @@ Database::AllocPBackgroundIDBTransactionParent(
+ if (NS_WARN_IF(aMode != IDBTransaction::READ_ONLY &&
+ aMode != IDBTransaction::READ_WRITE &&
+ aMode != IDBTransaction::READ_WRITE_FLUSH &&
+- aMode != IDBTransaction::CLEANUP)) {
++ aMode != IDBTransaction::IDB_MODE_CLEANUP)) {
+ ASSERT_UNLESS_FUZZING();
+ return nullptr;
+ }
+@@ -14701,7 +14701,7 @@ Database::AllocPBackgroundIDBTransactionParent(
+ // has write access.
+ if (NS_WARN_IF((aMode == IDBTransaction::READ_WRITE ||
+ aMode == IDBTransaction::READ_WRITE_FLUSH ||
+- aMode == IDBTransaction::CLEANUP) &&
++ aMode == IDBTransaction::IDB_MODE_CLEANUP) &&
+ mPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo &&
+ !mChromeWriteAccessAllowed)) {
+ return nullptr;
+@@ -14767,7 +14767,7 @@ Database::RecvPBackgroundIDBTransactionConstructor(
+ MOZ_ASSERT(aMode == IDBTransaction::READ_ONLY ||
+ aMode == IDBTransaction::READ_WRITE ||
+ aMode == IDBTransaction::READ_WRITE_FLUSH ||
+- aMode == IDBTransaction::CLEANUP);
++ aMode == IDBTransaction::IDB_MODE_CLEANUP);
+ MOZ_ASSERT(!mClosed);
+
+ if (IsInvalidated()) {
+@@ -14926,7 +14926,7 @@ StartTransactionOp::DoDatabaseWork(DatabaseConnection* aConnection)
+
+ Transaction()->SetActiveOnConnectionThread();
+
+- if (Transaction()->GetMode() == IDBTransaction::CLEANUP) {
++ if (Transaction()->GetMode() == IDBTransaction::IDB_MODE_CLEANUP) {
+ nsresult rv = aConnection->DisableQuotaChecks();
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ return rv;
+@@ -15245,7 +15245,7 @@ TransactionBase::VerifyRequestParams(const RequestParams& aParams) const
+ case RequestParams::TObjectStoreDeleteParams: {
+ if (NS_WARN_IF(mMode != IDBTransaction::READ_WRITE &&
+ mMode != IDBTransaction::READ_WRITE_FLUSH &&
+- mMode != IDBTransaction::CLEANUP &&
++ mMode != IDBTransaction::IDB_MODE_CLEANUP &&
+ mMode != IDBTransaction::VERSION_CHANGE)) {
+ ASSERT_UNLESS_FUZZING();
+ return false;
+@@ -15269,7 +15269,7 @@ TransactionBase::VerifyRequestParams(const RequestParams& aParams) const
+ case RequestParams::TObjectStoreClearParams: {
+ if (NS_WARN_IF(mMode != IDBTransaction::READ_WRITE &&
+ mMode != IDBTransaction::READ_WRITE_FLUSH &&
+- mMode != IDBTransaction::CLEANUP &&
++ mMode != IDBTransaction::IDB_MODE_CLEANUP &&
+ mMode != IDBTransaction::VERSION_CHANGE)) {
+ ASSERT_UNLESS_FUZZING();
+ return false;
+@@ -23959,7 +23959,7 @@ CommitOp::WriteAutoIncrementCounts()
+ mTransaction->AssertIsOnConnectionThread();
+ MOZ_ASSERT(mTransaction->GetMode() == IDBTransaction::READ_WRITE ||
+ mTransaction->GetMode() == IDBTransaction::READ_WRITE_FLUSH ||
+- mTransaction->GetMode() == IDBTransaction::CLEANUP ||
++ mTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP ||
+ mTransaction->GetMode() == IDBTransaction::VERSION_CHANGE);
+
+ const nsTArray<RefPtr<FullObjectStoreMetadata>>& metadataArray =
+@@ -24027,7 +24027,7 @@ CommitOp::CommitOrRollbackAutoIncrementCounts()
+ mTransaction->AssertIsOnConnectionThread();
+ MOZ_ASSERT(mTransaction->GetMode() == IDBTransaction::READ_WRITE ||
+ mTransaction->GetMode() == IDBTransaction::READ_WRITE_FLUSH ||
+- mTransaction->GetMode() == IDBTransaction::CLEANUP ||
++ mTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP ||
+ mTransaction->GetMode() == IDBTransaction::VERSION_CHANGE);
+
+ nsTArray<RefPtr<FullObjectStoreMetadata>>& metadataArray =
+@@ -24161,7 +24161,7 @@ CommitOp::Run()
+
+ connection->FinishWriteTransaction();
+
+- if (mTransaction->GetMode() == IDBTransaction::CLEANUP) {
++ if (mTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP) {
+ connection->DoIdleProcessing(/* aNeedsCheckpoint */ true);
+
+ connection->EnableQuotaChecks();
+diff --git a/dom/indexedDB/IDBCursor.cpp b/dom/indexedDB/IDBCursor.cpp
+index e5d8913f9..4ef7e8c7c 100644
+--- a/dom/indexedDB/IDBCursor.cpp
++++ b/dom/indexedDB/IDBCursor.cpp
+@@ -696,7 +696,7 @@ IDBCursor::Update(JSContext* aCx, JS::Handle<JS::Value> aValue,
+ return nullptr;
+ }
+
+- if (mTransaction->GetMode() == IDBTransaction::CLEANUP ||
++ if (mTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP ||
+ IsSourceDeleted() ||
+ !mHaveValue ||
+ mType == Type_ObjectStoreKey ||
+diff --git a/dom/indexedDB/IDBDatabase.cpp b/dom/indexedDB/IDBDatabase.cpp
+index 5592e7f93..49f18093d 100644
+--- a/dom/indexedDB/IDBDatabase.cpp
++++ b/dom/indexedDB/IDBDatabase.cpp
+@@ -668,7 +668,7 @@ IDBDatabase::Transaction(JSContext* aCx,
+ break;
+ case IDBTransactionMode::Readwrite:
+ if (mQuotaExceeded) {
+- mode = IDBTransaction::CLEANUP;
++ mode = IDBTransaction::IDB_MODE_CLEANUP;
+ mQuotaExceeded = false;
+ } else {
+ mode = IDBTransaction::READ_WRITE;
+@@ -678,7 +678,7 @@ IDBDatabase::Transaction(JSContext* aCx,
+ mode = IDBTransaction::READ_WRITE_FLUSH;
+ break;
+ case IDBTransactionMode::Cleanup:
+- mode = IDBTransaction::CLEANUP;
++ mode = IDBTransaction::IDB_MODE_CLEANUP;
+ mQuotaExceeded = false;
+ break;
+ case IDBTransactionMode::Versionchange:
+@@ -713,7 +713,7 @@ IDBDatabase::Transaction(JSContext* aCx,
+
+ transaction->SetBackgroundActor(actor);
+
+- if (mode == IDBTransaction::CLEANUP) {
++ if (mode == IDBTransaction::IDB_MODE_CLEANUP) {
+ ExpireFileActors(/* aExpireAll */ true);
+ }
+
+@@ -863,7 +863,7 @@ IDBDatabase::AbortTransactions(bool aShouldWarn)
+ // We warn for any transactions that could have written data.
+ case IDBTransaction::READ_WRITE:
+ case IDBTransaction::READ_WRITE_FLUSH:
+- case IDBTransaction::CLEANUP:
++ case IDBTransaction::IDB_MODE_CLEANUP:
+ case IDBTransaction::VERSION_CHANGE:
+ transactionsThatNeedWarning.AppendElement(transaction);
+ break;
+diff --git a/dom/indexedDB/IDBObjectStore.cpp b/dom/indexedDB/IDBObjectStore.cpp
+index c28979c87..4694746cc 100644
+--- a/dom/indexedDB/IDBObjectStore.cpp
++++ b/dom/indexedDB/IDBObjectStore.cpp
+@@ -1406,7 +1406,7 @@ IDBObjectStore::AddOrPut(JSContext* aCx,
+ MOZ_ASSERT(aCx);
+ MOZ_ASSERT_IF(aFromCursor, aOverwrite);
+
+- if (mTransaction->GetMode() == IDBTransaction::CLEANUP ||
++ if (mTransaction->GetMode() == IDBTransaction::IDB_MODE_CLEANUP ||
+ mDeletedSpec) {
+ aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR);
+ return nullptr;
+diff --git a/dom/indexedDB/IDBTransaction.cpp b/dom/indexedDB/IDBTransaction.cpp
+index a50489898..ef9d02414 100644
+--- a/dom/indexedDB/IDBTransaction.cpp
++++ b/dom/indexedDB/IDBTransaction.cpp
+@@ -216,7 +216,7 @@ IDBTransaction::Create(JSContext* aCx, IDBDatabase* aDatabase,
+ MOZ_ASSERT(aMode == READ_ONLY ||
+ aMode == READ_WRITE ||
+ aMode == READ_WRITE_FLUSH ||
+- aMode == CLEANUP);
++ aMode == IDB_MODE_CLEANUP);
+
+ RefPtr<IDBTransaction> transaction =
+ new IDBTransaction(aDatabase, aObjectStoreNames, aMode);
+@@ -871,7 +871,7 @@ IDBTransaction::GetMode(ErrorResult& aRv) const
+ case READ_WRITE_FLUSH:
+ return IDBTransactionMode::Readwriteflush;
+
+- case CLEANUP:
++ case IDB_MODE_CLEANUP:
+ return IDBTransactionMode::Cleanup;
+
+ case VERSION_CHANGE:
+diff --git a/dom/indexedDB/IDBTransaction.h b/dom/indexedDB/IDBTransaction.h
+index 1c3e8be99..4fc189902 100644
+--- a/dom/indexedDB/IDBTransaction.h
++++ b/dom/indexedDB/IDBTransaction.h
+@@ -59,7 +59,7 @@ public:
+ READ_ONLY = 0,
+ READ_WRITE,
+ READ_WRITE_FLUSH,
+- CLEANUP,
++ IDB_MODE_CLEANUP,
+ VERSION_CHANGE,
+
+ // Only needed for IPC serialization helper, should never be used in code.
+@@ -189,7 +189,7 @@ public:
+ AssertIsOnOwningThread();
+ return mMode == READ_WRITE ||
+ mMode == READ_WRITE_FLUSH ||
+- mMode == CLEANUP ||
++ mMode == IDB_MODE_CLEANUP ||
+ mMode == VERSION_CHANGE;
+ }
+
+diff --git a/dom/indexedDB/ProfilerHelpers.h b/dom/indexedDB/ProfilerHelpers.h
+index 63fdafcce..b9192d5d6 100644
+--- a/dom/indexedDB/ProfilerHelpers.h
++++ b/dom/indexedDB/ProfilerHelpers.h
+@@ -129,7 +129,7 @@ public:
+ case IDBTransaction::READ_WRITE_FLUSH:
+ AppendLiteral("\"readwriteflush\"");
+ break;
+- case IDBTransaction::CLEANUP:
++ case IDBTransaction::IDB_MODE_CLEANUP:
+ AppendLiteral("\"cleanup\"");
+ break;
+ case IDBTransaction::VERSION_CHANGE:
--- /dev/null
+diff --git a/gfx/2d/BaseRect.h b/gfx/2d/BaseRect.h
+index 57d01ba09..b1eed9ddb 100644
+--- a/gfx/2d/BaseRect.h
++++ b/gfx/2d/BaseRect.h
+@@ -9,6 +9,7 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <ostream>
++#include <limits>
+
+ #include "mozilla/Assertions.h"
+ #include "mozilla/FloatingPoint.h"
+diff --git a/gfx/2d/Matrix.h b/gfx/2d/Matrix.h
+index 22a01ca10..e221ba3d2 100644
+--- a/gfx/2d/Matrix.h
++++ b/gfx/2d/Matrix.h
+@@ -13,6 +13,7 @@
+ #include "Quaternion.h"
+ #include <iosfwd>
+ #include <math.h>
++#include <limits>
+ #include "mozilla/Attributes.h"
+ #include "mozilla/DebugOnly.h"
+ #include "mozilla/FloatingPoint.h"
+diff --git a/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
+index 941e635b1..3668a5047 100644
+--- a/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
++++ b/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
++
+ #include "webrtc/modules/audio_coding/codecs/opus/interface/audio_encoder_opus.h"
+
+ #include "webrtc/base/checks.h"
--- /dev/null
+diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
+index d0b747fff..9ec629285 100644
+--- a/gfx/thebes/gfxFont.cpp
++++ b/gfx/thebes/gfxFont.cpp
+@@ -2535,85 +2535,6 @@ IsBoundarySpace(char16_t aChar, char16_t aNextChar)
+ return 0;
+ }
+
+-#ifdef __GNUC__
+-#define GFX_MAYBE_UNUSED __attribute__((unused))
+-#else
+-#define GFX_MAYBE_UNUSED
+-#endif
+-
+-template<typename T>
+-gfxShapedWord*
+-gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
+- const T *aText,
+- uint32_t aLength,
+- uint32_t aHash,
+- Script aRunScript,
+- bool aVertical,
+- int32_t aAppUnitsPerDevUnit,
+- uint32_t aFlags,
+- gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED)
+-{
+- // if the cache is getting too big, flush it and start over
+- uint32_t wordCacheMaxEntries =
+- gfxPlatform::GetPlatform()->WordCacheMaxEntries();
+- if (mWordCache->Count() > wordCacheMaxEntries) {
+- NS_WARNING("flushing shaped-word cache");
+- ClearCachedWords();
+- }
+-
+- // if there's a cached entry for this word, just return it
+- CacheHashKey key(aText, aLength, aHash,
+- aRunScript,
+- aAppUnitsPerDevUnit,
+- aFlags);
+-
+- CacheHashEntry *entry = mWordCache->PutEntry(key);
+- if (!entry) {
+- NS_WARNING("failed to create word cache entry - expect missing text");
+- return nullptr;
+- }
+- gfxShapedWord* sw = entry->mShapedWord.get();
+-
+- bool isContent = !mStyle.systemFont;
+-
+- if (sw) {
+- sw->ResetAge();
+- Telemetry::Accumulate((isContent ? Telemetry::WORD_CACHE_HITS_CONTENT :
+- Telemetry::WORD_CACHE_HITS_CHROME),
+- aLength);
+-#ifndef RELEASE_OR_BETA
+- if (aTextPerf) {
+- aTextPerf->current.wordCacheHit++;
+- }
+-#endif
+- return sw;
+- }
+-
+- Telemetry::Accumulate((isContent ? Telemetry::WORD_CACHE_MISSES_CONTENT :
+- Telemetry::WORD_CACHE_MISSES_CHROME),
+- aLength);
+-#ifndef RELEASE_OR_BETA
+- if (aTextPerf) {
+- aTextPerf->current.wordCacheMiss++;
+- }
+-#endif
+-
+- sw = gfxShapedWord::Create(aText, aLength, aRunScript, aAppUnitsPerDevUnit,
+- aFlags);
+- entry->mShapedWord.reset(sw);
+- if (!sw) {
+- NS_WARNING("failed to create gfxShapedWord - expect missing text");
+- return nullptr;
+- }
+-
+- DebugOnly<bool> ok =
+- ShapeText(aDrawTarget, aText, 0, aLength, aRunScript, aVertical, sw);
+-
+- NS_WARNING_ASSERTION(ok, "failed to shape word - expect garbled text");
+-
+- return sw;
+-}
+-
+ bool
+ gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
+ {
+diff --git a/gfx/thebes/gfxFont.h b/gfx/thebes/gfxFont.h
+index ead0b7666..c38d06675 100644
+--- a/gfx/thebes/gfxFont.h
++++ b/gfx/thebes/gfxFont.h
+@@ -2220,4 +2220,88 @@ struct EmphasisMarkDrawParams {
+ bool isVertical;
+ };
+
++#include "mozilla/Telemetry.h"
++#include "mozilla/DebugOnly.h"
++
++#ifdef __GNUC__
++#define GFX_MAYBE_UNUSED __attribute__((unused))
++#else
++#define GFX_MAYBE_UNUSED
++#endif
++
++template<typename T>
++gfxShapedWord*
++gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
++ const T *aText,
++ uint32_t aLength,
++ uint32_t aHash,
++ Script aRunScript,
++ bool aVertical,
++ int32_t aAppUnitsPerDevUnit,
++ uint32_t aFlags,
++ gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED)
++{
++ using namespace mozilla;
++
++ // if the cache is getting too big, flush it and start over
++ uint32_t wordCacheMaxEntries =
++ gfxPlatform::GetPlatform()->WordCacheMaxEntries();
++ if (mWordCache->Count() > wordCacheMaxEntries) {
++ NS_WARNING("flushing shaped-word cache");
++ ClearCachedWords();
++ }
++
++ // if there's a cached entry for this word, just return it
++ CacheHashKey key(aText, aLength, aHash,
++ aRunScript,
++ aAppUnitsPerDevUnit,
++ aFlags);
++
++ CacheHashEntry *entry = mWordCache->PutEntry(key);
++ if (!entry) {
++ NS_WARNING("failed to create word cache entry - expect missing text");
++ return nullptr;
++ }
++ gfxShapedWord* sw = entry->mShapedWord.get();
++
++ bool isContent = !mStyle.systemFont;
++
++ if (sw) {
++ sw->ResetAge();
++ Telemetry::Accumulate((isContent ? Telemetry::WORD_CACHE_HITS_CONTENT :
++ Telemetry::WORD_CACHE_HITS_CHROME),
++ aLength);
++#ifndef RELEASE_OR_BETA
++ if (aTextPerf) {
++ aTextPerf->current.wordCacheHit++;
++ }
++#endif
++ return sw;
++ }
++
++ Telemetry::Accumulate((isContent ? Telemetry::WORD_CACHE_MISSES_CONTENT :
++ Telemetry::WORD_CACHE_MISSES_CHROME),
++ aLength);
++#ifndef RELEASE_OR_BETA
++ if (aTextPerf) {
++ aTextPerf->current.wordCacheMiss++;
++ }
++#endif
++
++ sw = gfxShapedWord::Create(aText, aLength, aRunScript, aAppUnitsPerDevUnit,
++ aFlags);
++ entry->mShapedWord.reset(sw);
++ if (!sw) {
++ NS_WARNING("failed to create gfxShapedWord - expect missing text");
++ return nullptr;
++ }
++
++ DebugOnly<bool> ok =
++ ShapeText(aDrawTarget, aText, 0, aLength, aRunScript, aVertical, sw);
++
++ NS_WARNING_ASSERTION(ok, "failed to shape word - expect garbled text");
++
++ return sw;
++}
++
+ #endif
--- /dev/null
+diff --git a/tools/profiler/core/platform.h b/tools/profiler/core/platform.h
+index 2e736d97c..8f9c2ede3 100644
+--- a/tools/profiler/core/platform.h
++++ b/tools/profiler/core/platform.h
+@@ -61,7 +61,7 @@
+
+ // We need a definition of gettid(), but Linux libc implementations don't
+ // provide a wrapper for it (except for Bionic)
+-#if defined(__linux__)
++#if defined(__linux__) && __GLIBC__ <= 2 && __GLIBC_MINOR__ < 30
+ #include <unistd.h>
+ #if !defined(__BIONIC__)
+ #include <sys/syscall.h>
--- /dev/null
+diff --git a/ipc/chromium/src/third_party/libevent/evutil_rand.c b/ipc/chromium/src/third_party/libevent/evutil_rand.c
+index 3bab23121..c1e8a98ef 100644
+--- a/ipc/chromium/src/third_party/libevent/evutil_rand.c
++++ b/ipc/chromium/src/third_party/libevent/evutil_rand.c
+@@ -39,7 +39,7 @@
+ #include "util-internal.h"
+ #include "evthread-internal.h"
+
+-#ifdef _EVENT_HAVE_ARC4RANDOM
++#if _EVENT_HAVE_ARC4RANDOM
+ #include <stdlib.h>
+ #include <string.h>
+ int
+@@ -58,7 +58,7 @@ evutil_secure_rng_global_setup_locks_(const int enable_locks)
+ static void
+ ev_arc4random_buf(void *buf, size_t n)
+ {
+-#if defined(_EVENT_HAVE_ARC4RANDOM_BUF) && !(defined(__APPLE__) || defined(__ANDROID__))
++#if _EVENT_HAVE_ARC4RANDOM_BUF && !(defined(__APPLE__) || defined(__ANDROID__))
+ arc4random_buf(buf, n);
+ #else
+ unsigned char *b = buf;
+@@ -139,7 +139,7 @@ evutil_secure_rng_get_bytes(void *buf, size_t n)
+ ev_arc4random_buf(buf, n);
+ }
+
+-#if !defined(__OpenBSD__) && !defined(ANDROID)
++#if 0
+ void
+ evutil_secure_rng_add_bytes(const char *buf, size_t n)
+ {
+diff --git a/ipc/chromium/src/third_party/libevent/include/event2/util.h b/ipc/chromium/src/third_party/libevent/include/event2/util.h
+index 42a28adcb..ed6b6207f 100644
+--- a/ipc/chromium/src/third_party/libevent/include/event2/util.h
++++ b/ipc/chromium/src/third_party/libevent/include/event2/util.h
+@@ -672,7 +672,7 @@ void evutil_secure_rng_get_bytes(void *buf, size_t n);
+ */
+ int evutil_secure_rng_init(void);
+
+-#if !defined(__OpenBSD__) && !defined(ANDROID)
++#if 0
+ /** Seed the random number generator with extra random bytes.
+
+ You should almost never need to call this function; it should be
+diff --git a/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h b/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h
+index 56ebd3aba..21717abed 100644
+--- a/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h
++++ b/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h
+@@ -24,10 +24,10 @@
+ /* #undef _EVENT_DISABLE_THREAD_SUPPORT */
+
+ /* Define to 1 if you have the `arc4random' function. */
+-/* #undef _EVENT_HAVE_ARC4RANDOM */
++#define _EVENT_HAVE_ARC4RANDOM (__GLIBC__ >= 2 && __GLIBC_MINOR__ >= 36)
+
+ /* Define to 1 if you have the `arc4random_buf' function. */
+-/* #undef _EVENT_HAVE_ARC4RANDOM_BUF */
++#define _EVENT_HAVE_ARC4RANDOM_BUF _EVENT_HAVE_ARC4RANDOM
+
+ /* Define to 1 if you have the <arpa/inet.h> header file. */
+ #define _EVENT_HAVE_ARPA_INET_H 1
--- /dev/null
+diff --git a/js/src/moz.build b/js/src/moz.build
+index 1162cb70c..595ea9842 100644
+--- a/js/src/moz.build
++++ b/js/src/moz.build
+@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
+ DEFINES['FFI_BUILDING'] = True
+
+ if CONFIG['GNU_CXX']:
+- CXXFLAGS += ['-Wno-shadow', '-Werror=format']
++ CXXFLAGS += ['-Wno-shadow']
+
+ # Suppress warnings in third-party code.
+ if CONFIG['CLANG_CXX']:
--- /dev/null
+pref("app.update.enabled", false);
+pref("app.update.autoInstallEnabled", false);
+pref("browser.display.use_system_colors", true);
+pref("browser.link.open_external", 3);
+pref("general.smoothScroll", true);
+pref("general.autoScroll", false);
+pref("browser.tabs.tabMinWidth", 15);
+pref("browser.backspace_action", 0);
+pref("browser.urlbar.hideGoButton", true);
+pref("accessibility.typeaheadfind", true);
+pref("browser.shell.checkDefaultBrowser", false);
+pref("browser.EULA.override", true);
+pref("general.useragent.vendor", "Gentoo");
+pref("intl.locale.matchOS", true);
+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+pref("extensions.autoDisableScopes", 0);
+pref("layout.css.dpi", 0);
--- /dev/null
+pref("layers.acceleration.force-enabled", true);
+pref("webgl.force-enabled", true);
--- /dev/null
+[Desktop Entry]
+Name=@NAME@
+Comment=Web Browser
+Exec=firefox %u
+Icon=@ICON@
+Terminal=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+Categories=Network;WebBrowser;
+
--- /dev/null
+# This ebuild is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
+#
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Apply patches to build on modern systems (2022-12)
+# * Update to EAPI 8 (2023-04)
+
+EAPI=8
+VIRTUALX_REQUIRED="pgo"
+WANT_AUTOCONF="2.1"
+MOZ_ESR=1
+
+# This list can be updated with scripts/get_langs.sh from the mozilla overlay
+MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
+el en en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE
+gd gl gn gu-IN he hi-IN hr hsb hu hy-AM id is it ja ka kab kk km kn ko lij lt lv
+mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
+sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
+
+# Convert the ebuild version to the upstream mozilla version, used by mozlinguas
+MOZ_PV="${PV/_alpha/a}" # Handle alpha for SRC_URI
+MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+MOZ_PV="${MOZ_PV/_rc/rc}" # Handle rc for SRC_URI
+
+if [[ ${MOZ_ESR} == 1 ]]; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+# Patch version
+PATCH="${PN}-52.5-patches-02"
+MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
+
+MOZCONFIG_OPTIONAL_GTK2ONLY=1
+MOZCONFIG_OPTIONAL_WIFI=1
+
+inherit check-reqs flag-o-matic toolchain-funcs desktop mozconfig-v6.52 pax-utils xdg-utils autotools virtualx mozlinguas-v2
+
+DESCRIPTION="Firefox Web Browser"
+HOMEPAGE="https://www.mozilla.org/firefox"
+
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+
+SLOT="0"
+LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="bindist eme-free +gmp-autoupdate hardened hwaccel jack pgo rust selinux test"
+RESTRICT="!bindist? ( bindist ) !test? ( test )"
+
+PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
+SRC_URI="${SRC_URI}
+ ${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+RDEPEND="
+ jack? ( virtual/jack )
+ >=dev-libs/nss-3.28.3
+ >=dev-libs/nspr-4.13.1
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${RDEPEND}
+ pgo? ( >=sys-devel/gcc-4.5 )
+ rust? ( virtual/rust )
+ amd64? ( ${ASM_DEPEND} virtual/opengl )
+ x86? ( ${ASM_DEPEND} virtual/opengl )"
+
+S="${WORKDIR}/firefox-${MOZ_PV}"
+
+QA_PRESTRIPPED="usr/lib*/${PN}/firefox"
+
+BUILD_OBJ_DIR="${S}/ff"
+
+# allow GMP_PLUGIN_LIST to be set in an eclass or
+# overridden in the enviromnent (advanced hackers only)
+if [[ -z $GMP_PLUGIN_LIST ]]; then
+ GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
+fi
+
+pkg_setup() {
+ moz_pkgsetup
+
+ # Avoid PGO profiling problems due to enviroment leakage
+ # These should *always* be cleaned up anyway
+ unset DBUS_SESSION_BUS_ADDRESS \
+ DISPLAY \
+ ORBIT_SOCKETDIR \
+ SESSION_MANAGER \
+ XDG_SESSION_COOKIE \
+ XAUTHORITY
+
+ if ! use bindist; then
+ einfo
+ elog "You are enabling official branding. You may not redistribute this build"
+ elog "to any users on your network or the internet. Doing so puts yourself into"
+ elog "a legal problem with Mozilla Foundation"
+ elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"
+ fi
+
+ if use pgo; then
+ einfo
+ ewarn "You will do a double build for profile guided optimization."
+ ewarn "This will result in your build taking at least twice as long as before."
+ fi
+
+ if use rust; then
+ einfo
+ ewarn "This is very experimental, should only be used by those developing firefox."
+ fi
+}
+
+pkg_pretend() {
+ # Ensure we have enough disk space to compile
+ if use pgo || use debug || use test ; then
+ CHECKREQS_DISK_BUILD="8G"
+ else
+ CHECKREQS_DISK_BUILD="4G"
+ fi
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # Unpack language packs
+ mozlinguas_src_unpack
+}
+
+src_prepare() {
+ xdg_environment_reset
+
+ # Apply our patches
+ rm -f "${WORKDIR}"/firefox/2007_fix_nvidia_latest.patch
+ eapply "${WORKDIR}/firefox"
+
+ eapply "${FILESDIR}"/${P}-blessings-TERM.patch # 654316
+ eapply "${FILESDIR}"/${P}-fix-missing-includes.patch
+ eapply "${FILESDIR}"/${P}-fix-idb-name-conflict.patch
+ eapply "${FILESDIR}"/${P}-glibc-2.30.patch
+ eapply "${FILESDIR}"/${P}-glibc-2.36.patch
+ eapply "${FILESDIR}"/${P}-less-werror.patch
+ eapply "${FILESDIR}"/${P}-fix-thebes-templates.patch
+
+ # Enable gnomebreakpad
+ if use debug ; then
+ sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+ "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+ fi
+
+ # Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
+ if use ia64 ; then
+ sed -i \
+ -e '/^OS_LIBS += no_as_needed/d' \
+ -e '/^OS_LIBS += as_needed/d' \
+ "${S}"/widget/gtk/mozgtk/gtk2/moz.build \
+ "${S}"/widget/gtk/mozgtk/gtk3/moz.build \
+ || die "sed failed to drop --as-needed for ia64"
+ fi
+
+ # Ensure that our plugins dir is enabled as default
+ sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+ "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
+ sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
+ "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
+
+ # Fix sandbox violations during make clean, bug 372817
+ sed -e "s:\(/no-such-file\):${T}\1:g" \
+ -i "${S}"/config/rules.mk \
+ -i "${S}"/nsprpub/configure{.in,} \
+ || die
+
+ # Don't exit with error when some libs are missing which we have in
+ # system.
+ sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+ -i "${S}"/browser/installer/Makefile.in || die
+
+ # Don't error out when there's no files to be removed:
+ sed 's@\(xargs rm\)$@\1 -f@' \
+ -i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+ # Keep codebase the same even if not using official branding
+ sed '/^MOZ_DEV_EDITION=1/d' \
+ -i "${S}"/browser/branding/aurora/configure.sh || die
+
+ # Allow user to apply any additional patches without modifing ebuild
+ eapply_user
+
+ # Autotools configure is now called old-configure.in
+ # This works because there is still a configure.in that happens to be for the
+ # shell wrapper configure script
+ eautoreconf old-configure.in
+
+ # Must run autoconf in js/src
+ cd "${S}"/js/src || die
+ eautoconf old-configure.in
+
+ # Need to update jemalloc's configure
+ cd "${S}"/memory/jemalloc/src || die
+ WANT_AUTOCONF= eautoconf
+}
+
+src_configure() {
+ MEXTENSIONS="default"
+ # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
+ # Note: These are for Gentoo Linux use ONLY. For your own distribution, please
+ # get your own set of keys.
+ _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
+
+ ####################################
+ #
+ # mozconfig, CFLAGS and CXXFLAGS setup
+ #
+ ####################################
+
+ mozconfig_init
+ mozconfig_config
+
+ # enable JACK, bug 600002
+ mozconfig_use_enable jack
+
+ use eme-free && mozconfig_annotate '+eme-free' --disable-eme
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+
+ # Add full relro support for hardened
+ use hardened && append-ldflags "-Wl,-z,relro,-z,now"
+
+ # Only available on mozilla-overlay for experimentation -- Removed in Gentoo repo per bug 571180
+ #use egl && mozconfig_annotate 'Enable EGL as GL provider' --with-gl-provider=EGL
+
+ # Setup api key for location services
+ echo -n "${_google_api_key}" > "${S}"/google-api-key
+ mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
+
+ mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+ mozconfig_use_enable rust
+
+ # Allow for a proper pgo build
+ if use pgo; then
+ echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> "${S}"/.mozconfig
+ fi
+
+ echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+ echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+ # Finalize and report settings
+ mozconfig_final
+
+ if [[ $(gcc-major-version) -lt 4 ]]; then
+ append-cxxflags -fno-stack-protector
+# else
+# append-cxxflags -fpermissive
+ fi
+
+ # workaround for funky/broken upstream configure...
+ SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ emake -f client.mk configure
+}
+
+src_compile() {
+ if use pgo; then
+ addpredict /root
+ addpredict /etc/gconf
+
+ # Firefox tries to use dri stuff when it's run, see bug 380283
+ shopt -s nullglob
+ cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
+ if test -z "${cards}"; then
+ cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
+ if test -n "${cards}"; then
+ # Binary drivers seem to cause access violations anyway, so
+ # let's use indirect rendering so that the device files aren't
+ # touched at all. See bug 394715.
+ export LIBGL_ALWAYS_INDIRECT=1
+ fi
+ fi
+ shopt -u nullglob
+ [[ -n "${cards}" ]] && addpredict "${cards}"
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ virtx emake -f client.mk profiledbuild
+ else
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ emake -f client.mk realbuild
+ fi
+
+}
+
+src_install() {
+ cd "${BUILD_OBJ_DIR}" || die
+
+ # Pax mark xpcshell for hardened support, only used for startupcache creation.
+ pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
+
+ # Add our default prefs for firefox
+ cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ mozconfig_install_prefs \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
+
+ # Augment this with hwaccel prefs
+ if use hwaccel ; then
+ cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ fi
+
+ echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+
+ local plugin
+ use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
+ echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
+ "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+ || die
+ done
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
+ emake DESTDIR="${D}" install
+
+ # Install language packs
+ mozlinguas_src_install
+
+ local size sizes icon_path icon name
+ if use bindist; then
+ sizes="16 32 48"
+ icon_path="${S}/browser/branding/aurora"
+ # Firefox's new rapid release cycle means no more codenames
+ # Let's just stick with this one...
+ icon="aurora"
+ name="Aurora"
+
+ # Override preferences to set the MOZ_DEV_EDITION defaults, since we
+ # don't define MOZ_DEV_EDITION to avoid profile debaucles.
+ # (source: browser/app/profile/firefox.js)
+ cat >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" <<PROFILE_EOF
+pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
+sticky_pref("lightweightThemes.selectedThemeID", "firefox-devedition@mozilla.org");
+sticky_pref("browser.devedition.theme.enabled", true);
+sticky_pref("devtools.theme", "dark");
+PROFILE_EOF
+
+ else
+ sizes="16 22 24 32 256"
+ icon_path="${S}/browser/branding/official"
+ icon="${PN}"
+ name="Mozilla Firefox"
+ fi
+
+ # Install icons and .desktop for menu entry
+ for size in ${sizes}; do
+ insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
+ newins "${icon_path}/default${size}.png" "${icon}.png"
+ done
+ # The 128x128 icon has a different name
+ insinto "/usr/share/icons/hicolor/128x128/apps"
+ newins "${icon_path}/mozicon128.png" "${icon}.png"
+ # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
+ newicon "${icon_path}/content/icon48.png" "${icon}.png"
+ newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
+ sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
+ "${ED}/usr/share/applications/${PN}.desktop" || die
+
+ # Add StartupNotify=true bug 237317
+ if use startup-notification ; then
+ echo "StartupNotify=true"\
+ >> "${ED}/usr/share/applications/${PN}.desktop" \
+ || die
+ fi
+
+ # Required in order to use plugins and even run firefox on hardened.
+ pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}
+}
+
+pkg_preinst() {
+ # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+ # doesn't need to be forced into the LD_LIBRARY_PATH
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
+ einfo "APULSE found - Generating library symlinks for sound support"
+ local lib
+ pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
+ for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+ # a quickpkg rolled by hand will grab symlinks as part of the package,
+ # so we need to avoid creating them if they already exist.
+ if ! [ -L ${lib##*/} ]; then
+ ln -s "${lib}" ${lib##*/} || die
+ fi
+ done
+ popd &>/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ # Update mimedb for the new .desktop file
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ if ! use gmp-autoupdate && ! use eme-free ; then
+ elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
+ elog "installing into new profiles:"
+ local plugin
+ for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
+ fi
+
+ if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
+ elog "Apulse was detected at merge time on this system and so it will always be"
+ elog "used for sound. If you wish to use pulseaudio instead please unmerge"
+ elog "media-sound/apulse."
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
-EBUILD xorg-x11-7.4-r3.ebuild 3797 BLAKE2B d87d8f37f7440d5171695c698a723c34bc85c24ec9565f112733e3b8de064d54fd7d94238957daca7f7f066c228dc68cbe4669c54029f79aae31c7e3e9d1db2a SHA512 1a8c057764d50bbe7ca90d2a6915409157a17d79c7e43a446421099a2803255293b57f00e92b9970044f26f9ca90f0ced1b76d01fcc0d7fb1d8e3541878db258
+EBUILD xorg-x11-7.4-r5.ebuild 3748 BLAKE2B 21741a7c0e40cbe6670bb16b2ccfe2086220cbf1fd0a0fc3719d3f7cc82961e677d77e39f42136408b9014e00cc4f2853fab5f456d6711bc0f8e04b096c5dfc7 SHA512 53e1b43b0191cd19b59d2ab42c691e7c6062021c1233f3fb961cf3fa22359453fd51175b0602d3be0e727cc2108c7c17c926fb47ec6ba1e77a4543bdcebd4c9f
MISC metadata.xml 233 BLAKE2B 275dfed53b44f8c976a9b718cfbdb421c28ad80097e632173f27a3400ce32f2eaf7f686929b486626b9aa23afa40cd49f61b975a3876a8e61e1577c3c1db9405 SHA512 a06995e9f52455988091f273b40be5bbfa56c864d45f5fe73f731f0aaa9a317804305bd87c36eaa39ffd6b6d096c1fc54559221a0e11fa56ac2f01e0b959e12e
-# Copyright © 2014,2017-2018,2020 Nick Bowler
-# License GPLv2+: GNU General Public License version 2 or any later version.
-# This is free software: you are free to change and redistribute it.
-# There is NO WARRANTY, to the extent permitted by law.
-#
-# This a modified version of the original ebuild from Gentoo GNU/Linux,
-# covered by the following copyright and permission notice:
+# This ebuild is a modified version of the work originally distributed with
+# Gentoo GNU/Linux, covered by the following copyright and permission notice:
#
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications are:
+#
+# * Add bh-fonts USE flag to avoid installing nonfree B&H fonts (2014-09)
+# * Remove dependency on unsupported bitstreem-speedo fonts (2023-05)
+# * Remove dependency on xf86dga application (2023-07)
EAPI=6
x11-apps/xdpyinfo
x11-apps/xdriinfo
x11-apps/xev
- x11-apps/xf86dga
x11-apps/xgamma
x11-apps/xhost
x11-apps/xinput
)
media-fonts/font-bitstream-100dpi
media-fonts/font-bitstream-75dpi
- media-fonts/font-bitstream-speedo
media-fonts/font-bitstream-type1
media-fonts/font-cronyx-cyrillic
media-fonts/font-cursor-misc
AUX README.translucency 3723 BLAKE2B aae37e9dbdf8f7b730b6947d55f0e286c1269d5cacc9ce6d2481562b054c2fa9010acf6ee0d6c994ea3cee64d3df99ef6d08dfa8c6b58706bc9bb8b477095e1b SHA512 a64ef5147e52e07d4cec8a2f3ebd1340827d0139031ef7ddaf27fc144fcc58858c3ec40eee854034423f853b2c7bdd813f66236c8a9679977084f4a2176a8ffa
-AUX fvwm-2.5.27-translucent-menus.diff 15765 BLAKE2B 85623d5d671d97842ffe819ddfa1045b91ef76101ccf8cc6fdf4854c1675b397715977efafb174e340c487bafed12677a1cacb83e201424a9fed43bdfa7f8475 SHA512 92f78b624ea2bfddb88f825f40930a0a7e4bb1d284276e62985f189cd5b72ee8a92131f7d2a91efdbf508fc8ef002f5b4168188b12b0e23e28fb1ebec471969d
-AUX fvwm-2.6.5-ar.patch 1077 BLAKE2B ebd3226a706087c7e7f7935a9862c59e628551e19be66d110441075839484b6bb26667104090258267b3e484c6fc0b0650349488902d216f3cf841c23e45b59e SHA512 fc66ee5c79b96860705d72b18aab3f8c8f8ad84fead47c4f8f944474a6bfbe0569ee08aa51e8a4d7982541eecd5c302499f99ebf8568f4b4fb1c9e2369233e45
-AUX fvwm-2.6.5-mouse-buttons.patch 519 BLAKE2B 23b31933e9dcc456d73be15573226017fc213da59156040136ff447b208b45691fca00b5d16cdaf57ab8411e2834d759b3bb7e53550b13ec72de4b7f70486abb SHA512 d28a9724697859ca7beac1cc2813c12413654e1c0749297c34fb0ef8bbf97369ac8039d2a82ec673d885b39e1544259b70cecf292639caa9ff99c1b42d34c196
-AUX fvwm-2.6.8-perl528.patch 515 BLAKE2B 44df7b8aef71d85c3aefefb40ab45b9e6227ef6a13aaab60cec8956db669013b4ee4dc869216972e1a443d1f69e6550e7f80dc81cdf8b7642d6c49ae46793b2a SHA512 ab35b8aef3c6d8a07f1e03290c209736ee892729d98fece3d0134fd9994f8c57bdd5703492b405a6eb52cfcd67cd9cd72c16bc25a729a46560eb6e21f2d7918f
+AUX fvwm-2.5.27-translucent-menus.diff 15793 BLAKE2B 4f650c0de57d97d7c4cf6ba00728acf482f9e819e4594d540411fb790211a3e2343090ddacaffe8d25eb17f11ca80d2e7046f99c4d40bb857120d3b46551dfc3 SHA512 90427feb28cf19d9e5b92705e41d80371a7c8874fe47b5a94cf4a3f64c297536f0070ea27f749c854a5fa7b32479be48f59e6cfb8559a85f2d489c79b9bc3de6
+AUX fvwm-2.6.5-ar.patch 1077 BLAKE2B 521f2f8bdde469a158b617949f9cbc6dca2530fee377871927d0d91d1bf531e067f3e5d6aecb025512e274b1759ee3522eea639888cc2fd53737e27c3fb54f2d SHA512 fbac194b9fafafbeb1b833d842d25fd6983c041d69a4484f3d7fb75063f4ec400b55f0a5a328113cdaa93e40159552d5920e36b6885fbcd6e76549befc9135b4
+AUX fvwm-2.6.5-mouse-buttons.patch 523 BLAKE2B 3d30cdf5d9137d1d67f2795bb06256d7658bd9fe3cec6d2f1f9c3979f8dd0facd939b9bd9fef9030fbc8e3c0fcd18439563355521f7ad93f0c65d9e6844789d6 SHA512 4481397f6941f61e6962347411ab3adc66f1d3c3d443fb166840673ae404c874e8ea0c60b7df6e112d3972f3beeff94c91bd3431a7db4b62c65046ae544109e3
+AUX fvwm-2.6.8-perl528.patch 519 BLAKE2B 2e1e0e59a10dbe52275c6ef1d73e41813fba0c8e7fb6446999235b926f86fb893b3689964635b7f40599e06c67dd36984a962ec805fc4f8f5ee44dc241137cfb SHA512 8b6c960bf1ce92548288ce11e5c29e95bd60cb67505dd8051adf849c42f80a6baeaa30e3b3d67c0554d41082e7ef472bac6c6ea4c4a3ec979525a18481b18797
AUX fvwm-2.6.9-bundled-manpage.patch 340 BLAKE2B 5a63e18490342637ce1e692333db2faa19a175ab27516f02374cd29dff030b52e906e52d6eb0bd2914cd7105caf0c23ccc73a2cd0b743efec157e9db8bda5ad0 SHA512 de4cc81da91416f4183f61ec205b91650336d532194ea285298ea629610a1567bb1f6a6f95eda4003e247a110d3d2f2d5236cdfa795c636715f03813a0e1f9db
AUX fvwm-2.6.9-respect-docdir.patch 455 BLAKE2B d4272d43e010a8a4456965033dff2c88a9965c6fa2c89040fa49855cd8fb7e84bf6a1fdb634359ac9f667501b29a23bf8dc052107119f53f5b9468eac2d43498 SHA512 ff17efd2f1c5e2e252ce78d6647617430582f5dad946ef6672f2893fbc383991d93725709631df671c9f10546d8f3d7fe7c634fadebfac70f1d63cc1c9f1df99
AUX fvwm-2.6.9-respect-htmldir.patch 655 BLAKE2B 3199958847a2dee691fdecc3148f630ff4c13c74845053bf4e3d566712ef6791c34a02d091c8d2966458b19ef5f1ff16b25ed7eb93cbea2ab2ee026ae177a6e0 SHA512 a20b734342d2bd6dc3e1392852dc7fc20c0f1aaa0f7aa494f0da988c41b2f6f0d8cee8811de5d56afe67715d84fa72a072ffae1206f56425ab3c9763d9ce7fdc
DIST fvwm-2.6.9.tar.gz 3942859 BLAKE2B 8faf2d420d96049ab0528a6c6a5dc6ed8ee9449f8e533b9ad9bb526faea86030684fc0aa8ed0d307cb64575457676611298adf582b1249c37a3db35a72b43bf1 SHA512 a9c2214ad19edd17da81446a6d4250284cc50b59b53c233212f2a9354c01143dbb870521392752f272f00af50bee2dd8f0b6bf6176b0d4b3075694d2a61a623e
-EBUILD fvwm-2.6.9.ebuild 4673 BLAKE2B 470385ab61dbadc9f7f2bea1f561e77e67ab4333912857f77f59f21d2ca38f4d7d447f686ddeece1576b7e5895fdce906ae55173ec87515e6a9e4891f2ce5f05 SHA512 c065d284de98f0521447804c88a0c1a88bdf731f72a5f6295e02c8e809675ae3ecd7aa0c7e4fd98b0766de66f40d455927d20a5f5477adafc23b4e8972f01ca7
+EBUILD fvwm-2.6.9.ebuild 4787 BLAKE2B 542457d8ca2fdf758eb2c1ff704e6e9358db90d95d0b30797f9161b4370d2e2f98c0a55bf5cb01122fc71b3d45b4567cbac8e87a5112b891ca8d827ced760f5a SHA512 84ab1dd8c5981fec343ec0846ee5cd2a6b3221fb044ee0911e7c14deb1b606227305e08ca809002a83f8bfb9c9d346106dbf854153d71d20456c465baba0ff92
RCS file: /home/cvs/fvwm/fvwm/fvwm/colorset.c,v
retrieving revision 1.52
diff -u -r1.52 colorset.c
---- fvwm/colorset.c 27 Jan 2007 11:33:15 -0000 1.52
-+++ fvwm/colorset.c 5 Feb 2007 19:15:51 -0000
+--- a/fvwm/colorset.c 27 Jan 2007 11:33:15 -0000 1.52
++++ b/fvwm/colorset.c 5 Feb 2007 19:15:51 -0000
@@ -164,6 +164,8 @@
"NoIconTint",
"IconAlpha",
RCS file: /home/cvs/fvwm/fvwm/fvwm/menuroot.h,v
retrieving revision 1.3
diff -u -r1.3 menuroot.h
---- fvwm/menuroot.h 13 Jan 2007 15:07:14 -0000 1.3
-+++ fvwm/menuroot.h 5 Feb 2007 19:17:37 -0000
+--- a/fvwm/menuroot.h 13 Jan 2007 15:07:14 -0000 1.3
++++ b/fvwm/menuroot.h 5 Feb 2007 19:17:37 -0000
@@ -146,6 +146,9 @@
int d_npixels;
} stored_pixels;
RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.c,v
retrieving revision 1.409
diff -u -r1.409 menus.c
---- fvwm/menus.c 27 Jan 2007 11:51:15 -0000 1.409
-+++ fvwm/menus.c 5 Feb 2007 19:17:50 -0000
+--- a/fvwm/menus.c 27 Jan 2007 11:51:15 -0000 1.409
++++ b/fvwm/menus.c 5 Feb 2007 19:17:50 -0000
@@ -75,6 +75,19 @@
/* ---------------------------- local macros ------------------------------- */
RCS file: /home/cvs/fvwm/fvwm/fvwm/menus.h,v
retrieving revision 1.111
diff -u -r1.111 menus.h
---- fvwm/menus.h 27 Jan 2007 11:51:15 -0000 1.111
-+++ fvwm/menus.h 5 Feb 2007 19:17:50 -0000
+--- a/fvwm/menus.h 27 Jan 2007 11:51:15 -0000 1.111
++++ b/fvwm/menus.h 5 Feb 2007 19:17:50 -0000
@@ -15,6 +15,9 @@
#define IS_MENU_RETURN(x) \
((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF)
RCS file: /home/cvs/fvwm/fvwm/libs/Colorset.h,v
retrieving revision 1.38
diff -u -r1.38 Colorset.h
---- libs/Colorset.h 10 Jan 2007 00:34:27 -0000 1.38
-+++ libs/Colorset.h 5 Feb 2007 19:19:00 -0000
+--- a/libs/Colorset.h 10 Jan 2007 00:34:27 -0000 1.38
++++ b/libs/Colorset.h 5 Feb 2007 19:19:00 -0000
@@ -51,6 +51,10 @@
Bool dither;
Bool allows_buffered_transparency;
RCS file: /home/cvs/fvwm/fvwm/libs/PictureGraphics.c,v
retrieving revision 1.29
diff -u -r1.29 PictureGraphics.c
---- libs/PictureGraphics.c 27 Jan 2007 11:33:16 -0000 1.29
-+++ libs/PictureGraphics.c 5 Feb 2007 19:19:49 -0000
+--- a/libs/PictureGraphics.c 27 Jan 2007 11:33:16 -0000 1.29
++++ b/libs/PictureGraphics.c 5 Feb 2007 19:19:49 -0000
@@ -1340,7 +1340,7 @@
}
}
RCS file: /home/cvs/fvwm/fvwm/libs/PictureGraphics.h,v
retrieving revision 1.13
diff -u -r1.13 PictureGraphics.h
---- libs/PictureGraphics.h 9 May 2006 20:46:29 -0000 1.13
-+++ libs/PictureGraphics.h 5 Feb 2007 19:19:49 -0000
+--- a/libs/PictureGraphics.h 9 May 2006 20:46:29 -0000 1.13
++++ b/libs/PictureGraphics.h 5 Feb 2007 19:19:49 -0000
@@ -122,7 +122,9 @@
Display *dpy, Window win, Pixel tint, int tint_percent,
Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc,
---- configure.ac 2012-04-20 12:58:29.000000000 +0200
-+++ configure_new.ac 2013-07-21 18:26:17.513904607 +0200
+--- a/configure.ac 2012-04-20 12:58:29.000000000 +0200
++++ b/configure.ac 2013-07-21 18:26:17.513904607 +0200
@@ -209,6 +209,10 @@
# optional libraries.
AC_PROG_CC
# added -Wall for gcc, what about for others?
if test "x$GCC" = "xyes"; then
---- libs/Makefile.in 2012-04-20 13:03:55.000000000 +0200
-+++ libs/Makefile_new.in 2013-07-21 18:27:17.443992505 +0200
+--- a/libs/Makefile.in 2012-04-20 13:03:55.000000000 +0200
++++ b/libs/Makefile.in 2013-07-21 18:27:17.443992505 +0200
@@ -48,7 +48,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
ARFLAGS = cru
libfvwm_a_AR = $(AR) $(ARFLAGS)
libfvwm_a_DEPENDENCIES = @LIBOBJS@ @ALLOCA@
---- modules/FvwmScript/Widgets/Makefile.in 2012-04-20 13:03:56.000000000 +0200
-+++ modules/FvwmScript/Widgets/Makefile_new.in 2013-07-21 18:27:23.844001892 +0200
+--- a/modules/FvwmScript/Widgets/Makefile.in 2012-04-20 13:03:56.000000000 +0200
++++ b/modules/FvwmScript/Widgets/Makefile.in 2013-07-21 18:27:23.844001892 +0200
@@ -46,7 +46,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
---- libs/defaults.h 2011-08-15 18:25:40.000000000 +0200
-+++ libs/defaults.h 2012-04-12 21:13:47.000000000 +0200
+--- a/libs/defaults.h 2011-08-15 18:25:40.000000000 +0200
++++ b/libs/defaults.h 2012-04-12 21:13:47.000000000 +0200
@@ -25,7 +25,7 @@
/* The "extended" buttons do not provide the full functionality because X has
* no bit mask value for them. Things like dragging windows don't work with
---- modules/FvwmPerl/FvwmPerl.in 2018-04-28 07:46:28.000000000 -0400
-+++ modules/FvwmPerl/FvwmPerl.in 2019-01-06 20:44:59.035950968 -0500
+--- a/modules/FvwmPerl/FvwmPerl.in 2018-04-28 07:46:28.000000000 -0400
++++ b/modules/FvwmPerl/FvwmPerl.in 2019-01-06 20:44:59.035950968 -0500
@@ -319,11 +319,11 @@
$FVWM_DATADIR = $FVWM_DATADIR || $module->site_data_dir;
$FVWM_USERDIR = $FVWM_USERDIR || $module->user_data_dir;
-# Copyright © 2021 Nick Bowler
+# Copyright © 2021-2022 Nick Bowler
# License GPLv2+: GNU General Public License version 2 or any later version.
# This is free software: you are free to change and redistribute it.
# There is NO WARRANTY, to the extent permitted by law.
# This is a modified version of the original ebuild from Gentoo GNU/Linux,
# covered by the following copyright and permission notice:
#
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+#
+# The modifications include:
+#
+# * patch build system to install bundled manpage (2021-02)
+# * fix prefixed installation in src_install (2021-02)
+# * convert patches to -p1 (2022-06)
EAPI=7
inherit autotools flag-o-matic desktop
DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
-HOMEPAGE="http://www.fvwm.org/"
+HOMEPAGE="https://www.fvwm.org/"
SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
-LICENSE="GPL-2 FVWM"
+LICENSE="GPL-2+ FVWM"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~riscv ~sparc x86"
IUSE="bidi debug doc netpbm nls perl png readline rplay stroke svg tk truetype +vanilla xinerama lock"
COMMON_DEPEND="
"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
+ sys-apps/debianutils
perl? ( tk? (
dev-lang/tk
dev-perl/Tk
)
rplay? ( media-sound/rplay )
lock? ( x11-misc/xlockmore )
- userland_GNU? ( sys-apps/debianutils )
- !x86-fbsd? ( netpbm? ( media-libs/netpbm ) )
+ netpbm? ( media-libs/netpbm )
"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
doc? ( dev-libs/libxslt )
"
-PATCHES=(
+PATCHES=(
+ "$FILESDIR/$PN-2.6.5-ar.patch" #474528
+ "$FILESDIR/$PN-2.6.8-perl528.patch" # Fix for Perl 5.28
"$FILESDIR/$PN-2.6.9-respect-docdir.patch"
"$FILESDIR/$PN-2.6.9-respect-htmldir.patch"
"$FILESDIR/$PN-2.6.9-bundled-manpage.patch"
)
-
src_prepare() {
- if ! use vanilla; then
+ use vanilla || PATCHES+=(
# Enables fast translucent menus; patch from fvwm-user mailing list.
- eapply -p0 "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
+ "$FILESDIR/$PN-2.5.27-translucent-menus.diff"
# Allow more mouse buttons, bug #411811
- eapply -p0 "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
- fi
-
- eapply -p0 "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
-
- # Fix for Perl 5.28
- eapply -p0 "${FILESDIR}/${PN}-2.6.8-perl528.patch"
+ "$FILESDIR/$PN-2.6.5-mouse-buttons.patch"
+ )
default
eautoreconf