I'm having an issue with about a dozen packages not upgrading. I'd really appreciate some help getting them to build and install. I'm getting the feeling that the problems are somehow related, but really not sure.
First up: dev-libs/appstream-0.11.5::gentoo Anyone know what's going on here? This package is blocking at least 5 other packages from upgrading, and I find the information in the logs only slightly more helpful than WIndows "Something went wrong" errors. -- Elijah Mark Anderson m...@kd0bpv.name -- 「塵も積もれば山となる。」 "Even dust, when piled up, becomes a mountain" - Ancient Japanese proverb
[32;01m * [39;49;00mPackage: dev-libs/appstream-0.11.5 [32;01m * [39;49;00mRepository: gentoo [32;01m * [39;49;00mMaintainer: k...@gentoo.org [32;01m * [39;49;00mUSE: abi_x86_64 amd64 elibc_glibc kernel_linux qt5 userland_GNU [32;01m * [39;49;00mFEATURES: preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking appstream-0.11.5.tar.gz to /var/tmp/portage/dev-libs/appstream-0.11.5/work >>> Source unpacked in /var/tmp/portage/dev-libs/appstream-0.11.5/work >>> Preparing source in /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5 ... meson --buildtype plain --libdir lib64 --localstatedir /var/lib --prefix /usr --sysconfdir /etc --wrap-mode nodownload -Denable-docs=false -Denable-maintainer=false -Denable-stemming=true -Denable-vapi=false -Denable-apt-support=false -Denable-apidocs=false -Denable-qt=true /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5 /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build [1mThe Meson build system[0m Version: 0.46.0 Source dir: [1m/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5[0m Build dir: [1m/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build[0m Build type: [1mnative build[0m Project name: [1mAppStream[0m Native C compiler: [1mx86_64-pc-linux-gnu-gcc[0m (gcc 7.3.0 "x86_64-pc-linux-gnu-gcc (Gentoo 7.3.0-r1 p1.1) 7.3.0") Appending CFLAGS from environment: '-march=native -O2 -pipe' Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--as-needed' Build machine cpu family: [1mx86_64[0m Build machine cpu: [1mx86_64[0m Configuring [1mconfig.h[0m using configuration Found pkg-config: [1m/usr/bin/x86_64-pc-linux-gnu-pkg-config[0m (0.29.2) Native dependency [1mglib-2.0[0m found: [1;32mYES[0m 2.52.3 Native dependency [1mgobject-2.0[0m found: [1;32mYES[0m 2.52.3 Native dependency [1mgio-2.0[0m found: [1;32mYES[0m 2.52.3 Native dependency [1mgio-unix-2.0[0m found: [1;32mYES[0m 2.52.3 Native dependency [1mlibxml-2.0[0m found: [1;32mYES[0m 2.9.8 Native dependency [1myaml-0.1[0m found: [1;32mYES[0m 0.1.7 Library [1mstemmer[0m found: [1;32mYES[0m Has header "libstemmer.h": [1;32mYES[0m Native dependency [1mglib-2.0[0m found: [1;32mYES[0m 2.52.3 Native dependency [1mgobject-introspection-1.0[0m found: [1;32mYES[0m 1.52.1 Program [1mxsltproc[0m found: [1;32mYES[0m (/usr/bin/xsltproc) Native C++ compiler: [1mx86_64-pc-linux-gnu-g++[0m (gcc 7.3.0 "x86_64-pc-linux-gnu-g++ (Gentoo 7.3.0-r1 p1.1) 7.3.0") Appending CXXFLAGS from environment: '-march=native -O2 -pipe' Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--as-needed' [1;33mWARNING:[0m rcc dependencies will not work reliably until this upstream issue is fixed: [1mhttps://bugreports.qt.io/browse/QTBUG-45460[0m Native dependency [1mQt5Core[0m found: [1;32mYES[0m 5.9.5 Qt5 native `pkg-config` dependency (modules: Core) found: [1;32mYES[0m Detecting Qt5 tools moc: [1;32mYES[0m (/usr/lib64/qt5/bin/moc, 5.9.5) uic: [1;32mYES[0m (/usr/lib64/qt5/bin/uic, 5.9.5) rcc: [1;32mYES[0m (/usr/lib64/qt5/bin/rcc, 5.9.5) lrelease: [1;32mYES[0m (/usr/lib64/qt5/bin/lrelease, 5.9.5) Native dependency [1mQt5Core[0m found: [1;32mYES[0m 5.9.5 Native dependency [1mQt5Test[0m found: [1;32mYES[0m 5.9.5 Qt5 native `pkg-config` dependency (modules: Core, Test) found: [1;32mYES[0m Configuring [1mtestpaths.h[0m using configuration Configuring [1mAppStreamQtConfig.cmake[0m using configuration Configuring [1mAppStreamQtConfigVersion.cmake[0m using configuration Build targets in project: [1m19[0m Found ninja-1.8.2 at /usr/bin/ninja >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5 ... ninja -v -j9 -l0 -C /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build ninja: Entering directory `/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build' [1/106] glib-compile-resources ../appstream-APPSTREAM_0_11_5/src/appstream.gresource.xml --sourcedir ../appstream-APPSTREAM_0_11_5/src/../data --sourcedir ../appstream-APPSTREAM_0_11_5/src/ --c-name as --internal --generate --target src/as-resources.h [2/106] glib-compile-resources ../appstream-APPSTREAM_0_11_5/src/appstream.gresource.xml --sourcedir ../appstream-APPSTREAM_0_11_5/src/../data --sourcedir ../appstream-APPSTREAM_0_11_5/src/ --c-name as --internal --generate --target src/as-resources.c --dependency-file src/as-resources.c.d [3/106] x86_64-pc-linux-gnu-gcc -Itools/tools@@@appstreamcli@exe -Itools/ -I../appstream-APPSTREAM_0_11_5/tools -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itools/.. -I../appstream-APPSTREAM_0_11_5/tools/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tools/tools@@@appstreamcli@exe/ascli-actions-pkgmgr.c.o' -MF 'tools/tools@@@appstreamcli@exe/ascli-actions-pkgmgr.c.o.d' -o 'tools/tools@@@appstreamcli@exe/ascli-actions-pkgmgr.c.o' -c ../appstream-APPSTREAM_0_11_5/tools/ascli-actions-pkgmgr.c [4/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/meson-generated_.._as-resources.c.o' -MF 'src/src@@@appstream@sha/meson-generated_.._as-resources.c.o.d' -o 'src/src@@@appstream@sha/meson-generated_.._as-resources.c.o' -c src/as-resources.c [5/106] x86_64-pc-linux-gnu-gcc -Itools/tools@@@appstreamcli@exe -Itools/ -I../appstream-APPSTREAM_0_11_5/tools -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itools/.. -I../appstream-APPSTREAM_0_11_5/tools/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tools/tools@@@appstreamcli@exe/ascli-actions-misc.c.o' -MF 'tools/tools@@@appstreamcli@exe/ascli-actions-misc.c.o.d' -o 'tools/tools@@@appstreamcli@exe/ascli-actions-misc.c.o' -c ../appstream-APPSTREAM_0_11_5/tools/ascli-actions-misc.c [6/106] x86_64-pc-linux-gnu-gcc -Itools/tools@@@appstreamcli@exe -Itools/ -I../appstream-APPSTREAM_0_11_5/tools -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itools/.. -I../appstream-APPSTREAM_0_11_5/tools/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tools/tools@@@appstreamcli@exe/ascli-actions-validate.c.o' -MF 'tools/tools@@@appstreamcli@exe/ascli-actions-validate.c.o.d' -o 'tools/tools@@@appstreamcli@exe/ascli-actions-validate.c.o' -c ../appstream-APPSTREAM_0_11_5/tools/ascli-actions-validate.c [7/106] x86_64-pc-linux-gnu-gcc -Itools/tools@@@appstreamcli@exe -Itools/ -I../appstream-APPSTREAM_0_11_5/tools -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itools/.. -I../appstream-APPSTREAM_0_11_5/tools/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tools/tools@@@appstreamcli@exe/ascli-utils.c.o' -MF 'tools/tools@@@appstreamcli@exe/ascli-utils.c.o.d' -o 'tools/tools@@@appstreamcli@exe/ascli-utils.c.o' -c ../appstream-APPSTREAM_0_11_5/tools/ascli-utils.c [8/106] x86_64-pc-linux-gnu-gcc -Itools/tools@@@appstreamcli@exe -Itools/ -I../appstream-APPSTREAM_0_11_5/tools -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itools/.. -I../appstream-APPSTREAM_0_11_5/tools/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tools/tools@@@appstreamcli@exe/appstream-cli.c.o' -MF 'tools/tools@@@appstreamcli@exe/appstream-cli.c.o.d' -o 'tools/tools@@@appstreamcli@exe/appstream-cli.c.o' -c ../appstream-APPSTREAM_0_11_5/tools/appstream-cli.c [9/106] x86_64-pc-linux-gnu-gcc -Itools/tools@@@appstreamcli@exe -Itools/ -I../appstream-APPSTREAM_0_11_5/tools -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itools/.. -I../appstream-APPSTREAM_0_11_5/tools/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tools/tools@@@appstreamcli@exe/ascli-actions-mdata.c.o' -MF 'tools/tools@@@appstreamcli@exe/ascli-actions-mdata.c.o.d' -o 'tools/tools@@@appstreamcli@exe/ascli-actions-mdata.c.o' -c ../appstream-APPSTREAM_0_11_5/tools/ascli-actions-mdata.c [10/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-variant-cache.c.o' -MF 'src/src@@@appstream@sha/as-variant-cache.c.o.d' -o 'src/src@@@appstream@sha/as-variant-cache.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-variant-cache.c [11/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-context.c.o' -MF 'src/src@@@appstream@sha/as-context.c.o.d' -o 'src/src@@@appstream@sha/as-context.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-context.c [12/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-xml.c.o' -MF 'src/src@@@appstream@sha/as-xml.c.o.d' -o 'src/src@@@appstream@sha/as-xml.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-xml.c [13/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-yaml.c.o' -MF 'src/src@@@appstream@sha/as-yaml.c.o.d' -o 'src/src@@@appstream@sha/as-yaml.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-yaml.c [14/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-utils.c.o' -MF 'src/src@@@appstream@sha/as-utils.c.o.d' -o 'src/src@@@appstream@sha/as-utils.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-utils.c [15/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-distro-extras.c.o' -MF 'src/src@@@appstream@sha/as-distro-extras.c.o.d' -o 'src/src@@@appstream@sha/as-distro-extras.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-distro-extras.c [16/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-desktop-entry.c.o' -MF 'src/src@@@appstream@sha/as-desktop-entry.c.o.d' -o 'src/src@@@appstream@sha/as-desktop-entry.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-desktop-entry.c [17/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-stemmer.c.o' -MF 'src/src@@@appstream@sha/as-stemmer.c.o.d' -o 'src/src@@@appstream@sha/as-stemmer.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-stemmer.c [18/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-enums.c.o' -MF 'src/src@@@appstream@sha/as-enums.c.o.d' -o 'src/src@@@appstream@sha/as-enums.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-enums.c [19/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-provided.c.o' -MF 'src/src@@@appstream@sha/as-provided.c.o.d' -o 'src/src@@@appstream@sha/as-provided.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-provided.c [20/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-spdx.c.o' -MF 'src/src@@@appstream@sha/as-spdx.c.o.d' -o 'src/src@@@appstream@sha/as-spdx.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-spdx.c [21/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-bundle.c.o' -MF 'src/src@@@appstream@sha/as-bundle.c.o.d' -o 'src/src@@@appstream@sha/as-bundle.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-bundle.c [22/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-distro-details.c.o' -MF 'src/src@@@appstream@sha/as-distro-details.c.o.d' -o 'src/src@@@appstream@sha/as-distro-details.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-distro-details.c [23/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-category.c.o' -MF 'src/src@@@appstream@sha/as-category.c.o.d' -o 'src/src@@@appstream@sha/as-category.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-category.c [24/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-image.c.o' -MF 'src/src@@@appstream@sha/as-image.c.o.d' -o 'src/src@@@appstream@sha/as-image.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-image.c [25/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-metadata.c.o' -MF 'src/src@@@appstream@sha/as-metadata.c.o.d' -o 'src/src@@@appstream@sha/as-metadata.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-metadata.c [26/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-screenshot.c.o' -MF 'src/src@@@appstream@sha/as-screenshot.c.o.d' -o 'src/src@@@appstream@sha/as-screenshot.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-screenshot.c [27/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-checksum.c.o' -MF 'src/src@@@appstream@sha/as-checksum.c.o.d' -o 'src/src@@@appstream@sha/as-checksum.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-checksum.c [28/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-validator-issue.c.o' -MF 'src/src@@@appstream@sha/as-validator-issue.c.o.d' -o 'src/src@@@appstream@sha/as-validator-issue.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-validator-issue.c [29/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-release.c.o' -MF 'src/src@@@appstream@sha/as-release.c.o.d' -o 'src/src@@@appstream@sha/as-release.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-release.c [30/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-pool.c.o' -MF 'src/src@@@appstream@sha/as-pool.c.o.d' -o 'src/src@@@appstream@sha/as-pool.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-pool.c [31/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-icon.c.o' -MF 'src/src@@@appstream@sha/as-icon.c.o.d' -o 'src/src@@@appstream@sha/as-icon.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-icon.c [32/106] sh -c 'find /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/po/ -type f -iname "*.po" -printf '"'"'%f/n'"'"' | grep -oP '"'"'.*(?=[.])'"'"' | sort > /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/po/LINGUAS' [33/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-launchable.c.o' -MF 'src/src@@@appstream@sha/as-launchable.c.o.d' -o 'src/src@@@appstream@sha/as-launchable.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-launchable.c [34/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-translation.c.o' -MF 'src/src@@@appstream@sha/as-translation.c.o.d' -o 'src/src@@@appstream@sha/as-translation.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-translation.c [35/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-suggested.c.o' -MF 'src/src@@@appstream@sha/as-suggested.c.o.d' -o 'src/src@@@appstream@sha/as-suggested.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-suggested.c [36/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-content-rating.c.o' -MF 'src/src@@@appstream@sha/as-content-rating.c.o.d' -o 'src/src@@@appstream@sha/as-content-rating.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-content-rating.c [37/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-validator.c.o' -MF 'src/src@@@appstream@sha/as-validator.c.o.d' -o 'src/src@@@appstream@sha/as-validator.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-validator.c [38/106] x86_64-pc-linux-gnu-gcc -Itests/tests@@@as-test_basic@exe -Itests/ -I../appstream-APPSTREAM_0_11_5/tests -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itests/.. -I../appstream-APPSTREAM_0_11_5/tests/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tests/tests@@@as-test_basic@exe/as-test-utils.c.o' -MF 'tests/tests@@@as-test_basic@exe/as-test-utils.c.o.d' -o 'tests/tests@@@as-test_basic@exe/as-test-utils.c.o' -c ../appstream-APPSTREAM_0_11_5/tests/as-test-utils.c [39/106] /usr/bin/python3.5 /usr/lib/python-exec/python3.5/meson --internal msgfmthelper ../appstream-APPSTREAM_0_11_5/data/org.freedesktop.appstream.cli.metainfo.xml data/org.freedesktop.appstream.cli.metainfo.xml xml /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/po --datadirs=/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/data/ FAILED: data/org.freedesktop.appstream.cli.metainfo.xml /usr/bin/python3.5 /usr/lib/python-exec/python3.5/meson --internal msgfmthelper ../appstream-APPSTREAM_0_11_5/data/org.freedesktop.appstream.cli.metainfo.xml data/org.freedesktop.appstream.cli.metainfo.xml xml /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/po --datadirs=/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/data/ msgfmt: error while opening "/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5/po/zh_TW.po/nja.po/npt_BR.po/n...@latin.po/ncs.po/ngd.po/nfi.po/nid.po/nlt.po/nen_GB.po/nzh_CN.po/nuk.po/nckb.po/nar.po/nnl.po/nru.po/nko.po/nda.po/nsr.po/nfr.po/nhu.po/npt.po/nit.po/nsv.po/nca.po/nes.po/nde.po/nsl.po/noc.po/ngl.po/npl.po/ntr.po/nsk.po/neu.po" for reading: Not a directory [40/106] x86_64-pc-linux-gnu-gcc -Itests/tests@@@as-test_xml@exe -Itests/ -I../appstream-APPSTREAM_0_11_5/tests -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itests/.. -I../appstream-APPSTREAM_0_11_5/tests/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tests/tests@@@as-test_xml@exe/as-test-utils.c.o' -MF 'tests/tests@@@as-test_xml@exe/as-test-utils.c.o.d' -o 'tests/tests@@@as-test_xml@exe/as-test-utils.c.o' -c ../appstream-APPSTREAM_0_11_5/tests/as-test-utils.c [41/106] x86_64-pc-linux-gnu-g++ -Iqt/qt@@@AppStreamQt@sha -Iqt/ -I../appstream-APPSTREAM_0_11_5/qt -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -I/usr/include/qt5/QtCore -I/usr/include/qt5 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -march=native -O2 -fPIC -pthread -MD -MQ 'qt/qt@@@AppStreamQt@sha/image.cpp.o' -MF 'qt/qt@@@AppStreamQt@sha/image.cpp.o.d' -o 'qt/qt@@@AppStreamQt@sha/image.cpp.o' -c ../appstream-APPSTREAM_0_11_5/qt/image.cpp [42/106] x86_64-pc-linux-gnu-gcc -Itests/tests@@@as-test_basic@exe -Itests/ -I../appstream-APPSTREAM_0_11_5/tests -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itests/.. -I../appstream-APPSTREAM_0_11_5/tests/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tests/tests@@@as-test_basic@exe/test-basics.c.o' -MF 'tests/tests@@@as-test_basic@exe/test-basics.c.o.d' -o 'tests/tests@@@as-test_basic@exe/test-basics.c.o' -c ../appstream-APPSTREAM_0_11_5/tests/test-basics.c [43/106] x86_64-pc-linux-gnu-gcc -Itests/tests@@@as-test_yaml@exe -Itests/ -I../appstream-APPSTREAM_0_11_5/tests -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itests/.. -I../appstream-APPSTREAM_0_11_5/tests/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tests/tests@@@as-test_yaml@exe/as-test-utils.c.o' -MF 'tests/tests@@@as-test_yaml@exe/as-test-utils.c.o.d' -o 'tests/tests@@@as-test_yaml@exe/as-test-utils.c.o' -c ../appstream-APPSTREAM_0_11_5/tests/as-test-utils.c [44/106] /usr/bin/xsltproc --nonet --stringparam man.output.quietly 1 --stringparam funcsynopsis.style ansi --stringparam man.th.extra1.suppress 1 -o docs/appstreamcli.1 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl ../appstream-APPSTREAM_0_11_5/docs/sources/man/appstreamcli.1.xml [45/106] x86_64-pc-linux-gnu-gcc -Itests/tests@@@as-test_xml@exe -Itests/ -I../appstream-APPSTREAM_0_11_5/tests -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itests/.. -I../appstream-APPSTREAM_0_11_5/tests/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tests/tests@@@as-test_xml@exe/test-xmldata.c.o' -MF 'tests/tests@@@as-test_xml@exe/test-xmldata.c.o.d' -o 'tests/tests@@@as-test_xml@exe/test-xmldata.c.o' -c ../appstream-APPSTREAM_0_11_5/tests/test-xmldata.c [46/106] x86_64-pc-linux-gnu-gcc -Isrc/src@@@appstream@sha -Isrc/ -I../appstream-APPSTREAM_0_11_5/src -I/usr/include -Isrc/.. -I../appstream-APPSTREAM_0_11_5/src/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -fPIC -pthread -MD -MQ 'src/src@@@appstream@sha/as-component.c.o' -MF 'src/src@@@appstream@sha/as-component.c.o.d' -o 'src/src@@@appstream@sha/as-component.c.o' -c ../appstream-APPSTREAM_0_11_5/src/as-component.c [47/106] x86_64-pc-linux-gnu-gcc -Itests/tests@@@as-test_yaml@exe -Itests/ -I../appstream-APPSTREAM_0_11_5/tests -Isrc/ -I../appstream-APPSTREAM_0_11_5/src/ -Itests/.. -I../appstream-APPSTREAM_0_11_5/tests/.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Werror=implicit-function-declaration -Wno-unused-parameter -DAS_COMPILATION -march=native -O2 -pthread -MD -MQ 'tests/tests@@@as-test_yaml@exe/test-yamldata.c.o' -MF 'tests/tests@@@as-test_yaml@exe/test-yamldata.c.o.d' -o 'tests/tests@@@as-test_yaml@exe/test-yamldata.c.o' -c ../appstream-APPSTREAM_0_11_5/tests/test-yamldata.c ninja: build stopped: subcommand failed. [31;01m*[0m ERROR: dev-libs/appstream-0.11.5::gentoo failed (compile phase): [31;01m*[0m ninja -v -j9 -l0 -C /var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build failed [31;01m*[0m [31;01m*[0m Call stack: [31;01m*[0m ebuild.sh, line 124: Called src_compile [31;01m*[0m environment, line 2226: Called meson_src_compile [31;01m*[0m environment, line 1310: Called eninja '-C' '/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build' [31;01m*[0m environment, line 715: Called die [31;01m*[0m The specific snippet of code: [31;01m*[0m "$@" || die "${nonfatal_args[@]}" "${*} failed" [31;01m*[0m [31;01m*[0m If you need support, post the output of `emerge --info '=dev-libs/appstream-0.11.5::gentoo'`, [31;01m*[0m the complete build log and the output of `emerge -pqv '=dev-libs/appstream-0.11.5::gentoo'`. [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-libs/appstream-0.11.5/temp/build.log'. [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-libs/appstream-0.11.5/temp/environment'. [31;01m*[0m Working directory: '/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5' [31;01m*[0m S: '/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5'
Portage 2.3.36 (python 3.5.5-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-7.3.0, glibc-2.26-r7, 4.16.6-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.16.6-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.4.1 KiB Mem: 16358808 total, 2238556 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sun, 13 May 2018 17:00:01 +0000 Head commit of repository gentoo: 0447e6e3e5f51c5a29ff20f871e3d6851c9ed69f Head commit of repository gentoo-snappy: 0ea79c799ebe1bc6cd924b9dd707b710eea24e83 sh bash 4.4_p19 ld GNU ld (Gentoo 2.30 p2) 2.30.0 app-shells/bash: 4.4_p19::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.26.2::gentoo dev-lang/python: 2.7.14-r2::gentoo, 3.5.5-r1::gentoo dev-util/cmake: 3.11.1::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.35.5::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.16.1-r1::gentoo sys-devel/binutils: 2.30-r2::gentoo sys-devel/gcc: 7.3.0-r1::gentoo sys-devel/gcc-config: 1.9.1::gentoo sys-devel/libtool: 2.4.6-r5::gentoo sys-devel/make: 4.2.1-r3::gentoo sys-kernel/linux-headers: 4.16-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.26-r7::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-jobs: 1 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: yes brother-overlay location: /var/lib/layman/brother-overlay sync-type: laymansync sync-uri: https://github.com/stefan-langenmaier/brother-overlay.git masters: gentoo priority: 50 dotnet location: /var/lib/layman/dotnet sync-type: laymansync sync-uri: https://anongit.gentoo.org/git/proj/dotnet.git masters: gentoo priority: 50 earshark location: /var/lib/layman/earshark sync-type: laymansync sync-uri: https://github.com/Chemrat/overlay.git masters: gentoo priority: 50 fkmclane location: /var/lib/layman/fkmclane sync-type: laymansync sync-uri: https://github.com/fkmclane/overlay.git masters: gentoo priority: 50 gentoo-snappy location: /usr/local/portage/gentoo-snappy sync-type: git sync-uri: https://github.com/zyga/gentoo-snappy.git masters: gentoo priority: 50 jm-overlay location: /var/lib/layman/jm-overlay sync-type: laymansync sync-uri: https://github.com/Jannis234/jm-overlay.git masters: dotnet gentoo priority: 50 matrix location: /var/lib/layman/matrix sync-type: laymansync sync-uri: https://github.com/puretryout/matrix-overlay.git masters: gentoo priority: 50 steam-overlay location: /var/lib/layman/steam-overlay sync-type: laymansync sync-uri: https://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 wjn-overlay location: /var/lib/layman/wjn-overlay sync-type: laymansync sync-uri: https://bitbucket.org/wjn/wjn-overlay.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -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=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY 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="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://lug.mtu.edu/gentoo/ http://www.gtlib.gatech.edu/pub/gentoo rsync://rsync.gtlib.gatech.edu/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" 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 acl acpi activities alsa amd64 appstream berkdb bluetooth bluray branding bzip2 cairo cdda cdr cli consolekit crypt cups cxx dbus declarative dri dts dvd dvdr elogind emboss encode exif fam flac fortran gdbm gif glamor gles gpm gtk iconv ipv6 jpeg kde kipi kwallet lcms ldap libnotify mad mng modules mp3 mp4 mpeg mtp multilib ncurses networkmanager nls nptl nvidia ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pulseaudio qml qt3support qt5 readline sdl seccomp semantic-desktop spell ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vdpau vorbis wayland widgets wxwidgets x264 xattr xcb xcomposite xml 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 plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" 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="libinput keyboard mouse" KERNEL="linux" L10N="en_US" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22 ruby23" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
[ebuild N ] dev-libs/appstream-0.11.5 USE="qt5 -apt -doc {-test}"
declare -x ABI="amd64" declare -x ABI_MIPS="" declare -x ABI_PPC="" 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="" declare -x BOOTSTRAP_USE="cxx unicode internal-glib python_targets_python3_5 python_targets_python2_7 multilib" declare -x BUILD_CFLAGS="-march=native -O2 -pipe" declare -x BUILD_CPPFLAGS="" declare -x BUILD_CXXFLAGS="-march=native -O2 -pipe" declare -- BUILD_DIR="/var/tmp/portage/dev-libs/appstream-0.11.5/work/appstream-0.11.5-build" declare -x BUILD_LDFLAGS="-Wl,-O1 -Wl,--as-needed" declare -x CALLIGRA_EXPERIMENTAL_FEATURES="" declare -x CALLIGRA_FEATURES="" declare -x CAMERAS="" declare -x CBUILD="x86_64-pc-linux-gnu" declare -x CFLAGS="-march=native -O2 -pipe" declare -x CFLAGS_FOR_BUILD="-march=native -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 CPPFLAGS_FOR_BUILD="" 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=native -O2 -pipe" declare -x CXXFLAGS_FOR_BUILD="-march=native -O2 -pipe" declare -x DEFAULT_ABI="amd64" declare -x DEFINED_PHASES=" compile configure install test" declare DEPEND=" dev-libs/glib:2 dev-libs/gobject-introspection dev-libs/libxml2:2 dev-libs/libyaml dev-libs/snowball-stemmer qt5? ( dev-qt/qtcore:5 ) app-text/docbook-xml-dtd:4.5 dev-util/itstool >=dev-util/meson-0.42.0 sys-devel/gettext test? ( qt5? ( dev-qt/qttest:5 ) ) >=dev-util/meson-0.40.0 >=dev-util/ninja-1.7.2" declare DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem" declare -- DESKTOP_DATABASE_DIR="/usr/share/applications" declare -- DESKTOP_DATABASE_UPDATE_BIN="/usr/bin/update-desktop-database" declare -x DESTTREE="/usr" declare -x DIROPTIONS="-m0755" declare -x EAPI="6" declare -x ELIBC="glibc" declare -x ENLIGHTENMENT_MODULES="" declare -x ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY 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 -x EXEOPTIONS="-m0755" declare -x FCFLAGS="-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="-O2 -pipe" declare -x FFTOOLS="" declare -x GCC_SPECS="" declare -x GPSD_PROTOCOLS="" declare -x GRUB_PLATFORMS="" declare -x GSETTINGS_BACKEND="dconf" declare HDEPEND="" declare HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/" declare -x INHERITED=" multiprocessing ninja-utils toolchain-funcs multilib python-utils-r1 meson xdg-utils estack versionator" declare -x INPUT_DEVICES="" declare -x INSDESTTREE="" declare -x INSOPTIONS="-m0644" declare IUSE="apt doc qt5 test " declare -x IUSE_EFFECTIVE="abi_x86_64 alpha amd64 amd64-fbsd amd64-linux apt arm arm-linux arm64 doc 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-chain prefix-guest qt5 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-chain prefix-guest" declare -x KERNEL="linux" declare -x KERNEL_ABI="amd64" declare -x KEYWORDS="~amd64 ~arm ~arm64 ~x86" declare -x L10N="" declare -x LANG="en_US.utf8" declare -x LANGUAGE="en_US" declare -x LCD_DEVICES="" declare -x LC_COLLATE="C" declare -x LC_MESSAGES="C" declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed" declare -x LDFLAGS_FOR_BUILD="-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="LGPL-2.1+ GPL-2+" declare -x LIRC_DEVICES="" declare -x LLVM_TARGETS="" declare -x MAIL="/var/mail/root" declare -x MAKEOPTS="-j9" declare -x MANPAGER="manpager" declare -- MESON_AUTO_DEPEND="yes" declare -- MESON_DEPEND=">=dev-util/meson-0.40.0 >=dev-util/ninja-1.7.2" declare -- MIMEINFO_DATABASE_DIR="/usr/share/mime" declare -- MIMEINFO_DATABASE_UPDATE_BIN="/usr/bin/update-mime-database" 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 -- MY_P="APPSTREAM_0_11_5" declare -- MY_PV="0_11_5" declare -x NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" 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 OPENCL_PROFILE="nvidia" declare -x OPENGL_PROFILE="nvidia" declare -x OPENMPI_FABRICS="" declare -x OPENMPI_OFED_FEATURES="" declare -x OPENMPI_RM="" declare -x PATH="/usr/lib/portage/python3.5/ebuild-helpers/xattr:/usr/lib/portage/python3.5/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/7.3.0:/usr/lib/llvm/6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin" declare PDEPEND="" 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/appstream-0.11.5/html") declare -a PORTAGE_DOSTRIP=([0]="/") declare -a PORTAGE_DOSTRIP_SKIP=() declare -x POSTGRES_TARGETS="" 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 -x PYTHON_SINGLE_TARGET="" declare -x PYTHON_TARGETS="" declare -x QEMU_SOFTMMU_TARGETS="" declare -x QEMU_USER_TARGETS="" declare -x QT_GRAPHICSSYSTEM="raster" declare RDEPEND=" dev-libs/glib:2 dev-libs/gobject-introspection dev-libs/libxml2:2 dev-libs/libyaml dev-libs/snowball-stemmer qt5? ( dev-qt/qtcore:5 ) " declare REPOSITORY declare REQUIRED_USE="" declare -x RESTRICT="" 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-libs/appstream-0.11.5/work/appstream-APPSTREAM_0_11_5" declare -x SANDBOX_DEBUG="0" declare -x SANDBOX_DENY="" declare -x SANDBOX_PREDICT="/var/tmp/portage/dev-libs/appstream-0.11.5/homedir:/dev/crypto:/dev/random:/proc/self/coredump_filter:/dev/random:/proc/self/coredump_filter:/var/cache/fontconfig" declare -x SANDBOX_READ="/:/var/tmp" 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/:/var/tmp/portage/dev-libs/appstream-0.11.5/homedir/.bash_history" declare -x SANE_BACKENDS="" declare -x SHELL="/bin/zsh" declare -x SLOT="0/4" declare SRC_URI="https://github.com/ximion/appstream/archive/APPSTREAM_0_11_5.tar.gz -> appstream-0.11.5.tar.gz" declare -x SUDO_COMMAND="/usr/bin/emerge -uDNav @world --keep-going" declare -x SUDO_GID="1000" declare -x SUDO_UID="1000" declare -x SUDO_USER="mark" declare -x SYMLINK_LIB="yes" declare -x SYSROOT="" declare -x TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1" declare -x USE="abi_x86_64 amd64 elibc_glibc kernel_linux qt5 userland_GNU" declare -x USERLAND="GNU" declare -x USERNAME="root" 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 arm-linux arm64 hppa ia64 m68k m68k-mint mips ppc ppc64 ppc64-linux ppc-aix ppc-macos 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_CACHE_HOME="/var/tmp/portage/dev-libs/appstream-0.11.5/homedir/.cache" declare -x XDG_CONFIG_DIRS="/etc/xdg" declare -x XDG_CONFIG_HOME="/var/tmp/portage/dev-libs/appstream-0.11.5/homedir/.config" declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share" declare -x XDG_DATA_HOME="/var/tmp/portage/dev-libs/appstream-0.11.5/homedir/.local/share" declare -x XDG_RUNTIME_DIR="/var/tmp/portage/dev-libs/appstream-0.11.5/temp/run" declare -x XFCE_PLUGINS="" declare -x XTABLES_ADDONS="" declare -- _ESTACK_ECLASS="1" declare -x _E_DOCDESTTREE_="" declare -x _E_EXEDESTTREE_="" declare -- _MESON_ECLASS="1" declare -- _MULTILIB_ECLASS="1" declare -- _MULTIPROCESSING_ECLASS="1" declare -- _NINJA_UTILS_ECLASS="1" declare -a _PYTHON_ALL_IMPLS=([0]="jython2_7" [1]="pypy" [2]="pypy3" [3]="python2_7" [4]="python3_4" [5]="python3_5" [6]="python3_6") declare -- _PYTHON_UTILS_R1="1" declare -- _TOOLCHAIN_FUNCS_ECLASS="1" declare -- _VERSIONATOR_ECLASS="1" declare -- __MESON_ARRAY_PARSER="import shlex import sys # See http://mesonbuild.com/Syntax.html#strings def quote(str): escaped = str.replace(\"\\\\\", \"\\\\\\\\\").replace(\"'\", \"\\\\'\") return \"'{}'\".format(escaped) print(\"[{}]\".format( \", \".join([quote(x) for x in shlex.split(\" \".join(sys.argv[1:]))])))" declare -- __MESON_AUTO_DEPEND="yes" 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 [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then [[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}"; else if [[ -n ${PATCHES} ]]; then eapply ${PATCHES}; fi; fi; eapply_user } _clang_fullversion () { local ver="$1"; shift; set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__"); eval echo "$ver" } _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" } _meson_create_cross_file () { local system=unknown; case ${CHOST} in *-aix*) system=aix ;; *-cygwin*) system=cygwin ;; *-darwin*) system=darwin ;; *-freebsd*) system=freebsd ;; *-linux*) system=linux ;; mingw* | *-mingw*) system=windows ;; *-solaris*) system=sunos ;; esac; local cpu_family=$(tc-arch); case ${cpu_family} in amd64) cpu_family=x86_64 ;; arm64) cpu_family=aarch64 ;; esac; local cpu=${CHOST%%-*}; cat > "${T}/meson.${CHOST}" <<-EOF [binaries] ar = '$(tc-getAR)' c = '$(tc-getCC)' cpp = '$(tc-getCXX)' pkgconfig = '$(tc-getPKG_CONFIG)' strip = '$(tc-getSTRIP)' [properties] c_args = $(_meson_env_array "${CFLAGS}") c_link_args = $(_meson_env_array "${LDFLAGS}") cpp_args = $(_meson_env_array "${CXXFLAGS}") cpp_link_args = $(_meson_env_array "${LDFLAGS}") fortran_args = $(_meson_env_array "${FCFLAGS}") objc_args = $(_meson_env_array "${OBJCFLAGS}") objcpp_args = $(_meson_env_array "${OBJCXXFLAGS}") [host_machine] system = '${system}' cpu_family = '${cpu_family}' cpu = '${cpu}' endian = '$(tc-endian)' EOF } _meson_env_array () { python -c "${__MESON_ARRAY_PARSER}" "$@" } _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_[456] | jython2_7) return 0 ;; pypy1_[89] | pypy2_0 | python2_[56] | python3_[123]) 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_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 } _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' "$@" } delete_all_version_separators () { replace_all_version_separators "" "${1}" } delete_version_separator () { replace_version_separator "${1}" "" "${2}" } 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 } 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 [[ $(declare -p DOCS) == "declare -a"* ]]; then [[ ${#DOCS[@]} -gt 0 ]] && docinto / && dodoc -r "${DOCS[@]}"; else [[ -n ${DOCS} ]] && docinto / && dodoc -r ${DOCS}; fi; fi ); ( if [[ $(declare -p HTML_DOCS 2>/dev/null) == "declare -a"* ]]; then [[ ${#HTML_DOCS[@]} -gt 0 ]] && docinto html && dodoc -r "${HTML_DOCS[@]}"; else [[ -n ${HTML_DOCS} ]] && docinto html && dodoc -r ${HTML_DOCS}; fi ) } eninja () { local nonfatal_args=(); [[ ${EAPI:-0} != [245] ]] && nonfatal_args+=(-n); if [[ -z ${NINJAOPTS+set} ]]; then NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"; fi; set -- ninja -v ${NINJAOPTS} "$@"; echo "$@" 1>&2; "$@" || die "${nonfatal_args[@]}" "${*} failed" } eshopts_pop () { local s; estack_pop eshopts s || die "${FUNCNAME}: unbalanced push"; eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}" } eshopts_push () { if [[ $1 == -[su] ]]; then estack_push eshopts "$(shopt -p)"; [[ $# -eq 0 ]] && return 0; shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*"; else estack_push eshopts "$(shopt -p -o)"; [[ $# -eq 0 ]] && return 0; set "$@" || die "${FUNCNAME}: bad options to set: $*"; fi } estack_pop () { [[ $# -eq 0 || $# -gt 2 ]] && die "estack_pop: incorrect # of arguments"; local _estack_name="_ESTACK_$1_"; shift; local _estack_retvar=$1; shift; eval local _estack_i=\${#${_estack_name}\[@\]}; [[ $(( --_estack_i )) -eq -1 ]] && return 1; if [[ -n ${_estack_retvar} ]]; then eval ${_estack_retvar}=\"\${${_estack_name}\[${_estack_i}\]}\"; fi; eval unset \"${_estack_name}\[${_estack_i}\]\" } estack_push () { [[ $# -eq 0 ]] && die "estack_push: incorrect # of arguments"; local stack_name="_ESTACK_$1_"; shift; eval ${stack_name}+=\( \"\$@\" \) } eumask_pop () { [[ $# -eq 0 ]] || die "${FUNCNAME}: we take no options"; local s; estack_pop eumask s || die "${FUNCNAME}: unbalanced push"; umask ${s} || die "${FUNCNAME}: sanity: could not restore umask: ${s}" } eumask_push () { estack_push eumask "$(umask)"; umask "$@" || die "${FUNCNAME}: bad options to umask: $*" } evar_pop () { local cnt=${1:-bad}; case $# in 0) cnt=1 ;; 1) isdigit "${cnt}" || die "${FUNCNAME}: first arg must be a number: $*" ;; *) die "${FUNCNAME}: only accepts one arg: $*" ;; esac; local var val; while (( cnt-- )); do estack_pop evar val || die "${FUNCNAME}: unbalanced push"; estack_pop evar var || die "${FUNCNAME}: unbalanced push"; [[ ${val} == "unset_76fc3c462065bb4ca959f939e6793f94" ]] && unset ${var} || printf -v "${var}" '%s' "${val}"; done } evar_push () { local var val; for var in "$@"; do [[ ${!var+set} == "set" ]] && val=${!var} || val="unset_76fc3c462065bb4ca959f939e6793f94"; estack_push evar "${var}" "${val}"; done } evar_push_set () { local var=$1; evar_push ${var}; case $# in 1) unset ${var} ;; 2) printf -v "${var}" '%s' "$2" ;; *) die "${FUNCNAME}: incorrect # of args: $*" ;; esac } 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 () { 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_after_major_version () { echo $(get_version_component_range 2- "${1:-${PV}}") } 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_all_version_components () { eshopts_push -s extglob; local ver_str=${1:-${PV}} result; result=(); if [[ ${VERSIONATOR_CACHE_VER_STR} == ${ver_str} ]]; then echo ${VERSIONATOR_CACHE_RESULT}; eshopts_pop; return; fi; export VERSIONATOR_CACHE_VER_STR=${ver_str}; while [[ -n $ver_str ]]; do case "${ver_str::1}" in [[:digit:]]) result+=("${ver_str%%[^[:digit:]]*}"); ver_str=${ver_str##+([[:digit:]])} ;; [-_.]) result+=("${ver_str::1}"); ver_str=${ver_str:1} ;; [[:alpha:]]) local not_match=${ver_str##+([[:alpha:]])*([[:digit:]])}; result+=("${ver_str::${#ver_str} - ${#not_match}}"); ver_str=${not_match} ;; *) result+=("${ver_str::1}"); ver_str=${ver_str:1} ;; esac; done; export VERSIONATOR_CACHE_RESULT=${result[*]}; echo ${result[@]}; eshopts_pop } 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_last_version_component_index () { echo $(($(get_version_component_count "${1:-${PV}}" ) - 1)) } 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_major_version () { local c=($(get_all_version_components "${1:-${PV}}")); echo ${c[0]} } 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 } get_version_component_count () { local a=($(get_version_components "${1:-${PV}}")); echo ${#a[@]} } get_version_component_range () { eshopts_push -s extglob; local c v="${2:-${PV}}" range="${1}" range_start range_end; local -i i=-1 j=0; c=($(get_all_version_components "${v}")); range_start=${range%-*}; range_start=${range_start:-1}; range_end=${range#*-}; range_end=${range_end:-${#c[@]}}; while ((j < range_start)); do i+=1; ((i > ${#c[@]})) && eshopts_pop && return; [[ -n "${c[i]//[-._]}" ]] && j+=1; done; while ((j <= range_end)); do echo -n ${c[i]}; ((i > ${#c[@]})) && eshopts_pop && return; [[ -n "${c[i]//[-._]}" ]] && j+=1; i+=1; done; eshopts_pop } get_version_components () { local c=$(get_all_version_components "${1:-${PV}}"); echo ${c//[-._]/ } } 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} ]] } isdigit () { local d; for d in "$@"; do [[ ${d:-bad} == *[!0-9]* ]] && return 1; done; return 0 } 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}} } meson_src_compile () { debug-print-function ${FUNCNAME} "$@"; eninja -C "${BUILD_DIR}" } meson_src_configure () { debug-print-function ${FUNCNAME} "$@"; local mesonargs=(--buildtype plain --libdir "$(get_libdir)" --localstatedir "${EPREFIX}/var/lib" --prefix "${EPREFIX}/usr" --sysconfdir "${EPREFIX}/etc" --wrap-mode nodownload); if tc-is-cross-compiler; then _meson_create_cross_file || die "unable to write meson cross file"; mesonargs+=(--cross-file "${T}/meson.${CHOST}"); fi; python_export_utf8_locale; mesonargs+=("${emesonargs[@]}"); BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}"; set -- meson "${mesonargs[@]}" "$@" "${EMESON_SOURCE:-${S}}" "${BUILD_DIR}"; echo "$@"; tc-env_build "$@" || die } meson_src_install () { debug-print-function ${FUNCNAME} "$@"; DESTDIR="${D}" eninja -C "${BUILD_DIR}" install; einstalldocs } meson_src_test () { debug-print-function ${FUNCNAME} "$@"; eninja -C "${BUILD_DIR}" test } meson_use () { usex "$1" "-D${2-$1}=true" "-D${2-$1}=false" } 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*) export CFLAGS_o32=${CFLAGS_o32--mabi=32}; export CHOST_o32=${CTARGET/mips64/mips}; 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} ;; 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_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}}; ( 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; ( 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_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 } 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_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_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}"; 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_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_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 } replace_all_version_separators () { local c=($(get_all_version_components "${2:-${PV}}")); c=${c[@]//[-._]/$1}; echo ${c// } } replace_version_separator () { eshopts_push -s extglob; local w c v="${3:-${PV}}"; declare -i i found=0; w=${1:-1}; c=($(get_all_version_components ${v})); if [[ ${w} != *[[:digit:]]* ]]; then for ((i = 0; i < ${#c[@]}; i++)) do if [[ ${c[i]} == ${w} ]]; then c[i]=${2}; break; fi; done; else for ((i = 0; i < ${#c[@]}; i++)) do if [[ -n "${c[i]//[^-._]}" ]]; then found+=1; if ((found == w)); then c[i]=${2}; break; fi; fi; done; fi; c=${c[*]}; echo ${c// }; eshopts_pop } src_compile () { meson_src_compile "$@" } src_configure () { xdg_environment_reset; local emesonargs=(-Denable-docs=false -Denable-maintainer=false -Denable-stemming=true -Denable-vapi=false -Denable-apt-support=$(usex apt true false) -Denable-apidocs=$(usex doc true false) -Denable-qt=$(usex qt5 true false)); meson_src_configure } src_install () { meson_src_install "$@" } src_prepare () { default } src_test () { meson_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-enables-pie () { local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$' #if defined(__PIE__) true #endif EOF )"; [[ ${ret} == true ]] } tc-enables-ssp () { local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$' #if defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__) true #endif EOF )"; [[ ${ret} == true ]] } tc-enables-ssp-all () { local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$' #if defined(__SSP_ALL__) true #endif EOF )"; [[ ${ret} == true ]] } tc-enables-ssp-strong () { local ret="$($(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P - <<-EOF 2> /dev/null | grep '^true$' #if defined(__SSP_STRONG__) || defined(__SSP_ALL__) true #endif EOF )"; [[ ${ret} == true ]] } 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 ;; 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-has-openmp () { local base="${T}/test-tc-openmp"; cat > "${base}.c" <<-EOF #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 > "${base}.c" <<-EOF 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 () { local CTARGET=${CTARGET:-${CHOST}}; case ${CTARGET} in bfin* | h8300*) echo "only" ;; *) if [[ ${CTARGET//_/-} == *-softfloat-* ]]; then echo "yes"; else if [[ ${CTARGET//_/-} == *-softfp-* ]]; then echo "softfp"; else echo "no"; fi; fi ;; esac } 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 major=$(gcc-major-version "$@"); local minor=$(gcc-minor-version "$@"); if [[ ${major} -lt 4 ]] || [[ ${major} -eq 4 && ${minor} -lt 8 ]]; 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; else export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"; 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 > "${base}.c" <<-EOF 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 } version_compare () { eshopts_push -s extglob; local ver_a=${1} ver_b=${2} parts_a parts_b; local cur_tok_a cur_tok_b num_part_a num_part_b; local -i cur_idx_a=0 cur_idx_b=0 prev_idx_a prev_idx_b; parts_a=($(get_all_version_components "${ver_a}" )); parts_b=($(get_all_version_components "${ver_b}" )); local -i inf_loop=0; while true; do inf_loop+=1; ((inf_loop > 20)) && die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]"; prev_idx_a=cur_idx_a; prev_idx_b=cur_idx_b; cur_tok_a=${parts_a[cur_idx_a]}; cur_tok_b=${parts_b[cur_idx_b]}; if [[ -n ${cur_tok_a} ]] && [[ -z ${cur_tok_a//[[:digit:]]} ]]; then cur_idx_a+=1; [[ ${parts_a[cur_idx_a]} == . ]] && cur_idx_a+=1; else cur_tok_a=; fi; if [[ -n ${cur_tok_b} ]] && [[ -z ${cur_tok_b//[[:digit:]]} ]]; then cur_idx_b+=1; [[ ${parts_b[cur_idx_b]} == . ]] && cur_idx_b+=1; else cur_tok_b=; fi; [[ -z ${cur_tok_a} && -z ${cur_tok_b} ]] && break; [[ -z ${cur_tok_a} ]] && eshopts_pop && return 1; [[ -z ${cur_tok_b} ]] && eshopts_pop && return 3; if (( prev_idx_a != 0 && prev_idx_b != 0 )) && [[ ${cur_tok_a} == 0* || ${cur_tok_b} == 0* ]]; then cur_tok_a=${cur_tok_a%%+(0)}; cur_tok_b=${cur_tok_b%%+(0)}; [[ ${cur_tok_a} < ${cur_tok_b} ]] && eshopts_pop && return 1; [[ ${cur_tok_a} > ${cur_tok_b} ]] && eshopts_pop && return 3; else cur_tok_a=${cur_tok_a##+(0)}; cur_tok_b=${cur_tok_b##+(0)}; : ${cur_tok_a:=0}; : ${cur_tok_b:=0}; ((cur_tok_a < cur_tok_b)) && eshopts_pop && return 1; ((cur_tok_a > cur_tok_b)) && eshopts_pop && return 3; fi; done; local letter_a=; letter_a=${parts_a[cur_idx_a]}; if [[ ${#letter_a} -eq 1 && -z ${letter_a/[a-z]} ]]; then cur_idx_a+=1; else letter_a=@; fi; local letter_b=; letter_b=${parts_b[cur_idx_b]}; if [[ ${#letter_b} -eq 1 && -z ${letter_b/[a-z]} ]]; then cur_idx_b+=1; else letter_b=@; fi; [[ ${letter_a} < ${letter_b} ]] && eshopts_pop && return 1; [[ ${letter_a} > ${letter_b} ]] && eshopts_pop && return 3; inf_loop=0; while true; do inf_loop+=1; ((inf_loop > 20)) && die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]"; [[ ${parts_a[cur_idx_a]} == _ ]] && ((cur_idx_a++)); [[ ${parts_b[cur_idx_b]} == _ ]] && ((cur_idx_b++)); cur_tok_a=${parts_a[cur_idx_a]}; cur_tok_b=${parts_b[cur_idx_b]}; num_part_a=0; num_part_b=0; if has ${cur_tok_a%%+([0-9])} "alpha" "beta" "pre" "rc" "p"; then cur_idx_a+=1; num_part_a=${cur_tok_a##+([a-z])}; num_part_a=${num_part_a##+(0)}; : ${num_part_a:=0}; cur_tok_a=${cur_tok_a%%+([0-9])}; else cur_tok_a=; fi; if has ${cur_tok_b%%+([0-9])} alpha beta pre rc p; then cur_idx_b+=1; num_part_b=${cur_tok_b##+([a-z])}; num_part_b=${num_part_b##+(0)}; : ${num_part_b:=0}; cur_tok_b=${cur_tok_b%%+([0-9])}; else cur_tok_b=; fi; if [[ ${cur_tok_a} != ${cur_tok_b} ]]; then local suffix; for suffix in alpha beta pre rc "" p; do [[ ${cur_tok_a} == ${suffix} ]] && eshopts_pop && return 1; [[ ${cur_tok_b} == ${suffix} ]] && eshopts_pop && return 3; done; else if [[ -z ${cur_tok_a} && -z ${cur_tok_b} ]]; then break; else ((num_part_a < num_part_b)) && eshopts_pop && return 1; ((num_part_a > num_part_b)) && eshopts_pop && return 3; fi; fi; done; [[ ${parts_a[cur_idx_a]} == - ]] && ((cur_idx_a++)); [[ ${parts_b[cur_idx_b]} == - ]] && ((cur_idx_b++)); if [[ -n ${parts_a[cur_idx_a]/r+([0-9])} || -n ${parts_b[cur_idx_b]/r+([0-9])} ]]; then die "versionator compare bug [revisions, ${ver_a}, ${ver_b}]"; fi; num_part_a=${parts_a[cur_idx_a]#r}; num_part_a=${num_part_a##+(0)}; : ${num_part_a:=0}; num_part_b=${parts_b[cur_idx_b]#r}; num_part_b=${num_part_b##+(0)}; : ${num_part_b:=0}; ((num_part_a < num_part_b)) && eshopts_pop && return 1; ((num_part_a > num_part_b)) && eshopts_pop && return 3; eshopts_pop; return 2 } version_format_string () { local fstr=$1; shift; set -- $(get_version_components "$@"); eval echo "${fstr}" } version_is_at_least () { local want_s="$1" have_s="${2:-${PVR}}" r; version_compare "${want_s}" "${have_s}"; r=$?; case $r in 1 | 2) return 0 ;; 3) return 1 ;; *) die "versionator compare bug [atleast, ${want_s}, ${have_s}, ${r}]" ;; esac } version_sort () { eshopts_push -s extglob; local items=; local -i left=0; items=("$@"); while ((left < ${#items[@]})); do local -i lowest_idx=left; local -i idx=lowest_idx+1; while ((idx < ${#items[@]})); do version_compare "${items[lowest_idx]}" "${items[idx]}"; [[ $? -eq 3 ]] && lowest_idx=idx; idx+=1; done; local tmp=${items[lowest_idx]}; items[lowest_idx]=${items[left]}; items[left]=${tmp}; left+=1; done; echo ${items[@]}; eshopts_pop } xdg_desktop_database_update () { local updater="${EROOT}${DESKTOP_DATABASE_UPDATE_BIN}"; if [[ ${EBUILD_PHASE} != post* ]]; then die "xdg_desktop_database_update must be used in pkg_post* phases."; fi; if [[ ! -x "${updater}" ]]; then debug-print "${updater} is not executable"; return; fi; ebegin "Updating .desktop files database"; "${updater}" -q "${EROOT}${DESKTOP_DATABASE_DIR}"; eend $? } xdg_environment_reset () { export XDG_DATA_HOME="${HOME}/.local/share"; export XDG_CONFIG_HOME="${HOME}/.config"; export XDG_CACHE_HOME="${HOME}/.cache"; export XDG_RUNTIME_DIR="${T}/run"; mkdir -p "${XDG_DATA_HOME}" "${XDG_CONFIG_HOME}" "${XDG_CACHE_HOME}" "${XDG_RUNTIME_DIR}" || die; chmod 0700 "${XDG_RUNTIME_DIR}" || die; unset DBUS_SESSION_BUS_ADDRESS } xdg_mimeinfo_database_update () { local updater="${EROOT}${MIMEINFO_DATABASE_UPDATE_BIN}"; if [[ ${EBUILD_PHASE} != post* ]]; then die "xdg_mimeinfo_database_update must be used in pkg_post* phases."; fi; if [[ ! -x "${updater}" ]]; then debug-print "${updater} is not executable"; return; fi; ebegin "Updating shared mime info database"; "${updater}" "${EROOT}${MIMEINFO_DATABASE_DIR}"; eend $? }
signature.asc
Description: This is a digitally signed message part.