Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Python] fallo al compilar dev-python/setuptools (Close)
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Fri Aug 23, 2019 2:38 am    Post subject: [Python] fallo al compilar dev-python/setuptools (Close) Reply with quote

Buenas estimados,

desde la ultima actualización hace un par de semanas estoy teniendo problemas para instalar Tryton, esto debido a un fallo con python y setuptools que no termina de compilar e instalar, he revisado los foros en busca de una solución que no logro ver, dejo la salida de emerge dev-python/setuptools a ver quien logra darme luces al respecto, de antemano gracias por su valioso tiempo

Code:
>>> Emerging (1 of 2) dev-python/setuptools-41.2.0::gentoo
 * Fetching files in the background.
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
 * setuptools-41.2.0.zip BLAKE2B SHA512 size ;-) ...                     [ ok ]
>>> Unpacking source...
>>> Unpacking setuptools-41.2.0.zip to /var/tmp/portage/dev-python/setuptools-41.2.0/work
>>> Source unpacked in /var/tmp/portage/dev-python/setuptools-41.2.0/work
>>> Preparing source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * Will copy sources from /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0
 * python2_7: copying to /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7
 * python3_6: copying to /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python3_6
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * python2_7: running distutils-r1_run_phase distutils-r1_python_compile
cp: './build/setuptools.egg-info' y '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/build/setuptools.egg-info' son el mismo fichero
python2.7 setup.py build
Traceback (most recent call last):
  File "setup.py", line 148, in <module>
    dist = setuptools.setup(**setup_params)
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/__init__.py", line 144, in setup
    _install_setup_requires(attrs)
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/__init__.py", line 133, in _install_setup_requires
    (k, v) for k, v in attrs.items()
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/dist.py", line 443, in __init__
    for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 656, in <genexpr>
    for entry in dist.get_entry_map(group).values()
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 2860, in get_entry_map
    self._get_metadata('entry_points.txt'), self
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 2531, in parse_map
    raise ValueError("Entry points must be listed in groups")
ValueError: Entry points must be listed in groups
 * ERROR: dev-python/setuptools-41.2.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_compile
 *   environment, line 2762:  Called distutils-r1_src_compile
 *   environment, line  941:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile'
 *   environment, line  442:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2296:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1656:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1654:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line  659:  Called distutils-r1_run_phase 'distutils-r1_python_compile'
 *   environment, line  932:  Called distutils-r1_python_compile
 *   environment, line  802:  Called esetup.py 'build'
 *   environment, line 1200:  Called die
 * The specific snippet of code:
 *       "${@}" || die "${die_args[@]}";
 *
 * If you need support, post the output of `emerge --info '=dev-python/setuptools-41.2.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7'
 * S: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0'

>>> Failed to emerge dev-python/setuptools-41.2.0, Log file:

>>>  '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'

 * Messages for package dev-python/setuptools-41.2.0:

 * ERROR: dev-python/setuptools-41.2.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_compile
 *   environment, line 2762:  Called distutils-r1_src_compile
 *   environment, line  941:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile'
 *   environment, line  442:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2296:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1656:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1654:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line  659:  Called distutils-r1_run_phase 'distutils-r1_python_compile'
 *   environment, line  932:  Called distutils-r1_python_compile
 *   environment, line  802:  Called esetup.py 'build'
 *   environment, line 1200:  Called die
 * The specific snippet of code:
 *       "${@}" || die "${die_args[@]}";
 *
 * If you need support, post the output of `emerge --info '=dev-python/setuptools-41.2.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7'
 * S: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0'

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)


Last edited by Eleazar Anzola on Fri Aug 30, 2019 3:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Fri Aug 23, 2019 11:52 am    Post subject: Reply with quote

Prueba a reinstalar python2.7
Code:
(root)# emerge -v --oneshot python:2.7

Si sigues con el problema publica tu emerge --info.
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Fri Aug 23, 2019 9:18 pm    Post subject: Reply with quote

quilosaq wrote:
Prueba a reinstalar python2.7
Code:
(root)# emerge -v --oneshot python:2.7

Si sigues con el problema publica tu emerge --info.


Realice lo recomendado pero aun persiste el problema
Code:
emerge --info
Portage 2.3.72 (python 3.6.9-final-0, default/linux/amd64/17.0/desktop, gcc-9.2.0, glibc-2.29-r4, 5.2.8-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-5.2.8-gentoo-x86_64-x86_64-Pentium-R-_Dual-Core_CPU_E5500_@_2.80GHz-with-gentoo-2.6
KiB Mem:     6053228 total,   2971716 free
KiB Swap:     524284 total,    524284 free
Timestamp of repository gentoo: Fri, 23 Aug 2019 10:00:01 +0000
Head commit of repository gentoo: 84a141514834e2db88e2092ca5de80f14a45b49d
sh bash 5.0_p9
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          5.0_p9::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.0::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.9::gentoo, 3.7.4-r1::gentoo
dev-util/cmake:           3.15.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.10.3-r3::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.2.0::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-jobs: 1

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

tryton
    location: /var/lib/layman/tryton
    sync-type: laymansync
    sync-uri: https://hg.tryton.org/tryton-overlay
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=core2 -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=core2 -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="es"
LC_ALL="es_ES.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="es"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac accessibility acl acpi alsa alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol amd64 berkdb bindist bluetooth branding build bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dri3 dts dvd dvdr emboss encode exif fam fbcon fbcondecor firefox flac fortran gdbm gif gimp glamor gpm gstreamer gtk gtk3 haptic iconv icu ipv6 jpeg kdbus kde kipi lcms ldap libnotify libtirpc livecd loop-aes mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses networkmanager nls nouveau nptl nptlonly ogg opengl openmp pam pango pax_kernel pcre pdf phonon plasma png policykit portaudio ppds qml qt3support qt4 qt5 readline sdl seccomp session sna socks5 spell split-usr sse sse2 ssl startup-notification static-libs svg tcpd tiff truetype udev udisks unicode upower usb uxa vdpau vorbis widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="es es-ES" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965 vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Sat Aug 24, 2019 11:59 am    Post subject: Reply with quote

Prueba a utilizar python2.7 con portage:
Code:
(root)# eselect python set python2.7
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Sat Aug 24, 2019 2:27 pm    Post subject: Reply with quote

quilosaq wrote:
Prueba a utilizar python2.7 con portage:
Code:
(root)# eselect python set python2.7

Ya eso lo habia echo y nada que ver, pero leyendo las lineas del error, parece ser un problema con la copia de una archivo sobre si mismo.
Code:
>>> Compiling source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * python2_7: running distutils-r1_run_phase distutils-r1_python_compile
cp: './build/setuptools.egg-info' y '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/build/setuptools.egg-info' son el mismo fichero
python2.7 setup.py build

Traceback (most recent call last):
_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Sun Aug 25, 2019 10:44 am    Post subject: Reply with quote

No creo que ese error de cp sea el problema, Mira el contenido del archivo que genera el error:
Code:
(root)# cat /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools.egg-info/entry_points.txt
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Mon Aug 26, 2019 8:16 pm    Post subject: Reply with quote

quilosaq wrote:
No creo que ese error de cp sea el problema, Mira el contenido del archivo que genera el error:
Code:
(root)# cat /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools.egg-info/entry_points.txt


Aqui el contenido pero no logro ver a que se debe el error

Code:
sudo cat /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools.egg-info/entry_points.txt
[console_scripts]
easy_install = setuptools.command.easy_install:main
easy_install-3.6 = setuptools.command.easy_install:main

[distutils.commands]
alias = setuptools.command.alias:alias
bdist_egg = setuptools.command.bdist_egg:bdist_egg
bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst
build_clib = setuptools.command.build_clib:build_clib
build_ext = setuptools.command.build_ext:build_ext
build_py = setuptools.command.build_py:build_py
develop = setuptools.command.develop:develop
dist_info = setuptools.command.dist_info:dist_info
easy_install = setuptools.command.easy_install:easy_install
egg_info = setuptools.command.egg_info:egg_info
install = setuptools.command.install:install
install_egg_info = setuptools.command.install_egg_info:install_egg_info
install_lib = setuptools.command.install_lib:install_lib
install_scripts = setuptools.command.install_scripts:install_scripts
register = setuptools.command.register:register
rotate = setuptools.command.rotate:rotate
saveopts = setuptools.command.saveopts:saveopts
sdist = setuptools.command.sdist:sdist
setopt = setuptools.command.setopt:setopt
test = setuptools.command.test:test
upload = setuptools.command.upload:upload
upload_docs = setuptools.command.upload_docs:upload_docs

[distutils.setup_keywords]
convert_2to3_doctests = setuptools.dist:assert_string_list
dependency_links = setuptools.dist:assert_string_list
eager_resources = setuptools.dist:assert_string_list
entry_points = setuptools.dist:check_entry_points
exclude_package_data = setuptools.dist:check_package_data
extras_require = setuptools.dist:check_extras
include_package_data = setuptools.dist:assert_bool
install_requires = setuptools.dist:check_requirements
namespace_packages = setuptools.dist:check_nsp
package_data = setuptools.dist:check_package_data
packages = setuptools.dist:check_packages
python_requires = setuptools.dist:check_specifier
setup_requires = setuptools.dist:check_requirements
test_loader = setuptools.dist:check_importable
test_runner = setuptools.dist:check_importable
test_suite = setuptools.dist:check_test_suite
tests_require = setuptools.dist:check_requirements
use_2to3 = setuptools.dist:assert_bool
use_2to3_exclude_fixers = setuptools.dist:assert_string_list
use_2to3_fixers = setuptools.dist:assert_string_list
zip_safe = setuptools.dist:assert_bool

[egg_info.writers]
PKG-INFO = setuptools.command.egg_info:write_pkg_info
dependency_links.txt = setuptools.command.egg_info:overwrite_arg
depends.txt = setuptools.command.egg_info:warn_depends_obsolete
eager_resources.txt = setuptools.command.egg_info:overwrite_arg
entry_points.txt = setuptools.command.egg_info:write_entries
namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
requires.txt = setuptools.command.egg_info:write_requirements
top_level.txt = setuptools.command.egg_info:write_toplevel_names

[setuptools.installation]
eggsecutable = setuptools.command.easy_install:bootstrap

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Tue Aug 27, 2019 9:49 am    Post subject: Reply with quote

Parece que esta bien. Creo que el problema puede tener que ver con tu locales. ¿Qué locales tienes creadas y que variables tienes definidas?
Code:
locale -a
locale
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Tue Aug 27, 2019 9:19 pm    Post subject: Reply with quote

quilosaq wrote:
Parece que esta bien. Creo que el problema puede tener que ver con tu locales. ¿Qué locales tienes creadas y que variables tienes definidas?
Code:
locale -a
locale


Tambien lo pense y cambie varias veces pero aunasi sigue dando el error y se me acumulan paquetes sin actualizar debido al setuptools que no termina de compilar.

Code:
locale
LANG=es_ES.utf8
LC_CTYPE="es_ES.utf8"
LC_NUMERIC="es_ES.utf8"
LC_TIME="es_ES.utf8"
LC_COLLATE="es_ES.utf8"
LC_MONETARY="es_ES.utf8"
LC_MESSAGES="es_ES.utf8"
LC_PAPER="es_ES.utf8"
LC_NAME="es_ES.utf8"
LC_ADDRESS="es_ES.utf8"
LC_TELEPHONE="es_ES.utf8"
LC_MEASUREMENT="es_ES.utf8"
LC_IDENTIFICATION="es_ES.utf8"
LC_ALL=es_ES.utf8


Code:
locale -a
C
C.utf8
en_US
en_US.iso88591
en_US.utf8
es_ES
es_ES@euro
es_ES.iso88591
es_ES.iso885915@euro
es_ES.utf8
es_VE
es_VE.iso88591
es_VE.utf8
POSIX

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Tue Aug 27, 2019 10:31 pm    Post subject: Reply with quote

Eleazar Anzola wrote:
...
Code:
locale
LANG=es_ES.utf8
...
...

Pero tu emerge --info dice que tienes LANG="es" supongo que será porque la tienes definida así en tu make.conf. Si la eliminas de make.conf cogerá el valor que muestra el comando locale.

También muestras que tienes definida la variable LC_ALL=es_ES.utf8. Posiblemente no cause problema pero se recomienda no definirla o definirla como una cadena vacía.
https://wiki.gentoo.org/wiki/Localization/Guide/es#Variables_de_entorno_para_localizaciones
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Wed Aug 28, 2019 12:38 am    Post subject: Reply with quote

quilosaq wrote:
Eleazar Anzola wrote:
...
Code:
locale
LANG=es_ES.utf8
...
...

Pero tu emerge --info dice que tienes LANG="es" supongo que será porque la tienes definida así en tu make.conf. Si la eliminas de make.conf cogerá el valor que muestra el comando locale.

También muestras que tienes definida la variable LC_ALL=es_ES.utf8. Posiblemente no cause problema pero se recomienda no definirla o definirla como una cadena vacía.
https://wiki.gentoo.org/wiki/Localization/Guide/es#Variables_de_entorno_para_localizaciones


Code:

locale

LANG=es_ES.utf8
LC_CTYPE="es_ES.utf8"
LC_NUMERIC="es_ES.utf8"
LC_TIME="es_ES.utf8"
LC_COLLATE=C
LC_MONETARY="es_ES.utf8"
LC_MESSAGES="es_ES.utf8"
LC_PAPER="es_ES.utf8"
LC_NAME="es_ES.utf8"
LC_ADDRESS="es_ES.utf8"
LC_TELEPHONE="es_ES.utf8"
LC_MEASUREMENT="es_ES.utf8"
LC_IDENTIFICATION="es_ES.utf8"
LC_ALL=


Code:

locale -a

C
C.utf8
POSIX
en_US
en_US.iso88591
en_US.utf8
es_ES
es_ES.iso88591
es_ES.iso885915@euro
es_ES.utf8
es_ES@euro
es_VE
es_VE.iso88591
es_VE.utf8


Code:

sudo emerge --info
Portage 2.3.73 (python 3.6.9-final-0, default/linux/amd64/17.0/desktop, gcc-9.2.0, glibc-2.29-r4, 5.2.10-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-5.2.10-gentoo-x86_64-x86_64-Pentium-R-_Dual-Core_CPU_E5500_@_2.80GHz-with-gentoo-2.6
KiB Mem:     6052988 total,   4463612 free
KiB Swap:     524284 total,    524284 free
Timestamp of repository gentoo: Tue, 27 Aug 2019 09:30:01 +0000
Head commit of repository gentoo: ef86a7cbdcbdbab9048b4508f32c077da5229063
sh bash 5.0_p9
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          5.0_p9::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.0::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.9::gentoo, 3.7.4-r1::gentoo
dev-util/cmake:           3.15.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.10.3-r3::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.2.0::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

tryton
    location: /var/lib/layman/tryton
    sync-type: laymansync
    sync-uri: https://hg.tryton.org/tryton-overlay
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* PUEL"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=core2 -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=core2 -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="es_ES.utf8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="es"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac accessibility acl acpi alsa alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mmap_emul alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol amd64 berkdb bindist bluetooth branding build bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dri3 dts dvd dvdr emboss encode exif fam fbcon fbcondecor firefox flac fortran gdbm gif gimp glamor gpm gstreamer gtk gtk3 haptic iconv icu ipv6 jpeg kdbus kde kipi lcms ldap libnotify libtirpc livecd loop-aes mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses networkmanager nls nouveau nptl nptlonly ogg opengl openmp pam pango pax_kernel pcre pdf phonon plasma png policykit portaudio ppds qml qt3support qt4 qt5 readline sdl seccomp session sna socks5 spell split-usr sse sse2 ssl startup-notification static-libs svg tcpd tiff truetype udev udisks unicode upower usb uxa vdpau vorbis widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid xvmc zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="es es-ES" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965 vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



Hechas las correcciones reiniciado el sistema, pero aun así sigue dando el mismo error inicial
_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Wed Aug 28, 2019 9:08 am    Post subject: Reply with quote

¿Has probado a eliminar el directorio temporal
Code:
/var/tmp/portage/dev-python/setuptools-41.2.0/
?
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Wed Aug 28, 2019 10:43 pm    Post subject: Reply with quote

quilosaq wrote:
¿Has probado a eliminar el directorio temporal
Code:
/var/tmp/portage/dev-python/setuptools-41.2.0/
?


Si ya lo he borrado completo inclusive con un
Code:
sudo rm -rf /var/tmp/*


Igual intente compilar cada una de las versiones de setuptools con el mismo resultado
_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1421

PostPosted: Wed Aug 28, 2019 11:59 pm    Post subject: Reply with quote

Para intentar ver algo mas necesitaría que pusieras en pastebin (o similar) los archivos que propone emerge:
    /var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log
    /var/tmp/portage/dev-python/setuptools-41.2.0/temp/environment

y la salida de:
Code:
emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Thu Aug 29, 2019 12:30 am    Post subject: Reply with quote

He intentado con
Code:

sudo revdep-rebuild -li
 * This is the new python coded version
 * Please report any bugs found using it.
 * The original revdep-rebuild script is installed as revdep-rebuild.sh
 * Please file bugs at: https://bugs.gentoo.org/
 * Collecting system binaries and libraries
 * Checking dynamic linking consistency
 * Assign files to packages

 !!! Broken orphaned files: No installed package was found for the following:
   * /usr/lib/gstreamer-1.0/libgstbz2.so
   * /usr/lib/gstreamer-1.0/libgstmatroska.so

emerge  --oneshot --complete-graph=y media-libs/gst-plugins-good:1.0 media-libs/gst-plugins-bad:1.0
Calculating dependencies... done!

!!! The following installed packages are masked:
- games-simulation/crrcsim-0.9.13::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Aaron Bauman <bman@gentoo.org> (2019-08-17)
# Relies on vulnerable automake:{1.9,1.10}
# Removal in 30 days

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.


>>> Verifying ebuild manifests

>>> Emerging (1 of 3) media-libs/gst-plugins-base-1.14.5-r1::gentoo
 * Fetching files in the background.
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
 * gst-plugins-base-1.14.5.tar.xz BLAKE2B SHA512 size ;-) ...           [ ok ]
>>> Unpacking source...
>>> Unpacking gst-plugins-base-1.14.5.tar.xz to /var/tmp/portage/media-libs/gst-plugins-base-1.14.5-r1/work
>>> Source unpacked in /var/tmp/portage/media-libs/gst-plugins-base-1.14.5-r1/work
>>> Preparing source in /var/tmp/portage/media-libs/gst-plugins-base-1.14.5-r1/work/gst-plugins-base-1.14.5 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-libs/gst-plugins-base-1.14.5-r1/work/gst-plugins-base-1.14.5 ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
 * Configuring to build base plugin(s) ...
 * econf: updating gst-plugins-base-1.14.5/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating gst-plugins-base-1.14.5/config.guess with /usr/share/gnuconfig/config.guess
/var/tmp/portage/media-libs/gst-plugins-base-1.14.5-r1/work/gst-plugins-base-1.14.5/configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/gst-plugins-base-1.14.5-r1 --htmldir=/usr/share/doc/gst-plugins-base-1.14.5-r1/html --libdir=/usr/lib32 --with-package-name=Gentoo GStreamer ebuild --with-package-origin=https://www.gentoo.org --disable-zlib --disable-x --disable-xvideo --disable-xshm --disable-alsa --disable-cdparanoia --disable-gl --disable-ivorbis --disable-libvisual --disable-ogg --disable-opus --disable-pango --disable-theora --disable-vorbis --enable-orc --disable-maintainer-mode --enable-nls --enable-alsa --disable-introspection --disable-ivorbis --enable-ogg --enable-orc --enable-pango --enable-theora --enable-vorbis --enable-x --enable-xshm --enable-xvideo --enable-iso-codes --enable-zlib --disable-debug --disable-examples --disable-static --enable-gl --enable-egl --disable-gles2 --enable-opengl --disable-wayland --enable-x11 --enable-glx --disable-cocoa --disable-dispmanx --disable-wgl
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/lib/portage/python3.6/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '250' is supported by ustar format... yes
checking whether GID '250' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking nano version... 0 (release)
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for i686-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc -m32
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc -m32 accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc -m32 option to accept ISO C89... none needed
checking whether x86_64-pc-linux-gnu-gcc -m32 understands -c and -o together... yes
checking dependency style of x86_64-pc-linux-gnu-gcc -m32... none
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc -m32... x86_64-pc-linux-gnu-ld -m elf_i386
checking if the linker (x86_64-pc-linux-gnu-ld -m elf_i386) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for x86_64-pc-linux-gnu-ld -m elf_i386 option to reload object files... -r
checking for i686-pc-linux-gnu-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for i686-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for i686-pc-linux-gnu-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking for i686-pc-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc -m32 object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for i686-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -m32 -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc -m32 supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc -m32 option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc -m32 PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc -m32 static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc -m32 supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc -m32 supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc -m32 linker (x86_64-pc-linux-gnu-ld -m elf_i386) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/gmsgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... x86_64-pc-linux-gnu-ld -m elf_i386
checking if the linker (x86_64-pc-linux-gnu-ld -m elf_i386) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
DOMAIN = gst-plugins-base-1.0
checking for i686-pc-linux-gnu-pkg-config... /usr/bin/i686-pc-linux-gnu-pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: Using Gentoo GStreamer ebuild as package name
configure: Using https://www.gentoo.org as package origin
configure: Using GST_PKG_CONFIG_PATH = $(top_builddir)/pkgconfig:/usr/share/pkgconfig
configure: Using /usr/libexec/gst-install-plugins-helper as plugin install helper

configure: *** checking feature: building of plug-ins with external deps ***
configure: building external plug-ins

configure: *** checking feature: building of experimental plug-ins ***
configure: not building experimental plug-ins
checking whether byte ordering is bigendian... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for i686-pc-linux-gnu-gcc... (cached) x86_64-pc-linux-gnu-gcc -m32
checking whether we are using the GNU C compiler... (cached) yes
checking whether x86_64-pc-linux-gnu-gcc -m32 accepts -g... (cached) yes
checking for x86_64-pc-linux-gnu-gcc -m32 option to accept ISO C89... (cached) none needed
checking whether x86_64-pc-linux-gnu-gcc -m32 understands -c and -o together... (cached) yes
checking dependency style of x86_64-pc-linux-gnu-gcc -m32... (cached) none
checking for x86_64-pc-linux-gnu-gcc -m32 option to accept ISO C99... none needed
checking for x86_64-pc-linux-gnu-gcc -m32 option to accept ISO Standard C... (cached) none needed
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-pc-linux-gnu-g++ -m32 accepts -g... yes
checking dependency style of x86_64-pc-linux-gnu-g++ -m32... none
checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -m32 -E
checking for ld used by x86_64-pc-linux-gnu-g++ -m32... x86_64-pc-linux-gnu-ld -m elf_i386
checking if the linker (x86_64-pc-linux-gnu-ld -m elf_i386) is GNU ld... yes
checking whether the x86_64-pc-linux-gnu-g++ -m32 linker (x86_64-pc-linux-gnu-ld -m elf_i386) supports shared libraries... yes
checking for x86_64-pc-linux-gnu-g++ -m32 option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-g++ -m32 PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-g++ -m32 static flag -static works... yes
checking if x86_64-pc-linux-gnu-g++ -m32 supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-g++ -m32 supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-g++ -m32 linker (x86_64-pc-linux-gnu-ld -m elf_i386) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: working c++ compiler found: yes
checking for valgrind... no
checking for gobject-introspection... no (disabled, use --enable-introspection to enable)
checking for gtkdoc-check... /usr/bin/gtkdoc-check
checking for gtkdoc-rebase... /usr/bin/gtkdoc-rebase
checking for gtkdoc-mkpdf... /usr/bin/gtkdoc-mkpdf
checking whether to build gtk-doc documentation... no
checking for python... /usr/bin/python
checking for python version... 3.6
checking for python platform... linux
checking for python script directory... ${prefix}/lib64/python3.6/site-packages
checking for python extension module directory... ${exec_prefix}/lib64/python3.6/site-packages
checking whether to build plugin documentation... no (gtk-doc disabled or not available)
checking for cos in -lm... yes
checking whether x86_64-pc-linux-gnu-gcc -m32 is Clang... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking whether more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for ANSI C header files... (cached) yes
checking xmmintrin.h usability... yes
checking xmmintrin.h presence... yes
checking for xmmintrin.h... yes
checking emmintrin.h usability... yes
checking emmintrin.h presence... yes
checking for emmintrin.h... yes
checking smmintrin.h usability... yes
checking smmintrin.h presence... yes
checking for smmintrin.h... yes
checking whether __i386__ is declared... yes
checking whether __x86_64__ is declared... no
checking to see if compiler understands -msse... yes
checking to see if compiler understands -msse2... yes
checking to see if compiler understands -msse4.1... yes
checking for sys/socket.h... yes
checking for winsock2.h... no
checking for process.h... no
checking for sys/types.h... (cached) yes
checking for sys/wait.h... yes
checking for sys/stat.h... (cached) yes
checking for ARM NEON support in current arch/CFLAGS... no
checking for stdint types... stdint.h (shortcircuit)
make use of stdint.h in _stdint.h (assuming C99 compatible system)
checking for localtime_r... yes
checking for gmtime_r... yes
checking for log2... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for lrint... yes
checking for lrintf... yes
checking whether x86_64-pc-linux-gnu-gcc -m32 implements __PRETTY_FUNCTION__... yes
checking whether x86_64-pc-linux-gnu-gcc -m32 implements __FUNCTION__... yes
checking whether x86_64-pc-linux-gnu-gcc -m32 implements __func__... yes
checking for GLIB... no
configure: Package 'glib-2.0', required by 'virtual:world', not found
Package 'gobject-2.0', required by 'virtual:world', not found
Package 'gmodule-no-export-2.0', required by 'virtual:world', not found
configure: error: This package requires GLib >= 2.40.0 to compile.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/media-libs/gst-plugins-base-1.14.5-r1/work/gst-plugins-base-1.14.5-abi_x86_32.x86/config.log


Claramente falta GLIB, entonces lo intento con

Code:

sudo emerge glib
Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 3) dev-python/setuptools-41.2.0::gentoo
 * Fetching files in the background.
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
 * setuptools-41.2.0.zip BLAKE2B SHA512 size ;-) ...                    [ ok ]
>>> Unpacking source...
>>> Unpacking setuptools-41.2.0.zip to /var/tmp/portage/dev-python/setuptools-41.2.0/work
>>> Source unpacked in /var/tmp/portage/dev-python/setuptools-41.2.0/work
>>> Preparing source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * Will copy sources from /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0
 * python2_7: copying to /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7
 * python3_6: copying to /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python3_6
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * python2_7: running distutils-r1_run_phase distutils-r1_python_compile
cp: './build/setuptools.egg-info' y '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/build/setuptools.egg-info' son el mismo fichero
python2.7 setup.py build
Traceback (most recent call last):
  File "setup.py", line 148, in <module>
    dist = setuptools.setup(**setup_params)
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/__init__.py", line 144, in setup
    _install_setup_requires(attrs)
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/__init__.py", line 133, in _install_setup_requires
    (k, v) for k, v in attrs.items()
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/dist.py", line 443, in __init__
    for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 656, in <genexpr>
    for entry in dist.get_entry_map(group).values()
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 2860, in get_entry_map
    self._get_metadata('entry_points.txt'), self
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 2531, in parse_map
    raise ValueError("Entry points must be listed in groups")
ValueError: Entry points must be listed in groups
 * ERROR: dev-python/setuptools-41.2.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_compile
 *   environment, line 2762:  Called distutils-r1_src_compile
 *   environment, line  941:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile'
 *   environment, line  442:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2296:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1656:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1654:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line  659:  Called distutils-r1_run_phase 'distutils-r1_python_compile'
 *   environment, line  932:  Called distutils-r1_python_compile
 *   environment, line  802:  Called esetup.py 'build'
 *   environment, line 1200:  Called die
 * The specific snippet of code:
 *       "${@}" || die "${die_args[@]}";
 *
 * If you need support, post the output of `emerge --info '=dev-python/setuptools-41.2.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7'
 * S: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0'

>>> Failed to emerge dev-python/setuptools-41.2.0, Log file:

>>>  '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'

 * Messages for package dev-python/setuptools-41.2.0:

 * ERROR: dev-python/setuptools-41.2.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_compile
 *   environment, line 2762:  Called distutils-r1_src_compile
 *   environment, line  941:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile'
 *   environment, line  442:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2296:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1656:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1654:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line  659:  Called distutils-r1_run_phase 'distutils-r1_python_compile'
 *   environment, line  932:  Called distutils-r1_python_compile
 *   environment, line  802:  Called esetup.py 'build'
 *   environment, line 1200:  Called die
 * The specific snippet of code:
 *       "${@}" || die "${die_args[@]}";
 *
 * If you need support, post the output of `emerge --info '=dev-python/setuptools-41.2.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7'
 * S: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0'


Code:

/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log
 * Package:    dev-python/setuptools-41.2.0
 * Repository: gentoo
 * Maintainer: python@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python2_7 python_targets_python3_6 userland_GNU
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking setuptools-41.2.0.zip to /var/tmp/portage/dev-python/setuptools-41.2.0/work
>>> Source unpacked in /var/tmp/portage/dev-python/setuptools-41.2.0/work
>>> Preparing source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * Will copy sources from /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0
 * python2_7: copying to /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7
 * python3_6: copying to /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python3_6
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0 ...
 * python2_7: running distutils-r1_run_phase distutils-r1_python_compile
cp: './build/setuptools.egg-info' y '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/build/setuptools.egg-info' son el mismo fichero
python2.7 setup.py build
Traceback (most recent call last):
  File "setup.py", line 148, in <module>
    dist = setuptools.setup(**setup_params)
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/__init__.py", line 144, in setup
    _install_setup_requires(attrs)
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/__init__.py", line 133, in _install_setup_requires
    (k, v) for k, v in attrs.items()
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/setuptools/dist.py", line 443, in __init__
    for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 656, in <genexpr>
    for entry in dist.get_entry_map(group).values()
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 2860, in get_entry_map
    self._get_metadata('entry_points.txt'), self
  File "/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7/pkg_resources/__init__.py", line 2531, in parse_map
    raise ValueError("Entry points must be listed in groups")
ValueError: Entry points must be listed in groups
 * ERROR: dev-python/setuptools-41.2.0::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  125:  Called src_compile
 *   environment, line 2762:  Called distutils-r1_src_compile
 *   environment, line  941:  Called _distutils-r1_run_foreach_impl 'distutils-r1_python_compile'
 *   environment, line  442:  Called python_foreach_impl 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 2296:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1656:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line 1654:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'distutils-r1_python_compile'
 *   environment, line  659:  Called distutils-r1_run_phase 'distutils-r1_python_compile'
 *   environment, line  932:  Called distutils-r1_python_compile
 *   environment, line  802:  Called esetup.py 'build'
 *   environment, line 1200:  Called die
 * The specific snippet of code:
 *       "${@}" || die "${die_args[@]}";
 *
 * If you need support, post the output of `emerge --info '=dev-python/setuptools-41.2.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/setuptools-41.2.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0-python2_7'
 * S: '/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0'

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Thu Aug 29, 2019 12:35 am    Post subject: Reply with quote

Code:


declare -x ABI="amd64"
declare -x ABI_MIPS=""
declare -x ABI_PPC=""
declare -x ABI_RISCV=""
declare -x ABI_S390=""
declare -x ABI_X86="64"
declare -x ALSA_CARDS=""
declare -x APACHE2_MODULES=""
declare -x APACHE2_MPMS=""
declare -x ARCH="amd64"
declare BDEPEND="python_targets_pypy? ( >=virtual/pypy-5:0=[xml(+)] ) python_targets_pypy3? ( >=virtual/pypy3-5:0=[xml(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml(+)] ) python_targets_python3_5? ( dev-lang/python:3.5[xml(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[xml(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[xml(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]"
declare -x BOOTSTRAP_USE="unicode internal-glib pkg-config split-usr python_targets_python3_6 python_targets_python2_7 multilib"
declare -x CALLIGRA_FEATURES=""
declare -x CAMERAS=""
declare -x CBUILD="x86_64-pc-linux-gnu"
declare -x CFLAGS="-march=core2 -O2 -pipe"
declare -x CFLAGS_amd64="-m64"
declare -x CFLAGS_default
declare -x CFLAGS_x32="-mx32"
declare -x CFLAGS_x86="-m32"
declare -x CHOST="x86_64-pc-linux-gnu"
declare -x CHOST_amd64="x86_64-pc-linux-gnu"
declare -x CHOST_default="x86_64-pc-linux-gnu"
declare -x CHOST_x32="x86_64-pc-linux-gnux32"
declare -x CHOST_x86="i686-pc-linux-gnu"
declare -x COLLECTD_PLUGINS=""
declare -x COMMON_FLAGS="-march=core2 -O2 -pipe"
declare -x CPU_FLAGS_ARM=""
declare -x CPU_FLAGS_X86=""
declare -x CTARGET_default="x86_64-pc-linux-gnu"
declare -x CURL_SSL=""
declare -x CXXFLAGS="-march=core2 -O2 -pipe"
declare -x DEFAULT_ABI="amd64"
declare -x DEFINED_PHASES=" compile configure install prepare test"
declare DEPEND="

   app-arch/unzip
   test? (
      dev-python/mock[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
      dev-python/pip[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
      >=dev-python/pytest-3.7.0[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
      <dev-python/pytest-4
      dev-python/pytest-fixture-config[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
      dev-python/pytest-virtualenv[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
      dev-python/wheel[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
      virtual/python-futures[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]
   )
 "
declare DESCRIPTION="Collection of extensions to Distutils"
declare -x DIROPTIONS="-m0755"
declare -- DISTUTILS_IN_SOURCE_BUILD="1"
declare -a DOCS=([0]="CHANGES.rst" [1]="README.rst" [2]="docs/easy_install.txt" [3]="docs/pkg_resources.txt" [4]="docs/setuptools.txt")
declare -x EAPI="7"
declare -x ELIBC="glibc"
declare -x ENLIGHTENMENT_MODULES=""
declare -x ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
declare -- EPOCHREALTIME="1567033522,898043"
declare -- EPOCHSECONDS="1567033522"
declare -x EXEOPTIONS="-m0755"
declare -x FCFLAGS="-march=core2 -O2 -pipe"
declare -x FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x FFLAGS="-march=core2 -O2 -pipe"
declare -x FFTOOLS=""
declare -x FLTK_DOCDIR="/usr/share/doc/fltk-1.3.5-r2/html"
declare -x GCC_SPECS=""
declare -x GPSD_PROTOCOLS=""
declare -x GRUB_PLATFORMS=""
declare -x GSETTINGS_BACKEND="dconf"
declare HDEPEND=""
declare HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/"
declare -x INHERITED=" multiprocessing toolchain-funcs multilib multibuild python-utils-r1 python-r1 distutils-r1"
declare -x INPUT_DEVICES=""
declare -x INSOPTIONS="-m0644"
declare IUSE="test python_targets_pypy python_targets_pypy3 python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7"
declare -x IUSE_EFFECTIVE="abi_x86_64 alpha amd64 amd64-fbsd amd64-linux arm arm64 elibc_AIX elibc_Cygwin elibc_Darwin elibc_DragonFly elibc_FreeBSD elibc_HPUX elibc_Interix elibc_NetBSD elibc_OpenBSD elibc_SunOS elibc_Winnt elibc_bionic elibc_glibc elibc_mingw elibc_mintlib elibc_musl elibc_uclibc hppa ia64 kernel_AIX kernel_Darwin kernel_FreeBSD kernel_HPUX kernel_NetBSD kernel_OpenBSD kernel_SunOS kernel_Winnt kernel_freemint kernel_linux m68k m68k-mint mips ppc ppc-aix ppc-macos ppc64 ppc64-linux prefix prefix-guest prefix-stack python_targets_pypy python_targets_pypy3 python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7 riscv s390 sh sparc sparc-solaris sparc64-solaris test userland_BSD userland_GNU x64-cygwin x64-macos x64-solaris x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt"
declare -x IUSE_IMPLICIT="abi_x86_64 prefix prefix-guest prefix-stack"
declare -x KERNEL="linux"
declare -x KERNEL_ABI="amd64"
declare -x KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
declare -x L10N=""
declare -x LADSPA_PATH="/usr/lib64/ladspa"
declare -x LANG="es_ES.utf8"
declare -x LANGUAGE="es_ES.UTF-8"
declare -x LCD_DEVICES=""
declare -x LC_ADDRESS=""
declare -x LC_COLLATE="C"
declare -x LC_CTYPE=""
declare -x LC_IDENTIFICATION=""
declare -x LC_MEASUREMENT=""
declare -x LC_MESSAGES=""
declare -x LC_MONETARY=""
declare -x LC_NAME=""
declare -x LC_NUMERIC=""
declare -x LC_PAPER=""
declare -x LC_TELEPHONE=""
declare -x LC_TIME=""
declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed"
declare -x LDFLAGS_amd64="-m elf_x86_64"
declare -x LDFLAGS_default
declare -x LDFLAGS_x32="-m elf32_x86_64"
declare -x LDFLAGS_x86="-m elf_i386"
declare -x LIBDIR_amd64="lib64"
declare -x LIBDIR_default="lib"
declare -x LIBDIR_x32="libx32"
declare -x LIBDIR_x86="lib32"
declare -x LIBOPTIONS="-m0644"
declare -x LIBREOFFICE_EXTENSIONS=""
declare -x LICENSE="MIT"
declare -x LINGUAS="es"
declare -x LIRC_DEVICES=""
declare -x LLVM_TARGETS=""
declare -x LV2_PATH="/usr/lib64/lv2"
declare -x MAIL="/var/mail/root"
declare -x MAKEOPTS="-j3"
declare -x MANPAGER="manpager"
declare -x MONKEYD_PLUGINS=""
declare -x MULTILIB_ABIS="amd64 x86"
declare -x MULTILIB_STRICT_DENY="64-bit.*shared object"
declare -x MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib"
declare -x MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage|udev|systemd|clang|python-exec|llvm)"
declare -x NETBEANS_MODULES=""
declare -x NGINX_MODULES_HTTP=""
declare -x NGINX_MODULES_MAIL=""
declare -x NGINX_MODULES_STREAM=""
declare -x OFED_DRIVERS=""
declare -x OFFICE_IMPLEMENTATION=""
declare -x OPENGL_PROFILE="xorg-x11"
declare -x OPENMPI_FABRICS=""
declare -x OPENMPI_OFED_FEATURES=""
declare -x OPENMPI_RM=""
declare -x PATH="/usr/lib/portage/python3.6/ebuild-helpers/xattr:/usr/lib/portage/python3.6/ebuild-helpers:/usr/lib/llvm/8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
declare PDEPEND="
   >=dev-python/certifi-2016.9.26[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] "
declare -x PHP_TARGETS=""
declare -x PKG_CONFIG_PATH="/usr/lib64/pkgconfig"
declare -x PORTAGE_COMPRESSION_COMMAND="bzip2"
declare -a PORTAGE_DOCOMPRESS=([0]="/usr/share/doc" [1]="/usr/share/info" [2]="/usr/share/man")
declare -x PORTAGE_DOCOMPRESS_SIZE_LIMIT="128"
declare -a PORTAGE_DOCOMPRESS_SKIP=([0]="/usr/share/doc/setuptools-41.2.0/html")
declare -a PORTAGE_DOSTRIP=([0]="/")
declare -a PORTAGE_DOSTRIP_SKIP=()
declare -x POSTGRES_TARGETS=""
declare -x PRELINK_PATH_MASK="/opt"
declare -x PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND"
declare -x PROPERTIES=""
declare -x PYTHONDONTWRITEBYTECODE="1"
declare -a PYTHON_COMPAT=([0]="python2_7" [1]="python3_5" [2]="python3_6" [3]="python3_7" [4]="pypy" [5]="pypy3")
declare -- PYTHON_DEPS="python_targets_pypy? ( >=virtual/pypy-5:0=[xml(+)] ) python_targets_pypy3? ( >=virtual/pypy3-5:0=[xml(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml(+)] ) python_targets_python3_5? ( dev-lang/python:3.5[xml(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[xml(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[xml(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]"
declare -- PYTHON_REQUIRED_USE="|| ( python_targets_pypy python_targets_pypy3 python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7 )"
declare -- PYTHON_REQ_USE="xml(+)"
declare -x PYTHON_SINGLE_TARGET=""
declare -x PYTHON_TARGETS="python2_7 python3_6"
declare -- PYTHON_USEDEP="python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)"
declare -x QEMU_SOFTMMU_TARGETS=""
declare -x QEMU_USER_TARGETS=""
declare RDEPEND="
 python_targets_pypy? ( >=virtual/pypy-5:0=[xml(+)] ) python_targets_pypy3? ( >=virtual/pypy3-5:0=[xml(+)] ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml(+)] ) python_targets_python3_5? ( dev-lang/python:3.5[xml(+)] ) python_targets_python3_6? ( dev-lang/python:3.6[xml(+)] ) python_targets_python3_7? ( dev-lang/python:3.7[xml(+)] ) >=dev-lang/python-exec-2:=[python_targets_pypy(-)?,python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)]"
declare REPOSITORY
declare REQUIRED_USE="|| ( python_targets_pypy python_targets_pypy3 python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 python_targets_python3_7 )"
declare -x RESTRICT="test"
declare -x RESUMECOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x ROS_MESSAGES=""
declare -x RUBY_TARGETS=""
declare -x S="/var/tmp/portage/dev-python/setuptools-41.2.0/work/setuptools-41.2.0"
declare -x SANDBOX_DEBUG="0"
declare -x SANDBOX_DENY=""
declare -x SANDBOX_PREDICT="/var/tmp/portage/dev-python/setuptools-41.2.0/homedir:/dev/crypto:/var/cache/man:/proc/self/coredump_filter:/var/cache/fontconfig"
declare -x SANDBOX_READ="/:/var/tmp/portage"
declare -x SANDBOX_VERBOSE="1"
declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/full:/dev/null:/dev/ptmx:/dev/pts/:/dev/pty:/dev/shm:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/tmp/:/var/tmp/portage:/var/tmp/portage/dev-python/setuptools-41.2.0/homedir/.bash_history"
declare -x SANE_BACKENDS=""
declare -x SHELL="/bin/bash"
declare -x SLOT="0"
declare SRC_URI="mirror://pypi/s/setuptools/setuptools-41.2.0.zip"
declare -x SUDO_COMMAND="/usr/bin/emerge glib"
declare -x SUDO_GID="1001"
declare -x SUDO_UID="1001"
declare -x SUDO_USER="anneiris"
declare -x SYMLINK_LIB="yes"
declare -x TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
declare -x USE="abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python2_7 python_targets_python3_6 userland_GNU"
declare -x USERLAND="GNU"
declare -x USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND"
declare -x USE_EXPAND_UNPREFIXED="ARCH"
declare -x USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-fbsd amd64-linux arm arm64 hppa ia64 m68k m68k-mint mips ppc ppc64 ppc64-linux ppc-aix ppc-macos riscv s390 sh sparc sparc64-solaris sparc-solaris x64-cygwin x64-macos x64-solaris x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt"
declare -x USE_EXPAND_VALUES_ELIBC="AIX bionic Cygwin Darwin DragonFly FreeBSD glibc HPUX Interix mingw mintlib musl NetBSD OpenBSD SunOS uclibc Winnt"
declare -x USE_EXPAND_VALUES_KERNEL="AIX Darwin FreeBSD freemint HPUX linux NetBSD OpenBSD SunOS Winnt"
declare -x USE_EXPAND_VALUES_USERLAND="BSD GNU"
declare -x UWSGI_PLUGINS=""
declare -x VIDEO_CARDS=""
declare -x VOICEMAIL_STORAGE=""
declare -x XDG_CONFIG_DIRS="/etc/xdg:/usr/share"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share"
declare -x XFCE_PLUGINS=""
declare -x XTABLES_ADDONS=""
declare -- _DISTUTILS_R1="1"
declare -x _E_DESTTREE_="/usr"
declare -x _E_DOCDESTTREE_=""
declare -x _E_EXEDESTTREE_=""
declare -x _E_INSDESTTREE_=""
declare -- _MULTIBUILD="1"
declare -- _MULTILIB_ECLASS="1"
declare -- _MULTIPROCESSING_ECLASS="1"
declare -a _PYTHON_ALL_IMPLS=([0]="jython2_7" [1]="pypy" [2]="pypy3" [3]="python2_7" [4]="python3_5" [5]="python3_6" [6]="python3_7")
declare -- _PYTHON_R1="1"
declare -a _PYTHON_SUPPORTED_IMPLS=([0]="pypy" [1]="pypy3" [2]="python2_7" [3]="python3_5" [4]="python3_6" [5]="python3_7")
declare -a _PYTHON_UNSUPPORTED_IMPLS=([0]="jython2_7")
declare -- _PYTHON_UTILS_R1="1"
declare -- _TOOLCHAIN_FUNCS_ECLASS="1"
declare -- phase_func
PYTHON ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#.24.28PYTHON.29.2C_.24.7BEPYTHON.7D"
}
__eapi6_src_install ()
{
    if [[ -f Makefile || -f GNUmakefile || -f makefile ]]; then
        emake DESTDIR="${D}" install;
    fi;
    einstalldocs
}
__eapi6_src_prepare ()
{
    if ___is_indexed_array_var PATCHES; then
        [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}";
    else
        if [[ -n ${PATCHES} ]]; then
            eapply ${PATCHES};
        fi;
    fi;
    eapply_user
}
__eapi7_ver_compare ()
{
    local va=${1} vb=${2} a an al as ar b bn bl bs br re LC_ALL=C;
    re="^([0-9]+(\.[0-9]+)*)([a-z]?)((_(alpha|beta|pre|rc|p)[0-9]*)*)(-r[0-9]+)?$";
    [[ ${va} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${va}";
    an=${BASH_REMATCH[1]};
    al=${BASH_REMATCH[3]};
    as=${BASH_REMATCH[4]};
    ar=${BASH_REMATCH[7]};
    [[ ${vb} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${vb}";
    bn=${BASH_REMATCH[1]};
    bl=${BASH_REMATCH[3]};
    bs=${BASH_REMATCH[4]};
    br=${BASH_REMATCH[7]};
    __eapi7_ver_compare_int "${an%%.*}" "${bn%%.*}" || return;
    while [[ ${an} == *.* && ${bn} == *.* ]]; do
        an=${an#*.};
        bn=${bn#*.};
        a=${an%%.*};
        b=${bn%%.*};
        if [[ ${a} == 0* || ${b} == 0* ]]; then
            [[ ${a} =~ 0+$ ]] && a=${a%"${BASH_REMATCH[0]}"};
            [[ ${b} =~ 0+$ ]] && b=${b%"${BASH_REMATCH[0]}"};
            [[ ${a} > ${b} ]] && return 3;
            [[ ${a} < ${b} ]] && return 1;
        else
            __eapi7_ver_compare_int "${a}" "${b}" || return;
        fi;
    done;
    [[ ${an} == *.* ]] && return 3;
    [[ ${bn} == *.* ]] && return 1;
    [[ ${al} > ${bl} ]] && return 3;
    [[ ${al} < ${bl} ]] && return 1;
    as=${as#_}${as:+_};
    bs=${bs#_}${bs:+_};
    while [[ -n ${as} && -n ${bs} ]]; do
        a=${as%%_*};
        b=${bs%%_*};
        if [[ ${a%%[0-9]*} == "${b%%[0-9]*}" ]]; then
            __eapi7_ver_compare_int "${a##*[a-z]}" "${b##*[a-z]}" || return;
        else
            [[ ${a%%[0-9]*} == p ]] && return 3;
            [[ ${b%%[0-9]*} == p ]] && return 1;
            [[ ${a} > ${b} ]] && return 3 || return 1;
        fi;
        as=${as#*_};
        bs=${bs#*_};
    done;
    if [[ -n ${as} ]]; then
        [[ ${as} == p[_0-9]* ]] && return 3 || return 1;
    else
        if [[ -n ${bs} ]]; then
            [[ ${bs} == p[_0-9]* ]] && return 1 || return 3;
        fi;
    fi;
    __eapi7_ver_compare_int "${ar#-r}" "${br#-r}" || return;
    return 2
}
__eapi7_ver_compare_int ()
{
    local a=$1 b=$2 d=$(( ${#1}-${#2} ));
    if [[ ${d} -gt 0 ]]; then
        printf -v b "%0${d}d%s" 0 "${b}";
    else
        if [[ ${d} -lt 0 ]]; then
            printf -v a "%0$(( -d ))d%s" 0 "${a}";
        fi;
    fi;
    [[ ${a} > ${b} ]] && return 3;
    [[ ${a} == "${b}" ]]
}
__eapi7_ver_parse_range ()
{
    local range=${1};
    local max=${2};
    [[ ${range} == [0-9]* ]] || die "${FUNCNAME}: range must start with a number";
    start=${range%-*};
    [[ ${range} == *-* ]] && end=${range#*-} || end=${start};
    if [[ -n ${end} ]]; then
        [[ ${start} -le ${end} ]] || die "${FUNCNAME}: end of range must be >= start";
        [[ ${end} -le ${max} ]] || end=${max};
    else
        end=${max};
    fi
}
__eapi7_ver_split ()
{
    local v=${1} LC_ALL=C;
    comp=();
    local s c;
    while [[ -n ${v} ]]; do
        s=${v%%[a-zA-Z0-9]*};
        v=${v:${#s}};
        [[ ${v} == [0-9]* ]] && c=${v%%[^0-9]*} || c=${v%%[^a-zA-Z]*};
        v=${v:${#c}};
        comp+=("${s}" "${c}");
    done
}
_clang_fullversion ()
{
    local ver="$1";
    shift;
    set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__");
    eval echo "$ver"
}
_distutils-r1_check_namespace_pth ()
{
    local f pth=();
    while IFS= read -r -d '' f; do
        pth+=("${f}");
    done < <(find "${ED%/}" -name '*-nspkg.pth' -print0);
    if [[ -n ${pth[@]} ]]; then
        ewarn "The following *-nspkg.pth files were found installed:";
        ewarn;
        for f in "${pth[@]}";
        do
            ewarn "  ${f#${ED%/}}";
        done;
        ewarn;
        ewarn "The presence of those files may break namespaces in Python 3.5+. Please";
        ewarn "read our documentation on reliable handling of namespaces and update";
        ewarn "the ebuild accordingly:";
        ewarn;
        ewarn "  https://wiki.gentoo.org/wiki/Project:Python/Namespace_packages";
    fi
}
_distutils-r1_clean_egg_info ()
{
    rm -rf "${BUILD_DIR}"/lib/*.egg-info || die
}
_distutils-r1_copy_egg_info ()
{
    mkdir -p "${BUILD_DIR}" || die;
    find -name '*.egg-info' -type d -exec cp -R -p {} "${BUILD_DIR}"/ ';' || die
}
_distutils-r1_create_setup_cfg ()
{
    cat > "${HOME}"/.pydistutils.cfg <<-_EOF_ ||
[build]
build-base = ${BUILD_DIR}

# using a single directory for them helps us export
# ${PYTHONPATH} and ebuilds find the sources independently
# of whether the package installs extensions or not
#
# note: due to some packages (wxpython) relying on separate
# platlib & purelib dirs, we do not set --build-lib (which
# can not be overridden with --build-*lib)
build-platlib = %(build-base)s/lib
build-purelib = %(build-base)s/lib

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Thu Aug 29, 2019 12:38 am    Post subject: Reply with quote

Code:



# make the ebuild writer lives easier
build-scripts = %(build-base)s/scripts

# this is needed by distutils_install_for_testing since
# setuptools like to create .egg files for install --home.
[bdist_egg]
dist-dir = ${BUILD_DIR}/dist
_EOF_
 die
    if [[ ${EBUILD_PHASE} == install ]]; then
        cat >> "${HOME}"/.pydistutils.cfg <<-_EOF_ ||

# installation paths -- allow calling extra install targets
# without the default 'install'
[install]
compile = True
optimize = 2
root = ${D%/}
_EOF_
 die
        if [[ ! -n ${DISTUTILS_SINGLE_IMPL} ]]; then
            cat >> "${HOME}"/.pydistutils.cfg <<-_EOF_ ||
install-scripts = $(python_get_scriptdir)
_EOF_
 die;
        fi;
    fi
}
_distutils-r1_disable_ez_setup ()
{
    local stub="def use_setuptools(*args, **kwargs): pass";
    if [[ -f ez_setup.py ]]; then
        echo "${stub}" > ez_setup.py || die;
    fi;
    if [[ -f distribute_setup.py ]]; then
        echo "${stub}" > distribute_setup.py || die;
    fi
}
_distutils-r1_run_common_phase ()
{
    local DISTUTILS_ORIG_BUILD_DIR=${BUILD_DIR};
    if [[ -n ${DISTUTILS_SINGLE_IMPL} ]]; then
        _distutils-r1_run_foreach_impl "${@}";
    else
        local -x EPYTHON PYTHON;
        local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH};
        python_setup "${DISTUTILS_ALL_SUBPHASE_IMPLS[@]}";
        local MULTIBUILD_VARIANTS=("${EPYTHON/./_}");
        local _DISTUTILS_INITIAL_CWD=${PWD};
        multibuild_foreach_variant distutils-r1_run_phase "${@}";
    fi
}
_distutils-r1_run_foreach_impl ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local _DISTUTILS_INITIAL_CWD=${PWD};
    set -- distutils-r1_run_phase "${@}";
    if [[ ! -n ${DISTUTILS_SINGLE_IMPL} ]]; then
        python_foreach_impl "${@}";
    else
        if [[ ! -n ${EPYTHON} ]]; then
            die "EPYTHON unset, python-single-r1_pkg_setup not called?!";
        fi;
        local BUILD_DIR=${BUILD_DIR:-${S}};
        BUILD_DIR=${BUILD_DIR%%/}_${EPYTHON};
        "${@}";
    fi
}
_distutils-r1_wrap_scripts ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${#} -eq 2 ]] || die "usage: ${FUNCNAME} <path> <bindir>";
    local path=${1};
    local bindir=${2};
    local PYTHON_SCRIPTDIR;
    python_export PYTHON_SCRIPTDIR;
    local f python_files=() non_python_files=();
    if [[ -d ${path}${PYTHON_SCRIPTDIR} ]]; then
        for f in "${path}${PYTHON_SCRIPTDIR}"/*;
        do
            [[ -d ${f} ]] && die "Unexpected directory: ${f}";
            debug-print "${FUNCNAME}: found executable at ${f#${path}/}";
            local shebang;
            read -r shebang < "${f}";
            if [[ ${shebang} == '#!'*${EPYTHON}* ]]; then
                debug-print "${FUNCNAME}: matching shebang: ${shebang}";
                python_files+=("${f}");
            else
                debug-print "${FUNCNAME}: non-matching shebang: ${shebang}";
                non_python_files+=("${f}");
            fi;
            mkdir -p "${path}${bindir}" || die;
        done;
        for f in "${python_files[@]}";
        do
            local basename=${f##*/};
            debug-print "${FUNCNAME}: installing wrapper at ${bindir}/${basename}";
            _python_ln_rel "${path}${EPREFIX}"/usr/lib/python-exec/python-exec2 "${path}${bindir}/${basename}" || die;
        done;
        for f in "${non_python_files[@]}";
        do
            local basename=${f##*/};
            debug-print "${FUNCNAME}: moving ${f#${path}/} to ${bindir}/${basename}";
            mv "${f}" "${path}${bindir}/${basename}" || die;
        done;
    fi
}
_gcc-install-dir ()
{
    echo "$(LC_ALL=C $(tc-getCC) -print-search-dirs 2> /dev/null |      awk '$1=="install:" {print $2}')"
}
_gcc-specs-directive_raw ()
{
    local cc=$(tc-getCC);
    local specfiles=$(LC_ALL=C ${cc} -v 2>&1 | awk '$1=="Reading" {print $NF}');
    ${cc} -dumpspecs 2> /dev/null | cat - ${specfiles} | awk -v directive=$1 'BEGIN   { pspec=""; spec=""; outside=1 }
$1=="*"directive":"  { pspec=spec; spec=""; outside=0; next }
   outside || NF==0 || ( substr($1,1,1)=="*" && substr($1,length($1),1)==":" ) { outside=1; next }
   spec=="" && substr($0,1,1)=="+" { spec=pspec " " substr($0,2); next }
   { spec=spec $0 }
END   { print spec }';
    return 0
}
_gcc-specs-exists ()
{
    [[ -f $(_gcc-install-dir)/$1 ]]
}
_gcc_fullversion ()
{
    local ver="$1";
    shift;
    set -- $($(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__");
    eval echo "$ver"
}
_multibuild_create_source_copy ()
{
    einfo "${MULTIBUILD_VARIANT}: copying to ${BUILD_DIR}";
    cp -p -R "${cp_args[@]}" "${_MULTIBUILD_INITIAL_BUILD_DIR}" "${BUILD_DIR}" || die
}
_multibuild_run ()
{
    local i=1;
    while [[ ${!i} == _* ]]; do
        (( i += 1 ));
    done;
    [[ ${i} -le ${#} ]] && einfo "${v}: running ${@:${i}}";
    "${@}"
}
_python_check_dead_variables ()
{
    local v;
    for v in PYTHON_DEPEND PYTHON_USE_WITH{,_OR,_OPT} {RESTRICT,SUPPORT}_PYTHON_ABIS;
    do
        if [[ -n ${!v} ]]; then
            die "${v} is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Ebuild_head";
        fi;
    done;
    for v in PYTHON_{CPPFLAGS,CFLAGS,CXXFLAGS,LDFLAGS};
    do
        if [[ -n ${!v} ]]; then
            die "${v} is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#PYTHON_CFLAGS";
        fi;
    done;
    for v in PYTHON_TESTS_RESTRICTED_ABIS PYTHON_EXPORT_PHASE_FUNCTIONS PYTHON_VERSIONED_{SCRIPTS,EXECUTABLES} PYTHON_NONVERSIONED_EXECUTABLES;
    do
        if [[ -n ${!v} ]]; then
            die "${v} is invalid for python-r1 suite";
        fi;
    done;
    for v in DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES DISTUTILS_SETUP_FILES DISTUTILS_GLOBAL_OPTIONS DISTUTILS_SRC_TEST PYTHON_MODNAME;
    do
        if [[ -n ${!v} ]]; then
            die "${v} is invalid for distutils-r1, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#${v}";
        fi;
    done;
    if [[ -n ${DISTUTILS_DISABLE_TEST_DEPENDENCY} ]]; then
        die "${v} is invalid for distutils-r1, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#DISTUTILS_SRC_TEST";
    fi;
    for v in PYTHON_BDEPEND PYTHON_MULTIPLE_ABIS PYTHON_ABI_TYPE PYTHON_RESTRICTED_ABIS PYTHON_TESTS_FAILURES_TOLERANT_ABIS PYTHON_CFFI_MODULES_GENERATION_COMMANDS;
    do
        if [[ -n ${!v} ]]; then
            die "${v} is invalid for python-r1 suite";
        fi;
    done
}
_python_check_locale_sanity ()
{
    local -x LC_ALL=${1};
    local IFS=;
    local lc=({a..z});
    local uc=({A..Z});
    local input="${lc[*]}${uc[*]}";
    local output=$(tr '[:lower:][:upper:]' '[:upper:][:lower:]' <<<"${input}");
    [[ ${output} == "${uc[*]}${lc[*]}" ]]
}
_python_impl_matches ()
{
    [[ ${#} -ge 2 ]] || die "${FUNCNAME}: takes at least 2 parameters";
    local impl=${1} pattern;
    shift;
    for pattern in "$@";
    do
        if [[ ${pattern} == -2 ]]; then
            ! python_is_python3 "${impl}";
            return;
        else
            if [[ ${pattern} == -3 ]]; then
                python_is_python3 "${impl}";
                return;
            else
                if [[ ${impl/./_} == ${pattern/./_} ]]; then
                    return 0;
                fi;
            fi;
        fi;
    done;
    return 1
}
_python_impl_supported ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${#} -eq 1 ]] || die "${FUNCNAME}: takes exactly 1 argument (impl).";
    local impl=${1};
    case "${impl}" in
        python2_7 | python3_[567] | jython2_7)
            return 0
        ;;
        pypy1_[89] | pypy2_0 | python2_[56] | python3_[1234])
            return 1
        ;;
        pypy | pypy3)
            if [[ ${EAPI:-0} == [01234] ]]; then
                die "PyPy is supported in EAPI 5 and newer only.";
            fi
        ;;
        *)
            [[ -n ${PYTHON_COMPAT_NO_STRICT} ]] && return 1;
            die "Invalid implementation in PYTHON_COMPAT: ${impl}"
        ;;
    esac
}
_python_ln_rel ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local target=${1};
    local symname=${2};
    local tgpath=${target%/*}/;
    local sympath=${symname%/*}/;
    local rel_target=;
    while [[ -n ${sympath} ]]; do
        local tgseg= symseg=;
        while [[ ! -n ${tgseg} && -n ${tgpath} ]]; do
            tgseg=${tgpath%%/*};
            tgpath=${tgpath#${tgseg}/};
        done;
        while [[ ! -n ${symseg} && -n ${sympath} ]]; do
            symseg=${sympath%%/*};
            sympath=${sympath#${symseg}/};
        done;
        if [[ ${tgseg} != ${symseg} ]]; then
            rel_target=../${rel_target}${tgseg:+${tgseg}/};
        fi;
    done;
    rel_target+=${tgpath}${target##*/};
    debug-print "${FUNCNAME}: ${symname} -> ${target}";
    debug-print "${FUNCNAME}: rel_target = ${rel_target}";
    ln -fs "${rel_target}" "${symname}"
}
_python_multibuild_wrapper ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local -x EPYTHON PYTHON;
    local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH};
    python_export "${MULTIBUILD_VARIANT}" EPYTHON PYTHON;
    python_wrapper_setup;
    "${@}"
}
_python_obtain_impls ()
{
    _python_validate_useflags;
    if [[ -n ${PYTHON_COMPAT_OVERRIDE} ]]; then
        MULTIBUILD_VARIANTS=(${PYTHON_COMPAT_OVERRIDE});
        return;
    fi;
    MULTIBUILD_VARIANTS=();
    local impl;
    for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        has "${impl}" "${PYTHON_COMPAT[@]}" && use "python_targets_${impl}" && MULTIBUILD_VARIANTS+=("${impl}");
    done
}
_python_set_impls ()
{
    local i;
    if ! declare -p PYTHON_COMPAT &> /dev/null; then
        die 'PYTHON_COMPAT not declared.';
    fi;
    if [[ $(declare -p PYTHON_COMPAT) != "declare -a"* ]]; then
        die 'PYTHON_COMPAT must be an array.';
    fi;
    for i in "${PYTHON_COMPAT[@]}";
    do
        _python_impl_supported "${i}";
    done;
    local supp=() unsupp=();
    for i in "${_PYTHON_ALL_IMPLS[@]}";
    do
        if has "${i}" "${PYTHON_COMPAT[@]}"; then
            supp+=("${i}");
        else
            unsupp+=("${i}");
        fi;
    done;
    if [[ ! -n ${supp[@]} ]]; then
        die "No supported implementation in PYTHON_COMPAT.";
    fi;
    if [[ -n ${_PYTHON_SUPPORTED_IMPLS[@]} ]]; then
        if [[ ${_PYTHON_SUPPORTED_IMPLS[@]} != ${supp[@]} ]]; then
            eerror "Supported impls (PYTHON_COMPAT) changed between inherits!";
            eerror "Before: ${_PYTHON_SUPPORTED_IMPLS[*]}";
            eerror "Now   : ${supp[*]}";
            die "_PYTHON_SUPPORTED_IMPLS integrity check failed";
        fi;
        if [[ ${_PYTHON_UNSUPPORTED_IMPLS[@]} != ${unsupp[@]} ]]; then
            eerror "Unsupported impls changed between inherits!";
            eerror "Before: ${_PYTHON_UNSUPPORTED_IMPLS[*]}";
            eerror "Now   : ${unsupp[*]}";
            die "_PYTHON_UNSUPPORTED_IMPLS integrity check failed";
        fi;
    else
        _PYTHON_SUPPORTED_IMPLS=("${supp[@]}");
        _PYTHON_UNSUPPORTED_IMPLS=("${unsupp[@]}");
        readonly _PYTHON_SUPPORTED_IMPLS _PYTHON_UNSUPPORTED_IMPLS;
    fi
}
_python_validate_useflags ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if [[ -n ${PYTHON_COMPAT_OVERRIDE} ]]; then
        if [[ ! -n ${_PYTHON_COMPAT_OVERRIDE_WARNED} ]]; then
            ewarn "WARNING: PYTHON_COMPAT_OVERRIDE in effect. The following Python";
            ewarn "implementations will be enabled:";
            ewarn;
            ewarn "   ${PYTHON_COMPAT_OVERRIDE}";
            ewarn;
            ewarn "Dependencies won't be satisfied, and PYTHON_TARGETS will be ignored.";
            _PYTHON_COMPAT_OVERRIDE_WARNED=1;
        fi;
        return;
    fi;
    local i;
    for i in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        use "python_targets_${i}" && return 0;
    done;
    eerror "No Python implementation selected for the build. Please add one";
    eerror "of the following values to your PYTHON_TARGETS (in make.conf):";
    eerror;
    eerror "${PYTHON_COMPAT[@]}";
    echo;
    die "No supported Python implementation in PYTHON_TARGETS."
}
_tc-getPROG ()
{
    local tuple=$1;
    local v var vars=$2;
    local prog=($3);
    var=${vars%% *};
    for v in ${vars};
    do
        if [[ -n ${!v} ]]; then
            export ${var}="${!v}";
            echo "${!v}";
            return 0;
        fi;
    done;
    local search=;
    [[ -n $4 ]] && search=$(type -p $4-${prog[0]});
    [[ -z ${search} && -n ${!tuple} ]] && search=$(type -p ${!tuple}-${prog[0]});
    [[ -n ${search} ]] && prog[0]=${search##*/};
    export ${var}="${prog[*]}";
    echo "${!var}"
}
clang-fullversion ()
{
    _clang_fullversion '$1.$2.$3' "$@"
}
clang-major-version ()
{
    _clang_fullversion '$1' "$@"
}
clang-micro-version ()
{
    _clang_fullversion '$3' "$@"
}
clang-minor-version ()
{
    _clang_fullversion '$2' "$@"
}
clang-version ()
{
    _clang_fullversion '$1.$2' "$@"
}
distutils-r1_python_compile ()
{
    debug-print-function ${FUNCNAME} "${@}";
    _distutils-r1_copy_egg_info;
    local build_args=();
    if python_is_python3 && [[ ${EPYTHON} != python3.4 ]]; then
        if [[ ${EAPI} != [56] || ${EPYTHON} != python3.[56] ]]; then
            local jobs=$(makeopts_jobs "${MAKEOPTS}" INF);
            if [[ ${jobs} == INF ]]; then
                local nproc=$(get_nproc);
                jobs=$(( nproc + 1 ));
            fi;
            build_args+=(-j "${jobs}");
        fi;
    fi;
    esetup.py build "${build_args[@]}" "${@}"
}
distutils-r1_python_configure ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI 6 (it was a no-op)"
}
distutils-r1_python_install ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local args=("${@}");
    local -x PYTHONDONTWRITEBYTECODE=;
    addpredict "${EPREFIX}/usr/lib/${EPYTHON}";
    addpredict "${EPREFIX}/usr/$(get_libdir)/${EPYTHON}";
    addpredict /usr/lib/portage/pym;
    addpredict /usr/local;
    if [[ ! -n ${DISTUTILS_SINGLE_IMPL} ]]; then
        local mydistutilsargs=("${mydistutilsargs[@]}");
        local scriptdir=${EPREFIX}/usr/bin;
        local arg arg_vars;
        [[ -n ${mydistutilsargs[@]} ]] && eval arg_vars+=('mydistutilsargs['{0..$(( ${#mydistutilsargs[@]} - 1 ))}']');
        [[ -n ${args[@]} ]] && eval arg_vars+=('args['{0..$(( ${#args[@]} - 1 ))}']');
        set -- "${arg_vars[@]}";
        while [[ -n ${@} ]]; do
            local arg_var=${1};
            shift;
            local a=${!arg_var};
            case "${a}" in
                --install-scripts=*)
                    scriptdir=${a#--install-scripts=};
                    unset "${arg_var}"
                ;;
                --install-scripts)
                    scriptdir=${!1};
                    unset "${arg_var}" "${1}";
                    shift
                ;;
            esac;
        done;
    fi;
    local root=${D%/}/_${EPYTHON};
    [[ -n ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/};
    esetup.py install --root="${root}" "${args[@]}";
    local forbidden_package_names=(examples test tests .pytest_cache);
    local p;
    for p in "${forbidden_package_names[@]}";
    do
        if [[ -d ${root}$(python_get_sitedir)/${p} ]]; then
            die "Package installs '${p}' package which is forbidden and likely a bug in the build system.";
        fi;
    done;
    local shopt_save=$(shopt -p nullglob);
    shopt -s nullglob;
    local pypy_dirs=("${root}/usr/$(get_libdir)"/pypy*/share "${root}/usr/lib"/pypy*/share);
    ${shopt_save};
    if [[ -n ${pypy_dirs} ]]; then
        local cmd=die;
        [[ ${EAPI} == [45] ]] && cmd=eqawarn;
        "${cmd}" "Package installs 'share' in PyPy prefix, see bug #465546.";
    fi;
    if [[ ! -n ${DISTUTILS_SINGLE_IMPL} ]]; then
        _distutils-r1_wrap_scripts "${root}" "${scriptdir}";
        multibuild_merge_root "${root}" "${D%/}";
    fi
}
distutils-r1_python_install_all ()
{
    debug-print-function ${FUNCNAME} "${@}";
    einstalldocs;
    if declare -p EXAMPLES &> /dev/null; then
        [[ ${EAPI} != [45] ]] && die "EXAMPLES are banned in EAPI ${EAPI}";
        ( docinto examples;
        dodoc -r "${EXAMPLES[@]}" );
        docompress -x "/usr/share/doc/${PF}/examples";
    fi;
    _DISTUTILS_DEFAULT_CALLED=1
}
distutils-r1_python_prepare ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI 6 (it was a no-op)"
}
distutils-r1_python_prepare_all ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if [[ ! -n ${DISTUTILS_OPTIONAL} ]]; then
        if [[ ${EAPI} != [45] ]]; then
            default;
        else
            [[ -n ${PATCHES} ]] && epatch "${PATCHES[@]}";
            epatch_user;
        fi;
    fi;
    if [[ ! -n ${DISTUTILS_IN_SOURCE_BUILD+1} ]]; then
        if declare -f python_prepare > /dev/null; then
            DISTUTILS_IN_SOURCE_BUILD=1;
        fi;
    fi;
    _distutils-r1_disable_ez_setup;
    if [[ -n ${DISTUTILS_IN_SOURCE_BUILD} && ! -n ${DISTUTILS_SINGLE_IMPL} ]]; then
        python_copy_sources;
    fi;
    _DISTUTILS_DEFAULT_CALLED=1
}
distutils-r1_run_phase ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if [[ -n ${DISTUTILS_IN_SOURCE_BUILD} ]]; then
        if [[ ! -n ${DISTUTILS_SINGLE_IMPL} ]]; then
            cd "${BUILD_DIR}" || die;
        fi;
        local BUILD_DIR=${BUILD_DIR}/build;
    fi;
    local -x PYTHONPATH="${BUILD_DIR}/lib:${PYTHONPATH}";
    mkdir -p "${BUILD_DIR}/lib" || die;
    local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX};
    tc-export AR CC CPP CXX;
    local ldopts;
    case "${CHOST}" in
        *-aix*)
            ldopts='-shared -Wl,-berok'
        ;;
        *-darwin*)
            ldopts='-bundle -undefined dynamic_lookup'
        ;;
        *)
            ldopts='-shared'
        ;;
    esac;
    local -x LDSHARED="${CC} ${ldopts}" LDCXXSHARED="${CXX} ${ldopts}";
    "${@}";
    cd "${_DISTUTILS_INITIAL_CWD}" || die
}
distutils-r1_src_compile ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if declare -f python_compile > /dev/null; then
        _distutils-r1_run_foreach_impl python_compile;
    else
        _distutils-r1_run_foreach_impl distutils-r1_python_compile;
    fi;
    if declare -f python_compile_all > /dev/null; then
        _distutils-r1_run_common_phase python_compile_all;
    fi
}
distutils-r1_src_configure ()
{
    python_export_utf8_locale;
    [[ ${EAPI} == [56] ]] && xdg_environment_reset;
    if declare -f python_configure > /dev/null; then
        _distutils-r1_run_foreach_impl python_configure;
    fi;
    if declare -f python_configure_all > /dev/null; then
        _distutils-r1_run_common_phase python_configure_all;
    fi
}
distutils-r1_src_install ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if declare -f python_install > /dev/null; then
        _distutils-r1_run_foreach_impl python_install;
    else
        _distutils-r1_run_foreach_impl distutils-r1_python_install;
    fi;
    local _DISTUTILS_DEFAULT_CALLED;
    if declare -f python_install_all > /dev/null; then
        _distutils-r1_run_common_phase python_install_all;
    else
        _distutils-r1_run_common_phase distutils-r1_python_install_all;
    fi;
    if [[ ! -n ${_DISTUTILS_DEFAULT_CALLED} ]]; then
        local cmd=die;
        [[ ${EAPI} == [45] ]] && cmd=eqawarn;
        "${cmd}" "QA: python_install_all() didn't call distutils-r1_python_install_all";
    fi;
    _distutils-r1_check_namespace_pth
}
distutils-r1_src_prepare ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local _DISTUTILS_DEFAULT_CALLED;
    if declare -f python_prepare_all > /dev/null; then
        python_prepare_all;
    else
        distutils-r1_python_prepare_all;
    fi;
    if [[ ! -n ${_DISTUTILS_DEFAULT_CALLED} ]]; then
        local cmd=die;
        [[ ${EAPI} == [45] ]] && cmd=eqawarn;
        "${cmd}" "QA: python_prepare_all() didn't call distutils-r1_python_prepare_all";
    fi;
    if declare -f python_prepare > /dev/null; then
        _distutils-r1_run_foreach_impl python_prepare;
    fi
}
distutils-r1_src_test ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if declare -f python_test > /dev/null; then
        _distutils-r1_run_foreach_impl python_test;
        _distutils-r1_run_foreach_impl _distutils-r1_clean_egg_info;
    fi;
    if declare -f python_test_all > /dev/null; then
        _distutils-r1_run_common_phase python_test_all;
    fi
}
distutils_get_intermediate_installation_image ()
{
    die "${FUNCNAME}() is invalid for distutils-r1"
}
distutils_install_for_testing ()
{
    debug-print-function ${FUNCNAME} "${@}";
    TEST_DIR=${BUILD_DIR}/test;
    local bindir=${TEST_DIR}/scripts;
    local libdir=${TEST_DIR}/lib;
    PYTHONPATH=${libdir}:${PYTHONPATH};
    local add_args=(install --home="${TEST_DIR}" --install-lib="${libdir}" --install-scripts="${bindir}");
    mkdir -p "${libdir}" || die;
    esetup.py "${add_args[@]}" "${@}"
}
distutils_pkg_postinst ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, and pkg_postinst is unnecessary"
}
distutils_pkg_postrm ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, and pkg_postrm is unnecessary"
}
distutils_src_compile ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, you probably want: ${FUNCNAME/_/-r1_}"
}
distutils_src_install ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, you probably want: ${FUNCNAME/_/-r1_}"
}
distutils_src_prepare ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, you probably want: ${FUNCNAME/_/-r1_}"
}
distutils_src_test ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, you probably want: ${FUNCNAME/_/-r1_}"
}
distutils_src_unpack ()
{
    die "${FUNCNAME}() is invalid for distutils-r1, and you don't want it in EAPI ${EAPI} anyway"
}
eapply ()
{
    local failed patch_cmd=patch;
    local -x LC_COLLATE=POSIX;
    type -P gpatch > /dev/null && patch_cmd=gpatch;
    function _eapply_patch ()
    {
        local f=${1};
        local prefix=${2};
        started_applying=1;
        ebegin "${prefix:-Applying }${f##*/}";
        ${patch_cmd} -p1 -f -s -g0 --no-backup-if-mismatch "${patch_options[@]}" < "${f}";
        failed=${?};
        if ! eend "${failed}"; then
            __helpers_die "patch -p1 ${patch_options[*]} failed with ${f}";
        fi
    };
    local patch_options=() files=();
    local i found_doublehyphen;
    for ((i = 1; i <= ${#@}; ++i ))
    do
        if [[ ${@:i:1} == -- ]]; then
            patch_options=("${@:1:i-1}");
            files=("${@:i+1}");
            found_doublehyphen=1;
            break;
        fi;
    done;
    if [[ -z ${found_doublehyphen} ]]; then
        for ((i = 1; i <= ${#@}; ++i ))
        do
            if [[ ${@:i:1} != -* ]]; then
                patch_options=("${@:1:i-1}");
                files=("${@:i}");
                break;
            fi;
        done;
        for i in "${files[@]}";
        do
            if [[ ${i} == -* ]]; then
                die "eapply: all options must be passed before non-options";
            fi;
        done;
    fi;
    if [[ ${#files[@]} -eq 0 ]]; then
        die "eapply: no files specified";
    fi;
    local f;
    for f in "${files[@]}";
    do
        if [[ -d ${f} ]]; then
            function _eapply_get_files ()
            {
                local LC_ALL=POSIX;
                local prev_shopt=$(shopt -p nullglob);
                shopt -s nullglob;
                local f;
                for f in "${1}"/*;
                do
                    if [[ ${f} == *.diff || ${f} == *.patch ]]; then
                        files+=("${f}");
                    fi;
                done;
                ${prev_shopt}
            };
            local files=();
            _eapply_get_files "${f}";
            [[ ${#files[@]} -eq 0 ]] && die "No *.{patch,diff} files in directory ${f}";
            einfo "Applying patches from ${f} ...";
            local f2;
            for f2 in "${files[@]}";
            do
                _eapply_patch "${f2}" '  ';
                [[ ${failed} -ne 0 ]] && return "${failed}";
            done;
        else
            _eapply_patch "${f}";
            [[ ${failed} -ne 0 ]] && return "${failed}";
        fi;
    done;
    return 0
}


_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Thu Aug 29, 2019 12:52 am    Post subject: Reply with quote

Code:


eapply_user ()
{
    [[ ${EBUILD_PHASE} == prepare ]] || die "eapply_user() called during invalid phase: ${EBUILD_PHASE}";
    local tagfile=${T}/.portage_user_patches_applied;
    [[ -f ${tagfile} ]] && return;
     >> "${tagfile}";
    local basedir=${PORTAGE_CONFIGROOT%/}/etc/portage/patches;
    local applied d f;
    local -A _eapply_user_patches;
    local prev_shopt=$(shopt -p nullglob);
    shopt -s nullglob;
    for d in "${basedir}"/${CATEGORY}/{${P}-${PR},${P},${PN}}{:${SLOT%/*},};
    do
        for f in "${d}"/*;
        do
            if [[ ( ${f} == *.diff || ${f} == *.patch ) && -z ${_eapply_user_patches[${f##*/}]} ]]; then
                _eapply_user_patches[${f##*/}]=${f};
            fi;
        done;
    done;
    if [[ ${#_eapply_user_patches[@]} -gt 0 ]]; then
        while read -r -d '' f; do
            f=${_eapply_user_patches[${f}]};
            if [[ -s ${f} ]]; then
                eapply "${f}";
                applied=1;
            fi;
        done < <(printf -- '%s\0' "${!_eapply_user_patches[@]}" |
            LC_ALL=C sort -z);
    fi;
    ${prev_shopt};
    [[ -n ${applied} ]] && ewarn "User patches applied."
}
econf_build ()
{
    local CBUILD=${CBUILD:-${CHOST}};
    tc-env_build econf --build=${CBUILD} --host=${CBUILD} "$@"
}
einstalldocs ()
{
    ( if ! declare -p DOCS &> /dev/null; then
        local d;
        for d in README* ChangeLog AUTHORS NEWS TODO CHANGES THANKS BUGS FAQ CREDITS CHANGELOG;
        do
            [[ -f ${d} && -s ${d} ]] && docinto / && dodoc "${d}";
        done;
    else
        if ___is_indexed_array_var DOCS; then
            [[ ${#DOCS[@]} -gt 0 ]] && docinto / && dodoc -r "${DOCS[@]}";
        else
            [[ -n ${DOCS} ]] && docinto / && dodoc -r ${DOCS};
        fi;
    fi );
    ( if ___is_indexed_array_var HTML_DOCS; then
        [[ ${#HTML_DOCS[@]} -gt 0 ]] && docinto html && dodoc -r "${HTML_DOCS[@]}";
    else
        [[ -n ${HTML_DOCS} ]] && docinto html && dodoc -r ${HTML_DOCS};
    fi )
}
esetup.py ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local die_args=();
    [[ ${EAPI} != [45] ]] && die_args+=(-n);
    [[ -n ${BUILD_DIR} ]] && _distutils-r1_create_setup_cfg;
    set -- "${EPYTHON:-python}" setup.py "${mydistutilsargs[@]}" "${@}";
    echo "${@}" 1>&2;
    "${@}" || die "${die_args[@]}";
    local ret=${?};
    if [[ -n ${BUILD_DIR} ]]; then
        rm "${HOME}"/.pydistutils.cfg || die "${die_args[@]}";
    fi;
    return ${ret}
}
gcc-fullversion ()
{
    _gcc_fullversion '$1.$2.$3' "$@"
}
gcc-major-version ()
{
    _gcc_fullversion '$1' "$@"
}
gcc-micro-version ()
{
    _gcc_fullversion '$3' "$@"
}
gcc-minor-version ()
{
    _gcc_fullversion '$2' "$@"
}
gcc-specs-directive ()
{
    local directive subdname subdirective;
    directive="$(_gcc-specs-directive_raw $1)";
    while [[ ${directive} == *%\(*\)* ]]; do
        subdname=${directive/*%\(};
        subdname=${subdname/\)*};
        subdirective="$(_gcc-specs-directive_raw ${subdname})";
        directive="${directive//\%(${subdname})/${subdirective}}";
    done;
    echo "${directive}";
    return 0
}
gcc-specs-nostrict ()
{
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fstrict-overflow:}" != "${directive}" ]]
}
gcc-specs-now ()
{
    local directive;
    directive=$(gcc-specs-directive link_command);
    [[ "${directive/\{!nonow:}" != "${directive}" ]]
}
gcc-specs-pie ()
{
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!nopie:}" != "${directive}" ]]
}
gcc-specs-relro ()
{
    local directive;
    directive=$(gcc-specs-directive link_command);
    [[ "${directive/\{!norelro:}" != "${directive}" ]]
}
gcc-specs-ssp ()
{
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fno-stack-protector:}" != "${directive}" ]]
}
gcc-specs-ssp-to-all ()
{
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fno-stack-protector-all:}" != "${directive}" ]]
}
gcc-specs-stack-check ()
{
    local directive;
    directive=$(gcc-specs-directive cc1);
    [[ "${directive/\{!fno-stack-check:}" != "${directive}" ]]
}
gcc-version ()
{
    _gcc_fullversion '$1.$2' "$@"
}
gen_usr_ldscript ()
{
    ewarn "${FUNCNAME}: Please migrate to usr-ldscript.eclass";
    local lib libdir=$(get_libdir) output_format="" auto=false suffix=$(get_libname);
    [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/;
    tc-is-static-only && return;
    if [[ $(type -t multilib_is_native_abi) == "function" ]]; then
        multilib_is_native_abi || return 0;
    fi;
    case ${CTARGET:-${CHOST}} in
        *-darwin*)

        ;;
        *-android*)
            return 0
        ;;
        *linux* | *-freebsd* | *-openbsd* | *-netbsd*)
            use prefix && return 0
        ;;
        *)
            return 0
        ;;
    esac;
    dodir /usr/${libdir};
    if [[ $1 == "-a" ]]; then
        auto=true;
        shift;
        dodir /${libdir};
    fi;
    local flags=(${CFLAGS} ${LDFLAGS} -Wl,--verbose);
    if $(tc-getLD) --version | grep -q 'GNU gold'; then
        local d="${T}/bfd-linker";
        mkdir -p "${d}";
        ln -sf $(which ${CHOST}-ld.bfd) "${d}"/ld;
        flags+=(-B"${d}");
    fi;
    output_format=$($(tc-getCC) "${flags[@]}" 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p');
    [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )";
    for lib in "$@";
    do
        local tlib;
        if ${auto}; then
            lib="lib${lib}${suffix}";
        else
            [[ -r ${ED}/${libdir}/${lib} ]] || continue;
        fi;
        case ${CTARGET:-${CHOST}} in
            *-darwin*)
                if ${auto}; then
                    tlib=$(scanmacho -qF'%S#F' "${ED}"/usr/${libdir}/${lib});
                else
                    tlib=$(scanmacho -qF'%S#F' "${ED}"/${libdir}/${lib});
                fi;
                [[ -z ${tlib} ]] && die "unable to read install_name from ${lib}";
                tlib=${tlib##*/};
                if ${auto}; then
                    mv "${ED}"/usr/${libdir}/${lib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die;
                    if [[ ${tlib} != ${lib%${suffix}}.*${suffix#.} ]]; then
                        mv "${ED}"/usr/${libdir}/${tlib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die;
                    fi;
                    rm -f "${ED}"/${libdir}/${lib};
                fi;
                if [[ ! -w "${ED}/${libdir}/${tlib}" ]]; then
                    chmod u+w "${ED}${libdir}/${tlib}";
                    local nowrite=yes;
                fi;
                install_name_tool -id "${EPREFIX}"/${libdir}/${tlib} "${ED}"/${libdir}/${tlib} || die "install_name_tool failed";
                [[ -n ${nowrite} ]] && chmod u-w "${ED}${libdir}/${tlib}";
                pushd "${ED}/usr/${libdir}" > /dev/null;
                ln -snf "../../${libdir}/${tlib}" "${lib}";
                popd > /dev/null
            ;;
            *)
                if ${auto}; then
                    tlib=$(scanelf -qF'%S#F' "${ED}"/usr/${libdir}/${lib});
                    [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
                    mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die;
                    if [[ ${tlib} != ${lib}* ]]; then
                        mv "${ED}"/usr/${libdir}/${tlib}* "${ED}"/${libdir}/ || die;
                    fi;
                    rm -f "${ED}"/${libdir}/${lib};
                else
                    tlib=${lib};
                fi;
                cat > "${ED}/usr/${libdir}/${lib}" <<-END_LDSCRIPT
/* GNU ld script
   Since Gentoo has critical dynamic libraries in /lib, and the static versions
   in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
   run into linking problems.  This "fake" dynamic lib is a linker script that
   redirects the linker to the real lib.  And yes, this works in the cross-
   compiling scenario as the sysroot-ed linker will prepend the real path.

   See bug https://bugs.gentoo.org/4411 for more info.
 */
${output_format}
GROUP ( ${EPREFIX}/${libdir}/${tlib} )
END_LDSCRIPT

            ;;
        esac
        fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on ${lib}";
    done
}
get_abi_CFLAGS ()
{
    get_abi_var CFLAGS "$@"
}
get_abi_CHOST ()
{
    get_abi_var CHOST "$@"
}
get_abi_CTARGET ()
{
    get_abi_var CTARGET "$@"
}
get_abi_FAKE_TARGETS ()
{
    get_abi_var FAKE_TARGETS "$@"
}
get_abi_LDFLAGS ()
{
    get_abi_var LDFLAGS "$@"
}
get_abi_LIBDIR ()
{
    get_abi_var LIBDIR "$@"
}
get_abi_var ()
{
    local flag=$1;
    local abi=${2:-${ABI:-${DEFAULT_ABI:-default}}};
    local var="${flag}_${abi}";
    echo ${!var}
}
get_all_abis ()
{
    local x order="" mvar dvar;
    mvar="MULTILIB_ABIS";
    dvar="DEFAULT_ABI";
    if [[ -n $1 ]]; then
        mvar="$1_${mvar}";
        dvar="$1_${dvar}";
    fi;
    if [[ -z ${!mvar} ]]; then
        echo "default";
        return 0;
    fi;
    for x in ${!mvar};
    do
        if [[ ${x} != ${!dvar} ]]; then
            order="${order:+${order} }${x}";
        fi;
    done;
    order="${order:+${order} }${!dvar}";
    echo ${order};
    return 0
}
get_all_libdirs ()
{
    local libdirs abi;
    for abi in ${MULTILIB_ABIS};
    do
        libdirs+=" $(get_abi_LIBDIR ${abi})";
    done;
    [[ " ${libdirs} " != *" lib "* ]] && libdirs+=" lib";
    echo "${libdirs}"
}
get_exeext ()
{
    case ${CHOST} in
        *-cygwin* | mingw* | *-mingw*)
            echo ".exe"
        ;;
    esac
}
get_install_abis ()
{
    local x order="";
    if [[ -z ${MULTILIB_ABIS} ]]; then
        echo "default";
        return 0;
    fi;
    if [[ ${EMULTILIB_PKG} == "true" ]]; then
        for x in ${MULTILIB_ABIS};
        do
            if [[ ${x} != "${DEFAULT_ABI}" ]]; then
                has ${x} ${ABI_DENY} || order="${order} ${x}";
            fi;
        done;
        has ${DEFAULT_ABI} ${ABI_DENY} || order="${order} ${DEFAULT_ABI}";
        if [[ -n ${ABI_ALLOW} ]]; then
            local ordera="";
            for x in ${order};
            do
                if has ${x} ${ABI_ALLOW}; then
                    ordera="${ordera} ${x}";
                fi;
            done;
            order=${ordera};
        fi;
    else
        order=${DEFAULT_ABI};
    fi;
    if [[ -z ${order} ]]; then
        die "The ABI list is empty.  Are you using a proper multilib profile?  Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package.";
    fi;
    echo ${order};
    return 0
}
get_libdir ()
{
    local libdir_var="LIBDIR_${ABI}";
    local libdir="lib";
    [[ -n ${ABI} && -n ${!libdir_var} ]] && libdir=${!libdir_var};
    echo "${libdir}"
}
get_libname ()
{
    local libname;
    local ver=$1;
    case ${CHOST} in
        *-cygwin*)
            libname="dll.a"
        ;;
        mingw* | *-mingw*)
            libname="dll"
        ;;
        *-darwin*)
            libname="dylib"
        ;;
        *-mint*)
            libname="irrelevant"
        ;;
        hppa*-hpux*)
            libname="sl"
        ;;
        *)
            libname="so"
        ;;
    esac;
    if [[ -z $* ]]; then
        echo ".${libname}";
    else
        for ver in "$@";
        do
            case ${CHOST} in
                *-cygwin*)
                    echo ".${ver}.${libname}"
                ;;
                *-darwin*)
                    echo ".${ver}.${libname}"
                ;;
                *-mint*)
                    echo ".${libname}"
                ;;
                *)
                    echo ".${libname}.${ver}"
                ;;
            esac;
        done;
    fi
}
get_modname ()
{
    local modname;
    local ver=$1;
    case ${CHOST} in
        *-darwin*)
            modname="bundle"
        ;;
        *)
            modname="so"
        ;;
    esac;
    echo ".${modname}"
}
get_nproc ()
{
    local nproc;
    if type -P nproc &> /dev/null; then
        nproc=$(nproc);
    fi;
    if [[ -z ${nproc} ]] && type -P sysctl &> /dev/null; then
        nproc=$(sysctl -n hw.ncpu 2>/dev/null);
    fi;
    if [[ -z ${nproc} ]] && type -P python &> /dev/null; then
        nproc=$(python -c 'import multiprocessing; print(multiprocessing.cpu_count());' 2>/dev/null);
    fi;
    if [[ -n ${nproc} ]]; then
        echo "${nproc}";
    else
        echo "${1:-1}";
    fi
}
has_multilib_profile ()
{
    [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
}
in_iuse ()
{
    local use=${1};
    if [[ -z "${use}" ]]; then
        echo "!!! in_iuse() called without a parameter." 1>&2;
        echo "!!! in_iuse <USEFLAG>" 1>&2;
        die "in_iuse() called without a parameter";
    fi;
    local liuse=(${IUSE_EFFECTIVE});
    has "${use}" "${liuse[@]#[+-]}"
}
is_final_abi ()
{
    has_multilib_profile || return 0;
    set -- $(get_install_abis);
    local LAST_ABI=$#;
    [[ ${!LAST_ABI} == ${ABI} ]]
}
makeopts_jobs ()
{
    [[ $# -eq 0 ]] && set -- "${MAKEOPTS}";
    local jobs=$(echo " $* " | sed -r -n       -e 's:.*[[:space:]](-[a-z]*j|--jobs[=[:space:]])[[:space:]]*([0-9]+).*:\2:p'       -e "s:.*[[:space:]](-[a-z]*j|--jobs)[[:space:]].*:${2:-999}:p");
    echo ${jobs:-1}
}
makeopts_loadavg ()
{
    [[ $# -eq 0 ]] && set -- "${MAKEOPTS}";
    local lavg=$(echo " $* " | sed -r -n       -e 's:.*[[:space:]](-[a-z]*l|--(load-average|max-load)[=[:space:]])[[:space:]]*([0-9]+(\.[0-9]+)?)[[:space:]].*:\3:p'       -e "s:.*[[:space:]](-[a-z]*l|--(load-average|max-load))[[:space:]].*:${2:-999}:p");
    echo ${lavg:-${2:-999}}
}
multibuild_copy_sources ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local _MULTIBUILD_INITIAL_BUILD_DIR=${BUILD_DIR:-${S}};
    einfo "Will copy sources from ${_MULTIBUILD_INITIAL_BUILD_DIR}";
    local cp_args=();
    if cp --reflink=auto --version &> /dev/null; then
        cp_args+=(--reflink=auto);
    fi;
    function _multibuild_create_source_copy ()
    {
        einfo "${MULTIBUILD_VARIANT}: copying to ${BUILD_DIR}";
        cp -p -R "${cp_args[@]}" "${_MULTIBUILD_INITIAL_BUILD_DIR}" "${BUILD_DIR}" || die
    };
    multibuild_foreach_variant _multibuild_create_source_copy
}
multibuild_for_best_variant ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ -n ${MULTIBUILD_VARIANTS} ]] || die "MULTIBUILD_VARIANTS need to be set";
    local MULTIBUILD_VARIANTS=("${MULTIBUILD_VARIANTS[$(( ${#MULTIBUILD_VARIANTS[@]} - 1 ))]}");
    multibuild_foreach_variant "${@}"
}
multibuild_foreach_variant ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ -n ${MULTIBUILD_VARIANTS} ]] || die "MULTIBUILD_VARIANTS need to be set";
    local bdir=${BUILD_DIR:-${S}};
    [[ ${bdir%%/} == ${WORKDIR%%/} ]] && bdir=${WORKDIR}/build;
    local prev_id=${MULTIBUILD_ID:+${MULTIBUILD_ID}-};
    local ret=0 lret=0 v;
    debug-print "${FUNCNAME}: initial build_dir = ${bdir}";
    for v in "${MULTIBUILD_VARIANTS[@]}";
    do
        local MULTIBUILD_VARIANT=${v};
        local MULTIBUILD_ID=${prev_id}${v};
        local BUILD_DIR=${bdir%%/}-${v};
        function _multibuild_run ()
        {
            local i=1;
            while [[ ${!i} == _* ]]; do
                (( i += 1 ));
            done;
            [[ ${i} -le ${#} ]] && einfo "${v}: running ${@:${i}}";
            "${@}"
        };
        _multibuild_run "${@}" > >(exec tee -a "${T}/build-${MULTIBUILD_ID}.log") 2>&1;
        lret=${?};
    done;
    [[ ${ret} -eq 0 && ${lret} -ne 0 ]] && ret=${lret};
    return ${ret}
}
multibuild_merge_root ()
{
    local src=${1};
    local dest=${2};
    local ret;
    if use userland_BSD; then
        tar -C "${src}" -f - -c . | tar -x -f - -C "${dest}";
        [[ ${PIPESTATUS[*]} == '0 0' ]];
        ret=${?};
    else
        local cp_args=();
        if cp -a --version &> /dev/null; then
            cp_args+=(-a);
        else
            cp_args+=(-P -R -p);
        fi;
        if cp --reflink=auto --version &> /dev/null; then
            cp_args+=(--reflink=auto);
        fi;
        cp "${cp_args[@]}" "${src}"/. "${dest}"/;
        ret=${?};
    fi;
    if [[ ${ret} -ne 0 ]]; then
        die "${MULTIBUILD_VARIANT:-(unknown)}: merging image failed.";
    fi;
    rm -rf "${src}"
}
multibuild_parallel_foreach_variant ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}";
    multibuild_foreach_variant "${@}"
}
multilib_env ()
{
    local CTARGET=${1:-${CTARGET}};
    local cpu=${CTARGET%%*-};
    case ${cpu} in
        aarch64*)
            export CFLAGS_arm=${CFLAGS_arm-};
            case ${cpu} in
                aarch64*be)
                    export CHOST_arm="armv8b-${CTARGET#*-}"
                ;;
                *)
                    export CHOST_arm="armv8l-${CTARGET#*-}"
                ;;
            esac;
            CHOST_arm=${CHOST_arm/%-gnu/-gnueabi};
            export CTARGET_arm=${CHOST_arm};
            export LIBDIR_arm="lib";
            export CFLAGS_arm64=${CFLAGS_arm64-};
            export CHOST_arm64=${CTARGET};
            export CTARGET_arm64=${CHOST_arm64};
            export LIBDIR_arm64="lib64";
            : ${MULTILIB_ABIS=arm64};
            : ${DEFAULT_ABI=arm64}
        ;;
        x86_64*)
            export CFLAGS_x86=${CFLAGS_x86--m32};
            export CHOST_x86=${CTARGET/x86_64/i686};
            CHOST_x86=${CHOST_x86/%-gnux32/-gnu};
            export CTARGET_x86=${CHOST_x86};
            if [[ ${SYMLINK_LIB} == "yes" ]]; then
                export LIBDIR_x86="lib32";
            else
                export LIBDIR_x86="lib";
            fi;
            export CFLAGS_amd64=${CFLAGS_amd64--m64};
            export CHOST_amd64=${CTARGET/%-gnux32/-gnu};
            export CTARGET_amd64=${CHOST_amd64};
            export LIBDIR_amd64="lib64";
            export CFLAGS_x32=${CFLAGS_x32--mx32};
            export CHOST_x32=${CTARGET/%-gnu/-gnux32};
            export CTARGET_x32=${CHOST_x32};
            export LIBDIR_x32="libx32";
            case ${CTARGET} in
                *-gnux32)
                    : ${MULTILIB_ABIS=x32 amd64 x86};
                    : ${DEFAULT_ABI=x32}
                ;;
                *)
                    : ${MULTILIB_ABIS=amd64 x86};
                    : ${DEFAULT_ABI=amd64}
                ;;
            esac
        ;;
        mips64* | mipsisa64*)
            export CFLAGS_o32=${CFLAGS_o32--mabi=32};
            export CHOST_o32=${CTARGET/mips64/mips};
            export CHOST_o32=${CHOST_o32/mipsisa64/mipsisa32};
            export CTARGET_o32=${CHOST_o32};
            export LIBDIR_o32="lib";
            export CFLAGS_n32=${CFLAGS_n32--mabi=n32};
            export CHOST_n32=${CTARGET};
            export CTARGET_n32=${CHOST_n32};
            export LIBDIR_n32="lib32";
            export CFLAGS_n64=${CFLAGS_n64--mabi=64};
            export CHOST_n64=${CTARGET};
            export CTARGET_n64=${CHOST_n64};
            export LIBDIR_n64="lib64";
            : ${MULTILIB_ABIS=n64 n32 o32};
            : ${DEFAULT_ABI=n32}
        ;;
        powerpc64*)
            export CFLAGS_ppc=${CFLAGS_ppc--m32};
            export CHOST_ppc=${CTARGET/powerpc64/powerpc};
            export CTARGET_ppc=${CHOST_ppc};
            export LIBDIR_ppc="lib";
            export CFLAGS_ppc64=${CFLAGS_ppc64--m64};
            export CHOST_ppc64=${CTARGET};
            export CTARGET_ppc64=${CHOST_ppc64};
            export LIBDIR_ppc64="lib64";
            : ${MULTILIB_ABIS=ppc64 ppc};
            : ${DEFAULT_ABI=ppc64}
        ;;
        riscv64*)
            export CFLAGS_lp64d=${CFLAGS_lp64d--mabi=lp64d};
            export CHOST_lp64d=${CTARGET};
            export CTARGET_lp64d=${CTARGET};
            export LIBDIR_lp64d="lib64/lp64d";
            export CFLAGS_lp64=${CFLAGS_lp64--mabi=lp64};
            export CHOST_lp64=${CTARGET};
            export CTARGET_lp64=${CTARGET};
            export LIBDIR_lp64="lib64/lp64";
            : ${MULTILIB_ABIS=lp64d lp64};
            : ${DEFAULT_ABI=lp64d}
        ;;
        s390x*)
            export CFLAGS_s390=${CFLAGS_s390--m31};
            export CHOST_s390=${CTARGET/s390x/s390};
            export CTARGET_s390=${CHOST_s390};
            export LIBDIR_s390="lib";
            export CFLAGS_s390x=${CFLAGS_s390x--m64};
            export CHOST_s390x=${CTARGET};
            export CTARGET_s390x=${CHOST_s390x};
            export LIBDIR_s390x="lib64";
            : ${MULTILIB_ABIS=s390x s390};
            : ${DEFAULT_ABI=s390x}
        ;;
        sparc64*)
            export CFLAGS_sparc32=${CFLAGS_sparc32--m32};
            export CHOST_sparc32=${CTARGET/sparc64/sparc};
            export CTARGET_sparc32=${CHOST_sparc32};
            export LIBDIR_sparc32="lib";
            export CFLAGS_sparc64=${CFLAGS_sparc64--m64};
            export CHOST_sparc64=${CTARGET};
            export CTARGET_sparc64=${CHOST_sparc64};
            export LIBDIR_sparc64="lib64";
            : ${MULTILIB_ABIS=sparc64 sparc32};
            : ${DEFAULT_ABI=sparc64}
        ;;
        *)
            : ${MULTILIB_ABIS=default};
            : ${DEFAULT_ABI=default}
        ;;
    esac;
    export MULTILIB_ABIS DEFAULT_ABI
}
multilib_toolchain_setup ()
{
    local v vv;
    export ABI=$1;
    if [[ ${_DEFAULT_ABI_SAVED} == "true" ]]; then
        for v in CHOST CBUILD AS CC CXX F77 FC LD PKG_CONFIG_{LIBDIR,PATH};
        do
            vv="_abi_saved_${v}";
            [[ ${!vv+set} == "set" ]] && export ${v}="${!vv}" || unset ${v};
            unset ${vv};
        done;
        unset _DEFAULT_ABI_SAVED;
    fi;
    if [[ ${ABI} != ${DEFAULT_ABI} ]]; then
        for v in CHOST CBUILD AS CC CXX F77 FC LD PKG_CONFIG_{LIBDIR,PATH};
        do
            vv="_abi_saved_${v}";
            [[ ${!v+set} == "set" ]] && export ${vv}="${!v}" || unset ${vv};
        done;
        export _DEFAULT_ABI_SAVED="true";
        if [[ ${CBUILD} == "${CHOST}" ]]; then
            export CBUILD=$(get_abi_CHOST $1);
        fi;
        export CHOST=$(get_abi_CHOST ${DEFAULT_ABI});
        export CC="$(tc-getCC) $(get_abi_CFLAGS)";
        export CXX="$(tc-getCXX) $(get_abi_CFLAGS)";
        export F77="$(tc-getF77) $(get_abi_CFLAGS)";
        export FC="$(tc-getFC) $(get_abi_CFLAGS)";
        export LD="$(tc-getLD) $(get_abi_LDFLAGS)";
        export CHOST=$(get_abi_CHOST $1);
        export PKG_CONFIG_LIBDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig;
        export PKG_CONFIG_PATH=${EPREFIX}/usr/share/pkgconfig;
    fi
}
number_abis ()
{
    set -- `get_install_abis`;
    echo $#
}
pkg_nofetch ()
{
    default
}
python_abi_depend ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_byte-compile_modules ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_clean_byte-compiled_modules ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_clean_installation_image ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_clean_py-compile_files ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_convert_shebangs ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#python_convert_shebangs"
}
python_copy_sources ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local MULTIBUILD_VARIANTS;
    _python_obtain_impls;
    multibuild_copy_sources
}
python_disable_pyc ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_doexe ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local f;
    for f in "$@";
    do
        python_newexe "${f}" "${f##*/}";
    done
}
python_doheader ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ -n ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).';
    if [[ ${EAPI:-0} == [0123] ]]; then
        die "python_do* and python_new* helpers are banned in EAPIs older than 4.";
    fi;
    local d PYTHON_INCLUDEDIR=${PYTHON_INCLUDEDIR};
    [[ -n ${PYTHON_INCLUDEDIR} ]] || python_export PYTHON_INCLUDEDIR;
    d=${PYTHON_INCLUDEDIR#${EPREFIX}};
    ( insopts -m 0644;
    insinto "${d}";
    doins -r "${@}" || return ${?} )
}
python_domodule ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ -n ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).';
    if [[ ${EAPI:-0} == [0123] ]]; then
        die "python_do* and python_new* helpers are banned in EAPIs older than 4.";
    fi;
    local d;
    if [[ ${python_moduleroot} == /* ]]; then
        d=${python_moduleroot};
    else
        local PYTHON_SITEDIR=${PYTHON_SITEDIR};
        [[ -n ${PYTHON_SITEDIR} ]] || python_export PYTHON_SITEDIR;
        d=${PYTHON_SITEDIR#${EPREFIX}}/${python_moduleroot//.//};
    fi;
    ( insopts -m 0644;
    insinto "${d}";
    doins -r "${@}" || return ${?} );
    python_optimize "${ED%/}/${d}"
}
python_doscript ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local _PYTHON_REWRITE_SHEBANG=1;
    python_doexe "${@}"
}
python_enable_pyc ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_execute_function ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#python_execute_function"
}
python_execute_nosetests ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_execute_py.test ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_execute_trial ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_export ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local impl var;
    case "${1}" in
        python* | jython*)
            impl=${1/_/.};
            shift
        ;;
        pypy | pypy3)
            impl=${1};
            shift
        ;;
        *)
            impl=${EPYTHON};
            if [[ -z ${impl} ]]; then
                die "python_export called without a python implementation and EPYTHON is unset";
            fi
        ;;
    esac;
    debug-print "${FUNCNAME}: implementation: ${impl}";
    for var in "$@";
    do
        case "${var}" in
            EPYTHON)
                export EPYTHON=${impl};
                debug-print "${FUNCNAME}: EPYTHON = ${EPYTHON}"
            ;;
            PYTHON)
                export PYTHON=${EPREFIX}/usr/bin/${impl};
                debug-print "${FUNCNAME}: PYTHON = ${PYTHON}"
            ;;
            PYTHON_SITEDIR)
                [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it";
                PYTHON_SITEDIR=$("${PYTHON}" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib())') || die;
                export PYTHON_SITEDIR;
                debug-print "${FUNCNAME}: PYTHON_SITEDIR = ${PYTHON_SITEDIR}"
            ;;
            PYTHON_INCLUDEDIR)
                [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it";
                PYTHON_INCLUDEDIR=$("${PYTHON}" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())') || die;
                export PYTHON_INCLUDEDIR;
                debug-print "${FUNCNAME}: PYTHON_INCLUDEDIR = ${PYTHON_INCLUDEDIR}";
                if [[ ! -d ${PYTHON_INCLUDEDIR} ]]; then
                    die "${impl} does not install any header files!";
                fi
            ;;
            PYTHON_LIBPATH)
                [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it";
                PYTHON_LIBPATH=$("${PYTHON}" -c 'import os.path, sysconfig; print(os.path.join(sysconfig.get_config_var("LIBDIR"), sysconfig.get_config_var("LDLIBRARY")) if sysconfig.get_config_var("LDLIBRARY") else "")') || die;
                export PYTHON_LIBPATH;
                debug-print "${FUNCNAME}: PYTHON_LIBPATH = ${PYTHON_LIBPATH}";
                if [[ ! -n ${PYTHON_LIBPATH} ]]; then
                    die "${impl} lacks a (usable) dynamic library";
                fi
            ;;
            PYTHON_CFLAGS)
                local val;
                case "${impl}" in
                    python*)
                        val=$($(tc-getPKG_CONFIG) --cflags ${impl/n/n-}) || die
                    ;;
                    *)
                        die "${impl}: obtaining ${var} not supported"
                    ;;
                esac;
                export PYTHON_CFLAGS=${val};
                debug-print "${FUNCNAME}: PYTHON_CFLAGS = ${PYTHON_CFLAGS}"
            ;;
            PYTHON_LIBS)
                local val;
                case "${impl}" in
                    python*)
                        val=$($(tc-getPKG_CONFIG) --libs ${impl/n/n-}) || die
                    ;;
                    *)
                        die "${impl}: obtaining ${var} not supported"
                    ;;
                esac;
                export PYTHON_LIBS=${val};
                debug-print "${FUNCNAME}: PYTHON_LIBS = ${PYTHON_LIBS}"
            ;;
            PYTHON_CONFIG)
                local flags val;
                case "${impl}" in
                    python*)
                        [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it";
                        flags=$("${PYTHON}" -c 'import sysconfig; print(sysconfig.get_config_var("ABIFLAGS") or "")') || die;
                        val=${PYTHON}${flags}-config
                    ;;
                    *)
                        die "${impl}: obtaining ${var} not supported"
                    ;;
                esac;
                export PYTHON_CONFIG=${val};
                debug-print "${FUNCNAME}: PYTHON_CONFIG = ${PYTHON_CONFIG}"
            ;;
            PYTHON_PKG_DEP)
                local d;
                case ${impl} in
                    python2.7)
                        PYTHON_PKG_DEP='>=dev-lang/python-2.7.5-r2:2.7'
                    ;;
                    python3.3)
                        PYTHON_PKG_DEP='>=dev-lang/python-3.3.2-r2:3.3'
                    ;;
                    python*)
                        PYTHON_PKG_DEP="dev-lang/python:${impl#python}"
                    ;;
                    pypy)
                        PYTHON_PKG_DEP='>=virtual/pypy-5:0='
                    ;;
                    pypy3)
                        PYTHON_PKG_DEP='>=virtual/pypy3-5:0='
                    ;;
                    jython2.7)
                        PYTHON_PKG_DEP='dev-java/jython:2.7'
                    ;;
                    *)
                        die "Invalid implementation: ${impl}"
                    ;;
                esac;
                if [[ -n ${PYTHON_REQ_USE} ]]; then
                    PYTHON_PKG_DEP+=[${PYTHON_REQ_USE}];
                fi;
                export PYTHON_PKG_DEP;
                debug-print "${FUNCNAME}: PYTHON_PKG_DEP = ${PYTHON_PKG_DEP}"
            ;;
            PYTHON_SCRIPTDIR)
                local dir;
                export PYTHON_SCRIPTDIR=${EPREFIX}/usr/lib/python-exec/${impl};
                debug-print "${FUNCNAME}: PYTHON_SCRIPTDIR = ${PYTHON_SCRIPTDIR}"
            ;;
            *)
                die "python_export: unknown variable ${var}"
            ;;
        esac;
    done
}
python_export_best ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ ${EAPI} == [45] ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}";
    eqawarn "python_export_best() is deprecated. Please use python_setup instead,";
    eqawarn "combined with python_export if necessary.";
    [[ ${#} -gt 0 ]] || set -- EPYTHON PYTHON;
    local best MULTIBUILD_VARIANTS;
    _python_obtain_impls;
    function _python_set_best ()
    {
        best=${MULTIBUILD_VARIANT}
    };
    multibuild_for_best_variant _python_set_best;
    unset -f _python_set_best;
    debug-print "${FUNCNAME}: Best implementation is: ${best}";
    python_export "${best}" "${@}";
    python_wrapper_setup
}
python_export_utf8_locale ()
{
    debug-print-function ${FUNCNAME} "${@}";
    type locale > /dev/null || return 0;
    if [[ $(locale charmap) != UTF-8 ]]; then
        local lang locales="C.UTF-8 en_US.UTF-8 en_GB.UTF-8 $(locale -a)";
        for lang in ${locales};
        do
            if [[ $(LC_ALL=${lang} locale charmap 2>/dev/null) == UTF-8 ]]; then
                if _python_check_locale_sanity "${lang}"; then
                    export LC_CTYPE=${lang};
                    if [[ -n ${LC_ALL} ]]; then
                        export LC_NUMERIC=${LC_ALL};
                        export LC_TIME=${LC_ALL};
                        export LC_COLLATE=${LC_ALL};
                        export LC_MONETARY=${LC_ALL};
                        export LC_MESSAGES=${LC_ALL};
                        export LC_PAPER=${LC_ALL};
                        export LC_NAME=${LC_ALL};
                        export LC_ADDRESS=${LC_ALL};
                        export LC_TELEPHONE=${LC_ALL};
                        export LC_MEASUREMENT=${LC_ALL};
                        export LC_IDENTIFICATION=${LC_ALL};
                        export LC_ALL=;
                    fi;
                    return 0;
                fi;
            fi;
        done;
        ewarn "Could not find a UTF-8 locale. This may trigger build failures in";
        ewarn "some python packages. Please ensure that a UTF-8 locale is listed in";
        ewarn "/etc/locale.gen and run locale-gen.";
        return 1;
    fi;
    return 0
}


_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Thu Aug 29, 2019 12:55 am    Post subject: Reply with quote

Code:
python_fix_shebang ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ -n ${EPYTHON} ]] || die "${FUNCNAME}: EPYTHON unset (pkg_setup not called?)";
    local force quiet;
    while [[ -n ${@} ]]; do
        case "${1}" in
            -f | --force)
                force=1;
                shift
            ;;
            -q | --quiet)
                quiet=1;
                shift
            ;;
            --)
                shift;
                break
            ;;
            *)
                break
            ;;
        esac;
    done;
    [[ -n ${1} ]] || die "${FUNCNAME}: no paths given";
    local path f;
    for path in "$@";
    do
        local any_correct any_fixed is_recursive;
        [[ -d ${path} ]] && is_recursive=1;
        while IFS= read -r -d '' f; do
            local shebang i;
            local error= from=;
            IFS= read -r shebang < "${f}";
            if [[ ${shebang} == '#!'* ]]; then
                local split_shebang=();
                read -r -a split_shebang <<< ${shebang} || die;
                for i in "${split_shebang[@]}";
                do
                    case "${i}" in
                        *"${EPYTHON}")
                            debug-print "${FUNCNAME}: in file ${f#${D%/}}";
                            debug-print "${FUNCNAME}: shebang matches EPYTHON: ${shebang}";
                            any_correct=1;
                            from=${EPYTHON};
                            break
                        ;;
                        *python | *python[23])
                            debug-print "${FUNCNAME}: in file ${f#${D%/}}";
                            debug-print "${FUNCNAME}: rewriting shebang: ${shebang}";
                            if [[ ${i} == *python2 ]]; then
                                from=python2;
                                if [[ ! -n ${force} ]]; then
                                    python_is_python3 "${EPYTHON}" && error=1;
                                fi;
                            else
                                if [[ ${i} == *python3 ]]; then
                                    from=python3;
                                    if [[ ! -n ${force} ]]; then
                                        python_is_python3 "${EPYTHON}" || error=1;
                                    fi;
                                else
                                    from=python;
                                fi;
                            fi;
                            break
                        ;;
                        *python[23].[0123456789] | *pypy | *pypy3 | *jython[23].[0123456789])
                            if [[ ! -n ${force} ]]; then
                                error=1;
                            else
                                case "${i}" in
                                    *python[23].[0123456789])
                                        from="python[23].[0123456789]"
                                    ;;
                                    *pypy)
                                        from="pypy"
                                    ;;
                                    *pypy3)
                                        from="pypy3"
                                    ;;
                                    *jython[23].[0123456789])
                                        from="jython[23].[0123456789]"
                                    ;;
                                    *)
                                        die "${FUNCNAME}: internal error in 2nd pattern match"
                                    ;;
                                esac;
                            fi;
                            break
                        ;;
                    esac;
                done;
            fi;
            if [[ ! -n ${error} && ! -n ${from} ]]; then
                [[ -n ${is_recursive} ]] && continue;
                error=1;
            fi;
            if [[ ! -n ${quiet} ]]; then
                einfo "Fixing shebang in ${f#${D%/}}.";
            fi;
            if [[ ! -n ${error} ]]; then
                if [[ ${shebang} == *${from}" "* ]]; then
                    sed -i -e "1s:${from} :${EPYTHON} :" "${f}" || die;
                else
                    sed -i -e "1s:${from}$:${EPYTHON}:" "${f}" || die;
                fi;
                any_fixed=1;
            else
                eerror "The file has incompatible shebang:";
                eerror "  file: ${f#${D%/}}";
                eerror "  current shebang: ${shebang}";
                eerror "  requested impl: ${EPYTHON}";
                die "${FUNCNAME}: conversion of incompatible shebang requested";
            fi;
        done < <(find -H "${path}" -type f -print0 || die);
        if [[ ! -n ${any_fixed} ]]; then
            local cmd=eerror;
            [[ ${EAPI:-0} == [012345] ]] && cmd=eqawarn;
            "${cmd}" "QA warning: ${FUNCNAME}, ${path#${D%/}} did not match any fixable files.";
            if [[ -n ${any_correct} ]]; then
                "${cmd}" "All files have ${EPYTHON} shebang already.";
            else
                "${cmd}" "There are no Python files in specified directory.";
            fi;
            [[ ${cmd} == eerror ]] && die "${FUNCNAME} did not match any fixable files (QA warning fatal in EAPI ${EAPI})";
        fi;
    done
}
python_foreach_impl ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local MULTIBUILD_VARIANTS;
    _python_obtain_impls;
    multibuild_foreach_variant _python_multibuild_wrapper "${@}"
}
python_gen_any_dep ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local depstr=${1};
    [[ -n ${depstr} ]] || die "No dependency string provided";
    shift;
    local i PYTHON_PKG_DEP out=;
    for i in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        if _python_impl_matches "${i}" "${@-*}"; then
            local PYTHON_USEDEP="python_targets_${i}(-),python_single_target_${i}(+)";
            python_export "${i}" PYTHON_PKG_DEP;
            local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}};
            out="( ${PYTHON_PKG_DEP%=} ${i_depstr} ) ${out}";
        fi;
    done;
    echo "|| ( ${out})"
}
python_gen_cond_dep ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local impl matches=();
    local dep=${1};
    shift;
    for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        if _python_impl_matches "${impl}" "${@}"; then
            if [[ ${dep} == *'${PYTHON_USEDEP}'* ]]; then
                local usedep=$(python_gen_usedep "${@}");
                dep=${dep//\$\{PYTHON_USEDEP\}/${usedep}};
            fi;
            matches+=("python_targets_${impl}? ( ${dep} )");
        fi;
    done;
    echo "${matches[@]}"
}
python_gen_impl_dep ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local impl matches=();
    local PYTHON_REQ_USE=${1};
    shift;
    local patterns=("${@-*}");
    for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        if _python_impl_matches "${impl}" "${patterns[@]}"; then
            local PYTHON_PKG_DEP;
            python_export "${impl}" PYTHON_PKG_DEP;
            matches+=("python_targets_${impl}? ( ${PYTHON_PKG_DEP} )");
        fi;
    done;
    echo "${matches[@]}"
}
python_gen_usedep ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local impl matches=();
    for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        if _python_impl_matches "${impl}" "${@}"; then
            matches+=("python_targets_${impl}(-)?" "-python_single_target_${impl}(-)");
        fi;
    done;
    [[ -n ${matches[@]} ]] || die "No supported implementations match python_gen_usedep patterns: ${@}";
    local out=${matches[@]};
    echo "${out// /,}"
}
python_gen_useflags ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local impl matches=();
    for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}";
    do
        if _python_impl_matches "${impl}" "${@}"; then
            matches+=("python_targets_${impl}");
        fi;
    done;
    echo "${matches[@]}"
}
python_generate_cffi_modules ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_generate_wrapper_scripts ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_CFLAGS ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_CFLAGS;
    echo "${PYTHON_CFLAGS}"
}
python_get_LIBS ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_LIBS;
    echo "${PYTHON_LIBS}"
}
python_get_PYTHON_CONFIG ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_CONFIG;
    echo "${PYTHON_CONFIG}"
}
python_get_extension_module_suffix ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_implementation ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_implementation_and_version ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_implementational_package ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_includedir ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_INCLUDEDIR;
    echo "${PYTHON_INCLUDEDIR}"
}
python_get_libdir ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_library ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_get_library_path ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_LIBPATH;
    echo "${PYTHON_LIBPATH}"
}
python_get_scriptdir ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_SCRIPTDIR;
    echo "${PYTHON_SCRIPTDIR}"
}
python_get_sitedir ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_export "${@}" PYTHON_SITEDIR;
    echo "${PYTHON_SITEDIR}"
}
python_get_version ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_install ()
{
    export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1;
    distutils-r1_python_install
}
python_install_executables ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_is_installed ()
{
    local impl=${1:-${EPYTHON}};
    [[ -n ${impl} ]] || die "${FUNCNAME}: no impl nor EPYTHON";
    local hasv_args=();
    case ${EAPI:-0} in
        0 | 1 | 2 | 3 | 4)
            local -x ROOT=/
        ;;
        5 | 6)
            hasv_args+=(--host-root)
        ;;
        *)
            hasv_args+=(-b)
        ;;
    esac;
    case "${impl}" in
        pypy | pypy3)
            local append=;
            if [[ -n ${PYTHON_REQ_USE} ]]; then
                append=[${PYTHON_REQ_USE}];
            fi;
            has_version "${hasv_args[@]}" "dev-python/${impl}${append}" || has_version "${hasv_args[@]}" "dev-python/${impl}-bin${append}"
        ;;
        *)
            local PYTHON_PKG_DEP;
            python_export "${impl}" PYTHON_PKG_DEP;
            has_version "${hasv_args[@]}" "${PYTHON_PKG_DEP}"
        ;;
    esac
}
python_is_python3 ()
{
    local impl=${1:-${EPYTHON}};
    [[ -n ${impl} ]] || die "python_is_python3: no impl nor EPYTHON";
    [[ ${impl} == python3* || ${impl} == pypy3 ]]
}
python_merge_intermediate_installation_images ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_mod_cleanup ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Python_byte-code_compilation"
}
python_mod_optimize ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#Python_byte-code_compilation"
}
python_moduleinto ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_moduleroot=${1}
}
python_need_rebuild ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite"
}
python_newexe ()
{
    debug-print-function ${FUNCNAME} "${@}";
    [[ -n ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).';
    [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} <path> <new-name>";
    if [[ ${EAPI:-0} == [0123] ]]; then
        die "python_do* and python_new* helpers are banned in EAPIs older than 4.";
    fi;
    local wrapd=${python_scriptroot:-/usr/bin};
    local f=${1};
    local newfn=${2};
    local PYTHON_SCRIPTDIR d;
    python_export PYTHON_SCRIPTDIR;
    d=${PYTHON_SCRIPTDIR#${EPREFIX}};
    ( dodir "${wrapd}";
    exeopts -m 0755;
    exeinto "${d}";
    newexe "${f}" "${newfn}" || return ${?} );
    _python_ln_rel "${ED%/}"/usr/lib/python-exec/python-exec2 "${ED%/}/${wrapd}/${newfn}" || die;
    if [[ -n ${_PYTHON_REWRITE_SHEBANG} ]]; then
        python_fix_shebang -q "${ED%/}/${d}/${newfn}";
    fi
}
python_newscript ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local _PYTHON_REWRITE_SHEBANG=1;
    python_newexe "${@}"
}

python_optimize ()
{
    debug-print-function ${FUNCNAME} "${@}";
    if [[ ${EBUILD_PHASE} == pre* || ${EBUILD_PHASE} == post* ]]; then
        eerror "The new Python eclasses expect the compiled Python files to";
        eerror "be controlled by the Package Manager. For this reason,";
        eerror "the python_optimize function can be used only during src_* phases";
        eerror "(src_install most commonly) and not during pkg_* phases.";
        echo;
        die "python_optimize is not to be used in pre/post* phases";
    fi;
    [[ -n ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).';
    local PYTHON=${PYTHON};
    [[ -n ${PYTHON} ]] || python_export PYTHON;
    if [[ ${#} -eq 0 ]]; then
        local f;
        while IFS= read -r -d '' f; do
            if [[ ${f} == /* && -d ${D%/}${f} ]]; then
                set -- "${D%/}${f}" "${@}";
            fi;
        done < <("${PYTHON}" -c 'import sys; print("\0".join(sys.path))' || die);
        debug-print "${FUNCNAME}: using sys.path: ${*/%/;}";
    fi;
    local d;
    for d in "$@";
    do
        local instpath=${d#${D%/}};
        instpath=/${instpath##/};
        case "${EPYTHON}" in
            python2.7 | python3.[34])
                "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}";
                "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}"
            ;;
            python* | pypy3)
                "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}";
                "${PYTHON}" -O -m compileall -q -f -d "${instpath}" "${d}";
                "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}"
            ;;
            *)
                "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}"
            ;;
        esac;
    done
}
python_pkg_setup ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#pkg_setup"
}
python_prepare_all ()
{
    if [[ ${PV} == "9999" ]]; then
        python_setup;
        ${EPYTHON} bootstrap.py || die;
    fi;
    rm setuptools/tests/test_packageindex.py || die;
    rm setuptools/tests/test_integration.py || die;
    distutils-r1_python_prepare_all
}
python_replicate_script ()
{
    debug-print-function ${FUNCNAME} "${@}";
    function _python_replicate_script ()
    {
        local _PYTHON_FIX_SHEBANG_QUIET=1;
        local PYTHON_SCRIPTDIR;
        python_export PYTHON_SCRIPTDIR;
        ( exeopts -m 0755;
        exeinto "${PYTHON_SCRIPTDIR#${EPREFIX}}";
        doexe "${files[@]}" );
        python_fix_shebang -q "${files[@]/*\//${D%/}/${PYTHON_SCRIPTDIR}/}"
    };
    local files=("${@}");
    python_foreach_impl _python_replicate_script;
    unset -f _python_replicate_script;
    local f;
    for f in "$@";
    do
        _python_ln_rel "${ED%/}/usr/lib/python-exec/python-exec2" "${f}" || die;
    done
}
python_scriptinto ()
{
    debug-print-function ${FUNCNAME} "${@}";
    python_scriptroot=${1}
}
python_set_active_version ()
{
    die "${FUNCNAME}() is invalid for python-r1 suite, please take a look @ https://wiki.gentoo.org/wiki/Project:Python/Python.eclass_conversion#pkg_setup"
}
python_setup ()
{
    debug-print-function ${FUNCNAME} "${@}";
    _python_validate_useflags;
    local pycompat=("${PYTHON_COMPAT[@]}");
    if [[ -n ${PYTHON_COMPAT_OVERRIDE} ]]; then
        pycompat=(${PYTHON_COMPAT_OVERRIDE});
    fi;
    local has_check_deps;
    declare -f python_check_deps > /dev/null && has_check_deps=1;
    local found;
    for ((i = ${#_PYTHON_SUPPORTED_IMPLS[@]} - 1; i >= 0; i-- ))
    do
        local impl=${_PYTHON_SUPPORTED_IMPLS[i]};
        has "${impl}" "${pycompat[@]}" || continue;
        if [[ ! -n ${PYTHON_COMPAT_OVERRIDE} && ! -n ${has_check_deps} ]]; then
            use "python_targets_${impl}" || continue;
        fi;
        _python_impl_matches "${impl}" "${@-*}" || continue;
        python_export "${impl}" EPYTHON PYTHON;
        if [[ -n ${has_check_deps} ]]; then
            python_is_installed "${impl}" || continue;
            local PYTHON_USEDEP="python_targets_${impl}(-),python_single_target_${impl}(+)";
            python_check_deps || continue;
        fi;
        found=1;
        break;
    done;
    if [[ ! -n ${found} ]]; then
        eerror "${FUNCNAME}: none of the enabled implementation matched the patterns.";
        eerror "  patterns: ${@-'(*)'}";
        eerror "Likely a REQUIRED_USE constraint (possibly USE-conditional) is missing.";
        eerror "  suggested: || ( \$(python_gen_useflags ${@}) )";
        eerror "(remember to quote all the patterns with '')";
        die "${FUNCNAME}: no enabled implementation satisfy requirements";
    fi;
    python_wrapper_setup
}
python_test ()
{
    HOME="${PWD}" pytest -vv ${PN} || die "Tests failed under ${EPYTHON}"
}
python_wrapper_setup ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local workdir=${1:-${T}/${EPYTHON}};
    local impl=${2:-${EPYTHON}};
    [[ -n ${workdir} ]] || die "${FUNCNAME}: no workdir specified.";
    [[ -n ${impl} ]] || die "${FUNCNAME}: no impl nor EPYTHON specified.";
    if [[ ! -x ${workdir}/bin/python ]]; then
        _python_check_dead_variables;
        mkdir -p "${workdir}"/{bin,pkgconfig} || die;
        rm -f "${workdir}"/bin/python{,2,3}{,-config} || die;
        rm -f "${workdir}"/bin/2to3 || die;
        rm -f "${workdir}"/pkgconfig/python{,2,3}.pc || die;
        local EPYTHON PYTHON;
        python_export "${impl}" EPYTHON PYTHON;
        local pyver pyother;
        if python_is_python3; then
            pyver=3;
            pyother=2;
        else
            pyver=2;
            pyother=3;
        fi;
        cat > "${workdir}/bin/python" <<-_EOF_ ||
#!/bin/sh
exec "${PYTHON}" "\${@}"
_EOF_
 die
        cp "${workdir}/bin/python" "${workdir}/bin/python${pyver}" || die;
        chmod +x "${workdir}/bin/python" "${workdir}/bin/python${pyver}" || die;
        local nonsupp=("python${pyother}" "python${pyother}-config");
        if [[ ${EPYTHON} == python* ]]; then
            cat > "${workdir}/bin/python-config" <<-_EOF_ ||
#!/bin/sh
exec "${PYTHON}-config" "\${@}"
_EOF_
 die
            cp "${workdir}/bin/python-config" "${workdir}/bin/python${pyver}-config" || die;
            chmod +x "${workdir}/bin/python-config" "${workdir}/bin/python${pyver}-config" || die;
            ln -s "${PYTHON/python/2to3-}" "${workdir}"/bin/2to3 || die;
            ln -s "${EPREFIX}"/usr/$(get_libdir)/pkgconfig/${EPYTHON/n/n-}.pc "${workdir}"/pkgconfig/python.pc || die;
            ln -s python.pc "${workdir}"/pkgconfig/python${pyver}.pc || die;
        else
            nonsupp+=(2to3 python-config "python${pyver}-config");
        fi;
        local x;
        for x in "${nonsupp[@]}";
        do
            cat > "${workdir}"/bin/${x} <<-_EOF_ ||
#!/bin/sh
echo "${ECLASS}: ${FUNCNAME}: ${x} is not supported by ${EPYTHON} (PYTHON_COMPAT)" >&2
exit 127
_EOF_
 die
            chmod +x "${workdir}"/bin/${x} || die;
        done;
    fi;
    if [[ ${PATH##:*} != ${workdir}/bin ]]; then
        PATH=${workdir}/bin${PATH:+:${PATH}};
    fi;
    if [[ ${PKG_CONFIG_PATH##:*} != ${workdir}/pkgconfig ]]; then
        PKG_CONFIG_PATH=${workdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}};
    fi;
    export PATH PKG_CONFIG_PATH
}
run_in_build_dir ()
{
    debug-print-function ${FUNCNAME} "${@}";
    local ret;
    [[ ${#} -ne 0 ]] || die "${FUNCNAME}: no command specified.";
    [[ -n ${BUILD_DIR} ]] || die "${FUNCNAME}: BUILD_DIR not set.";
    mkdir -p "${BUILD_DIR}" || die;
    pushd "${BUILD_DIR}" > /dev/null || die;
    "${@}";
    ret=${?};
    popd > /dev/null || die;
    return ${ret}
}
src_compile ()
{
    distutils-r1_src_compile "$@"
}
src_configure ()
{
    distutils-r1_src_configure "$@"
}
src_install ()
{
    distutils-r1_src_install "$@"
}
src_prepare ()
{
    distutils-r1_src_prepare "$@"
}
src_test ()
{
    distutils-r1_src_test "$@"
}
src_unpack ()
{
    default
}
tc-arch ()
{
    tc-ninja_magic_to_arch portage "$@"
}
tc-arch-kernel ()
{
    tc-ninja_magic_to_arch kern "$@"
}
tc-check-openmp ()
{
    if ! tc-has-openmp; then
        eerror "Your current compiler does not support OpenMP!";
        if tc-is-gcc; then
            eerror "Enable OpenMP support by building sys-devel/gcc with USE=\"openmp\".";
        else
            if tc-is-clang; then
                eerror "OpenMP support in sys-devel/clang is provided by sys-libs/libomp.";
            fi;
        fi;
        die "Active compiler does not have required support for OpenMP";
    fi
}
tc-cpp-is-true ()
{
    local CONDITION=${1};
    shift;
    local RESULT=$($(tc-getTARGET_CPP) "${@}" -P - <<-EOF 2>/dev/null
         #if ${CONDITION}
         true
         #endif
      EOF
   );
    [[ ${RESULT} == true ]]
}
tc-detect-is-softfloat ()
{
    [[ $(tc-getTARGET_CPP) == "gcc -E" ]] && return 1;
    case ${CTARGET:-${CHOST}} in
        *-newlib | *-elf | *-eabi)
            return 1
        ;;
        arm*)
            if tc-cpp-is-true "defined(__ARM_PCS_VFP)"; then
                echo "no";
            else
                if tc-cpp-is-true "defined(__SOFTFP__)"; then
                    echo "yes";
                else
                    echo "softfp";
                fi;
            fi;
            return 0
        ;;
        *)
            return 1
        ;;
    esac
}
tc-enables-pie ()
{
    tc-cpp-is-true "defined(__PIE__)" ${CPPFLAGS} ${CFLAGS}
}
tc-enables-ssp ()
{
    tc-cpp-is-true "defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
}
tc-enables-ssp-all ()
{
    tc-cpp-is-true "defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
}
tc-enables-ssp-strong ()
{
    tc-cpp-is-true "defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
}
tc-endian ()
{
    local host=$1;
    [[ -z ${host} ]] && host=${CTARGET:-${CHOST}};
    host=${host%%-*};
    case ${host} in
        aarch64*be)
            echo big
        ;;
        aarch64)
            echo little
        ;;
        alpha*)
            echo little
        ;;
        arm*b*)
            echo big
        ;;
        arm*)
            echo little
        ;;
        cris*)
            echo little
        ;;
        hppa*)
            echo big
        ;;
        i?86*)
            echo little
        ;;
        ia64*)
            echo little
        ;;
        m68*)
            echo big
        ;;
        mips*l*)
            echo little
        ;;
        mips*)
            echo big
        ;;
        powerpc*le)
            echo little
        ;;
        powerpc*)
            echo big
        ;;
        riscv*)
            echo little
        ;;
        s390*)
            echo big
        ;;
        sh*b*)
            echo big
        ;;
        sh*)
            echo little
        ;;
        sparc*)
            echo big
        ;;
        x86_64*)
            echo little
        ;;
        *)
            echo wtf
        ;;
    esac
}
tc-env_build ()
{
    tc-export_build_env;
    CFLAGS=${BUILD_CFLAGS} CXXFLAGS=${BUILD_CXXFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} AR=$(tc-getBUILD_AR) AS=$(tc-getBUILD_AS) CC=$(tc-getBUILD_CC) CPP=$(tc-getBUILD_CPP) CXX=$(tc-getBUILD_CXX) LD=$(tc-getBUILD_LD) NM=$(tc-getBUILD_NM) PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG) RANLIB=$(tc-getBUILD_RANLIB) "$@"
}
tc-export ()
{
    local var;
    for var in "$@";
    do
        [[ $(type -t "tc-get${var}") != "function" ]] && die "tc-export: invalid export variable '${var}'";
        "tc-get${var}" > /dev/null;
    done
}
tc-export_build_env ()
{
    tc-export "$@";
    if tc-is-cross-compiler; then
        : ${BUILD_CFLAGS:=-O1 -pipe};
        : ${BUILD_CXXFLAGS:=-O1 -pipe};
        : ${BUILD_CPPFLAGS:= };
        : ${BUILD_LDFLAGS:= };
    else
        : ${BUILD_CFLAGS:=${CFLAGS}};
        : ${BUILD_CXXFLAGS:=${CXXFLAGS}};
        : ${BUILD_CPPFLAGS:=${CPPFLAGS}};
        : ${BUILD_LDFLAGS:=${LDFLAGS}};
    fi;
    export BUILD_{C,CXX,CPP,LD}FLAGS;
    local v;
    for v in BUILD_{C,CXX,CPP,LD}FLAGS;
    do
        export ${v#BUILD_}_FOR_BUILD="${!v}";
    done
}
tc-get-compiler-type ()
{
    local code='
#if defined(__PATHSCALE__)
   HAVE_PATHCC
#elif defined(__clang__)
   HAVE_CLANG
#elif defined(__GNUC__)
   HAVE_GCC
#endif
';
    local res=$($(tc-getCPP "$@") -E -P - <<<"${code}");
    case ${res} in
        *HAVE_PATHCC*)
            echo pathcc
        ;;
        *HAVE_CLANG*)
            echo clang
        ;;
        *HAVE_GCC*)
            echo gcc
        ;;
        *)
            echo unknown
        ;;
    esac
}
tc-getAR ()
{
    tc-getPROG AR ar "$@"
}
tc-getAS ()
{
    tc-getPROG AS as "$@"
}
tc-getBUILD_AR ()
{
    tc-getBUILD_PROG AR ar "$@"
}
tc-getBUILD_AS ()
{
    tc-getBUILD_PROG AS as "$@"
}
tc-getBUILD_CC ()
{
    tc-getBUILD_PROG CC gcc "$@"
}
tc-getBUILD_CPP ()
{
    tc-getBUILD_PROG CPP "$(tc-getBUILD_CC) -E" "$@"
}
tc-getBUILD_CXX ()
{
    tc-getBUILD_PROG CXX g++ "$@"
}
tc-getBUILD_LD ()
{
    tc-getBUILD_PROG LD ld "$@"
}
tc-getBUILD_NM ()
{
    tc-getBUILD_PROG NM nm "$@"
}
tc-getBUILD_OBJCOPY ()
{
    tc-getBUILD_PROG OBJCOPY objcopy "$@"
}
tc-getBUILD_PKG_CONFIG ()
{
    tc-getBUILD_PROG PKG_CONFIG pkg-config "$@"
}
tc-getBUILD_PROG ()
{
    local vars="BUILD_$1 $1_FOR_BUILD HOST$1";
    tc-is-cross-compiler || vars+=" $1";
    _tc-getPROG CBUILD "${vars}" "${@:2}"
}
tc-getBUILD_RANLIB ()
{
    tc-getBUILD_PROG RANLIB ranlib "$@"
}
tc-getBUILD_STRIP ()
{
    tc-getBUILD_PROG STRIP strip "$@"
}
tc-getCC ()
{
    tc-getPROG CC gcc "$@"
}
tc-getCPP ()
{
    tc-getPROG CPP "${CC:-gcc} -E" "$@"
}
tc-getCXX ()
{
    tc-getPROG CXX g++ "$@"
}
tc-getDLLWRAP ()
{
    tc-getPROG DLLWRAP dllwrap "$@"
}
tc-getF77 ()
{
    tc-getPROG F77 gfortran "$@"
}
tc-getFC ()
{
    tc-getPROG FC gfortran "$@"
}
tc-getGCJ ()
{
    tc-getPROG GCJ gcj "$@"
}
tc-getGO ()
{
    tc-getPROG GO gccgo "$@"
}
tc-getLD ()
{
    tc-getPROG LD ld "$@"
}
tc-getNM ()
{
    tc-getPROG NM nm "$@"
}
tc-getOBJCOPY ()
{
    tc-getPROG OBJCOPY objcopy "$@"
}
tc-getOBJDUMP ()
{
    tc-getPROG OBJDUMP objdump "$@"
}
tc-getPKG_CONFIG ()
{
    tc-getPROG PKG_CONFIG pkg-config "$@"
}
tc-getPROG ()
{
    _tc-getPROG CHOST "$@"
}
tc-getRANLIB ()
{
    tc-getPROG RANLIB ranlib "$@"
}
tc-getRC ()
{
    tc-getPROG RC windres "$@"
}
tc-getSTRIP ()
{
    tc-getPROG STRIP strip "$@"
}
tc-getTARGET_CPP ()
{
    if [[ -n ${CTARGET} ]]; then
        _tc-getPROG CTARGET TARGET_CPP "gcc -E" "$@";
    else
        tc-getCPP "$@";
    fi
}
tc-has-openmp ()
{
    local base="${T}/test-tc-openmp";
    cat <<-EOF > "${base}.c"
#include <omp.h>
int main() {
int nthreads, tid, ret = 0;
#pragma omp parallel private(nthreads, tid)
{
tid = omp_get_thread_num();
nthreads = omp_get_num_threads(); ret += tid + nthreads;
}
return ret;
}
EOF

    $(tc-getCC "$@") -fopenmp "${base}.c" -o "${base}" &> /dev/null;
    local ret=$?;
    rm -f "${base}"*;
    return ${ret}
}
tc-has-tls ()
{
    local base="${T}/test-tc-tls";
    cat <<-EOF > "${base}.c"
int foo(int *i) {
static __thread int j = 0;
return *i ? j : *i;
}
EOF

    local flags;
    case $1 in
        -s)
            flags="-S"
        ;;
        -c)
            flags="-c"
        ;;
        -l)

        ;;
        -*)
            die "Usage: tc-has-tls [-c|-l] [toolchain prefix]"
        ;;
    esac;
    : ${flags:=-fPIC -shared -Wl,-z,defs};
    [[ $1 == -* ]] && shift;
    $(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" &> /dev/null;
    local ret=$?;
    rm -f "${base}"*;
    return ${ret}
}
tc-is-clang ()
{
    [[ $(tc-get-compiler-type) == clang ]]
}
tc-is-cross-compiler ()
{
    [[ ${CBUILD:-${CHOST}} != ${CHOST} ]]
}
tc-is-gcc ()
{
    [[ $(tc-get-compiler-type) == gcc ]]
}
tc-is-softfloat ()
{
    tc-detect-is-softfloat || tc-tuple-is-softfloat
}
tc-is-static-only ()
{
    local host=${CTARGET:-${CHOST}};
    [[ ${host} == *-mint* ]]
}
tc-ld-disable-gold ()
{
    if ! tc-ld-is-gold "$@"; then
        return;
    fi;
    ewarn "Forcing usage of the BFD linker instead of GOLD";
    local ld=$(tc-getLD "$@");
    local bfd_ld="${ld%% *}.bfd";
    local path_ld=$(which "${bfd_ld}" 2>/dev/null);
    [[ -e ${path_ld} ]] && export LD=${bfd_ld};
    local fallback="true";
    if tc-is-gcc; then
        local major=$(gcc-major-version "$@");
        local minor=$(gcc-minor-version "$@");
        if [[ ${major} -gt 4 ]] || [[ ${major} -eq 4 && ${minor} -ge 8 ]]; then
            export LDFLAGS="${LDFLAGS} -fuse-ld=bfd";
            fallback="false";
        fi;
    else
        if tc-is-clang; then
            local major=$(clang-major-version "$@");
            local minor=$(clang-minor-version "$@");
            if [[ ${major} -gt 3 ]] || [[ ${major} -eq 3 && ${minor} -ge 5 ]]; then
                export LDFLAGS="${LDFLAGS} -fuse-ld=bfd";
                fallback="false";
            fi;
        fi;
    fi;
    if [[ ${fallback} == "true" ]]; then
        if [[ -e ${path_ld} ]]; then
            local d="${T}/bfd-linker";
            mkdir -p "${d}";
            ln -sf "${path_ld}" "${d}"/ld;
            export LDFLAGS="${LDFLAGS} -B${d}";
        else
            die "unable to locate a BFD linker to bypass gold";
        fi;
    fi
}
tc-ld-is-gold ()
{
    local out;
    out=$($(tc-getLD "$@") --version 2>&1);
    if [[ ${out} == *"GNU gold"* ]]; then
        return 0;
    fi;
    local base="${T}/test-tc-gold";
    cat <<-EOF > "${base}.c"
int main() { return 0; }
EOF

    out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1);
    rm -f "${base}"*;
    if [[ ${out} == *"GNU gold"* ]]; then
        return 0;
    fi;
    return 1
}
tc-ninja_magic_to_arch ()
{
    function ninj ()
    {
        [[ ${type} == "kern" ]] && echo $1 || echo $2
    };
    local type=$1;
    local host=$2;
    [[ -z ${host} ]] && host=${CTARGET:-${CHOST}};
    case ${host} in
        aarch64*)
            echo arm64
        ;;
        alpha*)
            echo alpha
        ;;
        arm*)
            echo arm
        ;;
        avr*)
            ninj avr32 avr
        ;;
        bfin*)
            ninj blackfin bfin
        ;;
        c6x*)
            echo c6x
        ;;
        cris*)
            echo cris
        ;;
        frv*)
            echo frv
        ;;
        hexagon*)
            echo hexagon
        ;;
        hppa*)
            ninj parisc hppa
        ;;
        i?86*)
            if [[ ${type} == "kern" && ${host} == *freebsd* ]]; then
                echo i386;
            else
                echo x86;
            fi
        ;;
        ia64*)
            echo ia64
        ;;
        m68*)
            echo m68k
        ;;
        metag*)
            echo metag
        ;;
        microblaze*)
            echo microblaze
        ;;
        mips*)
            echo mips
        ;;
        nios2*)
            echo nios2
        ;;
        nios*)
            echo nios
        ;;
        or1k | or32*)
            echo openrisc
        ;;
        powerpc*)
            if [[ ${type} == "kern" ]]; then
                echo powerpc;
            else
                if [[ ${host} == powerpc64* ]]; then
                    echo ppc64;
                else
                    echo ppc;
                fi;
            fi
        ;;
        riscv*)
            echo riscv
        ;;
        s390*)
            echo s390
        ;;
        score*)
            echo score
        ;;
        sh64*)
            ninj sh64 sh
        ;;
        sh*)
            echo sh
        ;;
        sparc64*)
            ninj sparc64 sparc
        ;;
        sparc*)
            [[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo sparc
        ;;
        tile*)
            echo tile
        ;;
        vax*)
            echo vax
        ;;
        x86_64*freebsd*)
            echo amd64
        ;;
        x86_64*)
            if [[ ${type} == "kern" ]]; then
                echo x86;
            else
                echo amd64;
            fi
        ;;
        xtensa*)
            echo xtensa
        ;;
        *)
            echo unknown
        ;;
    esac
}
tc-stack-grows-down ()
{
    case ${ARCH} in
        hppa | metag)
            return 1
        ;;
    esac;
    return 0
}
tc-tuple-is-softfloat ()
{
    local CTARGET=${CTARGET:-${CHOST}};
    case ${CTARGET//_/-} in
        bfin* | h8300*)
            echo "only"
        ;;
        *-softfloat-*)
            echo "yes"
        ;;
        *-softfp-*)
            echo "softfp"
        ;;
        arm*-hardfloat-* | arm*eabihf)
            echo "no"
        ;;
        *-newlib | *-elf | *-eabi)
            echo "no"
        ;;
        arm*)
            echo "yes"
        ;;
        *)
            echo "no"
        ;;
    esac
}
ver_cut ()
{
    local range=${1};
    local v=${2:-${PV}};
    local start end;
    local -a comp;
    __eapi7_ver_split "${v}";
    local max=$((${#comp[@]}/2));
    __eapi7_ver_parse_range "${range}" "${max}";
    local IFS=;
    if [[ ${start} -gt 0 ]]; then
        start=$(( start*2 - 1 ));
    fi;
    echo "${comp[*]:start:end*2-start}"
}
ver_rs ()
{
    local v;
    (( ${#} & 1 )) && v=${@: -1} || v=${PV};
    local start end i;
    local -a comp;
    __eapi7_ver_split "${v}";
    local max=$((${#comp[@]}/2 - 1));
    while [[ ${#} -ge 2 ]]; do
        __eapi7_ver_parse_range "${1}" "${max}";
        for ((i = start*2; i <= end*2; i+=2 ))
        do
            [[ ${i} -eq 0 && -z ${comp[i]} ]] && continue;
            comp[i]=${2};
        done;
        shift 2;
    done;
    local IFS=;
    echo "${comp[*]}"
}
ver_test ()
{
    local va op vb;
    if [[ $# -eq 3 ]]; then
        va=${1};
        shift;
    else
        va=${PVR};
    fi;
    [[ $# -eq 2 ]] || die "${FUNCNAME}: bad number of arguments";
    op=${1};
    vb=${2};
    case ${op} in
        -eq | -ne | -lt | -le | -gt | -ge)

        ;;
        *)
            die "${FUNCNAME}: invalid operator: ${op}"
        ;;
    esac;
    __eapi7_ver_compare "${va}" "${vb}";
    test $? "${op}" 2
}



Code:


sudo emerge -pqv '=dev-python/setuptools-41.2.0::gentoo'
[ebuild  N    ] dev-python/setuptools-41.2.0  USE="-test" PYTHON_TARGETS="python2_7 python3_6 -pypy -pypy3 -python3_5 -python3_7"

_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Eleazar Anzola
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1308
Location: Caracas / Venezuela

PostPosted: Fri Aug 30, 2019 3:47 pm    Post subject: Reply with quote

He determinado después de mucho batallar y ver que una gran mayoría de paquetes y librerías están incompletas, que todos los fallos se deben a una mega corrupción de disco causada por múltiples caídas de electricidad en la zona, de las que no me había percatado por no estar presente cuando sucedieron y la maquina tiene por defecto volver a encender después de un corte.

No diré a que ni a quien se deben los cortes eléctricos para no herir susceptibilidades pero profundamente deseo que ................ a los responsables cada vez que respire un chino.

Doy por cerrado el tema, comienzo una instalación nueva y limpia de sistema.

Un Millón de Gracias al amigo quilosaq por sus aportes y valioso tiempo.
_________________
Salu2
Eleazar Anzola
Linux User : # 216232
__________________________________________
Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum