From 72d7451e2f874e03c7f5256af2a12f9de438edd6 Mon Sep 17 00:00:00 2001 From: David Michael Date: Wed, 3 May 2017 19:11:35 -0700 Subject: [PATCH] bump(eclass): sync with upstream Packages updated: eclass licenses scripts --- .../eclass/ELT-patches/aixrtl/1.5.0-cmds-c | 11 - .../eclass/ELT-patches/aixrtl/1.5.0-cmds-cxx | 11 - .../eclass/ELT-patches/aixrtl/1.5.0-expsym-c | 14 - .../ELT-patches/aixrtl/1.5.0-expsym-cxx | 14 - .../eclass/ELT-patches/aixrtl/1.5.0-noundef-c | 11 - .../ELT-patches/aixrtl/1.5.0-noundef-cxx | 11 - .../eclass/ELT-patches/aixrtl/1.5.0-soname | 12 - .../eclass/ELT-patches/aixrtl/1.5.0-usertl-c | 10 - .../ELT-patches/aixrtl/1.5.0-usertl-cxx | 10 - .../eclass/ELT-patches/aixrtl/1.5.22-cmds-c | 11 - .../eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx | 11 - .../eclass/ELT-patches/aixrtl/2.0.0-fpic-c | 12 - .../eclass/ELT-patches/aixrtl/2.0.0-fpic-cxx | 12 - .../eclass/ELT-patches/aixrtl/2.2.0-cmds-c | 11 - .../eclass/ELT-patches/aixrtl/2.2.0-cmds-cxx | 11 - .../eclass/ELT-patches/aixrtl/2.2.0-expsym-c | 14 - .../ELT-patches/aixrtl/2.2.0-expsym-cxx | 14 - .../eclass/ELT-patches/aixrtl/2.2.0-noundef-c | 11 - .../ELT-patches/aixrtl/2.2.0-noundef-cxx | 11 - .../ELT-patches/aixrtl/2.2.0-usertl-cxx | 10 - .../eclass/ELT-patches/aixrtl/2.2.8-cmds-c | 11 - .../eclass/ELT-patches/aixrtl/2.2.8-cmds-cxx | 11 - .../eclass/ELT-patches/aixrtl/2.4.0-expsym-c | 14 - .../ELT-patches/aixrtl/2.4.0-expsym-cxx | 14 - .../ELT-patches/aixrtl/2.4.2.418-cmds-c | 11 - .../ELT-patches/aixrtl/2.4.2.418-cmds-cxx | 11 - .../ELT-patches/aixrtl/2.4.2.418-soname | 10 - .../eclass/ELT-patches/aixrtl/2.4.4-with-svr4 | 11 - .../eclass/ELT-patches/as-needed/1.5 | 30 - .../eclass/ELT-patches/as-needed/1.5.26 | 38 - .../eclass/ELT-patches/as-needed/2.2.6 | 38 - .../eclass/ELT-patches/as-needed/2.4.2 | 38 - .../eclass/ELT-patches/as-needed/2.4.3 | 38 - .../eclass/ELT-patches/cross/2.2 | 20 - .../eclass/ELT-patches/cross/2.4 | 20 - .../eclass/ELT-patches/cross/2.4.3 | 21 - .../eclass/ELT-patches/darwin-conf/1.5 | 24 - .../eclass/ELT-patches/darwin-conf/1.5b | 33 - .../eclass/ELT-patches/darwin-conf/2.2.4 | 29 - .../eclass/ELT-patches/darwin-conf/2.2.6 | 43 - .../eclass/ELT-patches/darwin-conf/2.4.6 | 29 - .../eclass/ELT-patches/darwin-ltconf/1.2.0 | 66 - .../eclass/ELT-patches/darwin-ltconf/1.3.0 | 67 - .../eclass/ELT-patches/darwin-ltmain/1.2.0 | 40 - .../eclass/ELT-patches/darwin-ltmain/1.3.0 | 64 - .../eclass/ELT-patches/deplibs/1.5 | 18 - .../eclass/ELT-patches/deplibs/2.1b | 18 - .../ELT-patches/fbsd-conf/00broken-libglade | 33 - .../eclass/ELT-patches/fbsd-conf/1.4.0 | 32 - .../eclass/ELT-patches/fbsd-conf/1.5.10 | 120 - .../eclass/ELT-patches/fbsd-conf/1.5.18 | 116 - .../eclass/ELT-patches/fbsd-conf/1.5.20 | 116 - .../eclass/ELT-patches/fbsd-conf/1.5.20b | 61 - .../eclass/ELT-patches/fbsd-conf/1.9f | 60 - .../eclass/ELT-patches/fbsd-ltconf/1.2.0 | 26 - .../eclass/ELT-patches/fbsd-ltconf/1.3.0 | 32 - .../eclass/ELT-patches/fbsd-ltconf/1.4a | 32 - .../ELT-patches/fbsd-ltconf/1.4a-GCC3.0 | 32 - .../eclass/ELT-patches/fix-relink/1.4.0 | 63 - .../eclass/ELT-patches/fix-relink/1.4.3 | 62 - .../eclass/ELT-patches/fix-relink/1.5.0 | 51 - .../eclass/ELT-patches/gold-conf/2.2.6 | 10 - .../eclass/ELT-patches/hardcode-relink/1.3d | 8 - .../eclass/ELT-patches/hardcode/1.3d | 21 - .../eclass/ELT-patches/hardcode/2.1b | 36 - .../eclass/ELT-patches/hc-flag-ld/1.5 | 18 - .../ELT-patches/hpux-conf/1.5.22-syslibpath | 24 - .../eclass/ELT-patches/install-sh/1.5 | 14 - .../eclass/ELT-patches/install-sh/1.5.4 | 14 - .../eclass/ELT-patches/install-sh/1.5.6 | 14 - .../eclass/ELT-patches/irix-ltmain/2.2.6 | 30 - .../eclass/ELT-patches/ltmain/1.5 | 18 - .../eclass/ELT-patches/max_cmd_len/1.5.0 | 33 - .../eclass/ELT-patches/max_cmd_len/1.5.14 | 33 - .../eclass/ELT-patches/max_cmd_len/1.5.20 | 33 - .../eclass/ELT-patches/mint-conf/2.2.6 | 15 - .../eclass/ELT-patches/no-lc/1.3d | 13 - .../eclass/ELT-patches/no-lc/1.5.22 | 11 - .../eclass/ELT-patches/nocxx/nocxx-2.64.patch | 13 - .../eclass/ELT-patches/nocxx/nocxx.patch | 15 - .../eclass/ELT-patches/portage/1.2.0 | 7 - .../eclass/ELT-patches/portage/1.3.0c | 66 - .../eclass/ELT-patches/portage/1.3.3 | 71 - .../eclass/ELT-patches/portage/1.4.0 | 74 - .../eclass/ELT-patches/portage/1.5.10 | 77 - .../eclass/ELT-patches/portage/2.2 | 69 - .../eclass/ELT-patches/relink-prog/1.3d | 24 - .../eclass/ELT-patches/relink-prog/2.1b | 24 - .../eclass/ELT-patches/relink/1.4.0a | 99 - .../eclass/ELT-patches/relink/1.4.0a-GCC3.0-1 | 99 - .../eclass/ELT-patches/relink/1.4.0a-GCC3.0-2 | 100 - .../eclass/ELT-patches/relink/1.4.1 | 124 - .../eclass/ELT-patches/relink/1.4.2 | 99 - .../eclass/ELT-patches/relink/1.4.3 | 111 - .../eclass/ELT-patches/rem-int-dep/1.3.5 | 11 - .../eclass/ELT-patches/sed/1.3.4 | 14 - .../eclass/ELT-patches/sed/1.4.0 | 14 - .../eclass/ELT-patches/sed/1.5.6 | 16 - .../eclass/ELT-patches/sol2-conf/2.4.2 | 14 - .../eclass/ELT-patches/sol2-ltmain/2.4.2 | 11 - .../eclass/ELT-patches/sys-lib-dlsearch/2.4 | 21 - .../eclass/ELT-patches/target-nm/2.4.2 | 45 - .../eclass/ELT-patches/test/1.4.0 | 291 -- .../eclass/ELT-patches/test/1.4.2 | 578 --- .../eclass/ELT-patches/tmp/1.3.5 | 15 - .../eclass/ELT-patches/uclibc-conf/1.2.0 | 48 - .../eclass/ELT-patches/uclibc-conf/1.3.0c | 48 - .../eclass/ELT-patches/uclibc-ltconf/1.2.0 | 36 - .../eclass/ELT-patches/uclibc-ltconf/1.3.0 | 39 - .../portage-stable/eclass/alternatives.eclass | 1 - .../portage-stable/eclass/ant-tasks.eclass | 1 - .../portage-stable/eclass/apache-2.eclass | 26 +- .../eclass/apache-module.eclass | 1 - .../eclass/aspell-dict-r1.eclass | 89 + .../portage-stable/eclass/aspell-dict.eclass | 4 +- .../eclass/autotools-multilib.eclass | 1 - .../eclass/autotools-utils.eclass | 6 +- .../portage-stable/eclass/autotools.eclass | 1 - .../portage-stable/eclass/base.eclass | 1 - .../eclass/bash-completion-r1.eclass | 1 - .../portage-stable/eclass/bitcoincore.eclass | 19 +- .../portage-stable/eclass/bsdmk.eclass | 1 - .../portage-stable/eclass/bzr.eclass | 1 - .../portage-stable/eclass/cannadic.eclass | 1 - .../portage-stable/eclass/cargo.eclass | 3 +- .../portage-stable/eclass/cdrom.eclass | 363 +- .../portage-stable/eclass/check-reqs.eclass | 5 +- .../portage-stable/eclass/chromium-2.eclass | 1 - .../portage-stable/eclass/chromium.eclass | 265 -- .../eclass/cmake-multilib.eclass | 1 - .../portage-stable/eclass/cmake-utils.eclass | 3 +- .../eclass/common-lisp-3.eclass | 1 - .../eclass/common-lisp-common.eclass | 1 - .../portage-stable/eclass/common-lisp.eclass | 1 - .../portage-stable/eclass/confutils.eclass | 5 +- .../portage-stable/eclass/cron.eclass | 1 - .../portage-stable/eclass/cuda.eclass | 1 - .../portage-stable/eclass/cvs.eclass | 29 +- .../portage-stable/eclass/darcs.eclass | 1 - .../portage-stable/eclass/db-use.eclass | 1 - .../portage-stable/eclass/db.eclass | 1 - .../eclass/depend.apache.eclass | 1 - .../portage-stable/eclass/depend.php.eclass | 258 -- .../portage-stable/eclass/distutils-r1.eclass | 5 +- .../portage-stable/eclass/distutils.eclass | 597 ---- .../portage-stable/eclass/dotnet.eclass | 1 - .../portage-stable/eclass/elisp-common.eclass | 3 +- .../portage-stable/eclass/elisp.eclass | 3 +- .../{emboss-r1.eclass => emboss-r2.eclass} | 101 +- .../eclass/enlightenment.eclass | 3 +- .../portage-stable/eclass/epatch.eclass | 460 +++ .../portage-stable/eclass/epunt-cxx.eclass | 47 + .../portage-stable/eclass/estack.eclass | 212 ++ .../portage-stable/eclass/eutils.eclass | 847 +---- .../portage-stable/eclass/fcaps.eclass | 2 - .../portage-stable/eclass/fdo-mime.eclass | 1 - .../portage-stable/eclass/findlib.eclass | 1 - .../portage-stable/eclass/fixheadtails.eclass | 1 - .../portage-stable/eclass/flag-o-matic.eclass | 14 +- .../eclass/font-ebdftopcf.eclass | 1 - .../portage-stable/eclass/font.eclass | 1 - .../portage-stable/eclass/fortran-2.eclass | 21 +- .../portage-stable/eclass/fox.eclass | 1 - .../portage-stable/eclass/freebsd.eclass | 9 +- .../portage-stable/eclass/freedict.eclass | 1 - .../portage-stable/eclass/games-mods.eclass | 1 - .../portage-stable/eclass/games.eclass | 1 - .../portage-stable/eclass/ghc-package.eclass | 1 - .../portage-stable/eclass/git-2.eclass | 1 - .../portage-stable/eclass/git-r3.eclass | 17 +- .../eclass/gkrellm-plugin.eclass | 1 - .../portage-stable/eclass/gnat.eclass | 8 +- .../portage-stable/eclass/gnatbuild-r1.eclass | 3 +- .../portage-stable/eclass/gnatbuild.eclass | 5 +- .../portage-stable/eclass/gnome-games.eclass | 1 - .../eclass/gnome-python-common-r1.eclass | 1 - .../portage-stable/eclass/gnome.org.eclass | 1 - .../portage-stable/eclass/gnome2-utils.eclass | 28 +- .../portage-stable/eclass/gnome2.eclass | 13 +- .../portage-stable/eclass/gnuconfig.eclass | 1 - .../portage-stable/eclass/gnustep-2.eclass | 1 - .../portage-stable/eclass/gnustep-base.eclass | 1 - .../portage-stable/eclass/go-mono.eclass | 1 - .../portage-stable/eclass/golang-base.eclass | 3 +- .../portage-stable/eclass/golang-build.eclass | 1 - .../eclass/golang-vcs-snapshot.eclass | 69 +- .../portage-stable/eclass/golang-vcs.eclass | 1 - .../portage-stable/eclass/gpe.eclass | 1 - .../eclass/gst-plugins-bad.eclass | 1 - .../eclass/gst-plugins-base.eclass | 1 - .../eclass/gst-plugins-good.eclass | 1 - .../eclass/gst-plugins-ugly.eclass | 1 - .../eclass/gst-plugins10.eclass | 5 +- .../portage-stable/eclass/gstreamer.eclass | 1 - .../eclass/gtk-sharp-module.eclass | 1 - .../eclass/haskell-cabal.eclass | 1 - .../portage-stable/eclass/intel-sdp.eclass | 1 - .../portage-stable/eclass/java-ant-2.eclass | 91 +- .../portage-stable/eclass/java-osgi.eclass | 3 +- .../portage-stable/eclass/java-pkg-2.eclass | 1 - .../eclass/java-pkg-opt-2.eclass | 1 - .../eclass/java-pkg-simple.eclass | 1 - .../portage-stable/eclass/java-utils-2.eclass | 11 +- .../eclass/java-virtuals-2.eclass | 1 - .../portage-stable/eclass/java-vm-2.eclass | 1 - .../portage-stable/eclass/kde4-base.eclass | 8 +- .../eclass/kde4-functions.eclass | 1 - .../portage-stable/eclass/kde4-meta.eclass | 5 +- .../eclass/kde5-functions.eclass | 18 +- .../eclass/kde5-meta-pkg.eclass | 1 - .../portage-stable/eclass/kde5.eclass | 80 +- .../portage-stable/eclass/kernel-2.eclass | 153 +- .../portage-stable/eclass/kodi-addon.eclass | 1 - .../portage-stable/eclass/l10n.eclass | 1 - .../eclass/latex-package.eclass | 1 - .../portage-stable/eclass/leechcraft.eclass | 43 +- .../portage-stable/eclass/libtool.eclass | 23 +- .../portage-stable/eclass/linux-info.eclass | 1 - .../portage-stable/eclass/linux-mod.eclass | 3 +- .../portage-stable/eclass/llvm.eclass | 138 + .../portage-stable/eclass/ltprune.eclass | 167 + .../portage-stable/eclass/makeedit.eclass | 1 - .../eclass/mate-desktop.org.eclass | 3 +- .../portage-stable/eclass/mate.eclass | 1 - .../portage-stable/eclass/mercurial.eclass | 3 +- .../portage-stable/eclass/mono-env.eclass | 1 - .../portage-stable/eclass/mono.eclass | 1 - .../portage-stable/eclass/mount-boot.eclass | 1 - .../eclass/mozconfig-v5.31.eclass | 218 -- .../eclass/mozconfig-v6.38.eclass | 256 -- .../eclass/mozconfig-v6.42.eclass | 282 -- .../eclass/mozconfig-v6.45.eclass | 14 +- .../eclass/mozconfig-v6.49.eclass | 1 - .../eclass/mozconfig-v6.51.eclass | 3 +- .../eclass/mozconfig-v6.52.eclass | 385 ++ .../eclass/mozconfig-v6.53.eclass | 388 ++ .../eclass/mozcoreconf-2.eclass | 274 -- .../eclass/mozcoreconf-v3.eclass | 261 -- .../eclass/mozcoreconf-v4.eclass | 3 +- .../portage-stable/eclass/mozextension.eclass | 1 - .../eclass/mozlinguas-v2.eclass | 1 - .../portage-stable/eclass/mozlinguas.eclass | 315 -- .../portage-stable/eclass/multibuild.eclass | 1 - .../eclass/multilib-build.eclass | 1 - .../eclass/multilib-minimal.eclass | 3 +- .../portage-stable/eclass/multilib.eclass | 1 - .../eclass/multiprocessing.eclass | 1 - .../portage-stable/eclass/myspell-r2.eclass | 1 - .../portage-stable/eclass/myspell.eclass | 1 - .../portage-stable/eclass/mysql-cmake.eclass | 1 - .../eclass/mysql-multilib-r1.eclass | 25 +- .../eclass/mysql-multilib.eclass | 11 +- .../portage-stable/eclass/mysql-v2.eclass | 4 +- .../portage-stable/eclass/mysql_fx.eclass | 1 - .../portage-stable/eclass/netsurf.eclass | 5 +- .../portage-stable/eclass/nsplugins.eclass | 1 - .../eclass/nvidia-driver.eclass | 1 - .../portage-stable/eclass/oasis.eclass | 7 +- .../portage-stable/eclass/obs-download.eclass | 1 - .../portage-stable/eclass/obs-service.eclass | 1 - .../eclass/office-ext-r1.eclass | 1 - .../portage-stable/eclass/openib.eclass | 3 +- .../portage-stable/eclass/pam.eclass | 1 - .../portage-stable/eclass/pax-utils.eclass | 1 - .../portage-stable/eclass/perl-app.eclass | 1 - .../eclass/perl-functions.eclass | 302 +- .../portage-stable/eclass/perl-module.eclass | 26 +- .../eclass/php-ext-pecl-r2.eclass | 1 - .../eclass/php-ext-pecl-r3.eclass | 1 - .../eclass/php-ext-source-r2.eclass | 1 - .../eclass/php-ext-source-r3.eclass | 1 - .../portage-stable/eclass/php-lib-r1.eclass | 1 - .../eclass/php-pear-lib-r1.eclass | 1 - .../portage-stable/eclass/php-pear-r1.eclass | 1 - .../portage-stable/eclass/php-pear-r2.eclass | 122 + .../portage-stable/eclass/portability.eclass | 1 - .../portage-stable/eclass/prefix.eclass | 1 - .../eclass/python-any-r1.eclass | 55 +- .../portage-stable/eclass/python-r1.eclass | 76 +- .../eclass/python-single-r1.eclass | 79 +- .../eclass/python-utils-r1.eclass | 68 +- .../portage-stable/eclass/python.eclass | 3165 ----------------- .../portage-stable/eclass/qmail.eclass | 1 - .../portage-stable/eclass/qmake-utils.eclass | 1 - .../eclass/qt4-build-multilib.eclass | 1 - .../portage-stable/eclass/qt4-r2.eclass | 1 - .../portage-stable/eclass/qt5-build.eclass | 31 +- .../eclass/readme.gentoo-r1.eclass | 1 - .../eclass/readme.gentoo.eclass | 1 - .../portage-stable/eclass/rebar.eclass | 22 +- .../portage-stable/eclass/ros-catkin.eclass | 35 +- .../portage-stable/eclass/rpm.eclass | 1 - .../portage-stable/eclass/ruby-fakegem.eclass | 14 +- .../eclass/ruby-ng-gnome2.eclass | 1 - .../portage-stable/eclass/ruby-ng.eclass | 63 +- .../portage-stable/eclass/ruby-single.eclass | 1 - .../portage-stable/eclass/ruby-utils.eclass | 1 - .../portage-stable/eclass/s6.eclass | 1 - .../portage-stable/eclass/savedconfig.eclass | 1 - .../portage-stable/eclass/scons-utils.eclass | 1 - .../portage-stable/eclass/scsh.eclass | 1 - .../eclass/selinux-policy-2.eclass | 1 - .../portage-stable/eclass/sgml-catalog.eclass | 1 - .../portage-stable/eclass/ssl-cert.eclass | 1 - .../portage-stable/eclass/stardict.eclass | 1 - .../portage-stable/eclass/subversion.eclass | 7 +- .../portage-stable/eclass/sword-module.eclass | 1 - .../portage-stable/eclass/systemd.eclass | 1 - .../tests/autotools_eaclocal_amflags.sh | 1 - .../eclass/tests/distutils-r1.sh | 1 - .../{eutils_eshopts.sh => estack_eshopts.sh} | 28 +- .../{eutils_estack.sh => estack_estack.sh} | 5 +- .../tests/{eutils_evar.sh => estack_evar.sh} | 5 +- .../eclass/tests/eutils_path_exists.sh | 1 - .../eclass/tests/flag-o-matic.sh | 1 - .../portage-stable/eclass/tests/git-r3.sh | 1 - .../eclass/tests/git-r3_GIT_DIR.sh | 1 - .../eclass/tests/git-r3_subrepos.sh | 1 - .../tests/linux-info_get_running_version.sh | 1 - .../eclass/tests/multiprocessing.sh | 1 - .../tests/multiprocessing_makeopts_jobs.sh | 1 - .../tests/multiprocessing_makeopts_loadavg.sh | 1 - .../eclass/tests/python-utils-r1.sh | 5 +- .../eclass/tests/rebar_fix_include_path.sh | 1 - .../eclass/tests/rebar_remove_deps.sh | 1 - .../eclass/tests/rebar_set_vsn.sh | 1 - .../eclass/tests/savedconfig.sh | 1 - .../eclass/tests/scons-utils.sh | 1 - .../eclass/tests/tests-common.sh | 1 - .../eclass/tests/toolchain-funcs.sh | 1 - .../portage-stable/eclass/tests/toolchain.sh | 1 - .../tests/versionator_version_compare.sh | 1 - .../eclass/texlive-common.eclass | 1 - .../eclass/texlive-module.eclass | 1 - .../portage-stable/eclass/tmpfiles.eclass | 1 - .../eclass/toolchain-autoconf.eclass | 70 + .../eclass/toolchain-binutils.eclass | 1 - .../eclass/toolchain-funcs.eclass | 7 +- .../eclass/toolchain-glibc.eclass | 1402 ++++++++ .../portage-stable/eclass/toolchain.eclass | 1 - .../portage-stable/eclass/twisted-r1.eclass | 1 - .../portage-stable/eclass/udev.eclass | 1 - .../portage-stable/eclass/unpacker.eclass | 19 +- .../portage-stable/eclass/user.eclass | 3 - .../portage-stable/eclass/vala.eclass | 1 - .../portage-stable/eclass/vcs-snapshot.eclass | 1 - .../portage-stable/eclass/vdr-plugin-2.eclass | 1 - .../portage-stable/eclass/versionator.eclass | 1 - .../portage-stable/eclass/vim-doc.eclass | 1 - .../portage-stable/eclass/vim-plugin.eclass | 1 - .../portage-stable/eclass/vim-spell.eclass | 1 - .../portage-stable/eclass/virtualx.eclass | 1 - .../eclass/vmware-bundle.eclass | 1 - .../portage-stable/eclass/waf-utils.eclass | 1 - .../portage-stable/eclass/webapp.eclass | 1 - .../portage-stable/eclass/wxwidgets.eclass | 1 - .../portage-stable/eclass/x-modular.eclass | 1 - .../portage-stable/eclass/xdg-utils.eclass | 5 +- .../portage-stable/eclass/xdg.eclass | 1 - .../eclass/xemacs-elisp-common.eclass | 1 - .../portage-stable/eclass/xemacs-elisp.eclass | 1 - .../eclass/xemacs-packages.eclass | 71 +- .../portage-stable/eclass/xfconf.eclass | 5 +- .../portage-stable/eclass/xorg-2.eclass | 1 - .../third_party/portage-stable/licenses/ACML | 186 - .../third_party/portage-stable/licenses/AMD | 188 - .../portage-stable/licenses/AMD-ADL | 65 - .../portage-stable/licenses/Apache-1.0 | 53 + .../third_party/portage-stable/licenses/CAOSL | 57 +- .../portage-stable/licenses/DXX-Rebirth | 72 + .../licenses/GPL-2-with-MySQL-FLOSS-exception | 12 +- .../portage-stable/licenses/Geogebra | 141 + .../portage-stable/licenses/Opendylan | 5 +- .../portage-stable/licenses/Sendmail | 2 +- .../licenses/Sendmail-Open-Source | 14 +- .../portage-stable/licenses/Stuffit | 3 +- .../portage-stable/licenses/TermReadKey | 5 - .../portage-stable/licenses/Toyoda | 11 + .../third_party/portage-stable/licenses/URI | 2 +- .../portage-stable/licenses/W3C-document | 78 +- .../third_party/portage-stable/licenses/Xerox | 39 + .../licenses/codehaus-classworlds | 18 +- .../third_party/portage-stable/licenses/comi | 93 + .../portage-stable/licenses/creduce | 32 - .../licenses/{descent2-data => descent-data} | 2 +- .../portage-stable/licenses/dotnet-eula | 128 + .../portage-stable/licenses/gitter | 161 + .../third_party/portage-stable/licenses/lcc | 5 +- .../portage-stable/licenses/linux-firmware | 7 + .../portage-stable/licenses/repoze | 64 +- .../portage-stable/licenses/symlinks | 23 + .../portage-stable/licenses/zi-labone | 69 + .../portage-stable/scripts/bootstrap.sh | 9 +- 393 files changed, 5746 insertions(+), 12857 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-soname delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-usertl-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-cxx delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-soname delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.4-with-svr4 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5.26 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.2.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.3 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4.3 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5b delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.4 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.4.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.2.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.3.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.2.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.3.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/1.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/2.1b delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/00broken-libglade delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.4.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.10 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.18 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20b delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.9f delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.2.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.3.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a-GCC3.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.3 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.5.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/gold-conf/2.2.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode-relink/1.3d delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/1.3d delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/2.1b delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hc-flag-ld/1.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hpux-conf/1.5.22-syslibpath delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.4 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/irix-ltmain/2.2.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/ltmain/1.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.14 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.20 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/mint-conf/2.2.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.3d delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.5.22 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx-2.64.patch delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx.patch delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.2.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.0c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.3 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.4.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.5.10 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/2.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/1.3d delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/2.1b delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-1 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.1 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.3 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/rem-int-dep/1.3.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.3.4 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.4.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.5.6 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-conf/2.4.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-ltmain/2.4.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sys-lib-dlsearch/2.4 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/target-nm/2.4.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.2 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/tmp/1.3.5 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.2.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.3.0c delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.2.0 delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.3.0 create mode 100644 sdk_container/src/third_party/portage-stable/eclass/aspell-dict-r1.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/chromium.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/depend.php.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/distutils.eclass rename sdk_container/src/third_party/portage-stable/eclass/{emboss-r1.eclass => emboss-r2.eclass} (60%) create mode 100644 sdk_container/src/third_party/portage-stable/eclass/epatch.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/epunt-cxx.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/estack.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/llvm.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/ltprune.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozconfig-v5.31.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.38.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.42.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.52.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.53.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-2.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/php-pear-r2.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/python.eclass rename sdk_container/src/third_party/portage-stable/eclass/tests/{eutils_eshopts.sh => estack_eshopts.sh} (68%) rename sdk_container/src/third_party/portage-stable/eclass/tests/{eutils_estack.sh => estack_estack.sh} (92%) rename sdk_container/src/third_party/portage-stable/eclass/tests/{eutils_evar.sh => estack_evar.sh} (95%) create mode 100644 sdk_container/src/third_party/portage-stable/eclass/toolchain-autoconf.eclass create mode 100644 sdk_container/src/third_party/portage-stable/eclass/toolchain-glibc.eclass delete mode 100644 sdk_container/src/third_party/portage-stable/licenses/ACML delete mode 100644 sdk_container/src/third_party/portage-stable/licenses/AMD delete mode 100644 sdk_container/src/third_party/portage-stable/licenses/AMD-ADL create mode 100644 sdk_container/src/third_party/portage-stable/licenses/Apache-1.0 create mode 100644 sdk_container/src/third_party/portage-stable/licenses/DXX-Rebirth create mode 100644 sdk_container/src/third_party/portage-stable/licenses/Geogebra delete mode 100644 sdk_container/src/third_party/portage-stable/licenses/TermReadKey create mode 100644 sdk_container/src/third_party/portage-stable/licenses/Toyoda create mode 100644 sdk_container/src/third_party/portage-stable/licenses/Xerox create mode 100644 sdk_container/src/third_party/portage-stable/licenses/comi delete mode 100644 sdk_container/src/third_party/portage-stable/licenses/creduce rename sdk_container/src/third_party/portage-stable/licenses/{descent2-data => descent-data} (94%) create mode 100644 sdk_container/src/third_party/portage-stable/licenses/dotnet-eula create mode 100644 sdk_container/src/third_party/portage-stable/licenses/gitter create mode 100644 sdk_container/src/third_party/portage-stable/licenses/linux-firmware create mode 100644 sdk_container/src/third_party/portage-stable/licenses/symlinks create mode 100644 sdk_container/src/third_party/portage-stable/licenses/zi-labone diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-c deleted file mode 100644 index 9be05686ad..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -7234,7 +7235,7 @@ - if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-cxx deleted file mode 100644 index 13ffb7ac4c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-cmds-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -10041,7 +10043,7 @@ - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - -- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-c deleted file mode 100644 index 2b54887d8f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-c +++ /dev/null @@ -1,14 +0,0 @@ ---- configure -+++ configure -@@ -7113,9 +7113,9 @@ - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then -- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else -- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx deleted file mode 100644 index 9b6bdc2f95..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-expsym-cxx +++ /dev/null @@ -1,14 +0,0 @@ ---- configure -+++ configure -@@ -11217,9 +11217,9 @@ - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then -- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else -- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds_CXX='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-c deleted file mode 100644 index c893f9c6ab..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -7189,7 +7190,7 @@ - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. -- allow_undefined_flag='-berok' -+ no_undefined_flag=' ${wl}-bernotok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - #line $LINENO "configure" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-cxx deleted file mode 100644 index dc01fcab6d..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-noundef-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -9995,7 +9997,7 @@ - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. -- allow_undefined_flag_CXX='-berok' -+ no_undefined_flag_CXX=' ${wl}-bernotok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - #line $LINENO "configure" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-soname b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-soname deleted file mode 100644 index 113fe2d84e..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-soname +++ /dev/null @@ -1,12 +0,0 @@ ---- configure -+++ configure -@@ -14426,7 +14426,8 @@ - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' -+ [ "${OBJECT_MODE:-32}" = '64' ] && soname_spec='$libname$release$shared_ext$major(shr_64.o)' || soname_spec='$libname$release$shared_ext$major(shr.o)' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-c deleted file mode 100644 index b5ff1866c8..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-c +++ /dev/null @@ -1,10 +0,0 @@ ---- configure -+++ configure -@@ -7130,6 +7130,7 @@ - fi - done - esac -+ aix_use_runtimelinking=yes - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-cxx deleted file mode 100644 index 36c84e9809..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.0-usertl-cxx +++ /dev/null @@ -1,10 +0,0 @@ ---- configure -+++ configure -@@ -9936,6 +9937,7 @@ - esac - done - esac -+ aix_use_runtimelinking=yes - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-c deleted file mode 100644 index a97485a3c1..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -8679,7 +8679,7 @@ - if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx deleted file mode 100644 index 222a0f7169..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/1.5.22-cmds-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -11731,7 +11731,7 @@ - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - -- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-c deleted file mode 100644 index bb3cb42bbe..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-c +++ /dev/null @@ -1,12 +0,0 @@ ---- configure -+++ configure -@@ -1,6 +1,9 @@ - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' -+ lt_prog_compiler_pic='-fPIC' -+ else -+ lt_prog_compiler_pic='-fPIC' - fi - ;; - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-cxx deleted file mode 100644 index 532bbcf421..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.0.0-fpic-cxx +++ /dev/null @@ -1,12 +0,0 @@ ---- configure -+++ configure -@@ -1,6 +1,9 @@ - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' -+ lt_prog_compiler_pic_CXX='-fPIC' -+ else -+ lt_prog_compiler_pic_CXX='-fPIC' - fi - ;; - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-c deleted file mode 100644 index 6c2cd7ea5b..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -8619,7 +8619,7 @@ - if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-cxx deleted file mode 100644 index af3c7b7c5a..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-cmds-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -13946,7 +13947,7 @@ - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - -- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-c deleted file mode 100644 index 196a5a36e6..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-c +++ /dev/null @@ -1,14 +0,0 @@ ---- configure -+++ configure -@@ -8475,9 +8475,9 @@ - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then -- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else -- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-cxx deleted file mode 100644 index ee4d163989..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-expsym-cxx +++ /dev/null @@ -1,14 +0,0 @@ ---- configure -+++ configure -@@ -15506,9 +15506,9 @@ - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then -- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else -- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds_CXX='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-c deleted file mode 100644 index d9520cbbd7..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -8558,7 +8558,7 @@ - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. -- allow_undefined_flag='-berok' -+ no_undefined_flag=' ${wl}-bernotok' - # Determine the default libpath from the value encoded in an - # empty executable. - cat >conftest.$ac_ext <<_ACEOF diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-cxx deleted file mode 100644 index 37d02dba8c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-noundef-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -13884,7 +13885,7 @@ - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. -- allow_undefined_flag_CXX='-berok' -+ no_undefined_flag_CXX=' ${wl}-bernotok' - # Determine the default libpath from the value encoded in an empty - # executable. - cat >conftest.$ac_ext <<_ACEOF diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-usertl-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-usertl-cxx deleted file mode 100644 index c59a093c94..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.0-usertl-cxx +++ /dev/null @@ -1,10 +0,0 @@ ---- configure -+++ configure -@@ -13819,6 +13819,7 @@ - done - ;; - esac -+ aix_use_runtimelinking=yes - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-c deleted file mode 100644 index e1e09347b2..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -9214,7 +9214,7 @@ - if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-cxx deleted file mode 100644 index 7a31f661d4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.2.8-cmds-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -13307,7 +13307,7 @@ - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - -- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" -+ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~rm -f -r $lib.d~mkdir -p $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~rm -f -r $lib.d' - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-c deleted file mode 100644 index 6860317739..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-c +++ /dev/null @@ -1,14 +0,0 @@ ---- configure -+++ configure -@@ -9660,9 +9660,9 @@ - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then -- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else -- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-cxx deleted file mode 100644 index ca9fd97be5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.0-expsym-cxx +++ /dev/null @@ -1,14 +0,0 @@ ---- configure -+++ configure -@@ -15711,9 +15711,9 @@ - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then -- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' - else -- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' -+ export_symbols_cmds_CXX='`echo $NM | sed -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-c deleted file mode 100644 index d92ce344b4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-c +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -9214,7 +9214,7 @@ - fi - - hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" -- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag -+ archive_expsym_cmds='eval `echo "$soname" | $SED -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~$RM -r $lib.d~$MKDIR $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~$RM -r $lib.d' - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-cxx b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-cxx deleted file mode 100644 index 851be27639..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-cmds-cxx +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -13307,7 +13307,7 @@ - - hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" - -- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag -+ archive_expsym_cmds_CXX='eval `echo "$soname" | sed -e "s,^,: ,; s,(,; membnam=,; s,\.o),,"`~$RM -r $lib.d~$MKDIR $lib.d~$CC -o $lib.d/$membnam.o $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags -shared $wl-G$allow_undefined_flag $wl'$exp_sym_flag':$export_symbols~$STRIP -e $lib.d/$membnam.o~( echo "#! $soname"; if test $membnam = shr_64; then echo "# 64"; else echo "# 32"; fi; cat $export_symbols ) > $lib.d/$membnam.imp~$AR $AR_FLAGS $lib $lib.d/$membnam.o $lib.d/$membnam.imp~$RM -r $lib.d' - else - if test ia64 = "$host_cpu"; then - hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-soname b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-soname deleted file mode 100644 index de3e93e8ae..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.2.418-soname +++ /dev/null @@ -1,10 +0,0 @@ ---- configure -+++ configure -@@ -14426,6 +14426,7 @@ - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' -+ [ "${OBJECT_MODE:-32}" = '64' ] && soname_spec='$libname$release$shared_ext$major(shr_64.o)' || soname_spec='$libname$release$shared_ext$major(shr.o)' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.4-with-svr4 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.4-with-svr4 deleted file mode 100644 index f356ea9883..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/aixrtl/2.4.4-with-svr4 +++ /dev/null @@ -1,11 +0,0 @@ ---- configure -+++ configure -@@ -10835,7 +10835,7 @@ - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 - else -- lt_cv_with_aix_soname=aix -+ lt_cv_with_aix_soname=svr4 - fi - - with_aix_soname=$lt_cv_with_aix_soname diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5 deleted file mode 100644 index 01759c93f9..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5 +++ /dev/null @@ -1,30 +0,0 @@ ---- ltmain.sh.orig 2006-03-29 15:45:36.000000000 +0200 -+++ ltmain.sh 2006-03-29 16:39:30.000000000 +0200 -@@ -1754,6 +1754,11 @@ - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ deplibs="$deplibs $arg" -+ continue -+ ;; -+ - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= -@@ -2094,6 +2099,15 @@ - lib= - found=no - case $deplib in -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ deplibs="$deplib $deplibs" -+ fi -+ continue -+ ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5.26 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5.26 deleted file mode 100644 index 6836c55e14..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/1.5.26 +++ /dev/null @@ -1,38 +0,0 @@ ---- ltmain.sh.orig 2009-04-18 16:51:52.000000000 +0200 -+++ ltmain.sh 2009-04-18 16:55:05.000000000 +0200 -@@ -1812,10 +1812,15 @@ - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ deplibs="$deplibs $arg" -+ continue -+ ;; -+ - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do -@@ -2152,10 +2157,19 @@ - fi - for deplib in $libs; do - lib= - found=no - case $deplib in -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ deplibs="$deplib $deplibs" -+ fi -+ continue -+ ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.2.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.2.6 deleted file mode 100644 index 7e71de4618..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.2.6 +++ /dev/null @@ -1,38 +0,0 @@ ---- ltmain.sh.orig 2009-04-18 14:37:16.000000000 +0200 -+++ ltmain.sh 2009-04-18 14:40:08.000000000 +0200 -@@ -4721,10 +4721,15 @@ - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ deplibs="$deplibs $arg" -+ continue -+ ;; -+ - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' -@@ -5075,10 +5080,19 @@ - - for deplib in $libs; do - lib= - found=no - case $deplib in -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ deplibs="$deplib $deplibs" -+ fi -+ continue -+ ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.2 deleted file mode 100644 index 526877a6d3..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.2 +++ /dev/null @@ -1,38 +0,0 @@ ---- ltmain.sh.orig 2012-08-19 10:18:57.929178597 +0200 -+++ ltmain.sh 2012-08-19 10:31:43.409388998 +0200 -@@ -5798,10 +5798,15 @@ - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ deplibs="$deplibs $arg" -+ continue -+ ;; -+ - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' -@@ -6158,10 +6163,19 @@ - - for deplib in $libs; do - lib= - found=no - case $deplib in -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ deplibs="$deplib $deplibs" -+ fi -+ continue -+ ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.3 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.3 deleted file mode 100644 index a31e9edab0..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/as-needed/2.4.3 +++ /dev/null @@ -1,38 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -7225,10 +7225,15 @@ - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ deplibs="$deplibs $arg" -+ continue -+ ;; -+ - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, -@@ -7609,10 +7614,19 @@ - - for deplib in $libs; do - lib= - found=false - case $deplib in -+ -Wl,--as-needed|-Wl,--no-as-needed) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ deplibs="$deplib $deplibs" -+ fi -+ continue -+ ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.2 deleted file mode 100644 index e8fc2be521..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.2 +++ /dev/null @@ -1,20 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -5768,7 +5768,7 @@ - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then -- add_dir="-L$libdir" -+ add_dir="-L${SYSROOT}$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in -@@ -5785,7 +5785,7 @@ - fi - else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir="-L$libdir" -+ add_dir="-L${SYSROOT}/$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4 deleted file mode 100644 index 9b35295591..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4 +++ /dev/null @@ -1,20 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -5768,7 +5768,7 @@ - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then -- add_dir="-L$libdir" -+ add_dir="-L${lt_sysroot:-${SYSROOT}}$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in -@@ -5785,7 +5785,7 @@ - fi - else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir="-L$libdir" -+ add_dir="-L${lt_sysroot:-${SYSROOT}}/$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4.3 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4.3 deleted file mode 100644 index 760104fc89..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/cross/2.4.3 +++ /dev/null @@ -1,21 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -8367,7 +8367,7 @@ - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then -- add_dir=-L$libdir -+ add_dir=-L${lt_sysroot:-${SYSROOT}}$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in -@@ -8384,7 +8384,7 @@ - fi - else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir=-L$libdir -+ add_dir=-L${lt_sysroot:-${SYSROOT}}$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5 deleted file mode 100644 index 46d9e5a885..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5 +++ /dev/null @@ -1,24 +0,0 @@ -In Gentoo Prefix we go by Apple's convention to give modules the .bundle -extension. -http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html -(Above link was removed by Apple, the link below contains a copy: -http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html, -in case it disappears also, the relevant quote: - -Bundle. Bundles are executable files that can be loaded at runtime by -other products. Plug-ins are implemented using bundles. The term bundle -in this context refers to the binary itself, not to a structured -hierarchy. Bundles have the .bundle extension; for example, -MyBundle.bundle.) - ---- configure.orig 2009-05-22 12:05:31 +0200 -+++ configure 2009-05-22 12:05:39 +0200 -@@ -15461,7 +15461,7 @@ - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5b b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5b deleted file mode 100644 index 65633a8184..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/1.5b +++ /dev/null @@ -1,33 +0,0 @@ -In Gentoo Prefix we go by Apple's convention to give modules the .bundle -extension. -http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html -(Above link was removed by Apple, the link below contains a copy: -http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html, -in case it disappears also, the relevant quote: - -Bundle. Bundles are executable files that can be loaded at runtime by -other products. Plug-ins are implemented using bundles. The term bundle -in this context refers to the binary itself, not to a structured -hierarchy. Bundles have the .bundle extension; for example, -MyBundle.bundle.) - ---- configure -+++ configure -@@ -10570,7 +10570,7 @@ - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' -@@ -14213,7 +14213,7 @@ - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.4 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.4 deleted file mode 100644 index 5ad829343f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.4 +++ /dev/null @@ -1,29 +0,0 @@ -In Gentoo Prefix we go by Apple's convention to give modules the .bundle -extension. -http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html -(Above link was removed by Apple, the link below contains a copy: -http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html, -in case it disappears also, the relevant quote: - -Bundle. Bundles are executable files that can be loaded at runtime by -other products. Plug-ins are implemented using bundles. The term bundle -in this context refers to the binary itself, not to a structured -hierarchy. Bundles have the .bundle extension; for example, -MyBundle.bundle.) - ---- configure -+++ configure -@@ -12172,11 +12172,11 @@ - version_type=darwin - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' -+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.6 deleted file mode 100644 index 669a68d09a..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.2.6 +++ /dev/null @@ -1,43 +0,0 @@ -In Gentoo Prefix we go by Apple's convention to give modules the .bundle -extension. -http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html -(Above link was removed by Apple, the link below contains a copy: -http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html, -in case it disappears also, the relevant quote: - -Bundle. Bundles are executable files that can be loaded at runtime by -other products. Plug-ins are implemented using bundles. The term bundle -in this context refers to the binary itself, not to a structured -hierarchy. Bundles have the .bundle extension; for example, -MyBundle.bundle.) - ---- configure -+++ configure -@@ -11455,11 +11455,11 @@ - version_type=darwin - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' -+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' -@@ -15321,11 +15331,11 @@ - version_type=darwin - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' -+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.4.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.4.6 deleted file mode 100644 index a67ba12ebe..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-conf/2.4.6 +++ /dev/null @@ -1,29 +0,0 @@ -In Gentoo Prefix we go by Apple's convention to give modules the .bundle -extension. -http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html -(Above link was removed by Apple, the link below contains a copy: -http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html, -in case it disappears also, the relevant quote: - -Bundle. Bundles are executable files that can be loaded at runtime by -other products. Plug-ins are implemented using bundles. The term bundle -in this context refers to the binary itself, not to a structured -hierarchy. Bundles have the .bundle extension; for example, -MyBundle.bundle.) - ---- configure -+++ configure -@@ -13108,11 +13108,11 @@ - version_type=darwin - need_lib_prefix=no - need_version=no -- library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' -+ library_names_spec='${libname}${release}${versuffix}$shared_ext $libname$release$major$shared_ext $libname$shared_ext' - soname_spec='$libname$release$major$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH -- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -+ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.2.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.2.0 deleted file mode 100644 index da9f7e484d..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.2.0 +++ /dev/null @@ -1,66 +0,0 @@ ---- ltconfig-1.2 Wed May 19 09:17:36 1999 -+++ ltconfig Wed Oct 6 14:29:08 2004 -@@ -459,6 +459,11 @@ - os2*) - # We can build DLLs from non-PIC. - ;; -+ darwin* | rhapsody*) -+ # PIC is the default on this platform -+ # Common symbols not allowed in MH_DYLIB files -+ pic_flag='-fno-common' -+ ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, -@@ -785,6 +790,23 @@ - hardcode_shlibpath_var=no - ;; - -+ darwin* | rhapsody*) -+ case "$host_os" in -+ rhapsody* | darwin1.[012]) -+ allow_undefined_flag='-undefined suppress' -+ ;; -+ *) # Darwin 1.3 on -+ allow_undefined_flag='-flat_namespace -undefined suppress' -+ ;; -+ esac -+ archive_cmds='$nonopt $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' -+ # We need to add '_' to the symbols in $export_symbols first -+ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib' -+ hardcode_direct=yes -+ hardcode_shlibpath_var=no -+ whole_archive_flag_spec='-all_load $convenience' -+ ;; -+ - hpux9*) - archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib' - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -@@ -1134,6 +1156,27 @@ - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' - shlibpath_var=LD_LIBRARY_PATH -+ ;; -+ -+darwin* | rhapsody*) -+ dynamic_linker="$host_os dyld" -+ version_type=darwin -+ need_lib_prefix=no -+ need_version=no -+ deplibs_check_method='file_magic Mach-O dynamically linked shared library' -+ file_magic_cmd='/usr/bin/file -L' -+ case "$host_os" in -+ rhapsody* | darwin1.[012]) -+ file_magic_test_file='/System/Library/Frameworks/System.framework/System' -+ ;; -+ *) # Darwin 1.3 on -+ file_magic_test_file='/usr/lib/libSystem.dylib' -+ ;; -+ esac -+ library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' -+ soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' -+ shlibpath_overrides_runpath=yes -+ shlibpath_var=DYLD_LIBRARY_PATH - ;; - - hpux9* | hpux10*) diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.3.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.3.0 deleted file mode 100644 index 49ae67df41..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltconf/1.3.0 +++ /dev/null @@ -1,67 +0,0 @@ ---- ltconfig.darwin 2000-02-02 19:53:22.000000000 -0500 -+++ ltconfig 2004-09-23 20:25:11.000000000 -0400 -@@ -678,6 +678,11 @@ - cygwin* | mingw* | os2*) - # We can build DLLs from non-PIC. - ;; -+ darwin* | rhapsody*) -+ # PIC is the default on this platform -+ # Common symbols not allowed in MH_DYLIB files -+ pic_flag='-fno-common' -+ ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, -@@ -1361,6 +1372,23 @@ - hardcode_shlibpath_var=no - ;; - -+ darwin* | rhapsody*) -+ case "$host_os" in -+ rhapsody* | darwin1.[012]) -+ allow_undefined_flag='-undefined suppress' -+ ;; -+ *) # Darwin 1.3 on -+ allow_undefined_flag='-flat_namespace -undefined suppress' -+ ;; -+ esac -+ archive_cmds='$nonopt $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)' -+ # We need to add '_' to the symbols in $export_symbols first -+ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib' -+ hardcode_direct=yes -+ hardcode_shlibpath_var=no -+ whole_archive_flag_spec='-all_load $convenience' -+ ;; -+ - hpux9* | hpux10* | hpux11*) - case "$host_os" in - hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;; -@@ -1897,6 +1931,27 @@ - esac - ;; - -+darwin* | rhapsody*) -+ dynamic_linker="$host_os dyld" -+ version_type=darwin -+ need_lib_prefix=no -+ need_version=no -+ deplibs_check_method='file_magic Mach-O dynamically linked shared library' -+ file_magic_cmd='/usr/bin/file -L' -+ case "$host_os" in -+ rhapsody* | darwin1.[012]) -+ file_magic_test_file='/System/Library/Frameworks/System.framework/System' -+ ;; -+ *) # Darwin 1.3 on -+ file_magic_test_file='/usr/lib/libSystem.dylib' -+ ;; -+ esac -+ library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' -+ soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' -+ shlibpath_overrides_runpath=yes -+ shlibpath_var=DYLD_LIBRARY_PATH -+ ;; -+ - gnu*) - version_type=linux - need_lib_prefix=no - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.2.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.2.0 deleted file mode 100644 index aaab86a723..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.2.0 +++ /dev/null @@ -1,40 +0,0 @@ ---- ltmain.sh-1.2 Wed May 19 09:17:36 1999 -+++ ltmain.sh Wed Oct 6 14:38:37 2004 -@@ -967,6 +967,16 @@ - versuffix="$current.$revision" - ;; - -+ darwin) -+ # Like Linux, but with the current version available in -+ # verstring for coding it into the library header -+ major=.`expr $current - $age` -+ versuffix="$major.$age.$revision" -+ # Darwin ld doesn't like 0 for these options... -+ minor_current=`expr $current + 1` -+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" -+ ;; -+ - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 -@@ -1000,9 +1010,17 @@ - allow_undefined_flag="$no_undefined_flag" - fi - -- # Add libc to deplibs on all systems. -- dependency_libs="$deplibs" -- deplibs="$deplibs -lc" -+ case "$version_type" in -+ rhapsody|darwin) -+ # Rhapsody C library is in the System framework -+ deplibs="$deplibs -framework System" -+ ;; -+ *) -+ # Add libc to deplibs on all other systems. -+ dependency_libs="$deplibs" -+ deplibs="$deplibs -lc" -+ ;; -+ esac - - if test "$build_libtool_libs" = yes; then - # Get the real and link names of the library. diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.3.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.3.0 deleted file mode 100644 index 7148efb993..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/darwin-ltmain/1.3.0 +++ /dev/null @@ -1,64 +0,0 @@ ---- ltmain.sh.darwin 2000-02-02 19:53:22.000000000 -0500 -+++ ltmain.sh 2004-09-23 20:25:11.000000000 -0400 -@@ -24,6 +24,8 @@ - # configuration script generated by Autoconf, you may include it under - # the same distribution terms that you use for the rest of that program. - -+_S_=${LIBTOOL_CMD_SEP-\~} -+ - # Check that we have a working $echo. - if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. -@@ -1079,6 +1079,11 @@ - # These systems don't actually have c library (as such) - continue - ;; -+ *-*-rhapsody* | *-*-darwin1.[012]) -+ # Rhapsody C library is in the System framework -+ deplibs="$deplibs -framework System" -+ continue -+ ;; - esac - elif test "$arg" = "-lm"; then - case "$host" in -@@ -1086,6 +1091,11 @@ - # These systems don't actually have math library (as such) - continue - ;; -+ *-*-rhapsody* | *-*-darwin1.[012]) -+ # Rhapsody math library is in the System framework -+ deplibs="$deplibs -framework System" -+ continue -+ ;; - esac - fi - deplibs="$deplibs $arg" -@@ -1753,6 +1763,16 @@ - versuffix="-$major-$age-$revision" - ;; - -+ darwin) -+ # Like Linux, but with the current version available in -+ # verstring for coding it into the library header -+ major=.`expr $current - $age` -+ versuffix="$major.$age.$revision" -+ # Darwin ld doesn't like 0 for these options... -+ minor_current=`expr $current + 1` -+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" -+ ;; -+ - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 -@@ -1795,6 +1824,10 @@ - *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; -+ *-*-rhapsody* | *-*-darwin1.[012]) -+ # Rhapsody C library is in the System framework -+ deplibs="$deplibs -framework System" -+ ;; - *) - # Add libc to deplibs on all other systems. - deplibs="$deplibs -lc" - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/1.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/1.5 deleted file mode 100644 index 36c507ade3..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/1.5 +++ /dev/null @@ -1,18 +0,0 @@ ---- libtool.orig 2009-07-15 16:25:32 +0200 -+++ libtool 2009-07-15 16:51:56 +0200 -@@ -3319,7 +3319,14 @@ - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then -- path="$absdir/$objdir" -+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+ eval library_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` -+ for library_name in ${library_names}; do :; done -+ if test $mode = relink && test -f "${inst_prefix_dir}${libdir}/${library_name}"; then -+ path="${inst_prefix_dir}${libdir}" -+ else -+ path="$absdir/$objdir" -+ fi - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/2.1b b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/2.1b deleted file mode 100644 index 3df590df7f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/deplibs/2.1b +++ /dev/null @@ -1,18 +0,0 @@ ---- ltmain-release-2-1b.in 2009-06-22 15:33:26.000000000 +0200 -+++ ltmain-release-2-1b.in.new 2009-07-15 16:59:45.000000000 +0200 -@@ -4946,7 +4946,14 @@ - fi - ;; - *) -- path="-L$absdir/$objdir" -+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+ eval library_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` -+ for library_name in ${library_names}; do :; done -+ if test $mode = relink && test -f "${inst_prefix_dir}${libdir}/${library_name}"; then -+ path="-L${inst_prefix_dir}${libdir}" -+ else -+ path="-L$absdir/$objdir" -+ fi - ;; - esac - else diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/00broken-libglade b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/00broken-libglade deleted file mode 100644 index df3c4384c4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/00broken-libglade +++ /dev/null @@ -1,33 +0,0 @@ -Index: tiff-3.8.2/configure -=================================================================== ---- tiff-3.8.2.orig/configure -+++ tiff-3.8.2/configure -@@ -8199,7 +8199,14 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ # Handle Gentoo/FreeBSD as it was Linux -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -8210,6 +8216,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in \ No newline at end of file diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.4.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.4.0 deleted file mode 100644 index b986f8d8f5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.4.0 +++ /dev/null @@ -1,32 +0,0 @@ -Index: expat-1.95.8/configure -=================================================================== ---- expat-1.95.8.orig/configure -+++ expat-1.95.8/configure -@@ -5479,7 +5479,13 @@ freebsd1*) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' -@@ -5490,6 +5496,12 @@ freebsd*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}.so' -+ soname_spec='${libname}${release}.so$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.10 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.10 deleted file mode 100644 index 90c63475bc..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.10 +++ /dev/null @@ -1,120 +0,0 @@ -Index: libiconv-1.10/configure -=================================================================== ---- libiconv-1.10.orig/configure -+++ libiconv-1.10/configure -@@ -8902,7 +8902,14 @@ kfreebsd*-gnu) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ # Gentoo/FreeBSD uses linux-style versioning to be user-friendly. -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -8913,6 +8920,12 @@ freebsd*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -12620,7 +12633,14 @@ kfreebsd*-gnu) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ # Gentoo/FreeBSD uses linux-style versioning to be user-friendly. -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -12631,6 +12651,12 @@ freebsd*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -15784,7 +15810,14 @@ kfreebsd*-gnu) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ # Gentoo/FreeBSD uses linux-style versioning to be user-friendly. -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -15795,6 +15828,12 @@ freebsd*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -18150,7 +18189,14 @@ kfreebsd*-gnu) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ # Gentoo/FreeBSD uses linux-style versioning to be user-friendly. -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -18161,6 +18207,12 @@ freebsd*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.18 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.18 deleted file mode 100644 index 0636cebfcf..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.18 +++ /dev/null @@ -1,116 +0,0 @@ -Index: libtool-1.5.18/configure -=================================================================== ---- libtool-1.5.18.orig/configure -+++ libtool-1.5.18/configure -@@ -8433,7 +8433,13 @@ freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -8444,6 +8450,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -12205,7 +12217,13 @@ freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -12216,6 +12234,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -15461,7 +15485,13 @@ freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -15472,6 +15502,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -17929,7 +17965,13 @@ freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -17940,6 +17982,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20 deleted file mode 100644 index e17920f8f8..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20 +++ /dev/null @@ -1,116 +0,0 @@ -Index: libtool-1.5.20/configure -=================================================================== ---- libtool-1.5.20.orig/configure -+++ libtool-1.5.20/configure -@@ -8441,7 +8441,13 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -8452,6 +8458,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -12228,7 +12240,13 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -12239,6 +12257,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -15492,7 +15516,13 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -15503,6 +15533,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -17968,7 +18004,13 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -17979,6 +18021,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20b b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20b deleted file mode 100644 index 0659b1c3cb..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.5.20b +++ /dev/null @@ -1,61 +0,0 @@ -Index: tiff-3.8.2/configure -=================================================================== ---- tiff-3.8.2.orig/configure -+++ tiff-3.8.2/configure -@@ -8199,7 +8199,14 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ # Handle Gentoo/FreeBSD as it was Linux -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -8210,6 +8216,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -19253,7 +19265,13 @@ freebsd* | dragonfly*) - *) objformat=elf ;; - esac - fi -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -19264,6 +19282,12 @@ freebsd* | dragonfly*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.9f b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.9f deleted file mode 100644 index f16ddb874c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-conf/1.9f +++ /dev/null @@ -1,60 +0,0 @@ -Index: libtorrent-0.10.0/configure -=================================================================== ---- libtorrent-0.10.0.orig/configure -+++ libtorrent-0.10.0/configure -@@ -8173,7 +8173,13 @@ kfreebsd*-gnu) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || $ECHO aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -8184,6 +8190,12 @@ freebsd*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in -@@ -12461,7 +12473,13 @@ kfreebsd*-gnu) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || $ECHO aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -@@ -12472,6 +12490,12 @@ freebsd*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' -+ soname_spec='${libname}${release}${shared_ext}$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.2.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.2.0 deleted file mode 100644 index 7d2f554f25..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.2.0 +++ /dev/null @@ -1,26 +0,0 @@ -Index: jpeg-6b/ltconfig -=================================================================== ---- jpeg-6b.orig/ltconfig -+++ jpeg-6b/ltconfig -@@ -1126,9 +1126,18 @@ amigaos*) - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' - ;; - --freebsd2* | freebsd3*) -- version_type=sunos -- library_names_spec='${libname}${release}.so.$versuffix $libname.so' -+freebsd[234567]*) -+ case $host_vendor in -+ gentoo) -+ version_type=linux -+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}.so' -+ soname_spec='${libname}${release}.so.$major' -+ ;; -+ *) -+ version_type=sunos -+ library_names_spec='${libname}${release}.so.$versuffix $libname.so' -+ ;; -+ esac - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.3.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.3.0 deleted file mode 100644 index 69aa94e678..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.3.0 +++ /dev/null @@ -1,32 +0,0 @@ -Index: libtool-1.3.5/ltconfig -=================================================================== ---- libtool-1.3.5.orig/ltconfig -+++ libtool-1.3.5/ltconfig -@@ -1888,7 +1888,13 @@ freebsd1*) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case "$version_type" in - freebsd-elf*) - deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' -@@ -1903,6 +1909,12 @@ freebsd*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}.so' -+ soname_spec='${libname}${release}.so$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case "$host_os" in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a deleted file mode 100644 index 00084070df..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a +++ /dev/null @@ -1,32 +0,0 @@ -Index: binutils-2.16.1/ltconfig -=================================================================== ---- binutils-2.16.1.orig/ltconfig -+++ binutils-2.16.1/ltconfig -@@ -1129,7 +1129,13 @@ freebsd1*) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' -@@ -1141,6 +1147,12 @@ freebsd*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}.so' -+ soname_spec='${libname}${release}.so$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a-GCC3.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a-GCC3.0 deleted file mode 100644 index e88bb4582a..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fbsd-ltconf/1.4a-GCC3.0 +++ /dev/null @@ -1,32 +0,0 @@ -Index: binutils-2.16.1/ltconfig -=================================================================== ---- binutils-2.16.1.orig/ltconfig -+++ binutils-2.16.1/ltconfig -@@ -1129,7 +1129,13 @@ freebsd1*) - - freebsd*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` -- version_type=freebsd-$objformat -+ case $host_vendor in -+ gentoo) -+ version_type=linux ;; -+ *) -+ version_type=freebsd-$objformat ;; -+ esac -+ - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' -@@ -1141,6 +1147,12 @@ freebsd*) - library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' - need_version=yes - ;; -+ linux) -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}.so' -+ soname_spec='${libname}${release}.so$major' -+ need_lib_prefix=no -+ need_version=no -+ ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.0 deleted file mode 100644 index 1b12c9b1a3..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.0 +++ /dev/null @@ -1,63 +0,0 @@ ---- ltmain.sh 2003-09-24 18:22:17.528129376 +0200 -+++ ltmain.sh 2003-09-24 18:23:17.101072912 +0200 -@@ -1582,6 +1582,8 @@ - # Only check for convenience libraries - deplibs="$lib $deplibs" - tmp_libs= -+ # PKGW -+ dependency_libs= - for deplib in $dependency_libs; do - #echo "Adding $deplib to \$deplibs" - deplibs="$deplib $deplibs" -@@ -1699,6 +1701,8 @@ - fi - - tmp_libs= -+ #PKGW -+ dependency_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test -@@ -1860,6 +1864,16 @@ - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" -+ # Try looking first in the location we're being installed to. -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ # Add the install location to the beginning, minimising possiblilty -+ # of linking to older version of the lib already installed. -+ add_dir="-L$inst_prefix_dir$libdir $add_dir" -+ ;; -+ esac -+ fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" -@@ -1918,6 +1932,16 @@ - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" -+ # Try looking first in the location we're being installed to. -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ # Add the install location to the beginning, minimising possiblilty -+ # of linking to older version of the lib already installed. -+ add_dir="-L$inst_prefix_dir$libdir $add_dir" -+ ;; -+ esac -+ fi - add="-l$name" - fi - -@@ -2117,7 +2141,7 @@ - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; -- *) tmp_libs="$tmp_libs $deplib" ;; -+ *) tmp_libs="$deplib $tmp_libs" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.3 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.3 deleted file mode 100644 index 959fe1dd76..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.4.3 +++ /dev/null @@ -1,62 +0,0 @@ ---- ltmain.sh 2003-09-24 19:48:39.367370072 +0200 -+++ ltmain.sh 2003-09-24 19:49:31.773403144 +0200 -@@ -1593,6 +1593,8 @@ - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= -+ # PKGW -+ dependency_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then -@@ -1710,6 +1712,8 @@ - fi - - tmp_libs= -+ #PKGW -+ dependency_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test -@@ -1871,6 +1875,16 @@ - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" -+ # Try looking first in the location we're being installed to. -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ # Add the install location to the beginning, minimising possiblilty -+ # of linking to older version of the lib already installed. -+ add_dir="-L$inst_prefix_dir$libdir $add_dir" -+ ;; -+ esac -+ fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" -@@ -1938,11 +1952,13 @@ - else - # We cannot seem to hardcode it, guess we'll fake it. - # Try looking first in the location we're being installed to. -- add_dir= -+ add_dir="-L$dir" - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) -- add_dir="-L$inst_prefix_dir$libdir" -+ # Add the install location to the beginning, minimising possiblilty -+ # of linking to older version of the lib already installed. -+ add_dir="-L$inst_prefix_dir$libdir $add_dir" - ;; - esac - fi -@@ -2146,7 +2162,7 @@ - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; -- *) tmp_libs="$tmp_libs $deplib" ;; -+ *) tmp_libs="$deplib $tmp_libs" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.5.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.5.0 deleted file mode 100644 index 29b7db7b1d..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/fix-relink/1.5.0 +++ /dev/null @@ -1,51 +0,0 @@ ---- ltmain.sh 2003-09-24 18:18:14.961005184 +0200 -+++ ltmain.sh 2003-09-24 18:20:11.204333512 +0200 -@@ -2022,6 +2022,8 @@ - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= -+ # PKGW -+ dependency_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then -@@ -2143,6 +2145,8 @@ - fi - - tmp_libs= -+ #PKGW -+ dependency_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test -@@ -2359,7 +2363,9 @@ - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) -- add_dir="$add_dir -L$inst_prefix_dir$libdir" -+ # Add the install location to the beginning, minimising possiblilty -+ # of linking to older version of the lib already installed. -+ add_dir="-L$inst_prefix_dir$libdir $add_dir" - ;; - esac - fi -@@ -2431,7 +2437,9 @@ - if test -n "$inst_prefix_dir"; then - case "$libdir" in - [\\/]*) -- add_dir="$add_dir -L$inst_prefix_dir$libdir" -+ # Add the install location to the beginning, minimising possiblilty -+ # of linking to older version of the lib already installed. -+ add_dir="-L$inst_prefix_dir$libdir $add_dir" - ;; - esac - fi -@@ -2691,7 +2699,7 @@ - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; -- *) tmp_libs="$tmp_libs $deplib" ;; -+ *) tmp_libs="$deplib $tmp_libs" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/gold-conf/2.2.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/gold-conf/2.2.6 deleted file mode 100644 index 048cbad011..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/gold-conf/2.2.6 +++ /dev/null @@ -1,10 +0,0 @@ ---- configure.orig -+++ configure -@@ -9933,6 +9933,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in -+ *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode-relink/1.3d b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode-relink/1.3d deleted file mode 100644 index dc7819f447..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode-relink/1.3d +++ /dev/null @@ -1,8 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -2208,4 +2208,4 @@ - relink) -- if test "$hardcode_direct" = yes; then -+ if false && test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/1.3d b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/1.3d deleted file mode 100644 index 7408b372ae..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/1.3d +++ /dev/null @@ -1,21 +0,0 @@ -http://lists.gnu.org/archive/html/bug-libtool/2008-03/msg00124.html - -but this patch disables hardcoding independent of inst_prefix_dir at all, -for both hardcode_direct=yes and hardcode_minus_L=yes. - -If you update this patch, please also update libtool/files/libtool-1.3d-hardcode.patch - ---- ltmain.in.orig 2008-04-16 15:54:04.000000000 +0200 -+++ ltmain.in 2008-04-16 16:21:04.000000000 +0200 -@@ -1900,9 +1900,9 @@ - add_dir= - add= - # Finalize command for both is simple: just hardcode it. -- if test "$hardcode_direct" = yes; then -+ if false && test "$hardcode_direct" = yes; then - add="$libdir/$linklib" -- elif test "$hardcode_minus_L" = yes; then -+ elif false && test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/2.1b b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/2.1b deleted file mode 100644 index 48571f3937..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hardcode/2.1b +++ /dev/null @@ -1,36 +0,0 @@ -Hardcoding library path does not work with DESTDIR installs. - -Affects any platform with 'hardcode_direct=yes' or 'hardcode_minus_L=yes'. -According to libtool.m4 (as of libtool-1.5.26), these are: - *-aix* - *-hpux9 - hppa-hpux* (not hppa64 or ia64) - *-netbsd - *-openbsd - *-freebsd - *-dragonfly - *-newsos6 - *-os2 - *-amigaos - *-sunos4 - *-sysv4 -It definitely is required for aix (to support DESTDIR), -although it should help for others too... - ---- ../../libtool.orig 2009-07-16 18:06:59 +0200 -+++ ../../libtool 2009-07-16 18:07:45 +0200 -@@ -6298,13 +6298,13 @@ - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" -- elif test "$hardcode_minus_L" = yes; then -+ elif false && test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hc-flag-ld/1.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hc-flag-ld/1.5 deleted file mode 100644 index bf88873c8f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hc-flag-ld/1.5 +++ /dev/null @@ -1,18 +0,0 @@ -http://lists.gnu.org/archive/html/libtool/2006-01/msg00012.html - ---- ltmain.sh.orig 2007-11-19 17:07:34.946648000 +0100 -+++ ltmain.sh 2007-11-19 17:07:57.785975000 +0100 -@@ -3915,8 +3915,11 @@ - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then -- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" -- else -+ case $archive_cmds in -+ *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; -+ *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; -+ esac -+ else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hpux-conf/1.5.22-syslibpath b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hpux-conf/1.5.22-syslibpath deleted file mode 100644 index 27fef4873e..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/hpux-conf/1.5.22-syslibpath +++ /dev/null @@ -1,24 +0,0 @@ -must not search /usr/local in prefix - ---- configure.orig 2007-12-02 19:14:55 +0100 -+++ configure 2007-12-02 19:14:59 +0100 -@@ -8920,9 +8920,17 @@ - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then -- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" -+ if test "$GCC" = yes; then -+ sys_lib_search_path_spec="${sys_lib_search_path_spec} /usr/lib/hpux32" -+ else -+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" -+ fi - else -- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" -+ if test "$GCC" = yes; then -+ sys_lib_search_path_spec="${sys_lib_search_path_spec} /usr/lib/hpux64" -+ else -+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" -+ fi - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5 deleted file mode 100644 index 1b8b20bebd..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5 +++ /dev/null @@ -1,14 +0,0 @@ ---- install-sh 2007-07-04 14:36:49 +0100 -+++ install-sh 2007-09-14 11:00:41 +0100 -@@ -192,7 +192,10 @@ - - if [ x"$dir_arg" != x ] - then -- $doit $instcmd $dst && -+ { $doit $instcmd "$dst" || lasterr=$? -+ # It's ok for mkdir to fail if the directory already exists. -+ test -d "$dst" || { (exit ${lasterr-1}); exit; } -+ } && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.4 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.4 deleted file mode 100644 index 0b1c22043b..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.4 +++ /dev/null @@ -1,14 +0,0 @@ ---- install-sh 2006-03-25 20:04:46 +0000 -+++ install-sh 2007-09-14 10:53:29 +0100 -@@ -246,7 +246,10 @@ - fi - - if test -n "$dir_arg"; then -- $doit $mkdircmd "$dst" \ -+ { $doit $mkdircmd "$dst" || lasterr=$? -+ # It's ok for mkdir to fail if the directory already exists. -+ test -d "$dst" || { (exit ${lasterr-1}); exit; } -+ } \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.6 deleted file mode 100644 index d107740d1b..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/install-sh/1.5.6 +++ /dev/null @@ -1,14 +0,0 @@ ---- install-sh 2006-03-14 12:57:54 -0300 -+++ install-sh 2008-06-19 22:23:04 -0300 -@@ -240,7 +240,10 @@ - fi - - if test -n "$dir_arg"; then -- $doit $instcmd "$dst" \ -+ { $doit $instcmd "$dst" || lasterr=$? -+ # It's ok for mkdir to fail if the directory already exists. -+ test -d "$dst" || { (exit ${lasterr-1}); exit; } -+ } \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/irix-ltmain/2.2.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/irix-ltmain/2.2.6 deleted file mode 100644 index 70916377b5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/irix-ltmain/2.2.6 +++ /dev/null @@ -1,30 +0,0 @@ -I notice that $EPREFIX/usr/share/libtool/config/ltmain.sh also has this -stray increment - so I'd assume that this is a bug in libtool (which is -perhaps trying to fix a deprecated behaviour of old IRIX versions?). - -http://bugs.gentoo.org/show_bug.cgi?id=301520 - - ---- ltmain.sh.dist 2010-01-19 14:04:22.101603800 +0000 -+++ ltmain.sh 2010-01-19 14:08:29.361500240 +0000 -@@ -6225,7 +6225,6 @@ func_mode_link () - current=$func_arith_result - age="$number_minor" - revision="$number_minor" -- lt_irix_increment=no - ;; - esac - ;; -@@ -6297,11 +6296,7 @@ func_mode_link () - ;; - - irix | nonstopux) -- if test "X$lt_irix_increment" = "Xno"; then -- func_arith $current - $age -- else -- func_arith $current - $age + 1 -- fi -+ func_arith $current - $age - major=$func_arith_result - - case $version_type in diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/ltmain/1.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/ltmain/1.5 deleted file mode 100644 index 39abee03ef..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/ltmain/1.5 +++ /dev/null @@ -1,18 +0,0 @@ ---- ltmain.sh 2007-09-15 07:35:19 +0100 -+++ ltmain.sh 2004-01-25 12:40:26 +0000 -@@ -1854,6 +1840,15 @@ - lib= - found=no - case $deplib in -+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) -+ if test "$linkmode,$pass" = "prog,link"; then -+ compile_deplibs="$deplib $compile_deplibs" -+ finalize_deplibs="$deplib $finalize_deplibs" -+ else -+ deplibs="$deplib $deplibs" -+ fi -+ continue -+ ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.0 deleted file mode 100644 index 6d5f88b596..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.0 +++ /dev/null @@ -1,33 +0,0 @@ ---- ltmain.sh 2004-02-11 20:55:14.587581248 +0200 -+++ ltmain.sh 2004-02-11 21:15:33.467283368 +0200 -@@ -117,6 +117,30 @@ - execute_dlfiles= - lo2o="s/\\.lo\$/.${objext}/" - o2lo="s/\\.${objext}\$/.lo/" -+ -+if test -z "$max_cmd_len"; then -+ i=0 -+ testring="ABCD" -+ new_result= -+ -+ # If test is not a shell built-in, we'll probably end up computing a -+ # maximum length that is only half of the actual maximum length, but -+ # we can't tell. -+ while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ -+ = "XX$testring") >/dev/null 2>&1 && -+ new_result=`expr "X$testring" : ".*" 2>&1` && -+ max_cmd_len="$new_result" && -+ test $i != 17 # 1/2 MB should be enough -+ do -+ i=`expr $i + 1` -+ testring="$testring$testring" -+ done -+ testring= -+ # Add a significant safety factor because C++ compilers can tack on massive -+ # amounts of additional arguments before passing them to the linker. -+ # It appears as though 1/2 is a usable value. -+ max_cmd_len=`expr $max_cmd_len \/ 2` -+fi - - ##################################### - # Shell function definitions: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.14 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.14 deleted file mode 100644 index 8f299e8b95..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.14 +++ /dev/null @@ -1,33 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -136,6 +136,30 @@ - lo2o="s/\\.lo\$/.${objext}/" - o2lo="s/\\.${objext}\$/.lo/" - quote_scanset='[[~#^*{};<>?'"'"' ]' -+ -+if test -z "$max_cmd_len"; then -+ i=0 -+ testring="ABCD" -+ new_result= -+ -+ # If test is not a shell built-in, we'll probably end up computing a -+ # maximum length that is only half of the actual maximum length, but -+ # we can't tell. -+ while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ -+ = "XX$testring") >/dev/null 2>&1 && -+ new_result=`expr "X$testring" : ".*" 2>&1` && -+ max_cmd_len="$new_result" && -+ test "$i" != 17 # 1/2 MB should be enough -+ do -+ i=`expr $i + 1` -+ testring="$testring$testring" -+ done -+ testring= -+ # Add a significant safety factor because C++ compilers can tack on massive -+ # amounts of additional arguments before passing them to the linker. -+ # It appears as though 1/2 is a usable value. -+ max_cmd_len=`expr $max_cmd_len \/ 2` -+fi - - ##################################### - # Shell function definitions: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.20 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.20 deleted file mode 100644 index 76dc21364a..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/max_cmd_len/1.5.20 +++ /dev/null @@ -1,33 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -136,6 +136,30 @@ - execute_dlfiles= - lo2o="s/\\.lo\$/.${objext}/" - o2lo="s/\\.${objext}\$/.lo/" -+ -+if test -z "$max_cmd_len"; then -+ i=0 -+ testring="ABCD" -+ new_result= -+ -+ # If test is not a shell built-in, we'll probably end up computing a -+ # maximum length that is only half of the actual maximum length, but -+ # we can't tell. -+ while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \ -+ = "XX$testring") >/dev/null 2>&1 && -+ new_result=`expr "X$testring" : ".*" 2>&1` && -+ max_cmd_len="$new_result" && -+ test "$i" != 17 # 1/2 MB should be enough -+ do -+ i=`expr $i + 1` -+ testring="$testring$testring" -+ done -+ testring= -+ # Add a significant safety factor because C++ compilers can tack on massive -+ # amounts of additional arguments before passing them to the linker. -+ # It appears as though 1/2 is a usable value. -+ max_cmd_len=`expr $max_cmd_len \/ 2` -+fi - - ##################################### - # Shell function definitions: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/mint-conf/2.2.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/mint-conf/2.2.6 deleted file mode 100644 index 34f2e5f28c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/mint-conf/2.2.6 +++ /dev/null @@ -1,15 +0,0 @@ -Calculating the max args here takes hours. - ---- configure -+++ configure -@@ -7351,6 +7351,10 @@ - lt_cv_sys_max_cmd_len=8192; - ;; - -+ mint*) -+ lt_cv_sys_max_cmd_len=8192; -+ ;; -+ - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.3d b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.3d deleted file mode 100644 index de20b0ceed..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.3d +++ /dev/null @@ -1,13 +0,0 @@ ---- release-1-3d.orig 2009-12-03 17:05:15.608916799 +0100 -+++ release-1-3d 2009-12-14 22:01:06.634927600 +0100 -@@ -1035,6 +1035,10 @@ - esac - elif test "$arg" = "-lm"; then - case $host in -+ *-*-hpux*) -+ # Compiler inserts libc in the correct place for threads to work -+ test "X$arg" = "X-lc" && continue -+ ;; - *-*-cygwin* | *-*-pw32* | *-*-beos*) - # These systems don't actually have math library (as such) - continue diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.5.22 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.5.22 deleted file mode 100644 index 786284d497..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/no-lc/1.5.22 +++ /dev/null @@ -1,11 +0,0 @@ ---- release-1-5-22.orig 2009-12-03 17:05:15.605534999 +0100 -+++ release-1-5-22 2009-12-14 21:56:58.884956366 +0100 -@@ -1573,7 +1573,7 @@ - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; -- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) -+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX* | *-*-hpux*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx-2.64.patch b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx-2.64.patch deleted file mode 100644 index 4b10e46971..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx-2.64.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/configure -+++ b/configure -@@ -5148,8 +5148,8 @@ - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check --See \`config.log' for more details" "$LINENO" 5; } -+$as_echo "See \`config.log' for more details." >&5; -+$ac_echo "C++ sucks, ignoring ..." >&5; } - fi - - ac_ext=c diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx.patch b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx.patch deleted file mode 100644 index 4b326924e1..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/nocxx/nocxx.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/configure -+++ b/configure -@@ -5148,10 +5148,8 @@ - : - else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check --See \`config.log' for more details." >&5 --echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; } -+See \`config.log' for more details." >&5;} -+ { echo "C++ sucks, ignoring ..." >&5; }; } - fi - - ac_ext=cc diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.2.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.2.0 deleted file mode 100644 index 70b02619c6..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.2.0 +++ /dev/null @@ -1,7 +0,0 @@ -# Dummy patch, not needed by libtool-1.2 - ---- ltmain.sh -+++ ltmain.sh -@@ -32,1 +32,1 @@ --PACKAGE=libtool -+PACKAGE=libtool diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.0c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.0c deleted file mode 100644 index ad071aed2f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.0c +++ /dev/null @@ -1,66 +0,0 @@ ---- ltmain.sh 2005-09-02 22:19:17.000000000 +0200 -+++ ltmain.sh 2005-09-02 22:20:55.000000000 +0200 -@@ -3769,9 +3769,50 @@ - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi -- newdependency_libs="$newdependency_libs $libdir/$name" -+ # We do not want portage's install root ($D) present. Check only for -+ # this if the .la is being installed. -+ if test "$installed" = yes && test "$D"; then -+ eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$libdir/$name" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_1"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi -+ ;; -+ *) -+ if test "$installed" = yes; then -+ # Rather use S=WORKDIR if our version of portage supports it. -+ # This is because some ebuild (gcc) do not use $S as buildroot. -+ if test "$WORKDIR"; then -+ S="$WORKDIR" -+ fi -+ # We do not want portage's build root ($S) present. -+ my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` -+ # We do not want portage's install root ($D) present. -+ my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` -+ if test -n "$my_little_ninja_foo_2" && test "$S"; then -+ mynewdependency_lib="" -+ elif test -n "$my_little_ninja_foo_3" && test "$D"; then -+ eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_4"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi - ;; -- *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" -@@ -3799,6 +3840,10 @@ - dlprefiles="$newdlprefiles" - fi - $rm $output -+ # Do not add duplicates -+ if test "$installed" = yes && test "$D"; then -+ install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ fi - $echo > $output "\ - # $outputname - a libtool library file - # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.3 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.3 deleted file mode 100644 index 731076bce4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.3.3 +++ /dev/null @@ -1,71 +0,0 @@ ---- ltmain.sh 2005-05-13 10:53:28.000000000 +0200 -+++ ltmain.sh 2005-05-13 11:44:15.000000000 +0200 -@@ -3078,6 +3078,68 @@ - break - fi - output="$output_objdir/$outputname"i -+ # Replace all uninstalled libtool libraries with the installed ones -+ newdependency_libs= -+ for deplib in $dependency_libs; do -+ case $deplib in -+ *.la) -+ name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` -+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` -+ if test -z "$libdir"; then -+ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 -+ exit $EXIT_FAILURE -+ fi -+ # We do not want portage's install root ($D) present. Check only for -+ # this if the .la is being installed. -+ if test "$installed" = yes && test "$D"; then -+ eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$libdir/$name" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_1"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi -+ ;; -+ *) -+ if test "$installed" = yes; then -+ # Rather use S=WORKDIR if our version of portage supports it. -+ # This is because some ebuild (gcc) do not use $S as buildroot. -+ if test "$WORKDIR"; then -+ S="$WORKDIR" -+ fi -+ # We do not want portage's build root ($S) present. -+ my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` -+ # We do not want portage's install root ($D) present. -+ my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` -+ if test -n "$my_little_ninja_foo_2" && test "$S"; then -+ mynewdependency_lib="" -+ elif test -n "$my_little_ninja_foo_3" && test "$D"; then -+ eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_4"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi -+ ;; -+ esac -+ done -+ dependency_libs="$newdependency_libs" -+ fi -+ # Do not add duplicates -+ if test "$installed" = yes && test "$D"; then -+ install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - fi - $rm $output - $echo > $output "\ diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.4.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.4.0 deleted file mode 100644 index 5566a39af4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.4.0 +++ /dev/null @@ -1,74 +0,0 @@ -Note that if you update this patch, please update this one as well: - - eclass/ELT-patches/portage/1.4.1 - -The file name can stay 1.4.1, as it will still apply to all versions. Only -when a new version of libtool comes out that it do not apply to, then the -name should be bumped, but the patch content should stay fairly the same. - ---- ltmain.sh Wed Apr 3 01:19:37 2002 -+++ ltmain.sh Sun May 26 19:50:52 2002 -@@ -3940,9 +3940,50 @@ - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi -- newdependency_libs="$newdependency_libs $libdir/$name" -+ # We do not want portage's install root ($D) present. Check only for -+ # this if the .la is being installed. -+ if test "$installed" = yes && test "$D"; then -+ eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$libdir/$name" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_1"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi -+ ;; -+ *) -+ if test "$installed" = yes; then -+ # Rather use S=WORKDIR if our version of portage supports it. -+ # This is because some ebuild (gcc) do not use $S as buildroot. -+ if test "$WORKDIR"; then -+ S="$WORKDIR" -+ fi -+ # We do not want portage's build root ($S) present. -+ my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` -+ # We do not want portage's install root ($D) present. -+ my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` -+ if test -n "$my_little_ninja_foo_2" && test "$S"; then -+ mynewdependency_lib="" -+ elif test -n "$my_little_ninja_foo_3" && test "$D"; then -+ eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_4"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi - ;; -- *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" -@@ -3975,6 +4005,10 @@ - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac -+ # Do not add duplicates -+ if test "$installed" = yes && test "$D"; then -+ install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ fi - $echo > $output "\ - # $outputname - a libtool library file - # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.5.10 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.5.10 deleted file mode 100644 index f33d906ed5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/1.5.10 +++ /dev/null @@ -1,77 +0,0 @@ -Note that if you update this patch, please update this one as well: - - eclass/ELT-patches/portage/1.4.1 - -The file name can stay 1.4.1, as it will still apply to all versions. Only -when a new version of libtool comes out that it do not apply to, then the -name should be bumped, but the patch content should stay fairly the same. - ---- ltmain.sh Wed Apr 3 01:19:37 2002 -+++ ltmain.sh Sun May 26 19:50:52 2002 -@@ -3940,9 +3940,53 @@ - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 - fi -- newdependency_libs="$newdependency_libs $libdir/$name" -+ if test "x$EGREP" = x ; then -+ EGREP=egrep -+ fi -+ # We do not want portage's install root ($D) present. Check only for -+ # this if the .la is being installed. -+ if test "$installed" = yes && test "$D"; then -+ eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$libdir/$name" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_1"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi -+ ;; -+ *) -+ if test "$installed" = yes; then -+ # Rather use S=WORKDIR if our version of portage supports it. -+ # This is because some ebuild (gcc) do not use $S as buildroot. -+ if test "$WORKDIR"; then -+ S="$WORKDIR" -+ fi -+ # We do not want portage's build root ($S) present. -+ my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` -+ # We do not want portage's install root ($D) present. -+ my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` -+ if test -n "$my_little_ninja_foo_2" && test "$S"; then -+ mynewdependency_lib="" -+ elif test -n "$my_little_ninja_foo_3" && test "$D"; then -+ eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_4"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi - ;; -- *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" -@@ -3975,6 +4005,10 @@ - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac -+ # Do not add duplicates -+ if test "$installed" = yes && test "$D"; then -+ install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ fi - $echo > $output "\ - # $outputname - a libtool library file - # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/2.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/2.2 deleted file mode 100644 index 1f724e7984..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/portage/2.2 +++ /dev/null @@ -1,69 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -7410,9 +7410,53 @@ - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" -- newdependency_libs="$newdependency_libs $libdir/$name" -+ if test "x$EGREP" = x ; then -+ EGREP=egrep -+ fi -+ # We do not want portage's install root ($D) present. Check only for -+ # this if the .la is being installed. -+ if test "$installed" = yes && test "$D"; then -+ eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$libdir/$name" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_1"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi -+ ;; -+ *) -+ if test "$installed" = yes; then -+ # Rather use S=WORKDIR if our version of portage supports it. -+ # This is because some ebuild (gcc) do not use $S as buildroot. -+ if test "$WORKDIR"; then -+ S="$WORKDIR" -+ fi -+ # We do not want portage's build root ($S) present. -+ my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` -+ # We do not want portage's install root ($D) present. -+ my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` -+ if test -n "$my_little_ninja_foo_2" && test "$S"; then -+ mynewdependency_lib="" -+ elif test -n "$my_little_ninja_foo_3" && test "$D"; then -+ eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ else -+ mynewdependency_lib="$deplib" -+ fi -+ # Do not add duplicates -+ if test "$mynewdependency_lib"; then -+ my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` -+ if test -z "$my_little_ninja_foo_4"; then -+ newdependency_libs="$newdependency_libs $mynewdependency_lib" -+ fi -+ fi - ;; -- *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" -@@ -7476,6 +7520,10 @@ - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac -+ # Do not add duplicates -+ if test "$installed" = yes && test "$D"; then -+ install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` -+ fi - $ECHO > $output "\ - # $outputname - a libtool library file - # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/1.3d b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/1.3d deleted file mode 100644 index ccb6cb811c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/1.3d +++ /dev/null @@ -1,24 +0,0 @@ ---- ltmain.sh -+++ ltmain.sh -@@ -3203,6 +3203,12 @@ - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac -+ else -+ case $libdir in -+ [\\/]*) -+ add_dir="$add_dir -L\\\"\\\${D}\\\"$libdir" -+ ;; -+ esac - fi - add="-l$name" - fi -@@ -6630,7 +6636,7 @@ - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test -- if test -n "$libdir" && test ! -f "$libfile"; then -+ if test -n "$libdir" && test ! -f "${D}$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/2.1b b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/2.1b deleted file mode 100644 index 71a0970d5b..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink-prog/2.1b +++ /dev/null @@ -1,24 +0,0 @@ ---- ltmain-v2.2.6.in 2009-06-22 15:33:27.000000000 +0200 -+++ ltmain-v2.2.6.in.new 2009-07-16 16:21:04.000000000 +0200 -@@ -1742,7 +1742,7 @@ - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test -- if test -n "$libdir" && test ! -f "$libfile"; then -+ if test -n "$libdir" && test ! -f "${D}$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi -@@ -5351,6 +5351,12 @@ - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac -+ else -+ case $libdir in -+ [\\/]*) -+ add_dir="$add_dir -L\\\"\\\${D}\\\"$libdir" -+ ;; -+ esac - fi - add="-l$name" - fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a deleted file mode 100644 index 382d76087e..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a +++ /dev/null @@ -1,99 +0,0 @@ ---- ltmain.sh Wed Oct 3 02:05:35 2001 -+++ ltmain.sh Wed Oct 3 05:16:14 2001 -@@ -754,6 +754,7 @@ - linker_flags= - dllsearchpath= - lib_search_path=`pwd` -+ inst_prefix_dir= - - avoid_version=no - dlfiles= -@@ -884,6 +885,11 @@ - prev= - continue - ;; -+ inst_prefix) -+ inst_prefix_dir="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -985,6 +991,11 @@ - continue - ;; - -+ -inst-prefix-dir) -+ prev=inst_prefix -+ continue -+ ;; -+ - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) -@@ -1866,6 +1877,7 @@ - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= -+ add_prefix_dir= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. -@@ -1886,10 +1898,22 @@ - add="-l$name" - fi - -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_prefix_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ -+ # add_prefix_dir must be appended instead, otherwise it can -+ # possibly be overrided by any hardcoded -L/... path in deplibs - if test "$linkmode" = prog; then -+ test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir" - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else -+ test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir" - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi -@@ -3856,7 +3880,7 @@ - fi - done - # Quote the link command for shipping. -- relink_command="($relink_command; cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" -+ relink_command="($relink_command; cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -4157,6 +4181,24 @@ - dir="$dir$objdir" - - if test -n "$relink_command"; then -+ # Determine the prefix the user has applied to our future dir. -+ inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` -+ -+ # Don't allow the user to place us outside of our expected -+ # location b/c this prevents finding dependent libraries that -+ # are installed to the same prefix. -+ if test "$inst_prefix_dir" = "$destdir"; then -+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ exit 1 -+ fi -+ -+ if test -n "$inst_prefix_dir"; then -+ # Stick the inst_prefix_dir data into the link command. -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` -+ else -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` -+ fi -+ - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-1 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-1 deleted file mode 100644 index 6bf45e58c5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-1 +++ /dev/null @@ -1,99 +0,0 @@ ---- ltmain.sh Wed Oct 3 02:05:35 2001 -+++ ltmain.sh Wed Oct 3 05:16:14 2001 -@@ -754,6 +754,7 @@ - linker_flags= - dllsearchpath= - lib_search_path=`pwd` -+ inst_prefix_dir= - - avoid_version=no - dlfiles= -@@ -884,6 +885,11 @@ - prev= - continue - ;; -+ inst_prefix) -+ inst_prefix_dir="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -985,6 +991,11 @@ - continue - ;; - -+ -inst-prefix-dir) -+ prev=inst_prefix -+ continue -+ ;; -+ - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) -@@ -1866,6 +1877,7 @@ - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= -+ add_prefix_dir= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. -@@ -1886,10 +1898,22 @@ - add="-l$name" - fi - -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_prefix_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ -+ # add_prefix_dir must be appended instead, otherwise it can -+ # possibly be overrided by any hardcoded -L/... path in deplibs - if test "$linkmode" = prog; then -+ test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir" - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else -+ test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir" - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi -@@ -3856,7 +3880,7 @@ - for tag in $taglist; do - tagopts="$tagopts --tag $tag" - done -- relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args)" -+ relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -4157,6 +4181,24 @@ - dir="$dir$objdir" - - if test -n "$relink_command"; then -+ # Determine the prefix the user has applied to our future dir. -+ inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` -+ -+ # Don't allow the user to place us outside of our expected -+ # location b/c this prevents finding dependent libraries that -+ # are installed to the same prefix. -+ if test "$inst_prefix_dir" = "$destdir"; then -+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ exit 1 -+ fi -+ -+ if test -n "$inst_prefix_dir"; then -+ # Stick the inst_prefix_dir data into the link command. -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` -+ else -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` -+ fi -+ - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-2 deleted file mode 100644 index 55103a42e2..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.0a-GCC3.0-2 +++ /dev/null @@ -1,100 +0,0 @@ ---- ltmain.sh Wed Oct 3 02:05:35 2001 -+++ ltmain.sh Wed Oct 3 05:16:14 2001 -@@ -754,6 +754,7 @@ - linker_flags= - dllsearchpath= - lib_search_path=`pwd` -+ inst_prefix_dir= - - avoid_version=no - dlfiles= -@@ -884,6 +885,11 @@ - prev= - continue - ;; -+ inst_prefix) -+ inst_prefix_dir="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -985,6 +991,11 @@ - continue - ;; - -+ -inst-prefix-dir) -+ prev=inst_prefix -+ continue -+ ;; -+ - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) -@@ -1866,6 +1877,7 @@ - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= -+ add_prefix_dir= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. -@@ -1886,10 +1898,22 @@ - add="-l$name" - fi - -- if test $linkmode = prog; then -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_prefix_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ -+ # add_prefix_dir must be appended instead, otherwise it can -+ # possibly be overrided by any hardcoded -L/... path in deplibs -+ if test "$linkmode" = prog; then -+ test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir" - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else -+ test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir" - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi -@@ -3856,7 +3880,7 @@ - for tag in $taglist; do - tagopts="$tagopts --tag $tag" - done -- relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args)" -+ relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -4157,6 +4181,24 @@ - dir="$dir$objdir" - - if test -n "$relink_command"; then -+ # Determine the prefix the user has applied to our future dir. -+ inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` -+ -+ # Don't allow the user to place us outside of our expected -+ # location b/c this prevents finding dependent libraries that -+ # are installed to the same prefix. -+ if test "$inst_prefix_dir" = "$destdir"; then -+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ exit 1 -+ fi -+ -+ if test -n "$inst_prefix_dir"; then -+ # Stick the inst_prefix_dir data into the link command. -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` -+ else -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` -+ fi -+ - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.1 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.1 deleted file mode 100644 index f34863f685..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.1 +++ /dev/null @@ -1,124 +0,0 @@ ---- ltmain.sh Sun Aug 12 18:08:05 2001 -+++ ltmain.sh Tue Aug 28 18:55:13 2001 -@@ -827,6 +827,7 @@ - linker_flags= - dllsearchpath= - lib_search_path=`pwd` -+ inst_prefix_dir= - - avoid_version=no - dlfiles= -@@ -959,6 +960,11 @@ - prev= - continue - ;; -+ inst_prefix) -+ inst_prefix_dir="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -1167,6 +1173,11 @@ - continue - ;; - -+ -inst-prefix-dir) -+ prev=inst_prefix -+ continue -+ ;; -+ - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) -@@ -2231,7 +2242,16 @@ - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then -- add_dir="-L$libdir" -+ # Try looking first in the location we're being installed to. -+ add_dir= -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ add_dir="$add_dir -L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in -@@ -2241,7 +2261,16 @@ - add="-l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir="-L$libdir" -+ # Try looking first in the location we're being installed to. -+ add_dir= -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ add_dir="$add_dir -L$libdir" - add="-l$name" - fi - -@@ -4321,7 +4350,7 @@ - fi - done - # Quote the link command for shipping. -- relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" -+ relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -4622,12 +4651,30 @@ - dir="$dir$objdir" - - if test -n "$relink_command"; then -+ # Determine the prefix the user has applied to our future dir. -+ inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` -+ -+ # Don't allow the user to place us outside of our expected -+ # location b/c this prevents finding dependent libraries that -+ # are installed to the same prefix. -+ if test "$inst_prefix_dir" = "$destdir"; then -+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ exit 1 -+ fi -+ -+ if test -n "$inst_prefix_dir"; then -+ # Stick the inst_prefix_dir data into the link command. -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` -+ else -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` -+ fi -+ - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 -- continue -+ exit 1 - fi - fi - -@@ -4782,7 +4829,11 @@ - if test "$finalize" = yes && test -z "$run"; then - tmpdir="/tmp" - test -n "$TMPDIR" && tmpdir="$TMPDIR" -- tmpdir="$tmpdir/libtool-$$" -+ tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null` -+ if test $? = 0 ; then : -+ else -+ tmpdir="$tmpdir/libtool-$$" -+ fi - if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : - else - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.2 deleted file mode 100644 index 17a630b7cf..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.2 +++ /dev/null @@ -1,99 +0,0 @@ ---- ltmain.sh Wed Oct 3 02:05:35 2001 -+++ ltmain.sh Wed Oct 3 05:16:14 2001 -@@ -754,6 +754,7 @@ - linker_flags= - dllsearchpath= - lib_search_path=`pwd` -+ inst_prefix_dir= - - avoid_version=no - dlfiles= -@@ -884,6 +885,11 @@ - prev= - continue - ;; -+ inst_prefix) -+ inst_prefix_dir="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -985,6 +991,11 @@ - continue - ;; - -+ -inst-prefix-dir) -+ prev=inst_prefix -+ continue -+ ;; -+ - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) -@@ -1866,6 +1877,7 @@ - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= -+ add_prefix_dir= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. -@@ -1886,10 +1898,22 @@ - add="-l$name" - fi - -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_prefix_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ -+ # add_prefix_dir must be appended instead, otherwise it can -+ # possibly be overrided by any hardcoded -L/... path in deplibs - if test "$linkmode" = prog; then -+ test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir" - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else -+ test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir" - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi -@@ -3856,7 +3880,7 @@ - fi - done - # Quote the link command for shipping. -- relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" -+ relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -4157,6 +4181,24 @@ - dir="$dir$objdir" - - if test -n "$relink_command"; then -+ # Determine the prefix the user has applied to our future dir. -+ inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` -+ -+ # Don't allow the user to place us outside of our expected -+ # location b/c this prevents finding dependent libraries that -+ # are installed to the same prefix. -+ if test "$inst_prefix_dir" = "$destdir"; then -+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ exit 1 -+ fi -+ -+ if test -n "$inst_prefix_dir"; then -+ # Stick the inst_prefix_dir data into the link command. -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` -+ else -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` -+ fi -+ - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.3 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.3 deleted file mode 100644 index 3ed5fe3784..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/relink/1.4.3 +++ /dev/null @@ -1,111 +0,0 @@ ---- ltmain.sh Mon Feb 4 15:12:15 2002 -+++ ltmain.sh Mon Feb 4 15:12:15 2002 -@@ -745,6 +745,7 @@ - linker_flags= - dllsearchpath= - lib_search_path=`pwd` -+ inst_prefix_dir= - - avoid_version=no - dlfiles= -@@ -875,6 +876,11 @@ - prev= - continue - ;; -+ inst_prefix) -+ inst_prefix_dir="$arg" -+ prev= -+ continue -+ ;; - release) - release="-$arg" - prev= -@@ -976,6 +982,11 @@ - continue - ;; - -+ -inst-prefix-dir) -+ prev=inst_prefix -+ continue -+ ;; -+ - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) -@@ -1851,7 +1862,16 @@ - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then -- add_dir="-L$libdir" -+ # Try looking first in the location we're being installed to. -+ add_dir= -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ add_dir="$add_dir -L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in -@@ -1861,7 +1881,16 @@ - add="-l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir="-L$libdir" -+ # Try looking first in the location we're being installed to. -+ add_dir= -+ if test -n "$inst_prefix_dir"; then -+ case "$libdir" in -+ [\\/]*) -+ add_dir="-L$inst_prefix_dir$libdir" -+ ;; -+ esac -+ fi -+ add_dir="$add_dir -L$libdir" - add="-l$name" - fi - -@@ -3823,7 +3852,7 @@ - fi - done - # Quote the link command for shipping. -- relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" -+ relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -4124,12 +4153,30 @@ - dir="$dir$objdir" - - if test -n "$relink_command"; then -+ # Determine the prefix the user has applied to our future dir. -+ inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"` -+ -+ # Don't allow the user to place us outside of our expected -+ # location b/c this prevents finding dependent libraries that -+ # are installed to the same prefix. -+ if test "$inst_prefix_dir" = "$destdir"; then -+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 -+ exit 1 -+ fi -+ -+ if test -n "$inst_prefix_dir"; then -+ # Stick the inst_prefix_dir data into the link command. -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` -+ else -+ relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"` -+ fi -+ - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 -- continue -+ exit 1 - fi - fi - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/rem-int-dep/1.3.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/rem-int-dep/1.3.5 deleted file mode 100644 index 4302623607..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/rem-int-dep/1.3.5 +++ /dev/null @@ -1,11 +0,0 @@ ---- ltmain.sh 2002-11-01 19:56:50.000000000 -0600 -+++ ltmain.sh 2002-11-01 19:57:03.000000000 -0600 -@@ -4551,6 +4551,8 @@ - if test "$installed" = yes && test "$D"; then - install_libdir="`echo "$install_libdir" |sed -e "s:$D::g" -e 's://:/:g'`" - fi -+ # Removing @REM_INT_DEP@ from dependency_libs in .la -+ dependency_libs=`echo $dependency_libs | $Xsed -e 's%\([^ ]*lib@REM_INT_DEP@\.\(so\|la\|a\)\)\|\(-l@REM_INT_DEP@\)%%g'` - \$echo > \$output "\\ - # \$outputname - a libtool library file - # Generated by \$PROGRAM - GNU \$PACKAGE \$VERSION\$TIMESTAMP diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.3.4 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.3.4 deleted file mode 100644 index c88ff727a7..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.3.4 +++ /dev/null @@ -1,14 +0,0 @@ ---- ltmain.sh 2005-05-13 11:48:24.000000000 +0200 -+++ ltmain.sh 2005-05-13 11:48:42.000000000 +0200 -@@ -47,6 +47,11 @@ - exit 0 - fi - -+# define variables for historic ltconfig's generated by Libtool 1.3 -+test -z "$SED" && SED=sed -+test -z "$EGREP" && EGREP=egrep -+test -z "$LTCC" && LTCC=${CC-gcc} -+ - # The name of this program. - progname=`$echo "$0" | sed 's%^.*/%%'` - modename="$progname" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.4.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.4.0 deleted file mode 100644 index 9c51ac2de0..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.4.0 +++ /dev/null @@ -1,14 +0,0 @@ ---- ltmain.sh 2003-02-13 14:54:24.000000000 +0100 -+++ ltmain.sh 2003-02-13 15:24:49.000000000 +0100 -@@ -48,6 +48,11 @@ EOF - exit 0 - fi - -+# define variables for historic ltconfig's generated by Libtool 1.3 -+test -z "$SED" && SED=sed -+test -z "$EGREP" && EGREP=egrep -+test -z "$LTCC" && LTCC=${CC-gcc} -+ - # The name of this program. - progname=`$echo "$0" | ${SED} 's%^.*/%%'` - modename="$progname" diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.5.6 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.5.6 deleted file mode 100644 index 5efd5310dc..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sed/1.5.6 +++ /dev/null @@ -1,16 +0,0 @@ ---- ltmain.sh 2005-04-16 16:50:02.000000000 +0200 -+++ ltmain.sh 2005-04-16 16:46:46.000000000 +0200 -@@ -39,6 +39,13 @@ - if [ "x$SED" = x ] ; then - SED=sed - fi -+# Same for EGREP, and just to be sure, do LTCC as well -+if test "x$EGREP" = x ; then -+ EGREP=egrep -+fi -+if test "x$LTCC" = x ; then -+ LTCC=${CC-gcc} -+fi - - # The name of this program: - progname=`echo "$progpath" | $SED $basename` diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-conf/2.4.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-conf/2.4.2 deleted file mode 100644 index a57f22c9ca..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-conf/2.4.2 +++ /dev/null @@ -1,14 +0,0 @@ -Unbreak x86_64-pc-solaris2.1[01], it IS 64-bits too. Without this, -libtool thinks the linker is called ld_sol2. - ---- configure -+++ configure -@@ -1383,7 +1383,7 @@ - case $lt_cv_prog_gnu_ld in - yes*) - case $host in -- i?86-*-solaris*) -+ i?86-*-solaris*|x86_64-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-ltmain/2.4.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-ltmain/2.4.2 deleted file mode 100644 index ad35ed88db..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sol2-ltmain/2.4.2 +++ /dev/null @@ -1,11 +0,0 @@ ---- libltdl/config/ltmain.sh -+++ libltdl/config/ltmain.sh -@@ -1180,7 +1180,7 @@ - test "$opt_debug" = : || func_append preserve_args " --debug" - - case $host in -- *cygwin* | *mingw* | *pw32* | *cegcc*) -+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sys-lib-dlsearch/2.4 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sys-lib-dlsearch/2.4 deleted file mode 100644 index 89eb6992e3..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/sys-lib-dlsearch/2.4 +++ /dev/null @@ -1,21 +0,0 @@ -the linux target parses /etc/ld.so.conf to see what paths are -searched at runtime, and hardcodes /lib /usr/lib as a fallback. -this works poorly when cross-compiling, so tweak the behavior: - - search $SYSROOT/etc/ld.so.conf - - default to Gentoo's notion of the active multilib - ---- a/configure -+++ b/configure -@@ -10405,9 +10405,9 @@ - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path -- if test -f /etc/ld.so.conf; then -- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` -- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" -+ if test -f "$SYSROOT"/etc/ld.so.conf; then -+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < "$SYSROOT"/etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` -+ sys_lib_dlsearch_path_spec="/@GENTOO_LIBDIR@ /usr/@GENTOO_LIBDIR@ $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/target-nm/2.4.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/target-nm/2.4.2 deleted file mode 100644 index 1f22220b6f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/target-nm/2.4.2 +++ /dev/null @@ -1,45 +0,0 @@ -https://bugs.gentoo.org/465558 - -From a4629ebff263dcb2e05feb9e41df649ea5ce3f78 Mon Sep 17 00:00:00 2001 -From: Peter Rosin -Date: Sun, 28 Apr 2013 09:16:56 +0200 -Subject: [PATCH] libtool: break all the way out when a good nm is found - -The current code tries to locate a compatible nm tool. It starts with -a prefixed nm tool (great!) and includes a plain nm too (that's fine). -The problem is that the code searches for the prefixed nm before the -plain nm (normally fine), but doesn't break once it has found a valid -match, and the plain nm ends up the winner. - -Report and analysis by Mike Frysinger. - -* m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match. - -Signed-off-by: Peter Rosin ---- - m4/libtool.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/m4/libtool.m4 b/m4/libtool.m4 -index 3f50b0c..d7013c5 100644 ---- a/m4/libtool.m4 -+++ b/m4/libtool.m4 -@@ -3397,13 +3397,13 @@ else - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" -- break -+ break 2 - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" -- break -+ break 2 - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but --- -1.8.2.1 - diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.0 deleted file mode 100644 index d6f442f0e3..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.0 +++ /dev/null @@ -1,291 +0,0 @@ ---- ltmain.sh Tue May 29 19:16:03 2001 -+++ ltmain.sh Tue May 29 21:26:50 2001 -@@ -459,7 +459,7 @@ - pic_mode=default - ;; - esac -- if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then -+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi -@@ -1343,7 +1343,7 @@ - ;; - esac - for pass in $passes; do -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - # Determine which files to process - case $pass in - dlopen) -@@ -1360,11 +1360,11 @@ - found=no - case $deplib in - -l*) -- if test $linkmode = oldlib && test $linkmode = obj; then -+ if test "$linkmode" = oldlib && test "$linkmode" = obj; then - $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 - continue - fi -- if test $pass = conv; then -+ if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi -@@ -1384,7 +1384,7 @@ - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" -- test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" -+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi -@@ -1393,16 +1393,16 @@ - case $linkmode in - lib) - deplibs="$deplib $deplibs" -- test $pass = conv && continue -+ test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) -- if test $pass = conv; then -+ if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi -- if test $pass = scan; then -+ if test "$pass" = scan; then - deplibs="$deplib $deplibs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - else -@@ -1417,7 +1417,7 @@ - continue - ;; # -L - -R*) -- if test $pass = link; then -+ if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in -@@ -1430,7 +1430,7 @@ - ;; - *.la) lib="$deplib" ;; - *.$libext) -- if test $pass = conv; then -+ if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi -@@ -1451,7 +1451,7 @@ - continue - ;; - prog) -- if test $pass != link; then -+ if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" -@@ -1462,7 +1462,7 @@ - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) -- if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then -+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" -@@ -1512,13 +1512,13 @@ - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || -- { test $linkmode = oldlib && test $linkmode = obj; }; then -+ { test "$linkmode" = oldlib && test "$linkmode" = obj; }; then - # Add dl[pre]opened files of deplib - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - -- if test $pass = conv; then -+ if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then -@@ -1537,7 +1537,7 @@ - esac - tmp_libs="$tmp_libs $deplib" - done -- elif test $linkmode != prog && test $linkmode != lib; then -+ elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit 1 - fi -@@ -1555,7 +1555,7 @@ - fi - - # This library was specified with -dlopen. -- if test $pass = dlopen; then -+ if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit 1 -@@ -1604,7 +1604,7 @@ - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. -- if test $pass = dlpreopen; then -+ if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit 1 -@@ -1623,7 +1623,7 @@ - - if test -z "$libdir"; then - # Link the convenience library -- if test $linkmode = lib; then -+ if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" -@@ -1634,7 +1634,7 @@ - continue - fi - -- if test $linkmode = prog && test $pass != link; then -+ if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - -@@ -1671,7 +1671,7 @@ - # Link against this shared library - - if test "$linkmode,$pass" = "prog,link" || -- { test $linkmode = lib && test $hardcode_into_libs = yes; }; then -+ { test "$linkmode" = lib && test "$hardcode_into_libs" = yes; }; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. -@@ -1693,7 +1693,7 @@ - esac - ;; - esac -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. -@@ -1777,7 +1777,7 @@ - linklib=$newlib - fi # test -n $old_archive_from_expsyms_cmds - -- if test $linkmode = prog || test "$mode" != relink; then -+ if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= -@@ -1826,7 +1826,7 @@ - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else -@@ -1843,7 +1843,7 @@ - fi - fi - -- if test $linkmode = prog || test "$mode" = relink; then -+ if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= -@@ -1865,7 +1865,7 @@ - add="-l$name" - fi - -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else -@@ -1873,7 +1873,7 @@ - test -n "$add" && deplibs="$add $deplibs" - fi - fi -- elif test $linkmode = prog; then -+ elif test "$linkmode" = prog; then - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && -@@ -1932,9 +1932,9 @@ - fi - fi # link shared/static library? - -- if test $linkmode = lib; then -+ if test "$linkmode" = lib; then - if test -n "$dependency_libs" && -- { test $hardcode_into_libs != yes || test $build_old_libs = yes || -+ { test "$hardcode_into_libs" != yes || test $build_old_libs = yes || - test $link_static = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= -@@ -1964,7 +1964,7 @@ - tmp_libs="$tmp_libs $deplib" - done - -- if test $link_all_deplibs != no; then -+ if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in -@@ -2007,15 +2007,15 @@ - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs -- if test $pass = dlpreopen; then -+ if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi -- if test $pass != dlopen; then -- test $pass != scan && dependency_libs="$newdependency_libs" -- if test $pass != conv; then -+ if test "$pass" != dlopen; then -+ test "$pass" != scan && dependency_libs="$newdependency_libs" -+ if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do -@@ -2073,7 +2073,7 @@ - deplibs= - fi - done # for pass -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi -@@ -2410,7 +2410,7 @@ - ;; - *) - # Add libc to deplibs on all other systems if necessary. -- if test $build_libtool_need_lc = "yes"; then -+ if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; -@@ -2683,7 +2683,7 @@ - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then -- if test $hardcode_into_libs = yes; then -+ if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.2 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.2 deleted file mode 100644 index 8ae65ef002..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/test/1.4.2 +++ /dev/null @@ -1,578 +0,0 @@ ---- ltmain.sh 2001-09-10 19:40:18.000000000 -0400 -+++ ltmain.sh 2002-07-11 14:49:35.000000000 -0400 -@@ -467,7 +467,7 @@ if test -z "$show_help"; then - pic_mode=default - ;; - esac -- if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then -+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi -@@ -1303,11 +1303,11 @@ compiler." - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. -- if test ! -d $output_objdir; then -+ if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? -- if test $status -ne 0 && test ! -d $output_objdir; then -+ if test "$status" -ne 0 && test ! -d "$output_objdir"; then - exit $status - fi - fi -@@ -1366,7 +1366,7 @@ compiler." - ;; - esac - for pass in $passes; do -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - # Determine which files to process - case $pass in - dlopen) -@@ -1383,11 +1383,11 @@ compiler." - found=no - case $deplib in - -l*) -- if test $linkmode = oldlib && test $linkmode = obj; then -+ if test "$linkmode" = oldlib && test "$linkmode" = obj; then - $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2 - continue - fi -- if test $pass = conv; then -+ if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi -@@ -1407,7 +1407,7 @@ compiler." - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" -- test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs" -+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi -@@ -1416,16 +1416,16 @@ compiler." - case $linkmode in - lib) - deplibs="$deplib $deplibs" -- test $pass = conv && continue -+ test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) -- if test $pass = conv; then -+ if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi -- if test $pass = scan; then -+ if test "$pass" = scan; then - deplibs="$deplib $deplibs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - else -@@ -1440,7 +1440,7 @@ compiler." - continue - ;; # -L - -R*) -- if test $pass = link; then -+ if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in -@@ -1453,7 +1453,7 @@ compiler." - ;; - *.la) lib="$deplib" ;; - *.$libext) -- if test $pass = conv; then -+ if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi -@@ -1474,7 +1474,7 @@ compiler." - continue - ;; - prog) -- if test $pass != link; then -+ if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" -@@ -1485,7 +1485,7 @@ compiler." - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) -- if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then -+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" -@@ -1501,7 +1501,7 @@ compiler." - continue - ;; - esac # case $deplib -- if test $found = yes || test -f "$lib"; then : -+ if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib'" 1>&2 - exit 1 -@@ -1535,13 +1535,13 @@ compiler." - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || -- { test $linkmode = oldlib && test $linkmode = obj; }; then -+ { test "$linkmode" = oldlib && test "$linkmode" = obj; }; then - # Add dl[pre]opened files of deplib - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - -- if test $pass = conv; then -+ if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then -@@ -1560,7 +1560,7 @@ compiler." - esac - tmp_libs="$tmp_libs $deplib" - done -- elif test $linkmode != prog && test $linkmode != lib; then -+ elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit 1 - fi -@@ -1578,7 +1578,7 @@ compiler." - fi - - # This library was specified with -dlopen. -- if test $pass = dlopen; then -+ if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit 1 -@@ -1627,7 +1627,7 @@ compiler." - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. -- if test $pass = dlpreopen; then -+ if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit 1 -@@ -1646,7 +1646,7 @@ compiler." - - if test -z "$libdir"; then - # Link the convenience library -- if test $linkmode = lib; then -+ if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" -@@ -1657,7 +1657,7 @@ compiler." - continue - fi - -- if test $linkmode = prog && test $pass != link; then -+ if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - -@@ -1673,7 +1673,7 @@ compiler." - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? -- if test $linkalldeplibs = yes; then -+ if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths -@@ -1694,7 +1694,7 @@ compiler." - # Link against this shared library - - if test "$linkmode,$pass" = "prog,link" || -- { test $linkmode = lib && test $hardcode_into_libs = yes; }; then -+ { test "$linkmode" = lib && test "$hardcode_into_libs" = yes; }; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. -@@ -1716,7 +1716,7 @@ compiler." - esac - ;; - esac -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - # We need to hardcode the library path - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. -@@ -1798,9 +1798,9 @@ compiler." - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib -- fi # test -n $old_archive_from_expsyms_cmds -+ fi # test -n "$old_archive_from_expsyms_cmds" - -- if test $linkmode = prog || test "$mode" != relink; then -+ if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= -@@ -1849,7 +1849,7 @@ compiler." - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else -@@ -1866,7 +1866,7 @@ compiler." - fi - fi - -- if test $linkmode = prog || test "$mode" = relink; then -+ if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= -@@ -1888,7 +1888,7 @@ compiler." - add="-l$name" - fi - -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else -@@ -1896,7 +1896,7 @@ compiler." - test -n "$add" && deplibs="$add $deplibs" - fi - fi -- elif test $linkmode = prog; then -+ elif test "$linkmode" = prog; then - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && -@@ -1955,10 +1955,10 @@ compiler." - fi - fi # link shared/static library? - -- if test $linkmode = lib; then -+ if test "$linkmode" = lib; then - if test -n "$dependency_libs" && -- { test $hardcode_into_libs != yes || test $build_old_libs = yes || -- test $link_static = yes; }; then -+ { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || -+ test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do -@@ -1987,7 +1987,7 @@ compiler." - tmp_libs="$tmp_libs $deplib" - done - -- if test $link_all_deplibs != no; then -+ if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in -@@ -2030,15 +2030,15 @@ compiler." - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs -- if test $pass = dlpreopen; then -+ if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi -- if test $pass != dlopen; then -- test $pass != scan && dependency_libs="$newdependency_libs" -- if test $pass != conv; then -+ if test "$pass" != dlopen; then -+ test "$pass" != scan && dependency_libs="$newdependency_libs" -+ if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do -@@ -2096,7 +2096,7 @@ compiler." - deplibs= - fi - done # for pass -- if test $linkmode = prog; then -+ if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi -@@ -2173,7 +2173,7 @@ compiler." - fi - - set dummy $rpath -- if test $# -gt 2; then -+ if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" -@@ -2240,7 +2240,7 @@ compiler." - ;; - esac - -- if test $age -gt $current; then -+ if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 -@@ -2279,7 +2279,7 @@ compiler." - - # Add in all the interfaces that we are compatible with. - loop=$revision -- while test $loop != 0; do -+ while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="sgi$major.$iface:$verstring" -@@ -2302,7 +2302,7 @@ compiler." - - # Add in all the interfaces that we are compatible with. - loop=$age -- while test $loop != 0; do -+ while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" -@@ -2403,7 +2403,7 @@ compiler." - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done -- if test $hardcode_into_libs != yes || test $build_old_libs = yes; then -+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi -@@ -2446,7 +2446,7 @@ compiler." - ;; - *) - # Add libc to deplibs on all other systems if necessary. -- if test $build_libtool_need_lc = "yes"; then -+ if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; -@@ -2487,7 +2487,7 @@ compiler." - EOF - $rm conftest - $CC -o conftest conftest.c $deplibs -- if test $? -eq 0 ; then -+ if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` - for i in $deplibs; do - name="`expr $i : '-l\(.*\)'`" -@@ -2521,7 +2521,7 @@ EOF - $rm conftest - $CC -o conftest conftest.c $i - # Did it work? -- if test $? -eq 0 ; then -+ if test "$?" -eq 0 ; then - ldd_output=`ldd conftest` - libname=`eval \\$echo \"$libname_spec\"` - deplib_matches=`eval \\$echo \"$library_names_spec\"` -@@ -2692,7 +2692,7 @@ EOF - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - -- if test $allow_undefined = no; then -+ if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" -@@ -2719,7 +2719,7 @@ EOF - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then -- if test $hardcode_into_libs = yes; then -+ if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= -@@ -2850,7 +2850,7 @@ EOF - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? -- if test $status -ne 0 && test ! -d "$gentop"; then -+ if test "$status" -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" -@@ -2869,7 +2869,7 @@ EOF - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? -- if test $status -ne 0 && test ! -d "$xdir"; then -+ if test "$status" -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" -@@ -2989,7 +2989,7 @@ EOF - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? -- if test $status -ne 0 && test ! -d "$gentop"; then -+ if test "$status" -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" -@@ -3008,7 +3008,7 @@ EOF - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? -- if test $status -ne 0 && test ! -d "$xdir"; then -+ if test "$status" -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" -@@ -3403,7 +3403,7 @@ static const void *lt_preloaded_setup() - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - -- if test $need_relink = no || test "$build_libtool_libs" != yes; then -+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" -@@ -3528,7 +3528,7 @@ static const void *lt_preloaded_setup() - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done -- relink_command="cd `pwd`; $relink_command" -+ relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi - -@@ -3771,7 +3771,7 @@ fi\ - $show "mkdir $gentop" - $run mkdir "$gentop" - status=$? -- if test $status -ne 0 && test ! -d "$gentop"; then -+ if test "$status" -ne 0 && test ! -d "$gentop"; then - exit $status - fi - generated="$generated $gentop" -@@ -3791,7 +3791,7 @@ fi\ - $show "mkdir $xdir" - $run mkdir "$xdir" - status=$? -- if test $status -ne 0 && test ! -d "$xdir"; then -+ if test "$status" -ne 0 && test ! -d "$xdir"; then - exit $status - fi - $show "(cd $xdir && $AR x $xabs)" -@@ -3858,7 +3858,7 @@ fi\ - fi - done - # Quote the link command for shipping. -- relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args" -+ relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - - # Only create the output if not a dry run. -@@ -3948,7 +3948,7 @@ dlpreopen='$dlprefiles' - - # Directory that this library needs to be installed in: - libdir='$install_libdir'" -- if test "$installed" = no && test $need_relink = yes; then -+ if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ - relink_command=\"$relink_command\"" - fi -@@ -4084,7 +4084,7 @@ relink_command=\"$relink_command\"" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files -- if test $# -gt 2; then -+ if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 -@@ -4186,7 +4186,7 @@ relink_command=\"$relink_command\"" - $run eval "$striplib $destdir/$realname" || exit $? - fi - -- if test $# -gt 0; then -+ if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do -@@ -4444,7 +4444,7 @@ relink_command=\"$relink_command\"" - fi - - # Exit here if they wanted silent mode. -- test "$show" = ":" && exit 0 -+ test "$show" = : && exit 0 - - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" -@@ -4610,7 +4610,7 @@ relink_command=\"$relink_command\"" - fi - - # Now prepare to actually exec the command. -- exec_cmd='"$cmd"$args' -+ exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then -@@ -4660,10 +4660,10 @@ relink_command=\"$relink_command\"" - objdir="$dir/$objdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` -- test $mode = uninstall && objdir="$dir" -+ test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates -- if test $mode = clean; then -+ if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; -@@ -4695,9 +4695,9 @@ relink_command=\"$relink_command\"" - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" -- test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" -+ test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - -- if test $mode = uninstall; then -+ if test "$mode" = uninstall; then - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - eval cmds=\"$postuninstall_cmds\" -@@ -4706,7 +4706,7 @@ relink_command=\"$relink_command\"" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" -- if test $? != 0 && test "$rmforce" != yes; then -+ if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done -@@ -4721,7 +4721,7 @@ relink_command=\"$relink_command\"" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" -- if test $? != 0 && test "$rmforce" != yes; then -+ if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done -@@ -4741,7 +4741,7 @@ relink_command=\"$relink_command\"" - - *) - # Do a test to see if this is a libtool program. -- if test $mode = clean && -+ if test "$mode" = clean && - (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$file diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/tmp/1.3.5 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/tmp/1.3.5 deleted file mode 100644 index 29b70e0937..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/tmp/1.3.5 +++ /dev/null @@ -1,15 +0,0 @@ ---- ltmain.sh Fri Jul 7 18:49:44 2000 -+++ ltmain.sh Fri May 26 21:53:15 2000 -@@ -3462,7 +3462,11 @@ - if test "$finalize" = yes && test -z "$run"; then - tmpdir="/tmp" - test -n "$TMPDIR" && tmpdir="$TMPDIR" -- tmpdir="$tmpdir/libtool-$$" -+ tmpdir=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null` -+ if test $? = 0 ; then : -+ else -+ tmpdir="$tmpdir/libtool-$$" -+ fi - if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : - else - $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.2.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.2.0 deleted file mode 100644 index acd804c8f4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.2.0 +++ /dev/null @@ -1,48 +0,0 @@ ---- configure.libltdl~ Fri Jun 11 08:54:04 2004 -+++ configure Fri Jun 11 08:56:33 2004 -@@ -1978,6 +1978,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -3030,7 +3035,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -4504,6 +4509,24 @@ - dynamic_linker='GNU/Linux ld.so' - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+ soname_spec='${libname}${release}.so$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd*) - version_type=sunos - need_lib_prefix=no diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.3.0c b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.3.0c deleted file mode 100644 index 03efc5dc9c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-conf/1.3.0c +++ /dev/null @@ -1,48 +0,0 @@ ---- configure.libltdl~ Fri Jun 11 08:54:04 2004 -+++ configure Fri Jun 11 08:56:33 2004 -@@ -1978,6 +1978,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc*.so` -+ ;; -+ - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -3030,7 +3035,7 @@ - - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case "$host_os" in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -4504,6 +4509,24 @@ - dynamic_linker='GNU/Linux ld.so' - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+ soname_spec='${libname}${release}.so$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd*) - version_type=sunos - need_lib_prefix=no diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.2.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.2.0 deleted file mode 100644 index bbc6bc9657..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.2.0 +++ /dev/null @@ -1,36 +0,0 @@ ---- ltconfig.uclibc 2004-01-14 22:07:42.000000000 +0100 -+++ ltconfig 2004-03-10 15:43:37.000000000 +0100 -@@ -603,6 +603,7 @@ - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in - linux-gnu*) ;; -+linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1259,6 +1260,25 @@ - fi - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' -+ soname_spec='${libname}${release}.so.$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ deplibs_check_method=pass_all -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd* | openbsd*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' diff --git a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.3.0 b/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.3.0 deleted file mode 100644 index 0a5a9ead8f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ELT-patches/uclibc-ltconf/1.3.0 +++ /dev/null @@ -1,39 +0,0 @@ ---- ltconfig.uclibc 2004-01-14 22:07:42.000000000 +0100 -+++ ltconfig 2004-03-10 15:43:37.000000000 +0100 -@@ -603,6 +603,7 @@ - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in - linux-gnu*) ;; -+linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1259,6 +1260,28 @@ - dynamic_linker='GNU/Linux ld.so' - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+ soname_spec='${libname}${release}.so$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # deplibs_check_method=pass_all -+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' -+ file_magic_cmd=/usr/bin/file -+ file_magic_test_file=`echo /lib/libuClibc-*.so` -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd*) - need_lib_prefix=no - need_version=no diff --git a/sdk_container/src/third_party/portage-stable/eclass/alternatives.eclass b/sdk_container/src/third_party/portage-stable/eclass/alternatives.eclass index 62633dc63e..fd99bd85ac 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/alternatives.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/alternatives.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: alternatives.eclass # @AUTHOR: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ant-tasks.eclass b/sdk_container/src/third_party/portage-stable/eclass/ant-tasks.eclass index 91d3193a2f..8b3ee0bceb 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ant-tasks.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ant-tasks.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later -# $Id$ # @ECLASS: ant-tasks.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/apache-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/apache-2.eclass index 2a85d48290..0a4fe86df5 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/apache-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/apache-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: apache-2.eclass # @MAINTAINER: @@ -19,12 +18,6 @@ case ${EAPI:-0} in 0|1|2|3|4) die "This eclass is banned for EAPI<5" ;; - 5) - :; - ;; - 6) - die "This eclass is not yet ready for EAPI-6. Please help porting it!" - ;; esac # settings which are version specific go in here: @@ -34,10 +27,13 @@ case $(get_version_component_range 1-2) in RDEPEND=">=dev-libs/apr-1.5.1 !www-apache/mod_macro" #492578 #477702 ;; - *) + 2.2) DEFAULT_MPM_THREADED="worker" RDEPEND=">=dev-libs/apr-1.4.5" #368651 ;; + *) + die "Unknown MAJOR.MINOR apache version." + ;; esac # ============================================================================== @@ -451,7 +447,12 @@ apache-2_src_prepare() { "${GENTOO_PATCHDIR}"/{conf/httpd.conf,init/*,patches/config.layout} \ || die "libdir sed failed" - epatch "${GENTOO_PATCHDIR}"/patches/*.patch + if [[ "${EAPI}" -ge 6 ]] ; then + default + eapply "${GENTOO_PATCHDIR}"/patches/*.patch + else + epatch "${GENTOO_PATCHDIR}"/patches/*.patch + fi if [[ ${EAPI} = 5 ]] ; then # Handle patches from ebuild's PATCHES array if one is given @@ -467,6 +468,11 @@ apache-2_src_prepare() { epatch_user fi + # Don't rename configure.in _before_ any possible user patches! + if [[ -f "configure.in" ]] ; then + mv configure.{in,ac} || die + fi + # setup the filesystem layout config cat "${GENTOO_PATCHDIR}"/patches/config.layout >> "${S}"/config.layout || \ die "Failed preparing config.layout!" @@ -477,7 +483,7 @@ apache-2_src_prepare() { sed -i -e 's/httpd\.8/apache2.8/g' Makefile.in # patched-in MPMs need the build environment rebuilt - sed -i -e '/sinclude/d' configure.in + sed -i -e '/sinclude/d' configure.ac AT_M4DIR=build eautoreconf # ${T} must be not group-writable, else grsec TPE will block it diff --git a/sdk_container/src/third_party/portage-stable/eclass/apache-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/apache-module.eclass index 16fbddd792..ff97b6c70f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/apache-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/apache-module.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: apache-module.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/aspell-dict-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/aspell-dict-r1.eclass new file mode 100644 index 0000000000..aed65d6c9a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/aspell-dict-r1.eclass @@ -0,0 +1,89 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: aspell-dict-r1.eclass +# @MAINTAINER: +# maintainer-needed@gentoo.org +# @AUTHOR: +# Original author: Seemant Kulleen +# -r1 author: David Seifert +# @BLURB: An eclass to streamline the construction of ebuilds for new aspell dicts +# @DESCRIPTION: +# The aspell-dict-r1 eclass is designed to streamline the construction of +# ebuilds for the new aspell dictionaries (from gnu.org) which support +# aspell-0.50. Support for aspell-0.60 has been added by Sergey Ulanov. + +# @ECLASS-VARIABLE: ASPELL_LANG +# @REQUIRED +# @DESCRIPTION: +# Pure cleartext string that is included into DESCRIPTION. This is the name +# of the language, for instance "Hungarian". Needs to be defined before +# inheriting the eclass. + +# @ECLASS-VARIABLE: ASPELL_VERSION +# @DESCRIPTION: +# What major version of aspell is this dictionary for? Valid values are 5, 6 or undefined. +# This value is used to construct SRC_URI and *DEPEND strings. If defined to 6, +# >=app-text/aspell-0.60 will be added to DEPEND and RDEPEND, otherwise, +# >=app-text/aspell-0.50 is added to DEPEND and RDEPEND. If the value is to be overridden, +# it needs to be overridden before inheriting the eclass. + +case ${EAPI:-0} in + [0-5]) + die "aspell-dict-r1.eclass is banned in EAPI ${EAPI:-0}" + ;; + 6) + ;; + *) + die "Unknown EAPI ${EAPI:-0}" + ;; +esac + +EXPORT_FUNCTIONS src_configure src_install + +if [[ ! ${_ASPELL_DICT_R1} ]]; then + +# aspell packages have an idiosyncratic versioning scheme, that is +# the last separating version separator is replaced by a '-'. +_ASPELL_P=aspell${ASPELL_VERSION}-${PN/aspell-/}-${PV%.*}-${PV##*.} + +# @ECLASS-VARIABLE: ASPELL_SPELLANG +# @DESCRIPTION: +# Short (readonly) form of the language code, generated from ${PN} +# For instance, 'aspell-hu' yields the value 'hu'. +readonly ASPELL_SPELLANG=${PN/aspell-/} +S="${WORKDIR}/${_ASPELL_P}" + +DESCRIPTION="${ASPELL_LANG} language dictionary for aspell" +HOMEPAGE="http://aspell.net" +SRC_URI="mirror://gnu/aspell/dict/${ASPELL_SPELLANG}/${_ASPELL_P}.tar.bz2" +unset _ASPELL_P + +IUSE="" +SLOT="0" + +_ASPELL_MAJOR_VERSION=${ASPELL_VERSION:-5} +[[ ${_ASPELL_MAJOR_VERSION} != [56] ]] && die "${ASPELL_VERSION} is not a valid version" + +RDEPEND=">=app-text/aspell-0.${_ASPELL_MAJOR_VERSION}0" +DEPEND="${RDEPEND}" +unset _ASPELL_MAJOR_VERSION + +# @FUNCTION: aspell-dict-r1_src_configure +# @DESCRIPTION: +# The aspell-dict-r1 src_configure function which is exported. +aspell-dict-r1_src_configure() { + # non-autoconf based script, cannot be used with econf + ./configure || die +} + +# @FUNCTION: aspell-dict-r1_src_install +# @DESCRIPTION: +# The aspell-dict-r1 src_install function which is exported. +aspell-dict-r1_src_install() { + default + [[ -s info ]] && dodoc info +} + +_ASPELL_DICT_R1=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/aspell-dict.eclass b/sdk_container/src/third_party/portage-stable/eclass/aspell-dict.eclass index 5600d9a696..102694a023 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/aspell-dict.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/aspell-dict.eclass @@ -1,6 +1,8 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ + +# @DEAD +# Removal on 2017-05-01. # @ECLASS: aspell-dict.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/autotools-multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/autotools-multilib.eclass index 0141bc6a86..3d0c2237af 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/autotools-multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/autotools-multilib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: autotools-multilib.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/autotools-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/autotools-utils.eclass index b850cf7af1..f8d2c7fdc2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/autotools-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/autotools-utils.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: autotools-utils.eclass # @MAINTAINER: @@ -114,7 +113,8 @@ esac # appropriate packages to DEPEND yourself. [[ ${AUTOTOOLS_AUTORECONF} ]] || : ${AUTOTOOLS_AUTO_DEPEND:=no} -inherit autotools eutils libtool +# eutils for eqawarn, path_exists +inherit autotools epatch eutils libtool ltprune EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test diff --git a/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass b/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass index 3039a466b9..2710bf827b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/autotools.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: autotools.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/base.eclass b/sdk_container/src/third_party/portage-stable/eclass/base.eclass index 5ddbb39277..0a7db1d499 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/base.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/base.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # DEPRECATED # This eclass has been deprecated and must not be used by any new diff --git a/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass index e5809f8882..eb2dfce4c7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: bash-completion-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass b/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass index d656c14b1b..6144fb8ee6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bitcoincore.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: bitcoincore.eclass # @MAINTAINER: @@ -38,7 +37,7 @@ fi EXPORT_FUNCTIONS src_prepare src_test src_install -if in_bcc_iuse ljr || in_bcc_iuse 1stclassmsg || in_bcc_iuse zeromq || [ -n "$BITCOINCORE_POLICY_PATCHES" ]; then +if in_bcc_iuse ljr || in_bcc_iuse knots || in_bcc_iuse 1stclassmsg || in_bcc_iuse zeromq || [ -n "$BITCOINCORE_POLICY_PATCHES" ]; then EXPORT_FUNCTIONS pkg_pretend fi @@ -54,7 +53,7 @@ if [[ ! ${_BITCOINCORE_ECLASS} ]]; then # @ECLASS-VARIABLE: BITCOINCORE_LJR_DATE # @DESCRIPTION: -# Set this variable before the inherit line, to the datestamp of the ljr +# Set this variable before the inherit line, to the datestamp of the Knots # patchset. # @ECLASS-VARIABLE: BITCOINCORE_POLICY_PATCHES @@ -73,6 +72,7 @@ WALLET_DEPEND="sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx]" LIBEVENT_DEPEND="" UNIVALUE_DEPEND="" BITCOINCORE_LJR_NAME=ljr +BITCOINCORE_KNOTS_USE=knots [ -n "${BITCOINCORE_LJR_PV}" ] || BITCOINCORE_LJR_PV="${PV}" case "${PV}" in @@ -88,8 +88,11 @@ case "${PV}" in LIBSECP256K1_DEPEND="=dev-libs/libsecp256k1-0.0.0_pre20151118[recovery]" UNIVALUE_DEPEND="dev-libs/univalue" BITCOINCORE_LJR_NAME=knots + if in_bcc_iuse ljr; then + BITCOINCORE_KNOTS_USE=ljr + fi if in_bcc_policy spamfilter; then - REQUIRED_USE="${REQUIRED_USE} bitcoin_policy_spamfilter? ( ljr )" + REQUIRED_USE="${REQUIRED_USE} bitcoin_policy_spamfilter? ( ${BITCOINCORE_KNOTS_USE} )" fi ;; 9999*) @@ -202,9 +205,9 @@ DEPEND="${DEPEND} ${BITCOINCORE_COMMON_DEPEND} if [ "${BITCOINCORE_NEED_LEVELDB}" = "1" ]; then RDEPEND="${RDEPEND} virtual/bitcoin-leveldb" fi -if in_bcc_iuse ljr; then +if in_bcc_iuse ${BITCOINCORE_KNOTS_USE}; then if [ "${BITCOINCORE_LJR_NAME}" = "knots" ]; then - DEPEND="${DEPEND} ljr? ( dev-lang/perl )" + DEPEND="${DEPEND} ${BITCOINCORE_KNOTS_USE}? ( dev-lang/perl )" fi fi @@ -221,7 +224,7 @@ bitcoincore_policymsg() { bitcoincore_pkg_pretend() { bitcoincore_policymsg_flag=false - if use_if_iuse ljr || use_if_iuse 1stclassmsg || use_if_iuse addrindex || use_if_iuse xt || { use_if_iuse zeromq && [ "${BITCOINCORE_MINOR}" -lt 12 ]; }; then + if use_if_iuse ${BITCOINCORE_KNOTS_USE} || use_if_iuse 1stclassmsg || use_if_iuse addrindex || use_if_iuse xt || { use_if_iuse zeromq && [ "${BITCOINCORE_MINOR}" -lt 12 ]; }; then einfo "Extra functionality improvements to Bitcoin Core are enabled." bitcoincore_policymsg_flag=true if use_if_iuse addrindex addrindex; then @@ -280,7 +283,7 @@ bitcoincore_prepare() { else epatch "$(LJR_PATCH syslibs)" fi - if use_if_iuse ljr; then + if use_if_iuse ${BITCOINCORE_KNOTS_USE}; then if [ "${BITCOINCORE_LJR_NAME}" = "knots" ]; then bitcoincore_predelete_patch "$(LJR_PATCH f)" bitcoincore_predelete_patch "$(LJR_PATCH branding)" diff --git a/sdk_container/src/third_party/portage-stable/eclass/bsdmk.eclass b/sdk_container/src/third_party/portage-stable/eclass/bsdmk.eclass index a92b4c03ec..9416b9ac99 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bsdmk.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bsdmk.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: bsdmk.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/bzr.eclass b/sdk_container/src/third_party/portage-stable/eclass/bzr.eclass index 3d88960acc..f2b7d071d7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bzr.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bzr.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: bzr.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/cannadic.eclass b/sdk_container/src/third_party/portage-stable/eclass/cannadic.eclass index 015e13451a..d407751f68 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cannadic.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cannadic.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cannadic.eclass # @AUTHOR: diff --git a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass index d2140dc99b..32d04a2d55 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cargo.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cargo.eclass # @MAINTAINER: @@ -126,7 +125,7 @@ cargo_src_install() { || die "cargo install failed" rm -f "${D}/usr/.crates.toml" - [ -d "${S}/man" ] && doman "${S}/man" + [ -d "${S}/man" ] && doman "${S}/man" || return 0 } fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/cdrom.eclass b/sdk_container/src/third_party/portage-stable/eclass/cdrom.eclass index 76e6b4974e..2270bbe30c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cdrom.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cdrom.eclass @@ -1,19 +1,18 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cdrom.eclass # @MAINTAINER: # games@gentoo.org # @BLURB: Functions for CD-ROM handling # @DESCRIPTION: -# Acquire cd(s) for those lovely cd-based emerges. Yes, this violates -# the whole 'non-interactive' policy, but damnit I want CD support! +# Acquire CD(s) for those lovely CD-based emerges. Yes, this violates +# the whole "non-interactive" policy, but damnit I want CD support! # -# With these cdrom functions we handle all the user interaction and -# standardize everything. All you have to do is call cdrom_get_cds() -# and when the function returns, you can assume that the cd has been -# found at CDROM_ROOT. +# Do not call these functions in pkg_* phases like pkg_setup as they +# should not be used for binary packages. Most packages using this +# eclass will require RESTRICT="bindist" but the point still stands. +# The functions are generally called in src_unpack. if [[ -z ${_CDROM_ECLASS} ]]; then _CDROM_ECLASS=1 @@ -25,8 +24,8 @@ inherit portability # @DESCRIPTION: # By default, the eclass sets PROPERTIES="interactive" on the assumption # that people will be using these. If your package optionally supports -# disc based installed, then set this to "yes", and we'll set things -# conditionally based on USE=cdinstall. +# disc-based installs then set this to "yes" and we'll set things +# conditionally based on USE="cdinstall". if [[ ${CDROM_OPTIONAL} == "yes" ]] ; then IUSE="cdinstall" PROPERTIES="cdinstall? ( interactive )" @@ -35,63 +34,53 @@ else fi # @FUNCTION: cdrom_get_cds -# @USAGE: [file on cd2] [file on cd3] [...] +# @USAGE: [:alt cd1 file] [cd2 file[:alt cd2 file]] [...] # @DESCRIPTION: -# The function will attempt to locate a cd based upon a file that is on -# the cd. The more files you give this function, the more cds the cdrom -# functions will handle. +# Attempt to locate a CD based upon a file that is on the CD. # -# Normally the cdrom functions will refer to the cds as 'cd #1', 'cd #2', -# etc... If you want to give the cds better names, then just export -# the appropriate CDROM_NAME variable before calling cdrom_get_cds(). -# Use CDROM_NAME for one cd, or CDROM_NAME_# for multiple cds. You can -# also use the CDROM_NAME_SET bash array. +# If the data spans multiple discs then additional arguments can be +# given to check for more files. Call cdrom_load_next_cd() to scan for +# the next disc in the set. # -# For those multi cd ebuilds, see the cdrom_load_next_cd() function. +# Sometimes it is necessary to support alternative CD "sets" where the +# contents differ. Alternative files for each disc can be appended to +# each argument, separated by the : character. This feature is +# frequently used to support installing from an existing installation. +# Note that after the first disc is detected, the set is locked so +# cdrom_load_next_cd() will only scan for files in that specific set on +# subsequent discs. +# +# The given files can be within named subdirectories. It is not +# necessary to specify different casings of the same filename as +# matching is done case-insensitively. Filenames can include special +# characters such as spaces. Only : is not allowed. +# +# If you don't want each disc to be referred to as "CD #1", "CD #2", +# etc. then you can optionally provide your own names. Set CDROM_NAME +# for a single disc, CDROM_NAMES as an array for multiple discs, or +# individual CDROM_NAME_# variables for each disc starting from 1. +# +# Despite what you may have seen in older ebuilds, it has never been +# possible to provide per-set disc names. This would not make sense as +# all the names are initially displayed before the first disc has been +# detected. As a workaround, you can redefine the name variable(s) +# after the first disc has been detected. +# +# This function ends with a cdrom_load_next_cd() call to scan for the +# first disc. For more details about variables read and written by this +# eclass, see that function's description. cdrom_get_cds() { - # first we figure out how many cds we're dealing with by - # the # of files they gave us - local cdcnt=0 - local f= - for f in "$@" ; do - ((++cdcnt)) - export CDROM_CHECK_${cdcnt}="$f" - done - export CDROM_TOTAL_CDS=${cdcnt} - export CDROM_CURRENT_CD=1 + unset CDROM_SET + export CDROM_CURRENT_CD=0 CDROM_CHECKS=( "${@}" ) - # now we see if the user gave use CD_ROOT ... - # if they did, let's just believe them that it's correct + # If the user has set CD_ROOT or CD_ROOT_1, don't bother informing + # them about which discs are needed as they presumably already know. if [[ -n ${CD_ROOT}${CD_ROOT_1} ]] ; then - local var= - cdcnt=0 - while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do - ((++cdcnt)) - var="CD_ROOT_${cdcnt}" - [[ -z ${!var} ]] && var="CD_ROOT" - if [[ -z ${!var} ]] ; then - eerror "You must either use just the CD_ROOT" - eerror "or specify ALL the CD_ROOT_X variables." - eerror "In this case, you will need" \ - "${CDROM_TOTAL_CDS} CD_ROOT_X variables." - die "could not locate CD_ROOT_${cdcnt}" - fi - done - export CDROM_ROOT=${CD_ROOT_1:-${CD_ROOT}} - einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" - export CDROM_SET=-1 - for f in ${CDROM_CHECK_1//:/ } ; do - ((++CDROM_SET)) - [[ -e ${CDROM_ROOT}/${f} ]] && break - done - export CDROM_MATCH=${f} - return - fi + : - # User didn't help us out so lets make sure they know they can - # simplify the whole process ... - if [[ ${CDROM_TOTAL_CDS} -eq 1 ]] ; then - einfo "This ebuild will need the ${CDROM_NAME:-cdrom for ${PN}}" + # Single disc info. + elif [[ ${#} -eq 1 ]] ; then + einfo "This ebuild will need the ${CDROM_NAME:-CD for ${PN}}" echo einfo "If you do not have the CD, but have the data files" einfo "mounted somewhere on your filesystem, just export" @@ -101,140 +90,158 @@ cdrom_get_cds() { einfo "For example:" einfo "export CD_ROOT=/mnt/cdrom" echo - else - if [[ -n ${CDROM_NAME_SET} ]] ; then - # Translate the CDROM_NAME_SET array into CDROM_NAME_# - cdcnt=0 - while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do - ((++cdcnt)) - export CDROM_NAME_${cdcnt}="${CDROM_NAME_SET[$((${cdcnt}-1))]}" - done - fi - einfo "This package will need access to ${CDROM_TOTAL_CDS} cds." - cdcnt=0 - while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do - ((++cdcnt)) - var="CDROM_NAME_${cdcnt}" + # Multi disc info. + else + _cdrom_set_names + einfo "This package may need access to ${#} CDs." + local cdcnt + for cdcnt in $(seq ${#}); do + local var=CDROM_NAME_${cdcnt} [[ ! -z ${!var} ]] && einfo " CD ${cdcnt}: ${!var}" done echo einfo "If you do not have the CDs, but have the data files" einfo "mounted somewhere on your filesystem, just export" einfo "the following variables so they point to the right place:" - einfon "" - cdcnt=0 - while [[ ${cdcnt} -lt ${CDROM_TOTAL_CDS} ]] ; do - ((++cdcnt)) - echo -n " CD_ROOT_${cdcnt}" - done + einfo $(printf "CD_ROOT_%d " $(seq ${#})) echo einfo "Or, if you have all the files in the same place, or" - einfo "you only have one cdrom, you can export CD_ROOT" + einfo "you only have one CD, you can export CD_ROOT" einfo "and that place will be used as the same data source" einfo "for all the CDs." echo einfo "For example:" - einfo "export CD_ROOT_1=/mnt/cdrom" + einfo "export CD_ROOT=/mnt/cdrom" echo fi - export CDROM_SET="" - export CDROM_CURRENT_CD=0 + # Scan for the first disc. cdrom_load_next_cd } # @FUNCTION: cdrom_load_next_cd # @DESCRIPTION: -# Some packages are so big they come on multiple CDs. When you're done -# reading files off a CD and want access to the next one, just call this -# function. Again, all the messy details of user interaction are taken -# care of for you. Once this returns, just read the variable CDROM_ROOT -# for the location of the mounted CD. Note that you can only go forward -# in the CD list, so make sure you only call this function when you're -# done using the current CD. +# If multiple arguments were given to cdrom_get_cds() then you can call +# this function to scan for the next disc. This function is also called +# implicitly to scan for the first disc. +# +# The file(s) given to cdrom_get_cds() are scanned for on any mounted +# filesystem that resembles optical media. If no match is found then +# the user is prompted to insert and mount the disc and press enter to +# rescan. This will loop continuously until a match is found or the +# user aborts with Ctrl+C. +# +# The user can override the scan location by setting CD_ROOT for a +# single disc, CD_ROOT if multiple discs are merged into the same +# directory tree (useful for existing installations), or individual +# CD_ROOT_# variables for each disc starting from 1. If no match is +# found then the function dies with an error as a rescan will not help +# in this instance. +# +# Users wanting to set CD_ROOT or CD_ROOT_# for specific packages +# persistently can do so using Portage's /etc/portage/env feature. +# +# Regardless of which scanning method is used, several variables are set +# by this function for you to use: +# +# CDROM_ROOT: Root path of the detected disc. +# CDROM_MATCH: Path of the matched file, relative to CDROM_ROOT. +# CDROM_ABSMATCH: Absolute path of the matched file. +# CDROM_SET: The matching set number, starting from 0. +# +# The casing of CDROM_MATCH may not be the same as the argument given to +# cdrom_get_cds() as matching is done case-insensitively. You should +# therefore use this variable (or CDROM_ABSMATCH) when performing file +# operations to ensure the file is found. Use newins rather than doins +# to keep the final result consistent and take advantage of Bash +# case-conversion features like ${FOO,,}. +# +# Chances are that you'll need more than just the matched file from each +# disc though. You should not assume the casing of these files either +# but dealing with this goes beyond the scope of this ebuild. For a +# good example, see games-action/descent2-data, which combines advanced +# globbing with advanced tar features to concisely deal with +# case-insensitive matching, case conversion, file moves, and +# conditional exclusion. +# +# Copying directly from a mounted disc using doins/newins will remove +# any read-only permissions but be aware of these when copying to an +# intermediate directory first. Attempting to clean a build directory +# containing read-only files as a non-root user will result in an error. +# If you're using tar as suggested above then you can easily work around +# this with --mode=u+w. +# +# Note that you can only go forwards in the disc list, so make sure you +# only call this function when you're done using the current disc. +# +# If you cd to any location within CDROM_ROOT then remember to leave the +# directory before calling this function again, otherwise the user won't +# be able to unmount the current disc. cdrom_load_next_cd() { - local var - ((++CDROM_CURRENT_CD)) - - unset CDROM_ROOT - var=CD_ROOT_${CDROM_CURRENT_CD} - [[ -z ${!var} ]] && var="CD_ROOT" - if [[ -z ${!var} ]] ; then - var="CDROM_CHECK_${CDROM_CURRENT_CD}" - _cdrom_locate_file_on_cd ${!var} - else - export CDROM_ROOT=${!var} - fi - - einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" -} - -# this is used internally by the cdrom_get_cds() and cdrom_load_next_cd() -# functions. this should *never* be called from an ebuild. -# all it does is try to locate a give file on a cd ... if the cd isn't -# found, then a message asking for the user to insert the cdrom will be -# displayed and we'll hang out here until: -# (1) the file is found on a mounted cdrom -# (2) the user hits CTRL+C -_cdrom_locate_file_on_cd() { - local mline="" local showedmsg=0 showjolietmsg=0 - while [[ -z ${CDROM_ROOT} ]] ; do - local i=0 - local -a cdset=(${*//:/ }) - if [[ -n ${CDROM_SET} ]] ; then - cdset=(${cdset[${CDROM_SET}]}) - fi + unset CDROM_ROOT + ((++CDROM_CURRENT_CD)) - while [[ -n ${cdset[${i}]} ]] ; do - local dir=$(dirname ${cdset[${i}]}) - local file=$(basename ${cdset[${i}]}) + _cdrom_set_names - local point= node= fs= foo= - while read point node fs foo ; do - [[ " cd9660 iso9660 udf " != *" ${fs} "* ]] && \ - ! [[ ${fs} == "subfs" && ",${opts}," == *",fs=cdfss,"* ]] \ - && continue - point=${point//\040/ } - [[ ! -d ${point}/${dir} ]] && continue - [[ -z $(find "${point}/${dir}" -maxdepth 1 -iname "${file}") ]] \ - && continue - export CDROM_ROOT=${point} + while true ; do + local i cdset + : CD_ROOT_${CDROM_CURRENT_CD} + export CDROM_ROOT=${CD_ROOT:-${!_}} + IFS=: read -r -a cdset -d "" <<< "${CDROM_CHECKS[$((${CDROM_CURRENT_CD} - 1))]}" + + for i in $(seq ${CDROM_SET:-0} ${CDROM_SET:-$((${#cdset[@]} - 1))}); do + local f=${cdset[${i}]} point= node= fs= opts= + + if [[ -z ${CDROM_ROOT} ]] ; then + while read point node fs opts ; do + has "${fs}" cd9660 iso9660 udf || continue + point=${point//\040/ } + export CDROM_MATCH=$(_cdrom_glob_match "${point}" "${f}") + [[ -z ${CDROM_MATCH} ]] && continue + export CDROM_ROOT=${point} + done <<< "$(get_mounts)" + else + export CDROM_MATCH=$(_cdrom_glob_match "${CDROM_ROOT}" "${f}") + fi + + if [[ -n ${CDROM_MATCH} ]] ; then + export CDROM_ABSMATCH=${CDROM_ROOT}/${CDROM_MATCH} export CDROM_SET=${i} - export CDROM_MATCH=${cdset[${i}]} - return - done <<< "$(get_mounts)" - - ((++i)) + break 2 + fi done - echo + # If we get here then we were unable to locate a match. If + # CDROM_ROOT is non-empty then this implies that a CD_ROOT + # variable was given and we should therefore abort immediately. + if [[ -n ${CDROM_ROOT} ]] ; then + die "unable to locate CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" + fi + if [[ ${showedmsg} -eq 0 ]] ; then - if [[ ${CDROM_TOTAL_CDS} -eq 1 ]] ; then - if [[ -z ${CDROM_NAME} ]] ; then - einfo "Please insert+mount the cdrom for ${PN} now !" - else - einfo "Please insert+mount the ${CDROM_NAME} cdrom now !" - fi + if [[ ${#CDROM_CHECKS[@]} -eq 1 ]] ; then + einfo "Please insert+mount the ${CDROM_NAME:-CD for ${PN}} now !" else - if [[ -z ${CDROM_NAME_1} ]] ; then - einfo "Please insert+mount cd #${CDROM_CURRENT_CD}" \ - "for ${PN} now !" + local var="CDROM_NAME_${CDROM_CURRENT_CD}" + if [[ -z ${!var} ]] ; then + einfo "Please insert+mount CD #${CDROM_CURRENT_CD} for ${PN} now !" else - local var="CDROM_NAME_${CDROM_CURRENT_CD}" - einfo "Please insert+mount the ${!var} cdrom now !" + einfo "Please insert+mount the ${!var} now !" fi fi showedmsg=1 fi - einfo "Press return to scan for the cd again" + + einfo "Press return to scan for the CD again" einfo "or hit CTRL+C to abort the emerge." - echo + if [[ ${showjolietmsg} -eq 0 ]] ; then showjolietmsg=1 else + echo ewarn "If you are having trouble with the detection" ewarn "of your CD, it is possible that you do not have" ewarn "Joliet support enabled in your kernel. Please" @@ -242,6 +249,54 @@ _cdrom_locate_file_on_cd() { fi read || die "something is screwed with your system" done + + einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}" +} + +# @FUNCTION: _cdrom_glob_match +# @USAGE: +# @INTERNAL +# @DESCRIPTION: +# Locates the given path ($2) within the given root directory ($1) +# case-insensitively and returns the first actual matching path. This +# eclass previously used "find -iname" but it only checked the file +# case-insensitively and not the directories. There is "find -ipath" +# but this does not intelligently skip non-matching paths, making it +# slow. Case-insensitive matching can only be applied to patterns so +# extended globbing is used to turn regular strings into patterns. All +# special characters are escaped so don't worry about breaking this. +_cdrom_glob_match() { + # The following line turns this: + # foo*foo/bar bar/baz/file.zip + # + # Into this: + # ?(foo\*foo)/?(bar\ bar)/?(baz)/?(file\.zip) + # + # This turns every path component into an escaped extended glob + # pattern to allow case-insensitive matching. Globs cannot span + # directories so each component becomes an individual pattern. + local p=\?\($(sed -e 's:[^A-Za-z0-9/]:\\\0:g' -e 's:/:)/?(:g' <<< "$2" || die)\) + ( + cd "$1" 2>/dev/null || return + shopt -s extglob nocaseglob nullglob || die + # The first person to make this work without an eval wins a + # cookie. It breaks without it when spaces are present. + eval "ARRAY=( ${p} )" + echo ${ARRAY[0]} + ) +} + +# @FUNCTION: _cdrom_set_names +# @INTERNAL +# @DESCRIPTION: +# Populate CDROM_NAME_# variables with the CDROM_NAMES array. +_cdrom_set_names() { + if [[ -n ${CDROM_NAMES} ]] ; then + local i + for i in $(seq ${#CDROM_NAMES[@]}); do + export CDROM_NAME_${i}="${CDROM_NAMES[$((${i} - 1))]}" + done + fi } fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass b/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass index c004be77cd..fe18522134 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/check-reqs.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: check-reqs.eclass # @MAINTAINER: @@ -215,7 +214,7 @@ check-reqs_get_number() { # @FUNCTION: check-reqs_get_unit # @INTERNAL # @DESCRIPTION: -# Internal function that return the unit without the numerical value. +# Internal function that returns the unit without the numerical value. # Returns "GiB" for "1G" or "TiB" for "150T". check-reqs_get_unit() { debug-print-function ${FUNCNAME} "$@" diff --git a/sdk_container/src/third_party/portage-stable/eclass/chromium-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/chromium-2.eclass index e4170df81c..db345f8f0f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/chromium-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/chromium-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: chromium-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass b/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass deleted file mode 100644 index 5513115814..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# DEPRECATED -# This eclass has been deprecated and should not be used by any new ebuilds. - -# @DEAD - -# @ECLASS: chromium.eclass -# @MAINTAINER: -# Chromium Herd -# @AUTHOR: -# Mike Gilbert -# @BLURB: Shared functions for chromium and google-chrome - -inherit eutils fdo-mime gnome2-utils linux-info - -eqawarn "chromium.eclass is deprecated" - -if [[ ${CHROMIUM_EXPORT_PHASES} != no ]]; then - EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm -fi - -if [[ ${PN} == chromium ]]; then - IUSE+=" custom-cflags" -fi - -# @FUNCTION: chromium_suid_sandbox_check_kernel_config -# @USAGE: -# @DESCRIPTION: -# Ensures the system kernel supports features needed for SUID sandbox to work. -chromium_suid_sandbox_check_kernel_config() { - has "${EAPI:-0}" 0 1 2 3 && die "EAPI=${EAPI} is not supported" - - if [[ "${MERGE_TYPE}" == "source" || "${MERGE_TYPE}" == "binary" ]]; then - # Warn if the kernel does not support features needed for sandboxing. - # Bug #363987. - ERROR_PID_NS="PID_NS is required for sandbox to work" - ERROR_NET_NS="NET_NS is required for sandbox to work" - ERROR_USER_NS="USER_NS is required for sandbox to work" - ERROR_SECCOMP_FILTER="SECCOMP_FILTER is required for sandbox to work" - # Warn if the kernel does not support features needed for the browser to work - # (bug #552576, bug #556286). - ERROR_ADVISE_SYSCALLS="CONFIG_ADVISE_SYSCALLS is required for the renderer (bug #552576)" - ERROR_COMPAT_VDSO="CONFIG_COMPAT_VDSO causes segfaults (bug #556286)" - CONFIG_CHECK="~PID_NS ~NET_NS ~SECCOMP_FILTER ~USER_NS ~ADVISE_SYSCALLS ~!COMPAT_VDSO" - check_extra_config - fi -} - -# @ECLASS-VARIABLE: CHROMIUM_LANGS -# @DEFAULT_UNSET -# @DESCRIPTION: -# List of language packs available for this package. - -_chromium_set_linguas_IUSE() { - [[ ${EAPI:-0} == 0 ]] && die "EAPI=${EAPI} is not supported" - - local lang - for lang in ${CHROMIUM_LANGS}; do - # Default to enabled since we bundle them anyway. - # USE-expansion will take care of disabling the langs the user has not - # selected via LINGUAS. - IUSE+=" +linguas_${lang}" - done -} - -if [[ ${CHROMIUM_LANGS} ]]; then - _chromium_set_linguas_IUSE -fi - -_chromium_crlang() { - echo "${@/_/-}" -} - -_chromium_syslang() { - echo "${@/-/_}" -} - -_chromium_strip_pak() { - local x - for x in "$@"; do - echo "${x%.pak}" - done -} - -# @FUNCTION: chromium_remove_language_paks -# @USAGE: -# @DESCRIPTION: -# Removes pak files from the current directory for languages that the user has -# not selected via the LINGUAS variable. -# Also performs QA checks to ensure CHROMIUM_LANGS has been set correctly. -chromium_remove_language_paks() { - local crlangs=$(_chromium_crlang ${CHROMIUM_LANGS}) - local present_crlangs=$(_chromium_strip_pak *.pak) - local present_langs=$(_chromium_syslang ${present_crlangs}) - local lang - - # Look for missing pak files. - for lang in ${crlangs}; do - if ! has ${lang} ${present_crlangs}; then - eqawarn "LINGUAS warning: no .pak file for ${lang} (${lang}.pak not found)" - fi - done - - # Look for extra pak files. - # Remove pak files that the user does not want. - for lang in ${present_langs}; do - if [[ ${lang} == en_US ]]; then - continue - fi - if ! has ${lang} ${CHROMIUM_LANGS}; then - eqawarn "LINGUAS warning: no ${lang} in LANGS" - continue - fi - if ! use linguas_${lang}; then - rm "$(_chromium_crlang ${lang}).pak" || die - fi - done -} - -chromium_pkg_preinst() { - gnome2_icon_savelist -} - -chromium_pkg_postinst() { - fdo-mime_desktop_database_update - gnome2_icon_cache_update - - # For more info see bug #292201, bug #352263, bug #361859. - if ! has_version x11-themes/gnome-icon-theme && - ! has_version x11-themes/oxygen-icons ; then - elog - elog "Depending on your desktop environment, you may need" - elog "to install additional packages to get icons on the Downloads page." - elog - elog "For KDE, the required package is kde-frameworks/oxygen-icons." - elog - elog "For other desktop environments, try one of the following:" - elog " - x11-themes/gnome-icon-theme" - elog " - x11-themes/tango-icon-theme" - fi - - # For more info see bug #359153. - elog - elog "Some web pages may require additional fonts to display properly." - elog "Try installing some of the following packages if some characters" - elog "are not displayed properly:" - elog " - media-fonts/arphicfonts" - elog " - media-fonts/bitstream-cyberbit" - elog " - media-fonts/droid" - elog " - media-fonts/ipamonafont" - elog " - media-fonts/ja-ipafonts" - elog " - media-fonts/takao-fonts" - elog " - media-fonts/wqy-microhei" - elog " - media-fonts/wqy-zenhei" -} - -chromium_pkg_postrm() { - gnome2_icon_cache_update -} - -chromium_pkg_die() { - if [[ "${EBUILD_PHASE}" != "compile" ]]; then - return - fi - - # Prevent user problems like bug #348235. - eshopts_push -s extglob - if is-flagq '-g?(gdb)?([1-9])'; then - ewarn - ewarn "You have enabled debug info (i.e. -g or -ggdb in your CFLAGS/CXXFLAGS)." - ewarn "This produces very large build files causes the linker to consume large" - ewarn "amounts of memory." - ewarn - ewarn "Please try removing -g{,gdb} before reporting a bug." - ewarn - fi - eshopts_pop - - # ccache often causes bogus compile failures, especially when the cache gets - # corrupted. - if has ccache ${FEATURES}; then - ewarn - ewarn "You have enabled ccache. Please try disabling ccache" - ewarn "before reporting a bug." - ewarn - fi - - # No ricer bugs. - if use_if_iuse custom-cflags; then - ewarn - ewarn "You have enabled the custom-cflags USE flag." - ewarn "Please disable it before reporting a bug." - ewarn - fi - - # If the system doesn't have enough memory, the compilation is known to - # fail. Print info about memory to recognize this condition. - einfo - einfo "$(grep MemTotal /proc/meminfo)" - einfo "$(grep SwapTotal /proc/meminfo)" - einfo -} - -# @VARIABLE: EGYP_CHROMIUM_COMMAND -# @DESCRIPTION: -# Path to the gyp_chromium script. -: ${EGYP_CHROMIUM_COMMAND:=build/gyp_chromium} - -# @VARIABLE: EGYP_CHROMIUM_DEPTH -# @DESCRIPTION: -# Depth for egyp_chromium. -: ${EGYP_CHROMIUM_DEPTH:=.} - -# @FUNCTION: egyp_chromium -# @USAGE: [gyp arguments] -# @DESCRIPTION: -# Calls EGYP_CHROMIUM_COMMAND with depth EGYP_CHROMIUM_DEPTH and given -# arguments. The full command line is echoed for logging. -egyp_chromium() { - set -- "${EGYP_CHROMIUM_COMMAND}" --depth="${EGYP_CHROMIUM_DEPTH}" "$@" - echo "$@" - "$@" -} - -# @FUNCTION: gyp_use -# @USAGE: [GYP flag] [true suffix] [false suffix] -# @DESCRIPTION: -# If USE flag is set, echo -D[GYP flag]=[true suffix]. -# -# If USE flag is not set, echo -D[GYP flag]=[false suffix]. -# -# [GYP flag] defaults to use_[USE flag] with hyphens converted to underscores. -# -# [true suffix] defaults to 1. [false suffix] defaults to 0. -gyp_use() { - local gypflag="-D${2:-use_${1//-/_}}=" - usex "$1" "${gypflag}" "${gypflag}" "${3-1}" "${4-0}" -} - -# @FUNCTION: chromium_bundled_v8_version -# @USAGE: [path to version.cc] -# @DESCRIPTION: -# Outputs the version of v8 parsed from a (bundled) copy of the source code. -chromium_bundled_v8_version() { - local vf=${1:-v8/src/version.cc} - local major minor build patch - major=$(sed -ne 's/#define MAJOR_VERSION *\([0-9]*\)/\1/p' "${vf}") - minor=$(sed -ne 's/#define MINOR_VERSION *\([0-9]*\)/\1/p' "${vf}") - build=$(sed -ne 's/#define BUILD_NUMBER *\([0-9]*\)/\1/p' "${vf}") - patch=$(sed -ne 's/#define PATCH_LEVEL *\([0-9]*\)/\1/p' "${vf}") - echo "${major}.${minor}.${build}.${patch}" -} - -# @FUNCTION: chromium_installed_v8_version -# @USAGE: -# @DESCRIPTION: -# Outputs the version of dev-lang/v8 currently installed on the host system. -chromium_installed_v8_version() { - local cpf=$(best_version dev-lang/v8) - local pvr=${cpf#dev-lang/v8-} - echo "${pvr%-r*}" -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass index 3e40e33890..39f92ae766 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cmake-multilib.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass index b1d499c583..07f719a62a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cmake-utils.eclass # @MAINTAINER: @@ -57,7 +56,7 @@ _CMAKE_UTILS_ECLASS=1 # @ECLASS-VARIABLE: CMAKE_MIN_VERSION # @DESCRIPTION: # Specify the minimum required CMake version. -: ${CMAKE_MIN_VERSION:=3.6.3} +: ${CMAKE_MIN_VERSION:=3.7.2} # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/common-lisp-3.eclass b/sdk_container/src/third_party/portage-stable/eclass/common-lisp-3.eclass index ef6531ba31..6b66395606 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/common-lisp-3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/common-lisp-3.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: common-lisp-3.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/common-lisp-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/common-lisp-common.eclass index 7350573238..a335bd7104 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/common-lisp-common.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/common-lisp-common.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Author Matthew Kennedy # diff --git a/sdk_container/src/third_party/portage-stable/eclass/common-lisp.eclass b/sdk_container/src/third_party/portage-stable/eclass/common-lisp.eclass index a67c4c2f5f..85ff721a98 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/common-lisp.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/common-lisp.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Author Matthew Kennedy # diff --git a/sdk_container/src/third_party/portage-stable/eclass/confutils.eclass b/sdk_container/src/third_party/portage-stable/eclass/confutils.eclass index 764ee31ebe..cfd1a64d9a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/confutils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/confutils.eclass @@ -1,10 +1,9 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: confutils.eclass # @MAINTAINER: -# Benedikt Böhm +# No maintainer # @BLURB: utility functions to help with configuring a package # @DESCRIPTION: # The confutils eclass contains functions to handle use flag dependencies and @@ -453,7 +452,7 @@ enable_extension_enable_built_with() { fi } -# @FUNCTION: enable_extension_with_built_with () +# @FUNCTION: enable_extension_with_built_with # @USAGE: [shared] [extra conf] [msg] # @DESCRIPTION: # This function is like enable_extension_with(), except that it diff --git a/sdk_container/src/third_party/portage-stable/eclass/cron.eclass b/sdk_container/src/third_party/portage-stable/eclass/cron.eclass index 8395d41d82..3ff996609b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cron.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cron.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cron.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/cuda.eclass b/sdk_container/src/third_party/portage-stable/eclass/cuda.eclass index 79763e1d10..9ae7a28e1d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cuda.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cuda.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ inherit flag-o-matic toolchain-funcs versionator diff --git a/sdk_container/src/third_party/portage-stable/eclass/cvs.eclass b/sdk_container/src/third_party/portage-stable/eclass/cvs.eclass index 58efcf1aa2..e2121f4724 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cvs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cvs.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: cvs.eclass # @MAINTAINER: @@ -353,22 +352,22 @@ cvs_fetch() { fi # Commands to run - cmdlogin="${run} ${ECVS_CVS_COMMAND} -d \"${cvsroot_pass}\" login" - cmdupdate="${run} ${ECVS_CVS_COMMAND} -d \"${cvsroot_nopass}\" update ${ECVS_UP_OPTS} ${ECVS_LOCALNAME}" - cmdcheckout="${run} ${ECVS_CVS_COMMAND} -d \"${cvsroot_nopass}\" checkout ${ECVS_CO_OPTS} ${ECVS_MODULE}" + cmdlogin=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_pass}" login ) + cmdupdate=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" update ${ECVS_UP_OPTS} ${ECVS_LOCALNAME} ) + cmdcheckout=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" checkout ${ECVS_CO_OPTS} ${ECVS_MODULE} ) # Execute commands cd "${ECVS_TOP_DIR}" if [[ ${ECVS_AUTH} == "pserver" ]] ; then - einfo "Running ${cmdlogin}" - eval ${cmdlogin} || die "cvs login command failed" + einfo "Running ${cmdlogin[*]}" + "${cmdlogin[@]}" || die "cvs login command failed" if [[ ${mode} == "update" ]] ; then - einfo "Running ${cmdupdate}" - eval ${cmdupdate} || die "cvs update command failed" + einfo "Running ${cmdupdate[*]}" + "${cmdupdate[@]}" || die "cvs update command failed" elif [[ ${mode} == "checkout" ]] ; then - einfo "Running ${cmdcheckout}" - eval ${cmdcheckout} || die "cvs checkout command failed" + einfo "Running ${cmdcheckout[*]}" + "${cmdcheckout[@]}" || die "cvs checkout command failed" fi elif [[ ${ECVS_AUTH} == "ext" || ${ECVS_AUTH} == "no" ]] ; then # Hack to support SSH password authentication @@ -462,11 +461,11 @@ EOF fi if [[ ${mode} == "update" ]] ; then - einfo "Running ${cmdupdate}" - eval ${cmdupdate} || die "cvs update command failed" + einfo "Running ${cmdupdate[*]}" + "${cmdupdate[@]}" || die "cvs update command failed" elif [[ ${mode} == "checkout" ]] ; then - einfo "Running ${cmdcheckout}" - eval ${cmdcheckout} || die "cvs checkout command failed" + einfo "Running ${cmdcheckout[*]}" + "${cmdcheckout[@]}" || die "cvs checkout command failed" fi # Restore environment variable values diff --git a/sdk_container/src/third_party/portage-stable/eclass/darcs.eclass b/sdk_container/src/third_party/portage-stable/eclass/darcs.eclass index abb9ccc9b0..cac00cc01f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/darcs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/darcs.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: darcs.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/db-use.eclass b/sdk_container/src/third_party/portage-stable/eclass/db-use.eclass index 5a19b05998..35f11df034 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/db-use.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/db-use.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # This is a common location for functions that aid the use of sys-libs/db # # Bugs: maintainer-needed@gentoo.org diff --git a/sdk_container/src/third_party/portage-stable/eclass/db.eclass b/sdk_container/src/third_party/portage-stable/eclass/db.eclass index 9b578cc3a1..c46c431ea9 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/db.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/db.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: db.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/depend.apache.eclass b/sdk_container/src/third_party/portage-stable/eclass/depend.apache.eclass index 3840a375e7..3067c07cf5 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/depend.apache.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/depend.apache.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: depend.apache.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/depend.php.eclass b/sdk_container/src/third_party/portage-stable/eclass/depend.php.eclass deleted file mode 100644 index c29cda22ca..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/depend.php.eclass +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# @DEAD -# @ECLASS: depend.php.eclass -# @MAINTAINER: -# Gentoo PHP team -# @AUTHOR: -# Author: Stuart Herbert -# Author: Luca Longinotti -# Author: Jakub Moc (documentation) -# @BLURB: Functions to allow ebuilds to depend on php5 and check for specific features. -# @DESCRIPTION: -# This eclass provides functions that allow ebuilds to depend on php5 and check -# for specific PHP features, SAPIs etc. Also provides dodoc-php wrapper to install -# documentation for PHP packages to php-specific location. -# This eclass is deprecated and is set to be removed 30 days after bug 552836 is resolved - -inherit eutils multilib - -# PHP5-only depend functions - -# @FUNCTION: need_php5 -# @DESCRIPTION: -# Set this after setting DEPEND/RDEPEND in your ebuild if the ebuild requires PHP5 -# (with any SAPI). -need_php5() { - DEPEND="${DEPEND} =dev-lang/php-5*" - RDEPEND="${RDEPEND} =dev-lang/php-5*" - PHP_VERSION="5" - PHP_SHARED_CAT="php5" -} - -# common settings go in here -uses_php5() { - # cache this - libdir=$(get_libdir) - - PHPIZE="/usr/${libdir}/php5/bin/phpize" - PHPCONFIG="/usr/${libdir}/php5/bin/php-config" - PHPCLI="/usr/${libdir}/php5/bin/php" - PHPCGI="/usr/${libdir}/php5/bin/php-cgi" - PHP_PKG="$(best_version =dev-lang/php-5*)" - PHPPREFIX="/usr/${libdir}/php5" - EXT_DIR="$(${PHPCONFIG} --extension-dir 2>/dev/null)" - - einfo - einfo "Using ${PHP_PKG}" - einfo -} - -# general PHP depend functions - -# @FUNCTION: need_php_httpd -# @DESCRIPTION: -# Set this after setting DEPEND/RDEPEND in your ebuild if the ebuild requires PHP -# (any version) with either cgi or apache2 SAPI. -need_php_httpd() { - DEPEND="${DEPEND} virtual/httpd-php" - RDEPEND="${RDEPEND} virtual/httpd-php" -} - -# @FUNCTION: need_php -# @DESCRIPTION: -# Set this after setting DEPEND/RDEPEND in your ebuild if the ebuild requires PHP -# (any version with any SAPI). -need_php() { - DEPEND="${DEPEND} dev-lang/php" - RDEPEND="${RDEPEND} dev-lang/php" - PHP_SHARED_CAT="php" -} - -# @FUNCTION: has_php -# @DESCRIPTION: -# Call this function from your pkg_setup, src_compile, src_install etc. if you -# need to know which PHP version is being used and where the PHP binaries/data -# are installed. -has_php() { - # Detect which PHP version we have installed - if has_version '=dev-lang/php-5*' ; then - PHP_VERSION="5" - else - die "Unable to find an installed dev-lang/php package" - fi - - # If we get here, then PHP_VERSION tells us which version of PHP we - # want to use - uses_php${PHP_VERSION} -} - -# @FUNCTION: require_php_with_use -# @USAGE: -# @DESCRIPTION: -# Call this function from pkg_setup if your package requires PHP compiled -# with specific USE flags. Returns if all of the listed USE flags are enabled. -# Dies if any of the listed USE flags are disabled. - -# @VARIABLE: PHPCHECKNODIE -# @DESCRIPTION: -# You can set PHPCHECKNODIE to non-empty value in your ebuild to chain multiple -# require_php_with_(any)_use checks without making the ebuild die on every failure. -# This is useful in cases when certain PHP features are only required if specific -# USE flag(s) are enabled for that ebuild. -# @CODE -# Example: -# -# local flags="pcre session snmp sockets wddx" -# use mysql && flags="${flags} mysql" -# use postgres && flags="${flags} postgres" -# if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} \ -# || ! PHPCHECKNODIE="yes" require_php_with_any_use gd gd-external ; then -# die "Re-install ${PHP_PKG} with ${flags} and either gd or gd-external" -# fi -# @CODE -require_php_with_use() { - has_php - - local missing_use="" - local x - - einfo "Checking for required PHP feature(s) ..." - - for x in $@ ; do - case $x in - pcre|spl|reflection|mhash) - eqawarn "require_php_with_use MUST NOT check for the pcre, spl, mhash or reflection USE flag." - eqawarn "These USE flags are removed from >=dev-lang/php-5.3 and your ebuild will break" - eqawarn "if you check the USE flags against PHP 5.3 ebuilds." - eqawarn "Please use USE dependencies from EAPI 2 instead" - ;; - esac - - if ! built_with_use =${PHP_PKG} ${x} ; then - einfo " Discovered missing USE flag: ${x}" - missing_use="${missing_use} ${x}" - fi - done - - if [[ -z "${missing_use}" ]] ; then - if [[ -z "${PHPCHECKNODIE}" ]] ; then - return - else - return 0 - fi - fi - - if [[ -z "${PHPCHECKNODIE}" ]] ; then - eerror - eerror "${PHP_PKG} needs to be re-installed with all of the following" - eerror "USE flags enabled:" - eerror - eerror " $@" - eerror - die "Missing PHP USE flags found" - else - return 1 - fi -} - - -# ======================================================================== -# require_*() functions -# -# These functions die() if PHP was built without the required features -# ======================================================================== - -# @FUNCTION: require_php_cgi -# @DESCRIPTION: -# Determines which installed PHP version has the CGI SAPI enabled. -# Useful for anything which needs to run PHP scripts depending on the CGI SAPI. -# @RETURN: die if feature is missing -require_php_cgi() { - # If PHP_PKG is set, then we have remembered our PHP settings - # from last time - if [[ -n ${PHP_PKG} ]] ; then - return - fi - - local PHP_PACKAGE_FOUND="" - - if has_version '=dev-lang/php-5*' ; then - PHP_PACKAGE_FOUND="1" - pkg="$(best_version '=dev-lang/php-5*')" - if built_with_use =${pkg} cgi ; then - PHP_VERSION="5" - fi - fi - - if [[ -z ${PHP_PACKAGE_FOUND} ]] ; then - die "Unable to find an installed dev-lang/php package" - fi - - if [[ -z ${PHP_VERSION} ]] ; then - die "No PHP CGI installed. Re-emerge dev-lang/php with USE=cgi." - fi - - # If we get here, then PHP_VERSION tells us which version of PHP we - # want to use - uses_php${PHP_VERSION} -} - -# ======================================================================== -# Misc functions -# -# These functions provide miscellaneous checks and functionality. -# ======================================================================== - -# @FUNCTION: dodoc-php -# @USAGE: -# @DESCRIPTION: -# Alternative to dodoc function for use in our PHP eclasses and ebuilds. -# Stored here because depend.php gets always sourced everywhere in the PHP -# ebuilds and eclasses. It simply is dodoc with a changed path to the docs. -# NOTE: No support for docinto is provided! -dodoc-php() { -if [[ $# -lt 1 ]] ; then - echo "$0: at least one argument needed" 1>&2 - exit 1 -fi - -phpdocdir="/usr/share/doc/${CATEGORY}/${PF}/" - -for x in $@ ; do - if [[ -s "${x}" ]] ; then - insinto "${phpdocdir}" - doins "${x}" - gzip -f -9 "${D}/${phpdocdir}/${x##*/}" - elif [[ ! -e "${x}" ]] ; then - echo "dodoc-php: ${x} does not exist" 1>&2 - fi -done -} - -# @FUNCTION: dohtml-php -# @USAGE: -# @DESCRIPTION: -# Alternative to dohtml function for use in our PHP eclasses and ebuilds. -# Stored here because depend.php gets always sourced everywhere in the PHP -# ebuilds and eclasses. It simply is dohtml with a changed path to the docs. -# NOTE: No support for [-a|-A|-p|-x] options is provided! -dohtml-php() { -if [[ $# -lt 1 ]] ; then - echo "$0: at least one argument needed" 1>&2 - exit 1 -fi - -phphtmldir="/usr/share/doc/${CATEGORY}/${PF}/html" - -for x in $@ ; do - if [[ -s "${x}" ]] ; then - insinto "${phphtmldir}" - doins "${x}" - elif [[ ! -e "${x}" ]] ; then - echo "dohtml-php: ${x} does not exist" 1>&2 - fi -done -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass index 68151afae5..3be67bbf2a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/distutils-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: distutils-r1.eclass # @MAINTAINER: @@ -44,10 +43,10 @@ # https://wiki.gentoo.org/wiki/Project:Python/distutils-r1 case "${EAPI:-0}" in - 0|1|2|3) + 0|1|2|3|4) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - 4|5|6) + 5|6) ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/distutils.eclass b/sdk_container/src/third_party/portage-stable/eclass/distutils.eclass deleted file mode 100644 index d24ae551f7..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/distutils.eclass +++ /dev/null @@ -1,597 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# @ECLASS: distutils.eclass -# @MAINTAINER: -# Gentoo Python Project -# @BLURB: Eclass for packages with build systems using Distutils -# @DESCRIPTION: -# The distutils eclass defines phase functions for packages with build systems using Distutils. -# -# This eclass is DEPRECATED. Please use distutils-r1 instead. - -if [[ -z "${_PYTHON_ECLASS_INHERITED}" ]]; then - inherit python -fi - -inherit multilib - -case "${EAPI:-0}" in - 6) - die "${ECLASS}.eclass is banned in EAPI ${EAPI}" - ;; - 0|1) - EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_postinst pkg_postrm - ;; - *) - EXPORT_FUNCTIONS src_prepare src_compile src_install pkg_postinst pkg_postrm - ;; -esac - -if [[ -z "$(declare -p PYTHON_DEPEND 2> /dev/null)" ]]; then - DEPEND="dev-lang/python" - RDEPEND="${DEPEND}" -fi - - if has "${EAPI:-0}" 0 1 && [[ -n "${SUPPORT_PYTHON_ABIS}" ]]; then - ewarn - ewarn "\"${EBUILD}\":" - ewarn "Deprecation Warning: Usage of distutils.eclass in packages supporting installation" - ewarn "for multiple Python ABIs in EAPI <=1 is deprecated." - ewarn "The ebuild should to be fixed. Please report a bug, if it has not been already reported." - ewarn - elif has "${EAPI:-0}" 0 1 2 && [[ -z "${SUPPORT_PYTHON_ABIS}" ]]; then - ewarn - ewarn "\"${EBUILD}\":" - ewarn "Deprecation Warning: Usage of distutils.eclass in packages not supporting installation" - ewarn "for multiple Python ABIs in EAPI <=2 is deprecated." - ewarn "The ebuild should to be fixed. Please report a bug, if it has not been already reported." - ewarn - fi - -# 'python' variable is deprecated. Use PYTHON() instead. -if has "${EAPI:-0}" 0 1 2 && [[ -z "${SUPPORT_PYTHON_ABIS}" ]]; then - python="python" -else - python="die" -fi - -# @ECLASS-VARIABLE: DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES -# @DESCRIPTION: -# Set this to use separate source directories for each enabled version of Python. - -# @ECLASS-VARIABLE: DISTUTILS_SETUP_FILES -# @DESCRIPTION: -# Array of paths to setup files. -# Syntax: -# [current_working_directory|]path_to_setup_file - -# @ECLASS-VARIABLE: DISTUTILS_GLOBAL_OPTIONS -# @DESCRIPTION: -# Array of global options passed to setup files. -# Syntax in EAPI <4: -# global_option -# Syntax in EAPI >=4: -# Python_ABI_pattern global_option - -# @ECLASS-VARIABLE: DISTUTILS_SRC_TEST -# @DESCRIPTION: -# Type of test command used by distutils_src_test(). -# IUSE and DEPEND are automatically adjusted, unless DISTUTILS_DISABLE_TEST_DEPENDENCY is set. -# Valid values: -# setup.py -# nosetests -# py.test -# trial [arguments] - -# @ECLASS-VARIABLE: DISTUTILS_DISABLE_TEST_DEPENDENCY -# @DESCRIPTION: -# Disable modification of IUSE and DEPEND caused by setting of DISTUTILS_SRC_TEST. - -if [[ -n "${DISTUTILS_SRC_TEST}" && ! "${DISTUTILS_SRC_TEST}" =~ ^(setup\.py|nosetests|py\.test|trial(\ .*)?)$ ]]; then - die "'DISTUTILS_SRC_TEST' variable has unsupported value '${DISTUTILS_SRC_TEST}'" -fi - -if [[ -z "${DISTUTILS_DISABLE_TEST_DEPENDENCY}" ]]; then - if [[ "${DISTUTILS_SRC_TEST}" == "nosetests" ]]; then - IUSE="test" - DEPEND+="${DEPEND:+ }test? ( dev-python/nose )" - elif [[ "${DISTUTILS_SRC_TEST}" == "py.test" ]]; then - IUSE="test" - DEPEND+="${DEPEND:+ }test? ( dev-python/pytest )" - # trial requires an argument, which is usually equal to "${PN}". - elif [[ "${DISTUTILS_SRC_TEST}" =~ ^trial(\ .*)?$ ]]; then - IUSE="test" - DEPEND+="${DEPEND:+ }test? ( dev-python/twisted-core )" - fi -fi - -if [[ -n "${DISTUTILS_SRC_TEST}" ]]; then - EXPORT_FUNCTIONS src_test -fi - -# Scheduled for deletion on 2011-06-01. -if [[ -n "${DISTUTILS_DISABLE_VERSIONING_OF_PYTHON_SCRIPTS}" ]]; then - eerror "Use PYTHON_NONVERSIONED_EXECUTABLES=(\".*\") instead of DISTUTILS_DISABLE_VERSIONING_OF_PYTHON_SCRIPTS variable." - die "DISTUTILS_DISABLE_VERSIONING_OF_PYTHON_SCRIPTS variable is banned" -fi - -# @ECLASS-VARIABLE: DOCS -# @DESCRIPTION: -# Additional documentation files installed by distutils_src_install(). - -_distutils_get_build_dir() { - if _python_package_supporting_installation_for_multiple_python_abis && [[ -z "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]]; then - echo "build-${PYTHON_ABI}" - else - echo "build" - fi -} - -_distutils_get_PYTHONPATH() { - if _python_package_supporting_installation_for_multiple_python_abis && [[ -z "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]]; then - ls -d build-${PYTHON_ABI}/lib* 2> /dev/null - else - ls -d build/lib* 2> /dev/null - fi -} - -_distutils_hook() { - if [[ "$#" -ne 1 ]]; then - die "${FUNCNAME}() requires 1 argument" - fi - if [[ "$(type -t "distutils_src_${EBUILD_PHASE}_$1_hook")" == "function" ]]; then - "distutils_src_${EBUILD_PHASE}_$1_hook" - fi -} - -_distutils_prepare_global_options() { - local element option pattern - - if [[ -n "$(declare -p DISTUTILS_GLOBAL_OPTIONS 2> /dev/null)" && "$(declare -p DISTUTILS_GLOBAL_OPTIONS)" != "declare -a DISTUTILS_GLOBAL_OPTIONS="* ]]; then - die "DISTUTILS_GLOBAL_OPTIONS should be indexed array" - fi - - if has "${EAPI:-0}" 0 1 2 3; then - _DISTUTILS_GLOBAL_OPTIONS=("${DISTUTILS_GLOBAL_OPTIONS[@]}") - else - _DISTUTILS_GLOBAL_OPTIONS=() - - for element in "${DISTUTILS_GLOBAL_OPTIONS[@]}"; do - if [[ ! "${element}" =~ ^[^[:space:]]+\ . ]]; then - die "Element '${element}' of DISTUTILS_GLOBAL_OPTIONS array has invalid syntax" - fi - pattern="${element%% *}" - option="${element#* }" - if _python_check_python_abi_matching "${PYTHON_ABI}" "${pattern}"; then - _DISTUTILS_GLOBAL_OPTIONS+=("${option}") - fi - done - fi -} - -_distutils_prepare_current_working_directory() { - if [[ "$1" == *"|"*"|"* ]]; then - die "Element '$1' of DISTUTILS_SETUP_FILES array has invalid syntax" - fi - - if [[ "$1" == *"|"* ]]; then - echo "${_BOLD}[${1%|*}]${_NORMAL}" - pushd "${1%|*}" > /dev/null || die "Entering directory '${1%|*}' failed" - fi -} - -_distutils_restore_current_working_directory() { - if [[ "$1" == *"|"* ]]; then - popd > /dev/null || die "Leaving directory '${1%|*}' failed" - fi -} - -# @FUNCTION: distutils_src_unpack -# @DESCRIPTION: -# The distutils src_unpack function. This function is exported. -distutils_src_unpack() { - if ! has "${EAPI:-0}" 0 1; then - die "${FUNCNAME}() cannot be used in this EAPI" - fi - - if [[ "${EBUILD_PHASE}" != "unpack" ]]; then - die "${FUNCNAME}() can be used only in src_unpack() phase" - fi - - unpack ${A} - cd "${S}" - - distutils_src_prepare -} - -# @FUNCTION: distutils_src_prepare -# @DESCRIPTION: -# The distutils src_prepare function. This function is exported. -distutils_src_prepare() { - if ! has "${EAPI:-0}" 0 1 && [[ "${EBUILD_PHASE}" != "prepare" ]]; then - die "${FUNCNAME}() can be used only in src_prepare() phase" - fi - - _python_check_python_pkg_setup_execution - - local distribute_setup_existence="0" ez_setup_existence="0" - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - # Delete ez_setup files to prevent packages from installing Setuptools on their own. - [[ -d ez_setup || -f ez_setup.py ]] && ez_setup_existence="1" - rm -fr ez_setup* - if [[ "${ez_setup_existence}" == "1" ]]; then - echo "def use_setuptools(*args, **kwargs): pass" > ez_setup.py - fi - - # Delete distribute_setup files to prevent packages from installing Distribute on their own. - [[ -d distribute_setup || -f distribute_setup.py ]] && distribute_setup_existence="1" - rm -fr distribute_setup* - if [[ "${distribute_setup_existence}" == "1" ]]; then - echo "def use_setuptools(*args, **kwargs): pass" > distribute_setup.py - fi - - if [[ -n "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]]; then - python_copy_sources - fi -} - -# @FUNCTION: distutils_src_compile -# @DESCRIPTION: -# The distutils src_compile function. This function is exported. -# In ebuilds of packages supporting installation for multiple versions of Python, this function -# calls distutils_src_compile_pre_hook() and distutils_src_compile_post_hook(), if they are defined. -distutils_src_compile() { - if [[ "${EBUILD_PHASE}" != "compile" ]]; then - die "${FUNCNAME}() can be used only in src_compile() phase" - fi - - _python_check_python_pkg_setup_execution - _python_set_color_variables - - local setup_file - - if _python_package_supporting_installation_for_multiple_python_abis; then - distutils_building() { - _distutils_hook pre - - _distutils_prepare_global_options - - for setup_file in "${DISTUTILS_SETUP_FILES[@]-setup.py}"; do - _distutils_prepare_current_working_directory "${setup_file}" - - echo ${_BOLD}"$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" build -b "$(_distutils_get_build_dir)" "$@"${_NORMAL} - "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" build -b "$(_distutils_get_build_dir)" "$@" || return "$?" - - _distutils_restore_current_working_directory "${setup_file}" - done - - _distutils_hook post - } - python_execute_function ${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES:+-s} distutils_building "$@" - unset -f distutils_building - else - _distutils_prepare_global_options - - for setup_file in "${DISTUTILS_SETUP_FILES[@]-setup.py}"; do - _distutils_prepare_current_working_directory "${setup_file}" - - echo ${_BOLD}"$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" build "$@"${_NORMAL} - "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" build "$@" || die "Building failed" - - _distutils_restore_current_working_directory "${setup_file}" - done - fi -} - -_distutils_src_test_hook() { - if [[ "$#" -ne 1 ]]; then - die "${FUNCNAME}() requires 1 arguments" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - return - fi - - if [[ "$(type -t "distutils_src_test_pre_hook")" == "function" ]]; then - eval "python_execute_$1_pre_hook() { - distutils_src_test_pre_hook - }" - fi - - if [[ "$(type -t "distutils_src_test_post_hook")" == "function" ]]; then - eval "python_execute_$1_post_hook() { - distutils_src_test_post_hook - }" - fi -} - -# @FUNCTION: distutils_src_test -# @DESCRIPTION: -# The distutils src_test function. This function is exported, when DISTUTILS_SRC_TEST variable is set. -# In ebuilds of packages supporting installation for multiple versions of Python, this function -# calls distutils_src_test_pre_hook() and distutils_src_test_post_hook(), if they are defined. -distutils_src_test() { - if [[ "${EBUILD_PHASE}" != "test" ]]; then - die "${FUNCNAME}() can be used only in src_test() phase" - fi - - _python_check_python_pkg_setup_execution - _python_set_color_variables - - local arguments setup_file - - if [[ "${DISTUTILS_SRC_TEST}" == "setup.py" ]]; then - if _python_package_supporting_installation_for_multiple_python_abis; then - distutils_testing() { - _distutils_hook pre - - _distutils_prepare_global_options - - for setup_file in "${DISTUTILS_SETUP_FILES[@]-setup.py}"; do - _distutils_prepare_current_working_directory "${setup_file}" - - echo ${_BOLD}PYTHONPATH="$(_distutils_get_PYTHONPATH)" "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" $([[ -z "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]] && echo build -b "$(_distutils_get_build_dir)") test "$@"${_NORMAL} - PYTHONPATH="$(_distutils_get_PYTHONPATH)" "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" $([[ -z "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]] && echo build -b "$(_distutils_get_build_dir)") test "$@" || return "$?" - - _distutils_restore_current_working_directory "${setup_file}" - done - - _distutils_hook post - } - python_execute_function ${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES:+-s} distutils_testing "$@" - unset -f distutils_testing - else - _distutils_prepare_global_options - - for setup_file in "${DISTUTILS_SETUP_FILES[@]-setup.py}"; do - _distutils_prepare_current_working_directory "${setup_file}" - - echo ${_BOLD}PYTHONPATH="$(_distutils_get_PYTHONPATH)" "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" test "$@"${_NORMAL} - PYTHONPATH="$(_distutils_get_PYTHONPATH)" "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" test "$@" || die "Testing failed" - - _distutils_restore_current_working_directory "${setup_file}" - done - fi - elif [[ "${DISTUTILS_SRC_TEST}" == "nosetests" ]]; then - _distutils_src_test_hook nosetests - - python_execute_nosetests -P '$(_distutils_get_PYTHONPATH)' ${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES:+-s} -- "$@" - elif [[ "${DISTUTILS_SRC_TEST}" == "py.test" ]]; then - _distutils_src_test_hook py.test - - python_execute_py.test -P '$(_distutils_get_PYTHONPATH)' ${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES:+-s} -- "$@" - # trial requires an argument, which is usually equal to "${PN}". - elif [[ "${DISTUTILS_SRC_TEST}" =~ ^trial(\ .*)?$ ]]; then - if [[ "${DISTUTILS_SRC_TEST}" == "trial "* ]]; then - arguments="${DISTUTILS_SRC_TEST#trial }" - else - arguments="${PN}" - fi - - _distutils_src_test_hook trial - - python_execute_trial -P '$(_distutils_get_PYTHONPATH)' ${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES:+-s} -- ${arguments} "$@" - else - die "'DISTUTILS_SRC_TEST' variable has unsupported value '${DISTUTILS_SRC_TEST}'" - fi -} - -# @FUNCTION: distutils_src_install -# @DESCRIPTION: -# The distutils src_install function. This function is exported. -# In ebuilds of packages supporting installation for multiple versions of Python, this function -# calls distutils_src_install_pre_hook() and distutils_src_install_post_hook(), if they are defined. -# It also installs some standard documentation files (AUTHORS, Change*, CHANGELOG, CONTRIBUTORS, -# KNOWN_BUGS, MAINTAINERS, NEWS, README*, TODO). -distutils_src_install() { - if [[ "${EBUILD_PHASE}" != "install" ]]; then - die "${FUNCNAME}() can be used only in src_install() phase" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - _python_set_color_variables - - local default_docs doc line nspkg_pth_file nspkg_pth_files=() setup_file - - if _python_package_supporting_installation_for_multiple_python_abis; then - distutils_installation() { - _distutils_hook pre - - _distutils_prepare_global_options - - for setup_file in "${DISTUTILS_SETUP_FILES[@]-setup.py}"; do - _distutils_prepare_current_working_directory "${setup_file}" - - echo ${_BOLD}"$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" $([[ -z "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]] && echo build -b "$(_distutils_get_build_dir)") install --no-compile --root="${T}/images/${PYTHON_ABI}" "$@"${_NORMAL} - "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" $([[ -z "${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES}" ]] && echo build -b "$(_distutils_get_build_dir)") install --no-compile --root="${T}/images/${PYTHON_ABI}" "$@" || return "$?" - - _distutils_restore_current_working_directory "${setup_file}" - done - - _distutils_hook post - } - python_execute_function ${DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES:+-s} distutils_installation "$@" - unset -f distutils_installation - - python_merge_intermediate_installation_images "${T}/images" - else - # Mark the package to be rebuilt after a Python upgrade. - python_need_rebuild - - _distutils_prepare_global_options - - for setup_file in "${DISTUTILS_SETUP_FILES[@]-setup.py}"; do - _distutils_prepare_current_working_directory "${setup_file}" - - echo ${_BOLD}"$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" install --root="${D}" --no-compile "$@"${_NORMAL} - "$(PYTHON)" "${setup_file#*|}" "${_DISTUTILS_GLOBAL_OPTIONS[@]}" install --root="${D}" --no-compile "$@" || die "Installation failed" - - _distutils_restore_current_working_directory "${setup_file}" - done - fi - - while read -d $'\0' -r nspkg_pth_file; do - nspkg_pth_files+=("${nspkg_pth_file}") - done < <(find "${ED}" -name "*-nspkg.pth" -type f -print0) - - if [[ "${#nspkg_pth_files[@]}" -gt 0 ]]; then - einfo - einfo "Python namespaces:" - for nspkg_pth_file in "${nspkg_pth_files[@]}"; do - einfo " '${nspkg_pth_file#${ED%/}}':" - while read -r line; do - einfo " $(echo "${line}" | sed -e "s/.*types\.ModuleType('\([^']\+\)').*/\1/")" - done < "${nspkg_pth_file}" - #if ! has "${EAPI:-0}" 0 1 2 3; then - # rm -f "${nspkg_pth_file}" || die "Deletion of '${nspkg_pth_file}' failed" - #fi - done - einfo - fi - - if [[ -e "${ED}usr/local" ]]; then - die "Illegal installation into /usr/local" - fi - - default_docs="AUTHORS Change* CHANGELOG CONTRIBUTORS KNOWN_BUGS MAINTAINERS NEWS README* TODO" - - for doc in ${default_docs}; do - [[ -s "${doc}" ]] && dodoc "${doc}" - done - - if has "${EAPI:-0}" 0 1 2 3; then - if [[ -n "${DOCS}" ]]; then - dodoc ${DOCS} || die "dodoc failed" - fi - else - if [[ -n "${DOCS}" ]]; then - dodoc -r ${DOCS} || die "dodoc failed" - fi - fi - - DISTUTILS_SRC_INSTALL_EXECUTED="1" -} - -# @FUNCTION: distutils_pkg_postinst -# @DESCRIPTION: -# The distutils pkg_postinst function. This function is exported. -# When PYTHON_MODNAME variable is set, then this function calls python_mod_optimize() with modules -# specified in PYTHON_MODNAME variable. Otherwise it calls python_mod_optimize() with module, whose -# name is equal to name of current package, if this module exists. -distutils_pkg_postinst() { - if [[ "${EBUILD_PHASE}" != "postinst" ]]; then - die "${FUNCNAME}() can be used only in pkg_postinst() phase" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - if [[ -z "${DISTUTILS_SRC_INSTALL_EXECUTED}" ]]; then - die "${FUNCNAME}() called illegally" - fi - - local pylibdir pymod - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - if [[ -z "$(declare -p PYTHON_MODNAME 2> /dev/null)" ]]; then - for pylibdir in "${EROOT}"usr/$(get_libdir)/python* "${EROOT}"usr/share/jython-*/Lib; do - if [[ -d "${pylibdir}/site-packages/${PN}" ]]; then - PYTHON_MODNAME="${PN}" - fi - done - fi - - if [[ -n "${PYTHON_MODNAME}" ]]; then - if ! has "${EAPI:-0}" 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis; then - python_mod_optimize ${PYTHON_MODNAME} - else - for pymod in ${PYTHON_MODNAME}; do - python_mod_optimize "$(python_get_sitedir)/${pymod}" - done - fi - fi -} - -# @FUNCTION: distutils_pkg_postrm -# @DESCRIPTION: -# The distutils pkg_postrm function. This function is exported. -# When PYTHON_MODNAME variable is set, then this function calls python_mod_cleanup() with modules -# specified in PYTHON_MODNAME variable. Otherwise it calls python_mod_cleanup() with module, whose -# name is equal to name of current package, if this module exists. -distutils_pkg_postrm() { - if [[ "${EBUILD_PHASE}" != "postrm" ]]; then - die "${FUNCNAME}() can be used only in pkg_postrm() phase" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - if [[ -z "${DISTUTILS_SRC_INSTALL_EXECUTED}" ]]; then - die "${FUNCNAME}() called illegally" - fi - - local pylibdir pymod - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - if [[ -z "$(declare -p PYTHON_MODNAME 2> /dev/null)" ]]; then - for pylibdir in "${EROOT}"usr/$(get_libdir)/python* "${EROOT}"usr/share/jython-*/Lib; do - if [[ -d "${pylibdir}/site-packages/${PN}" ]]; then - PYTHON_MODNAME="${PN}" - fi - done - fi - - if [[ -n "${PYTHON_MODNAME}" ]]; then - if ! has "${EAPI:-0}" 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis; then - python_mod_cleanup ${PYTHON_MODNAME} - else - for pymod in ${PYTHON_MODNAME}; do - for pylibdir in "${EROOT}"usr/$(get_libdir)/python*; do - if [[ -d "${pylibdir}/site-packages/${pymod}" ]]; then - python_mod_cleanup "${pylibdir#${EROOT%/}}/site-packages/${pymod}" - fi - done - done - fi - fi -} - -# @FUNCTION: distutils_get_intermediate_installation_image -# @DESCRIPTION: -# Print path to intermediate installation image. -# -# This function can be used only in distutils_src_install_pre_hook() and distutils_src_install_post_hook(). -distutils_get_intermediate_installation_image() { - if [[ "${EBUILD_PHASE}" != "install" ]]; then - die "${FUNCNAME}() can be used only in src_install() phase" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - - if [[ ! "${FUNCNAME[1]}" =~ ^distutils_src_install_(pre|post)_hook$ ]]; then - die "${FUNCNAME}() can be used only in distutils_src_install_pre_hook() and distutils_src_install_post_hook()" - fi - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - echo "${T}/images/${PYTHON_ABI}" -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/dotnet.eclass b/sdk_container/src/third_party/portage-stable/eclass/dotnet.eclass index 16d45dd2c9..6ae42a07a6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/dotnet.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/dotnet.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: dotnet.eclass # @MAINTAINER: cynede@gentoo.org diff --git a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass index 101437eaa9..1bc575a9a4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass @@ -1,7 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ -# + # @ECLASS: elisp-common.eclass # @MAINTAINER: # Gentoo GNU Emacs project diff --git a/sdk_container/src/third_party/portage-stable/eclass/elisp.eclass b/sdk_container/src/third_party/portage-stable/eclass/elisp.eclass index 660865c95c..078a7994d0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/elisp.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/elisp.eclass @@ -1,7 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ -# + # @ECLASS: elisp.eclass # @MAINTAINER: # Gentoo GNU Emacs project diff --git a/sdk_container/src/third_party/portage-stable/eclass/emboss-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/emboss-r2.eclass similarity index 60% rename from sdk_container/src/third_party/portage-stable/eclass/emboss-r1.eclass rename to sdk_container/src/third_party/portage-stable/eclass/emboss-r2.eclass index 2b58de68a2..4d97091d28 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/emboss-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/emboss-r2.eclass @@ -1,8 +1,7 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ -# @ECLASS: emboss-r1.eclass +# @ECLASS: emboss-r2.eclass # @MAINTAINER: # sci-biology@gentoo.org # jlec@gentoo.org @@ -13,17 +12,17 @@ # Next gen author: Ted Tanberry # @BLURB: Use this to easy install EMBOSS and EMBASSY programs (EMBOSS add-ons). # @DESCRIPTION: -# The inheriting ebuild must set at least EAPI=5 and provide EBO_DESCRIPTION before the inherit line. +# The inheriting ebuild must set at least EAPI=6 and provide EBO_DESCRIPTION before the inherit line. # KEYWORDS should be set. Additionally "(R|P)DEPEND"encies and other standard # ebuild variables can be extended (FOO+=" bar"). # # Example: # -# EAPI="5" +# EAPI=6 # # EBO_DESCRIPTION="applications from the CBS group" # -# inherit emboss-r1 +# inherit emboss-r2 # @ECLASS-VARIABLE: EBO_DESCRIPTION # @DEFAULT_UNSET @@ -36,17 +35,16 @@ # # Defaults to the upstream name of the module. -# @ECLASS-VARIABLE: EBO_EXTRA_ECONF -# @DEFAULT_UNSET -# @DESCRIPTION: -# Extra config options passed to econf. +if [[ ! ${_EMBOSS_R2} ]]; then case ${EAPI:-0} in - 5) ;; - *) die "this eclass doesn't support < EAPI 5" ;; + 6) ;; + *) die "EAPI=${EAPI} is not supported" ;; esac -inherit autotools-utils eutils flag-o-matic +inherit autotools flag-o-matic + +EXPORT_FUNCTIONS src_prepare src_configure src_install HOMEPAGE="http://emboss.sourceforge.net/" LICENSE="LGPL-2 GPL-2" @@ -54,17 +52,16 @@ LICENSE="LGPL-2 GPL-2" SLOT="0" IUSE="mysql pdf png postgres static-libs X" -DEPEND=" +RDEPEND=" dev-libs/expat dev-libs/libpcre:3 - sci-libs/plplot + sci-libs/plplot:= sys-libs/zlib mysql? ( virtual/mysql ) - pdf? ( media-libs/libharu ) - png? ( media-libs/gd[png] ) + pdf? ( media-libs/libharu:= ) + png? ( media-libs/gd:2=[png] ) postgres? ( dev-db/postgresql:= ) X? ( x11-libs/libXt )" -RDEPEND="${DEPEND}" if [[ ${PN} == embassy-* ]]; then EMBASSY_PACKAGE=yes @@ -72,48 +69,66 @@ if [[ ${PN} == embassy-* ]]; then EN=${PN:8} # The full name and version of the EMBASSY package (excluding the Gentoo # revision number) - EF=$(echo ${EN} | tr "[:lower:]" "[:upper:]")-${PV} - : ${EBO_DESCRIPTION:=${EN}} - DESCRIPTION="EMBOSS integrated version of ${EBO_DESCRIPTION}" - SRC_URI="ftp://emboss.open-bio.org/pub/EMBOSS/${EF}.tar.gz -> embassy-${EN}-${PVR}.tar.gz" - DEPEND+=" >=sci-biology/emboss-6.6.0[mysql=,pdf=,png=,postgres=,static-libs=,X=]" + EF="${EN^^}-${PV}" - S="${WORKDIR}"/${EF} + [[ ${EBO_DESCRIPTION} ]] || die "EBO_DESCRIPTION was not set before inheriting emboss-r2.eclass" + + DESCRIPTION="EMBOSS integrated version of ${EBO_DESCRIPTION}" + SRC_URI="ftp://emboss.open-bio.org/pub/EMBOSS/${EF}.tar.gz -> embassy-${EN}-${PV}.tar.gz" + RDEPEND+=" >=sci-biology/emboss-6.6.0-r1[mysql=,pdf=,png=,postgres=,static-libs=,X=]" + + S="${WORKDIR}/${EF}" fi -# @FUNCTION: emboss-r1_src_prepare +DEPEND="${RDEPEND}" + +# @ECLASS-VARIABLE: EBO_EAUTORECONF +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set, run eautoreconf from autotools.eclass after applying patches +# in emboss-r2_src_prepare. + +# @FUNCTION: emboss-r2_src_prepare # @DESCRIPTION: # Does the following things # # 1. Renames configure.in to configure.ac, if possible -# 2. Applies ${PATCHES[@]} and runs autotools via autotools-utils.eclass +# 2. Calls default_src_prepare (i.e. +# applies Gentoo and user patches in EAPI>=6) +# 3. If EBO_EAUTORECONF is set, run eautoreconf # -emboss-r1_src_prepare() { +emboss-r2_src_prepare() { if [[ -e configure.in ]]; then mv configure.{in,ac} || die fi - autotools-utils_src_prepare + default + [[ ${EBO_EAUTORECONF} ]] && eautoreconf } -# @FUNCTION: emboss-r1_src_configure +# @FUNCTION: emboss-r2_src_configure # @DESCRIPTION: # runs econf with following options. # +# --enable-shared +# $(use_enable static-libs static) # $(use_with X x) # $(use_with png pngdriver) # $(use_with pdf hpdf) # $(use_with mysql mysql) # $(use_with postgres postgresql) -# $(use_enable static-libs static) # --enable-large # --without-java # --enable-systemlibs -# ${EBO_EXTRA_ECONF} +# +# can be appended to like econf, e.g. +# emboss-r2_src_configure --disable-shared -emboss-r1_src_configure() { - local myeconfargs=( +emboss-r2_src_configure() { + local myconf=( + --enable-shared + $(use_enable static-libs static) $(use_with X x) $(use_with png pngdriver "${EPREFIX}/usr") $(use_with pdf hpdf "${EPREFIX}/usr") @@ -122,13 +137,27 @@ emboss-r1_src_configure() { --enable-large --without-java --enable-systemlibs - ${EBO_EXTRA_ECONF} ) [[ ${EMBASSY_PACKAGE} == yes ]] && \ append-cppflags "-I${EPREFIX}/usr/include/emboss" - autotools-utils_src_configure + econf "${myconf[@]}" "$@" } -EXPORT_FUNCTIONS src_prepare src_configure +# @FUNCTION: emboss-r2_src_install +# @DESCRIPTION: +# Installs the package into the staging area and removes +# extraneous .la files, if USE="-static-libs" + +emboss-r2_src_install() { + default + + # delete .la files + if ! use static-libs; then + find "${D}" -name '*.la' -delete || die + fi +} + +_EMBOSS_R2=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/enlightenment.eclass b/sdk_container/src/third_party/portage-stable/eclass/enlightenment.eclass index 99c610159b..ae7bb39659 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/enlightenment.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/enlightenment.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: enlightenment.eclass # @MAINTAINER: @@ -10,7 +9,7 @@ if [[ -z ${_ENLIGHTENMENT_ECLASS} ]]; then _ENLIGHTENMENT_ECLASS=1 -inherit eutils libtool +inherit epatch epunt-cxx libtool # @ECLASS-VARIABLE: E_PYTHON # @DEFAULT_UNSET diff --git a/sdk_container/src/third_party/portage-stable/eclass/epatch.eclass b/sdk_container/src/third_party/portage-stable/eclass/epatch.eclass new file mode 100644 index 0000000000..905f68f8ef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/epatch.eclass @@ -0,0 +1,460 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: epatch.eclass +# @MAINTAINER: +# base-system@gentoo.org +# @BLURB: easy patch application functions +# @DESCRIPTION: +# An eclass providing epatch and epatch_user functions to easily apply +# patches to ebuilds. Mostly superseded by eapply* in EAPI 6. + +if [[ -z ${_EPATCH_ECLASS} ]]; then + +inherit estack + +# @VARIABLE: EPATCH_SOURCE +# @DESCRIPTION: +# Default directory to search for patches. +EPATCH_SOURCE="${WORKDIR}/patch" +# @VARIABLE: EPATCH_SUFFIX +# @DESCRIPTION: +# Default extension for patches (do not prefix the period yourself). +EPATCH_SUFFIX="patch.bz2" +# @VARIABLE: EPATCH_OPTS +# @DESCRIPTION: +# Options to pass to patch. Meant for ebuild/package-specific tweaking +# such as forcing the patch level (-p#) or fuzz (-F#) factor. Note that +# for single patch tweaking, you can also pass flags directly to epatch. +EPATCH_OPTS="" +# @VARIABLE: EPATCH_COMMON_OPTS +# @DESCRIPTION: +# Common options to pass to `patch`. You probably should never need to +# change these. If you do, please discuss it with base-system first to +# be sure. +# @CODE +# -g0 - keep RCS, ClearCase, Perforce and SCCS happy #24571 +# --no-backup-if-mismatch - do not leave .orig files behind +# -E - automatically remove empty files +# @CODE +EPATCH_COMMON_OPTS="-g0 -E --no-backup-if-mismatch" +# @VARIABLE: EPATCH_EXCLUDE +# @DESCRIPTION: +# List of patches not to apply. Note this is only file names, +# and not the full path. Globs accepted. +EPATCH_EXCLUDE="" +# @VARIABLE: EPATCH_SINGLE_MSG +# @DESCRIPTION: +# Change the printed message for a single patch. +EPATCH_SINGLE_MSG="" +# @VARIABLE: EPATCH_MULTI_MSG +# @DESCRIPTION: +# Change the printed message for multiple patches. +EPATCH_MULTI_MSG="Applying various patches (bugfixes/updates) ..." +# @VARIABLE: EPATCH_FORCE +# @DESCRIPTION: +# Only require patches to match EPATCH_SUFFIX rather than the extended +# arch naming style. +EPATCH_FORCE="no" +# @VARIABLE: EPATCH_USER_EXCLUDE +# @DEFAULT_UNSET +# @DESCRIPTION: +# List of patches not to apply. Note this is only file names, +# and not the full path. Globs accepted. + +# @FUNCTION: epatch +# @USAGE: [options] [patches] [dirs of patches] +# @DESCRIPTION: +# epatch is designed to greatly simplify the application of patches. It can +# process patch files directly, or directories of patches. The patches may be +# compressed (bzip/gzip/etc...) or plain text. You generally need not specify +# the -p option as epatch will automatically attempt -p0 to -p4 until things +# apply successfully. +# +# If you do not specify any patches/dirs, then epatch will default to the +# directory specified by EPATCH_SOURCE. +# +# Any options specified that start with a dash will be passed down to patch +# for this specific invocation. As soon as an arg w/out a dash is found, then +# arg processing stops. +# +# When processing directories, epatch will apply all patches that match: +# @CODE +# if ${EPATCH_FORCE} != "yes" +# ??_${ARCH}_foo.${EPATCH_SUFFIX} +# else +# *.${EPATCH_SUFFIX} +# @CODE +# The leading ?? are typically numbers used to force consistent patch ordering. +# The arch field is used to apply patches only for the host architecture with +# the special value of "all" means apply for everyone. Note that using values +# other than "all" is highly discouraged -- you should apply patches all the +# time and let architecture details be detected at configure/compile time. +# +# If EPATCH_SUFFIX is empty, then no period before it is implied when searching +# for patches to apply. +# +# Refer to the other EPATCH_xxx variables for more customization of behavior. +epatch() { + _epatch_draw_line() { + # create a line of same length as input string + [[ -z $1 ]] && set "$(printf "%65s" '')" + echo "${1//?/=}" + } + + unset P4CONFIG P4PORT P4USER # keep perforce at bay #56402 + + # First process options. We localize the EPATCH_OPTS setting + # from above so that we can pass it on in the loop below with + # any additional values the user has specified. + local EPATCH_OPTS=( ${EPATCH_OPTS[*]} ) + while [[ $# -gt 0 ]] ; do + case $1 in + -*) EPATCH_OPTS+=( "$1" ) ;; + *) break ;; + esac + shift + done + + # Let the rest of the code process one user arg at a time -- + # each arg may expand into multiple patches, and each arg may + # need to start off with the default global EPATCH_xxx values + if [[ $# -gt 1 ]] ; then + local m + for m in "$@" ; do + epatch "${m}" + done + return 0 + fi + + local SINGLE_PATCH="no" + # no args means process ${EPATCH_SOURCE} + [[ $# -eq 0 ]] && set -- "${EPATCH_SOURCE}" + + if [[ -f $1 ]] ; then + SINGLE_PATCH="yes" + set -- "$1" + # Use the suffix from the single patch (localize it); the code + # below will find the suffix for us + local EPATCH_SUFFIX=$1 + + elif [[ -d $1 ]] ; then + # We have to force sorting to C so that the wildcard expansion is consistent #471666. + evar_push_set LC_COLLATE C + # Some people like to make dirs of patches w/out suffixes (vim). + set -- "$1"/*${EPATCH_SUFFIX:+."${EPATCH_SUFFIX}"} + evar_pop + + elif [[ -f ${EPATCH_SOURCE}/$1 ]] ; then + # Re-use EPATCH_SOURCE as a search dir + epatch "${EPATCH_SOURCE}/$1" + return $? + + else + # sanity check ... if it isn't a dir or file, wtf man ? + [[ $# -ne 0 ]] && EPATCH_SOURCE=$1 + echo + eerror "Cannot find \$EPATCH_SOURCE! Value for \$EPATCH_SOURCE is:" + eerror + eerror " ${EPATCH_SOURCE}" + eerror " ( ${EPATCH_SOURCE##*/} )" + echo + die "Cannot find \$EPATCH_SOURCE!" + fi + + # Now that we know we're actually going to apply something, merge + # all of the patch options back in to a single variable for below. + EPATCH_OPTS="${EPATCH_COMMON_OPTS} ${EPATCH_OPTS[*]}" + + local PIPE_CMD + case ${EPATCH_SUFFIX##*\.} in + xz) PIPE_CMD="xz -dc" ;; + lzma) PIPE_CMD="lzma -dc" ;; + bz2) PIPE_CMD="bzip2 -dc" ;; + gz|Z|z) PIPE_CMD="gzip -dc" ;; + ZIP|zip) PIPE_CMD="unzip -p" ;; + *) ;; + esac + + [[ ${SINGLE_PATCH} == "no" ]] && einfo "${EPATCH_MULTI_MSG}" + + local x + for x in "$@" ; do + # If the patch dir given contains subdirs, or our EPATCH_SUFFIX + # didn't match anything, ignore continue on + [[ ! -f ${x} ]] && continue + + local patchname=${x##*/} + + # Apply single patches, or forced sets of patches, or + # patches with ARCH dependant names. + # ???_arch_foo.patch + # Else, skip this input altogether + local a=${patchname#*_} # strip the ???_ + a=${a%%_*} # strip the _foo.patch + if ! [[ ${SINGLE_PATCH} == "yes" || \ + ${EPATCH_FORCE} == "yes" || \ + ${a} == all || \ + ${a} == ${ARCH} ]] + then + continue + fi + + # Let people filter things dynamically + if [[ -n ${EPATCH_EXCLUDE}${EPATCH_USER_EXCLUDE} ]] ; then + # let people use globs in the exclude + eshopts_push -o noglob + + local ex + for ex in ${EPATCH_EXCLUDE} ; do + if [[ ${patchname} == ${ex} ]] ; then + einfo " Skipping ${patchname} due to EPATCH_EXCLUDE ..." + eshopts_pop + continue 2 + fi + done + + for ex in ${EPATCH_USER_EXCLUDE} ; do + if [[ ${patchname} == ${ex} ]] ; then + einfo " Skipping ${patchname} due to EPATCH_USER_EXCLUDE ..." + eshopts_pop + continue 2 + fi + done + + eshopts_pop + fi + + if [[ ${SINGLE_PATCH} == "yes" ]] ; then + if [[ -n ${EPATCH_SINGLE_MSG} ]] ; then + einfo "${EPATCH_SINGLE_MSG}" + else + einfo "Applying ${patchname} ..." + fi + else + einfo " ${patchname} ..." + fi + + # Handle aliased patch command #404447 #461568 + local patch="patch" + eval $(alias patch 2>/dev/null | sed 's:^alias ::') + + # most of the time, there will only be one run per unique name, + # but if there are more, make sure we get unique log filenames + local STDERR_TARGET="${T}/${patchname}.out" + if [[ -e ${STDERR_TARGET} ]] ; then + STDERR_TARGET="${T}/${patchname}-$$.out" + fi + + printf "***** %s *****\nPWD: %s\nPATCH TOOL: %s -> %s\nVERSION INFO:\n%s\n\n" \ + "${patchname}" \ + "${PWD}" \ + "${patch}" \ + "$(type -P "${patch}")" \ + "$(${patch} --version)" \ + > "${STDERR_TARGET}" + + # Decompress the patch if need be + local count=0 + local PATCH_TARGET + if [[ -n ${PIPE_CMD} ]] ; then + PATCH_TARGET="${T}/$$.patch" + echo "PIPE_COMMAND: ${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> "${STDERR_TARGET}" + + if ! (${PIPE_CMD} "${x}" > "${PATCH_TARGET}") >> "${STDERR_TARGET}" 2>&1 ; then + echo + eerror "Could not extract patch!" + #die "Could not extract patch!" + count=5 + break + fi + else + PATCH_TARGET=${x} + fi + + # Check for absolute paths in patches. If sandbox is disabled, + # people could (accidently) patch files in the root filesystem. + # Or trigger other unpleasantries #237667. So disallow -p0 on + # such patches. + local abs_paths=$(egrep -n '^[-+]{3} /' "${PATCH_TARGET}" | awk '$2 != "/dev/null" { print }') + if [[ -n ${abs_paths} ]] ; then + count=1 + printf "NOTE: skipping -p0 due to absolute paths in patch:\n%s\n" "${abs_paths}" >> "${STDERR_TARGET}" + fi + # Similar reason, but with relative paths. + local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' "${PATCH_TARGET}") + if [[ -n ${rel_paths} ]] ; then + echo + eerror "Rejected Patch: ${patchname} !" + eerror " ( ${PATCH_TARGET} )" + eerror + eerror "Your patch uses relative paths '../':" + eerror "${rel_paths}" + echo + die "you need to fix the relative paths in patch" + fi + + # Dynamically detect the correct -p# ... i'm lazy, so shoot me :/ + local patch_cmd + while [[ ${count} -lt 5 ]] ; do + patch_cmd="${patch} -p${count} ${EPATCH_OPTS}" + + # Generate some useful debug info ... + ( + _epatch_draw_line "***** ${patchname} *****" + echo + echo "PATCH COMMAND: ${patch_cmd} --dry-run -f < '${PATCH_TARGET}'" + echo + _epatch_draw_line "***** ${patchname} *****" + ${patch_cmd} --dry-run -f < "${PATCH_TARGET}" 2>&1 + ret=$? + echo + echo "patch program exited with status ${ret}" + exit ${ret} + ) >> "${STDERR_TARGET}" + + if [ $? -eq 0 ] ; then + ( + _epatch_draw_line "***** ${patchname} *****" + echo + echo "ACTUALLY APPLYING ${patchname} ..." + echo "PATCH COMMAND: ${patch_cmd} < '${PATCH_TARGET}'" + echo + _epatch_draw_line "***** ${patchname} *****" + ${patch_cmd} < "${PATCH_TARGET}" 2>&1 + ret=$? + echo + echo "patch program exited with status ${ret}" + exit ${ret} + ) >> "${STDERR_TARGET}" + + if [ $? -ne 0 ] ; then + echo + eerror "A dry-run of patch command succeeded, but actually" + eerror "applying the patch failed!" + #die "Real world sux compared to the dreamworld!" + count=5 + fi + break + fi + + : $(( count++ )) + done + + (( EPATCH_N_APPLIED_PATCHES++ )) + + # if we had to decompress the patch, delete the temp one + if [[ -n ${PIPE_CMD} ]] ; then + rm -f "${PATCH_TARGET}" + fi + + if [[ ${count} -ge 5 ]] ; then + echo + eerror "Failed Patch: ${patchname} !" + eerror " ( ${PATCH_TARGET} )" + eerror + eerror "Include in your bugreport the contents of:" + eerror + eerror " ${STDERR_TARGET}" + echo + die "Failed Patch: ${patchname}!" + fi + + # if everything worked, delete the full debug patch log + rm -f "${STDERR_TARGET}" + + # then log away the exact stuff for people to review later + cat <<-EOF >> "${T}/epatch.log" + PATCH: ${x} + CMD: ${patch_cmd} + PWD: ${PWD} + + EOF + eend 0 + done + + [[ ${SINGLE_PATCH} == "no" ]] && einfo "Done with patching" + : # everything worked +} + +case ${EAPI:-0} in +0|1|2|3|4|5) + +# @VARIABLE: EPATCH_USER_SOURCE +# @DESCRIPTION: +# Location for user patches, see the epatch_user function. +# Should be set by the user. Don't set this in ebuilds. +: ${EPATCH_USER_SOURCE:=${PORTAGE_CONFIGROOT%/}/etc/portage/patches} + +# @FUNCTION: epatch_user +# @USAGE: +# @DESCRIPTION: +# Applies user-provided patches to the source tree. The patches are +# taken from /etc/portage/patches//[:SLOT]/, where the first +# of these three directories to exist will be the one to use, ignoring +# any more general directories which might exist as well. They must end +# in ".patch" to be applied. +# +# User patches are intended for quick testing of patches without ebuild +# modifications, as well as for permanent customizations a user might +# desire. Obviously, there can be no official support for arbitrarily +# patched ebuilds. So whenever a build log in a bug report mentions that +# user patches were applied, the user should be asked to reproduce the +# problem without these. +# +# Not all ebuilds do call this function, so placing patches in the +# stated directory might or might not work, depending on the package and +# the eclasses it inherits and uses. It is safe to call the function +# repeatedly, so it is always possible to add a call at the ebuild +# level. The first call is the time when the patches will be +# applied. +# +# Ideally, this function should be called after gentoo-specific patches +# have been applied, so that their code can be modified as well, but +# before calls to e.g. eautoreconf, as the user patches might affect +# autotool input files as well. +epatch_user() { + [[ $# -ne 0 ]] && die "epatch_user takes no options" + + # Allow multiple calls to this function; ignore all but the first + local applied="${T}/epatch_user.log" + [[ -e ${applied} ]] && return 2 + + # don't clobber any EPATCH vars that the parent might want + local EPATCH_SOURCE check + for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT%/*}}; do + EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CTARGET}/${check} + [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CHOST}/${check} + [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${check} + if [[ -d ${EPATCH_SOURCE} ]] ; then + local old_n_applied_patches=${EPATCH_N_APPLIED_PATCHES:-0} + EPATCH_SOURCE=${EPATCH_SOURCE} \ + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." \ + epatch + echo "${EPATCH_SOURCE}" > "${applied}" + if [[ ${old_n_applied_patches} -lt ${EPATCH_N_APPLIED_PATCHES} ]]; then + has epatch_user_death_notice ${EBUILD_DEATH_HOOKS} || \ + EBUILD_DEATH_HOOKS+=" epatch_user_death_notice" + fi + return 0 + fi + done + echo "none" > "${applied}" + return 1 +} + +# @FUNCTION: epatch_user_death_notice +# @INTERNAL +# @DESCRIPTION: +# Include an explicit notice in the die message itself that user patches were +# applied to this build. +epatch_user_death_notice() { + ewarn "!!! User patches were applied to this build!" +} + +esac + +_EPATCH_ECLASS=1 +fi #_EPATCH_ECLASS diff --git a/sdk_container/src/third_party/portage-stable/eclass/epunt-cxx.eclass b/sdk_container/src/third_party/portage-stable/eclass/epunt-cxx.eclass new file mode 100644 index 0000000000..30802af340 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/epunt-cxx.eclass @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: epunt-cxx.eclass +# @MAINTAINER: +# base-system@gentoo.org +# @BLURB: A function to punt C++ compiler checks from autoconf +# @DESCRIPTION: +# Support for punting C++ compiler checks from autoconf (based +# on ELT-patches). + +if [[ -z ${_EPUNT_CXX_ECLASS} ]]; then + +# eutils for eqawarn +inherit eutils + +DEPEND=">=app-portage/elt-patches-20170317" + +# @FUNCTION: epunt_cxx +# @USAGE: [dir to scan] +# @DESCRIPTION: +# Many configure scripts wrongly bail when a C++ compiler could not be +# detected. If dir is not specified, then it defaults to ${S}. +# +# https://bugs.gentoo.org/73450 +epunt_cxx() { + local dir=$1 + [[ -z ${dir} ]] && dir=${S} + ebegin "Removing useless C++ checks" + local f p any_found + while IFS= read -r -d '' f; do + for p in "${EPREFIX}/usr/share/elt-patches"/nocxx/*.patch ; do + if patch --no-backup-if-mismatch -p1 "${f}" "${p}" >/dev/null ; then + any_found=1 + break + fi + done + done < <(find "${dir}" -name configure -print0) + + if [[ -z ${any_found} ]]; then + eqawarn "epunt_cxx called unnecessarily (no C++ checks to punt)." + fi + eend 0 +} + +_EPUNT_CXX_ECLASS=1 +fi #_EPUNT_CXX_ECLASS diff --git a/sdk_container/src/third_party/portage-stable/eclass/estack.eclass b/sdk_container/src/third_party/portage-stable/eclass/estack.eclass new file mode 100644 index 0000000000..f548abf8c2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/estack.eclass @@ -0,0 +1,212 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: estack.eclass +# @MAINTAINER: +# base-system@gentoo.org +# @BLURB: stack-like value storage support +# @DESCRIPTION: +# Support for storing values on stack-like variables. + +if [[ -z ${_ESTACK_ECLASS} ]]; then + +# @FUNCTION: estack_push +# @USAGE: [items to push] +# @DESCRIPTION: +# Push any number of items onto the specified stack. Pick a name that +# is a valid variable (i.e. stick to alphanumerics), and push as many +# items as you like onto the stack at once. +# +# The following code snippet will echo 5, then 4, then 3, then ... +# @CODE +# estack_push mystack 1 2 3 4 5 +# while estack_pop mystack i ; do +# echo "${i}" +# done +# @CODE +estack_push() { + [[ $# -eq 0 ]] && die "estack_push: incorrect # of arguments" + local stack_name="_ESTACK_$1_" ; shift + eval ${stack_name}+=\( \"\$@\" \) +} + +# @FUNCTION: estack_pop +# @USAGE: [variable] +# @DESCRIPTION: +# Pop a single item off the specified stack. If a variable is specified, +# the popped item is stored there. If no more items are available, return +# 1, else return 0. See estack_push for more info. +estack_pop() { + [[ $# -eq 0 || $# -gt 2 ]] && die "estack_pop: incorrect # of arguments" + + # We use the fugly _estack_xxx var names to avoid collision with + # passing back the return value. If we used "local i" and the + # caller ran `estack_pop ... i`, we'd end up setting the local + # copy of "i" rather than the caller's copy. The _estack_xxx + # garbage is preferable to using $1/$2 everywhere as that is a + # bit harder to read. + local _estack_name="_ESTACK_$1_" ; shift + local _estack_retvar=$1 ; shift + eval local _estack_i=\${#${_estack_name}\[@\]} + # Don't warn -- let the caller interpret this as a failure + # or as normal behavior (akin to `shift`) + [[ $(( --_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}\]\" +} + +# @FUNCTION: evar_push +# @USAGE: [more vars to save] +# @DESCRIPTION: +# This let's you temporarily modify a variable and then restore it (including +# set vs unset semantics). Arrays are not supported at this time. +# +# This is meant for variables where using `local` does not work (such as +# exported variables, or only temporarily changing things in a func). +# +# For example: +# @CODE +# evar_push LC_ALL +# export LC_ALL=C +# ... do some stuff that needs LC_ALL=C set ... +# evar_pop +# +# # You can also save/restore more than one var at a time +# evar_push BUTTERFLY IN THE SKY +# ... do stuff with the vars ... +# evar_pop # This restores just one var, SKY +# ... do more stuff ... +# evar_pop 3 # This pops the remaining 3 vars +# @CODE +evar_push() { + local var val + for var ; do + [[ ${!var+set} == "set" ]] \ + && val=${!var} \ + || val="unset_76fc3c462065bb4ca959f939e6793f94" + estack_push evar "${var}" "${val}" + done +} + +# @FUNCTION: evar_push_set +# @USAGE: [new value to store] +# @DESCRIPTION: +# This is a handy shortcut to save and temporarily set a variable. If a value +# is not specified, the var will be unset. +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 +} + +# @FUNCTION: evar_pop +# @USAGE: [number of vars to restore] +# @DESCRIPTION: +# Restore the variables to the state saved with the corresponding +# evar_push call. See that function for more details. +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 +} + +# @FUNCTION: eshopts_push +# @USAGE: [options to `set` or `shopt`] +# @DESCRIPTION: +# Often times code will want to enable a shell option to change code behavior. +# Since changing shell options can easily break other pieces of code (which +# assume the default state), eshopts_push is used to (1) push the current shell +# options onto a stack and (2) pass the specified arguments to set. +# +# If the first argument is '-s' or '-u', we assume you want to call `shopt` +# rather than `set` as there are some options only available via that. +# +# A common example is to disable shell globbing so that special meaning/care +# may be used with variables/arguments to custom functions. That would be: +# @CODE +# eshopts_push -o noglob +# for x in ${foo} ; do +# if ...some check... ; then +# eshopts_pop +# return 0 +# fi +# done +# eshopts_pop +# @CODE +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 +} + +# @FUNCTION: eshopts_pop +# @USAGE: +# @DESCRIPTION: +# Restore the shell options to the state saved with the corresponding +# eshopts_push call. See that function for more details. +eshopts_pop() { + local s + estack_pop eshopts s || die "${FUNCNAME}: unbalanced push" + eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}" +} + +# @FUNCTION: eumask_push +# @USAGE: +# @DESCRIPTION: +# Set the umask to the new value specified while saving the previous +# value onto a stack. Useful for temporarily changing the umask. +eumask_push() { + estack_push eumask "$(umask)" + umask "$@" || die "${FUNCNAME}: bad options to umask: $*" +} + +# @FUNCTION: eumask_pop +# @USAGE: +# @DESCRIPTION: +# Restore the previous umask state. +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}" +} + +# @FUNCTION: isdigit +# @USAGE: [more numbers] +# @DESCRIPTION: +# Return true if all arguments are numbers. +isdigit() { + local d + for d ; do + [[ ${d:-bad} == *[!0-9]* ]] && return 1 + done + return 0 +} + +_ESTACK_ECLASS=1 +fi #_ESTACK_ECLASS diff --git a/sdk_container/src/third_party/portage-stable/eclass/eutils.eclass b/sdk_container/src/third_party/portage-stable/eclass/eutils.eclass index b55f50613e..fe4339f6b8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/eutils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/eutils.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: eutils.eclass # @MAINTAINER: @@ -18,7 +17,12 @@ if [[ -z ${_EUTILS_ECLASS} ]]; then _EUTILS_ECLASS=1 -inherit multilib toolchain-funcs +# implicitly inherited (now split) eclasses +case ${EAPI:-0} in +0|1|2|3|4|5|6) + inherit epatch estack ltprune multilib toolchain-funcs + ;; +esac # @FUNCTION: eqawarn # @USAGE: [message] @@ -64,573 +68,6 @@ egit_clean() { find "$@" -type d -name '.git*' -prune -print0 | xargs -0 rm -rf } -# @FUNCTION: estack_push -# @USAGE: [items to push] -# @DESCRIPTION: -# Push any number of items onto the specified stack. Pick a name that -# is a valid variable (i.e. stick to alphanumerics), and push as many -# items as you like onto the stack at once. -# -# The following code snippet will echo 5, then 4, then 3, then ... -# @CODE -# estack_push mystack 1 2 3 4 5 -# while estack_pop mystack i ; do -# echo "${i}" -# done -# @CODE -estack_push() { - [[ $# -eq 0 ]] && die "estack_push: incorrect # of arguments" - local stack_name="_ESTACK_$1_" ; shift - eval ${stack_name}+=\( \"\$@\" \) -} - -# @FUNCTION: estack_pop -# @USAGE: [variable] -# @DESCRIPTION: -# Pop a single item off the specified stack. If a variable is specified, -# the popped item is stored there. If no more items are available, return -# 1, else return 0. See estack_push for more info. -estack_pop() { - [[ $# -eq 0 || $# -gt 2 ]] && die "estack_pop: incorrect # of arguments" - - # We use the fugly _estack_xxx var names to avoid collision with - # passing back the return value. If we used "local i" and the - # caller ran `estack_pop ... i`, we'd end up setting the local - # copy of "i" rather than the caller's copy. The _estack_xxx - # garbage is preferable to using $1/$2 everywhere as that is a - # bit harder to read. - local _estack_name="_ESTACK_$1_" ; shift - local _estack_retvar=$1 ; shift - eval local _estack_i=\${#${_estack_name}\[@\]} - # Don't warn -- let the caller interpret this as a failure - # or as normal behavior (akin to `shift`) - [[ $(( --_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}\]\" -} - -# @FUNCTION: evar_push -# @USAGE: [more vars to save] -# @DESCRIPTION: -# This let's you temporarily modify a variable and then restore it (including -# set vs unset semantics). Arrays are not supported at this time. -# -# This is meant for variables where using `local` does not work (such as -# exported variables, or only temporarily changing things in a func). -# -# For example: -# @CODE -# evar_push LC_ALL -# export LC_ALL=C -# ... do some stuff that needs LC_ALL=C set ... -# evar_pop -# -# # You can also save/restore more than one var at a time -# evar_push BUTTERFLY IN THE SKY -# ... do stuff with the vars ... -# evar_pop # This restores just one var, SKY -# ... do more stuff ... -# evar_pop 3 # This pops the remaining 3 vars -# @CODE -evar_push() { - local var val - for var ; do - [[ ${!var+set} == "set" ]] \ - && val=${!var} \ - || val="unset_76fc3c462065bb4ca959f939e6793f94" - estack_push evar "${var}" "${val}" - done -} - -# @FUNCTION: evar_push_set -# @USAGE: [new value to store] -# @DESCRIPTION: -# This is a handy shortcut to save and temporarily set a variable. If a value -# is not specified, the var will be unset. -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 -} - -# @FUNCTION: evar_pop -# @USAGE: [number of vars to restore] -# @DESCRIPTION: -# Restore the variables to the state saved with the corresponding -# evar_push call. See that function for more details. -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 -} - -# @FUNCTION: eshopts_push -# @USAGE: [options to `set` or `shopt`] -# @DESCRIPTION: -# Often times code will want to enable a shell option to change code behavior. -# Since changing shell options can easily break other pieces of code (which -# assume the default state), eshopts_push is used to (1) push the current shell -# options onto a stack and (2) pass the specified arguments to set. -# -# If the first argument is '-s' or '-u', we assume you want to call `shopt` -# rather than `set` as there are some options only available via that. -# -# A common example is to disable shell globbing so that special meaning/care -# may be used with variables/arguments to custom functions. That would be: -# @CODE -# eshopts_push -o noglob -# for x in ${foo} ; do -# if ...some check... ; then -# eshopts_pop -# return 0 -# fi -# done -# eshopts_pop -# @CODE -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 $- - [[ $# -eq 0 ]] && return 0 - set "$@" || die "${FUNCNAME}: bad options to set: $*" - fi -} - -# @FUNCTION: eshopts_pop -# @USAGE: -# @DESCRIPTION: -# Restore the shell options to the state saved with the corresponding -# eshopts_push call. See that function for more details. -eshopts_pop() { - local s - estack_pop eshopts s || die "${FUNCNAME}: unbalanced push" - if [[ ${s} == "shopt -"* ]] ; then - eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}" - else - set +$- || die "${FUNCNAME}: sanity: invalid shell settings: $-" - set -${s} || die "${FUNCNAME}: sanity: unable to restore saved shell settings: ${s}" - fi -} - -# @FUNCTION: eumask_push -# @USAGE: -# @DESCRIPTION: -# Set the umask to the new value specified while saving the previous -# value onto a stack. Useful for temporarily changing the umask. -eumask_push() { - estack_push eumask "$(umask)" - umask "$@" || die "${FUNCNAME}: bad options to umask: $*" -} - -# @FUNCTION: eumask_pop -# @USAGE: -# @DESCRIPTION: -# Restore the previous umask state. -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}" -} - -# @FUNCTION: isdigit -# @USAGE: [more numbers] -# @DESCRIPTION: -# Return true if all arguments are numbers. -isdigit() { - local d - for d ; do - [[ ${d:-bad} == *[!0-9]* ]] && return 1 - done - return 0 -} - -# @VARIABLE: EPATCH_SOURCE -# @DESCRIPTION: -# Default directory to search for patches. -EPATCH_SOURCE="${WORKDIR}/patch" -# @VARIABLE: EPATCH_SUFFIX -# @DESCRIPTION: -# Default extension for patches (do not prefix the period yourself). -EPATCH_SUFFIX="patch.bz2" -# @VARIABLE: EPATCH_OPTS -# @DESCRIPTION: -# Options to pass to patch. Meant for ebuild/package-specific tweaking -# such as forcing the patch level (-p#) or fuzz (-F#) factor. Note that -# for single patch tweaking, you can also pass flags directly to epatch. -EPATCH_OPTS="" -# @VARIABLE: EPATCH_COMMON_OPTS -# @DESCRIPTION: -# Common options to pass to `patch`. You probably should never need to -# change these. If you do, please discuss it with base-system first to -# be sure. -# @CODE -# -g0 - keep RCS, ClearCase, Perforce and SCCS happy #24571 -# --no-backup-if-mismatch - do not leave .orig files behind -# -E - automatically remove empty files -# @CODE -EPATCH_COMMON_OPTS="-g0 -E --no-backup-if-mismatch" -# @VARIABLE: EPATCH_EXCLUDE -# @DESCRIPTION: -# List of patches not to apply. Note this is only file names, -# and not the full path. Globs accepted. -EPATCH_EXCLUDE="" -# @VARIABLE: EPATCH_SINGLE_MSG -# @DESCRIPTION: -# Change the printed message for a single patch. -EPATCH_SINGLE_MSG="" -# @VARIABLE: EPATCH_MULTI_MSG -# @DESCRIPTION: -# Change the printed message for multiple patches. -EPATCH_MULTI_MSG="Applying various patches (bugfixes/updates) ..." -# @VARIABLE: EPATCH_FORCE -# @DESCRIPTION: -# Only require patches to match EPATCH_SUFFIX rather than the extended -# arch naming style. -EPATCH_FORCE="no" -# @VARIABLE: EPATCH_USER_EXCLUDE -# @DEFAULT_UNSET -# @DESCRIPTION: -# List of patches not to apply. Note this is only file names, -# and not the full path. Globs accepted. - -# @FUNCTION: epatch -# @USAGE: [options] [patches] [dirs of patches] -# @DESCRIPTION: -# epatch is designed to greatly simplify the application of patches. It can -# process patch files directly, or directories of patches. The patches may be -# compressed (bzip/gzip/etc...) or plain text. You generally need not specify -# the -p option as epatch will automatically attempt -p0 to -p4 until things -# apply successfully. -# -# If you do not specify any patches/dirs, then epatch will default to the -# directory specified by EPATCH_SOURCE. -# -# Any options specified that start with a dash will be passed down to patch -# for this specific invocation. As soon as an arg w/out a dash is found, then -# arg processing stops. -# -# When processing directories, epatch will apply all patches that match: -# @CODE -# if ${EPATCH_FORCE} != "yes" -# ??_${ARCH}_foo.${EPATCH_SUFFIX} -# else -# *.${EPATCH_SUFFIX} -# @CODE -# The leading ?? are typically numbers used to force consistent patch ordering. -# The arch field is used to apply patches only for the host architecture with -# the special value of "all" means apply for everyone. Note that using values -# other than "all" is highly discouraged -- you should apply patches all the -# time and let architecture details be detected at configure/compile time. -# -# If EPATCH_SUFFIX is empty, then no period before it is implied when searching -# for patches to apply. -# -# Refer to the other EPATCH_xxx variables for more customization of behavior. -epatch() { - _epatch_draw_line() { - # create a line of same length as input string - [[ -z $1 ]] && set "$(printf "%65s" '')" - echo "${1//?/=}" - } - - unset P4CONFIG P4PORT P4USER # keep perforce at bay #56402 - - # First process options. We localize the EPATCH_OPTS setting - # from above so that we can pass it on in the loop below with - # any additional values the user has specified. - local EPATCH_OPTS=( ${EPATCH_OPTS[*]} ) - while [[ $# -gt 0 ]] ; do - case $1 in - -*) EPATCH_OPTS+=( "$1" ) ;; - *) break ;; - esac - shift - done - - # Let the rest of the code process one user arg at a time -- - # each arg may expand into multiple patches, and each arg may - # need to start off with the default global EPATCH_xxx values - if [[ $# -gt 1 ]] ; then - local m - for m in "$@" ; do - epatch "${m}" - done - return 0 - fi - - local SINGLE_PATCH="no" - # no args means process ${EPATCH_SOURCE} - [[ $# -eq 0 ]] && set -- "${EPATCH_SOURCE}" - - if [[ -f $1 ]] ; then - SINGLE_PATCH="yes" - set -- "$1" - # Use the suffix from the single patch (localize it); the code - # below will find the suffix for us - local EPATCH_SUFFIX=$1 - - elif [[ -d $1 ]] ; then - # We have to force sorting to C so that the wildcard expansion is consistent #471666. - evar_push_set LC_COLLATE C - # Some people like to make dirs of patches w/out suffixes (vim). - set -- "$1"/*${EPATCH_SUFFIX:+."${EPATCH_SUFFIX}"} - evar_pop - - elif [[ -f ${EPATCH_SOURCE}/$1 ]] ; then - # Re-use EPATCH_SOURCE as a search dir - epatch "${EPATCH_SOURCE}/$1" - return $? - - else - # sanity check ... if it isn't a dir or file, wtf man ? - [[ $# -ne 0 ]] && EPATCH_SOURCE=$1 - echo - eerror "Cannot find \$EPATCH_SOURCE! Value for \$EPATCH_SOURCE is:" - eerror - eerror " ${EPATCH_SOURCE}" - eerror " ( ${EPATCH_SOURCE##*/} )" - echo - die "Cannot find \$EPATCH_SOURCE!" - fi - - # Now that we know we're actually going to apply something, merge - # all of the patch options back in to a single variable for below. - EPATCH_OPTS="${EPATCH_COMMON_OPTS} ${EPATCH_OPTS[*]}" - - local PIPE_CMD - case ${EPATCH_SUFFIX##*\.} in - xz) PIPE_CMD="xz -dc" ;; - lzma) PIPE_CMD="lzma -dc" ;; - bz2) PIPE_CMD="bzip2 -dc" ;; - gz|Z|z) PIPE_CMD="gzip -dc" ;; - ZIP|zip) PIPE_CMD="unzip -p" ;; - *) ;; - esac - - [[ ${SINGLE_PATCH} == "no" ]] && einfo "${EPATCH_MULTI_MSG}" - - local x - for x in "$@" ; do - # If the patch dir given contains subdirs, or our EPATCH_SUFFIX - # didn't match anything, ignore continue on - [[ ! -f ${x} ]] && continue - - local patchname=${x##*/} - - # Apply single patches, or forced sets of patches, or - # patches with ARCH dependant names. - # ???_arch_foo.patch - # Else, skip this input altogether - local a=${patchname#*_} # strip the ???_ - a=${a%%_*} # strip the _foo.patch - if ! [[ ${SINGLE_PATCH} == "yes" || \ - ${EPATCH_FORCE} == "yes" || \ - ${a} == all || \ - ${a} == ${ARCH} ]] - then - continue - fi - - # Let people filter things dynamically - if [[ -n ${EPATCH_EXCLUDE}${EPATCH_USER_EXCLUDE} ]] ; then - # let people use globs in the exclude - eshopts_push -o noglob - - local ex - for ex in ${EPATCH_EXCLUDE} ; do - if [[ ${patchname} == ${ex} ]] ; then - einfo " Skipping ${patchname} due to EPATCH_EXCLUDE ..." - eshopts_pop - continue 2 - fi - done - - for ex in ${EPATCH_USER_EXCLUDE} ; do - if [[ ${patchname} == ${ex} ]] ; then - einfo " Skipping ${patchname} due to EPATCH_USER_EXCLUDE ..." - eshopts_pop - continue 2 - fi - done - - eshopts_pop - fi - - if [[ ${SINGLE_PATCH} == "yes" ]] ; then - if [[ -n ${EPATCH_SINGLE_MSG} ]] ; then - einfo "${EPATCH_SINGLE_MSG}" - else - einfo "Applying ${patchname} ..." - fi - else - einfo " ${patchname} ..." - fi - - # Handle aliased patch command #404447 #461568 - local patch="patch" - eval $(alias patch 2>/dev/null | sed 's:^alias ::') - - # most of the time, there will only be one run per unique name, - # but if there are more, make sure we get unique log filenames - local STDERR_TARGET="${T}/${patchname}.out" - if [[ -e ${STDERR_TARGET} ]] ; then - STDERR_TARGET="${T}/${patchname}-$$.out" - fi - - printf "***** %s *****\nPWD: %s\nPATCH TOOL: %s -> %s\nVERSION INFO:\n%s\n\n" \ - "${patchname}" \ - "${PWD}" \ - "${patch}" \ - "$(type -P "${patch}")" \ - "$(${patch} --version)" \ - > "${STDERR_TARGET}" - - # Decompress the patch if need be - local count=0 - local PATCH_TARGET - if [[ -n ${PIPE_CMD} ]] ; then - PATCH_TARGET="${T}/$$.patch" - echo "PIPE_COMMAND: ${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> "${STDERR_TARGET}" - - if ! (${PIPE_CMD} "${x}" > "${PATCH_TARGET}") >> "${STDERR_TARGET}" 2>&1 ; then - echo - eerror "Could not extract patch!" - #die "Could not extract patch!" - count=5 - break - fi - else - PATCH_TARGET=${x} - fi - - # Check for absolute paths in patches. If sandbox is disabled, - # people could (accidently) patch files in the root filesystem. - # Or trigger other unpleasantries #237667. So disallow -p0 on - # such patches. - local abs_paths=$(egrep -n '^[-+]{3} /' "${PATCH_TARGET}" | awk '$2 != "/dev/null" { print }') - if [[ -n ${abs_paths} ]] ; then - count=1 - printf "NOTE: skipping -p0 due to absolute paths in patch:\n%s\n" "${abs_paths}" >> "${STDERR_TARGET}" - fi - # Similar reason, but with relative paths. - local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' "${PATCH_TARGET}") - if [[ -n ${rel_paths} ]] ; then - echo - eerror "Rejected Patch: ${patchname} !" - eerror " ( ${PATCH_TARGET} )" - eerror - eerror "Your patch uses relative paths '../':" - eerror "${rel_paths}" - echo - die "you need to fix the relative paths in patch" - fi - - # Dynamically detect the correct -p# ... i'm lazy, so shoot me :/ - local patch_cmd - while [[ ${count} -lt 5 ]] ; do - patch_cmd="${patch} -p${count} ${EPATCH_OPTS}" - - # Generate some useful debug info ... - ( - _epatch_draw_line "***** ${patchname} *****" - echo - echo "PATCH COMMAND: ${patch_cmd} --dry-run -f < '${PATCH_TARGET}'" - echo - _epatch_draw_line "***** ${patchname} *****" - ${patch_cmd} --dry-run -f < "${PATCH_TARGET}" 2>&1 - ret=$? - echo - echo "patch program exited with status ${ret}" - exit ${ret} - ) >> "${STDERR_TARGET}" - - if [ $? -eq 0 ] ; then - ( - _epatch_draw_line "***** ${patchname} *****" - echo - echo "ACTUALLY APPLYING ${patchname} ..." - echo "PATCH COMMAND: ${patch_cmd} < '${PATCH_TARGET}'" - echo - _epatch_draw_line "***** ${patchname} *****" - ${patch_cmd} < "${PATCH_TARGET}" 2>&1 - ret=$? - echo - echo "patch program exited with status ${ret}" - exit ${ret} - ) >> "${STDERR_TARGET}" - - if [ $? -ne 0 ] ; then - echo - eerror "A dry-run of patch command succeeded, but actually" - eerror "applying the patch failed!" - #die "Real world sux compared to the dreamworld!" - count=5 - fi - break - fi - - : $(( count++ )) - done - - (( EPATCH_N_APPLIED_PATCHES++ )) - - # if we had to decompress the patch, delete the temp one - if [[ -n ${PIPE_CMD} ]] ; then - rm -f "${PATCH_TARGET}" - fi - - if [[ ${count} -ge 5 ]] ; then - echo - eerror "Failed Patch: ${patchname} !" - eerror " ( ${PATCH_TARGET} )" - eerror - eerror "Include in your bugreport the contents of:" - eerror - eerror " ${STDERR_TARGET}" - echo - die "Failed Patch: ${patchname}!" - fi - - # if everything worked, delete the full debug patch log - rm -f "${STDERR_TARGET}" - - # then log away the exact stuff for people to review later - cat <<-EOF >> "${T}/epatch.log" - PATCH: ${x} - CMD: ${patch_cmd} - PWD: ${PWD} - - EOF - eend 0 - done - - [[ ${SINGLE_PATCH} == "no" ]] && einfo "Done with patching" - : # everything worked -} - # @FUNCTION: emktemp # @USAGE: [temp dir] # @DESCRIPTION: @@ -837,13 +274,11 @@ make_desktop_entry() { # Don't append another ";" when a valid category value is provided. type=${type%;}${type:+;} - eshopts_push -s extglob if [[ -n ${icon} && ${icon} != /* ]] && [[ ${icon} == *.xpm || ${icon} == *.png || ${icon} == *.svg ]]; then ewarn "As described in the Icon Theme Specification, icon file extensions are not" ewarn "allowed in .desktop files if the value is not an absolute path." - icon=${icon%.@(xpm|png|svg)} + icon=${icon%.*} fi - eshopts_pop cat <<-EOF > "${desktop}" [Desktop Entry] @@ -881,11 +316,12 @@ _eutils_eprefix_init() { # @FUNCTION: validate_desktop_entries # @USAGE: [directories] -# @MAINTAINER: -# Carsten Lohrke # @DESCRIPTION: # Validate desktop entries using desktop-file-utils validate_desktop_entries() { + eqawarn "validate_desktop_entries is deprecated and should be not be used." + eqawarn ".desktop file validation is done implicitly by Portage now." + _eutils_eprefix_init if [[ -x "${EPREFIX}"/usr/bin/desktop-file-validate ]] ; then einfo "Checking desktop entry validity" @@ -1302,47 +738,6 @@ built_with_use() { [[ ${opt} = "-a" ]] } -# If an overlay has eclass overrides, but doesn't actually override the -# libtool.eclass, we'll have ECLASSDIR pointing to the active overlay's -# eclass/ dir, but libtool.eclass is still in the main Gentoo tree. So -# add a check to locate the ELT-patches/ regardless of what's going on. -# Note: Duplicated in libtool.eclass. -_EUTILS_ECLASSDIR_LOCAL=${BASH_SOURCE[0]%/*} -eutils_elt_patch_dir() { - local d="${ECLASSDIR}/ELT-patches" - if [[ ! -d ${d} ]] ; then - d="${_EUTILS_ECLASSDIR_LOCAL}/ELT-patches" - fi - echo "${d}" -} - -# @FUNCTION: epunt_cxx -# @USAGE: [dir to scan] -# @DESCRIPTION: -# Many configure scripts wrongly bail when a C++ compiler could not be -# detected. If dir is not specified, then it defaults to ${S}. -# -# https://bugs.gentoo.org/73450 -epunt_cxx() { - local dir=$1 - [[ -z ${dir} ]] && dir=${S} - ebegin "Removing useless C++ checks" - local f p any_found - while IFS= read -r -d '' f; do - for p in "$(eutils_elt_patch_dir)"/nocxx/*.patch ; do - if patch --no-backup-if-mismatch -p1 "${f}" "${p}" >/dev/null ; then - any_found=1 - break - fi - done - done < <(find "${dir}" -name configure -print0) - - if [[ -z ${any_found} ]]; then - eqawarn "epunt_cxx called unnecessarily (no C++ checks to punt)." - fi - eend 0 -} - # @FUNCTION: make_wrapper # @USAGE: [chdir] [libpaths] [installpath] # @DESCRIPTION: @@ -1429,152 +824,6 @@ use_if_iuse() { use $1 } -# @FUNCTION: prune_libtool_files -# @USAGE: [--all|--modules] -# @DESCRIPTION: -# Locate unnecessary libtool files (.la) and libtool static archives -# (.a) and remove them from installation image. -# -# By default, .la files are removed whenever the static linkage can -# either be performed using pkg-config or doesn't introduce additional -# flags. -# -# If '--modules' argument is passed, .la files for modules (plugins) are -# removed as well. This is usually useful when the package installs -# plugins and the plugin loader does not use .la files. -# -# If '--all' argument is passed, all .la files are removed without -# performing any heuristic on them. You shouldn't ever use that, -# and instead report a bug in the algorithm instead. -# -# The .a files are only removed whenever corresponding .la files state -# that they should not be linked to, i.e. whenever these files -# correspond to plugins. -# -# Note: if your package installs both static libraries and .pc files -# which use variable substitution for -l flags, you need to add -# pkg-config to your DEPEND. -prune_libtool_files() { - debug-print-function ${FUNCNAME} "$@" - - local removing_all removing_modules opt - _eutils_eprefix_init - for opt; do - case "${opt}" in - --all) - removing_all=1 - removing_modules=1 - ;; - --modules) - removing_modules=1 - ;; - *) - die "Invalid argument to ${FUNCNAME}(): ${opt}" - esac - done - - local f - local queue=() - while IFS= read -r -d '' f; do # for all .la files - local archivefile=${f/%.la/.a} - - # The following check is done by libtool itself. - # It helps us avoid removing random files which match '*.la', - # see bug #468380. - if ! sed -n -e '/^# Generated by .*libtool/q0;4q1' "${f}"; then - continue - fi - - [[ ${f} != ${archivefile} ]] || die 'regex sanity check failed' - local reason= pkgconfig_scanned= - local snotlink=$(sed -n -e 's:^shouldnotlink=::p' "${f}") - - if [[ ${snotlink} == yes ]]; then - - # Remove static libs we're not supposed to link against. - if [[ -f ${archivefile} ]]; then - einfo "Removing unnecessary ${archivefile#${D%/}} (static plugin)" - queue+=( "${archivefile}" ) - fi - - # The .la file may be used by a module loader, so avoid removing it - # unless explicitly requested. - if [[ ${removing_modules} ]]; then - reason='module' - fi - - else - - # Remove .la files when: - # - user explicitly wants us to remove all .la files, - # - respective static archive doesn't exist, - # - they are covered by a .pc file already, - # - they don't provide any new information (no libs & no flags). - - if [[ ${removing_all} ]]; then - reason='requested' - elif [[ ! -f ${archivefile} ]]; then - reason='no static archive' - elif [[ ! $(sed -nre \ - "s/^(dependency_libs|inherited_linker_flags)='(.*)'$/\2/p" \ - "${f}") ]]; then - reason='no libs & flags' - else - if [[ ! ${pkgconfig_scanned} ]]; then - # Create a list of all .pc-covered libs. - local pc_libs=() - if [[ ! ${removing_all} ]]; then - local pc - local tf=${T}/prune-lt-files.pc - local pkgconf=$(tc-getPKG_CONFIG) - - while IFS= read -r -d '' pc; do # for all .pc files - local arg libs - - # Use pkg-config if available (and works), - # fallback to sed. - if ${pkgconf} --exists "${pc}" &>/dev/null; then - sed -e '/^Requires:/d' "${pc}" > "${tf}" - libs=$(${pkgconf} --libs "${tf}") - else - libs=$(sed -ne 's/^Libs://p' "${pc}") - fi - - for arg in ${libs}; do - if [[ ${arg} == -l* ]]; then - if [[ ${arg} == '*$*' ]]; then - eqawarn "${FUNCNAME}: variable substitution likely failed in ${pc}" - eqawarn "(arg: ${arg})" - eqawarn "Most likely, you need to add virtual/pkgconfig to DEPEND." - fi - - pc_libs+=( lib${arg#-l}.la ) - fi - done - done < <(find "${D}" -type f -name '*.pc' -print0) - - rm -f "${tf}" - fi - - pkgconfig_scanned=1 - fi # pkgconfig_scanned - - has "${f##*/}" "${pc_libs[@]}" && reason='covered by .pc' - fi # removal due to .pc - - fi # shouldnotlink==no - - if [[ ${reason} ]]; then - einfo "Removing unnecessary ${f#${D%/}} (${reason})" - queue+=( "${f}" ) - fi - done < <(find "${ED}" -xtype f -name '*.la' -print0) - - if [[ ${queue[@]} ]]; then - rm -f "${queue[@]}" - fi -} - # @FUNCTION: optfeature # @USAGE: [other atoms] # @DESCRIPTION: @@ -1689,80 +938,6 @@ esac case ${EAPI:-0} in 0|1|2|3|4|5) -# @VARIABLE: EPATCH_USER_SOURCE -# @DESCRIPTION: -# Location for user patches, see the epatch_user function. -# Should be set by the user. Don't set this in ebuilds. -: ${EPATCH_USER_SOURCE:=${PORTAGE_CONFIGROOT%/}/etc/portage/patches} - -# @FUNCTION: epatch_user -# @USAGE: -# @DESCRIPTION: -# Applies user-provided patches to the source tree. The patches are -# taken from /etc/portage/patches//[:SLOT]/, where the first -# of these three directories to exist will be the one to use, ignoring -# any more general directories which might exist as well. They must end -# in ".patch" to be applied. -# -# User patches are intended for quick testing of patches without ebuild -# modifications, as well as for permanent customizations a user might -# desire. Obviously, there can be no official support for arbitrarily -# patched ebuilds. So whenever a build log in a bug report mentions that -# user patches were applied, the user should be asked to reproduce the -# problem without these. -# -# Not all ebuilds do call this function, so placing patches in the -# stated directory might or might not work, depending on the package and -# the eclasses it inherits and uses. It is safe to call the function -# repeatedly, so it is always possible to add a call at the ebuild -# level. The first call is the time when the patches will be -# applied. -# -# Ideally, this function should be called after gentoo-specific patches -# have been applied, so that their code can be modified as well, but -# before calls to e.g. eautoreconf, as the user patches might affect -# autotool input files as well. -epatch_user() { - [[ $# -ne 0 ]] && die "epatch_user takes no options" - - # Allow multiple calls to this function; ignore all but the first - local applied="${T}/epatch_user.log" - [[ -e ${applied} ]] && return 2 - - # don't clobber any EPATCH vars that the parent might want - local EPATCH_SOURCE check - for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}{,:${SLOT%/*}}; do - EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CTARGET}/${check} - [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${CHOST}/${check} - [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${EPATCH_USER_SOURCE}/${check} - if [[ -d ${EPATCH_SOURCE} ]] ; then - local old_n_applied_patches=${EPATCH_N_APPLIED_PATCHES:-0} - EPATCH_SOURCE=${EPATCH_SOURCE} \ - EPATCH_SUFFIX="patch" \ - EPATCH_FORCE="yes" \ - EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." \ - epatch - echo "${EPATCH_SOURCE}" > "${applied}" - if [[ ${old_n_applied_patches} -lt ${EPATCH_N_APPLIED_PATCHES} ]]; then - has epatch_user_death_notice ${EBUILD_DEATH_HOOKS} || \ - EBUILD_DEATH_HOOKS+=" epatch_user_death_notice" - fi - return 0 - fi - done - echo "none" > "${applied}" - return 1 -} - -# @FUNCTION: epatch_user_death_notice -# @INTERNAL -# @DESCRIPTION: -# Include an explicit notice in the die message itself that user patches were -# applied to this build. -epatch_user_death_notice() { - ewarn "!!! User patches were applied to this build!" -} - # @FUNCTION: einstalldocs # @DESCRIPTION: # Install documentation using DOCS and HTML_DOCS. diff --git a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass index b203a913ff..a8b9c1f1b8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass @@ -1,10 +1,8 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: fcaps.eclass # @MAINTAINER: -# Constanze Hausner # base-system@gentoo.org # @BLURB: function to set POSIX file-based capabilities # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/fdo-mime.eclass b/sdk_container/src/third_party/portage-stable/eclass/fdo-mime.eclass index 8e0b56c792..b3b096d154 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fdo-mime.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fdo-mime.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: fdo-mime.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/findlib.eclass b/sdk_container/src/third_party/portage-stable/eclass/findlib.eclass index e2d9b8fb7a..d515dce340 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/findlib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/findlib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: findlib.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/fixheadtails.eclass b/sdk_container/src/third_party/portage-stable/eclass/fixheadtails.eclass index 2bac496375..c19d33924a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fixheadtails.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fixheadtails.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: fixheadtails.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass index 57d207b083..b2f3742b3e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/flag-o-matic.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: flag-o-matic.eclass # @MAINTAINER: @@ -25,7 +24,7 @@ all-flag-vars() { setup-allowed-flags() { ALLOWED_FLAGS=( -pipe -O '-O[12sg]' -mcpu -march -mtune - '-fstack-protector*' '-fsanitize*' '-fstack-check*' + '-fstack-protector*' '-fsanitize*' '-fstack-check*' -fno-stack-check -fbounds-check -fbounds-checking -fno-strict-overflow -fno-PIE -fno-pie -nopie -no-pie -fno-unit-at-a-time -g '-g[0-9]' -ggdb '-ggdb[0-9]' '-gdwarf-*' gstabs -gstabs+ @@ -117,7 +116,7 @@ _filter-var() { done new+=( "${f}" ) done - eval export ${var}=\""${new[*]}"\" + export ${var}="${new[*]}" } # @FUNCTION: filter-flags @@ -271,7 +270,7 @@ replace-flags() { [[ ${f} == ${1} ]] && f=${2} new+=( "${f}" ) done - eval export ${var}=\""${new[*]}"\" + export ${var}="${new[*]}" done return 0 @@ -296,9 +295,8 @@ replace-cpu-flags() { } _is_flagq() { - local x var - eval var=\""\${$1[*]}"\" - for x in ${var} ; do + local x var="$1[*]" + for x in ${!var} ; do [[ ${x} == $2 ]] && return 0 done return 1 @@ -412,7 +410,7 @@ strip-flags() { if [[ ${!var} != "${new[*]}" ]] ; then einfo "strip-flags: ${var}: changed '${!var}' to '${new[*]}'" fi - eval export ${var}=\""${new[*]}"\" + export ${var}="${new[*]}" done set +f # re-enable pathname expansion diff --git a/sdk_container/src/third_party/portage-stable/eclass/font-ebdftopcf.eclass b/sdk_container/src/third_party/portage-stable/eclass/font-ebdftopcf.eclass index 334da01c70..c36cd14256 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/font-ebdftopcf.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/font-ebdftopcf.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Author: Robin H. Johnson diff --git a/sdk_container/src/third_party/portage-stable/eclass/font.eclass b/sdk_container/src/third_party/portage-stable/eclass/font.eclass index 94a18c0560..7214c99854 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/font.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/font.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: font.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/fortran-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/fortran-2.eclass index e2f64106ec..d7ed9a9980 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fortran-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fortran-2.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: fortran-2.eclass # @MAINTAINER: @@ -30,7 +29,7 @@ inherit eutils toolchain-funcs case ${EAPI:-0} in - 0|1|2|3|4|5|6) EXPORT_FUNCTIONS pkg_setup ;; + 4|5|6) EXPORT_FUNCTIONS pkg_setup ;; *) die "EAPI=${EAPI} is not supported" ;; esac @@ -276,19 +275,9 @@ _fortran-2_pkg_setup() { fortran-2_pkg_setup() { debug-print-function ${FUNCNAME} "${@}" - case ${EAPI:-0} in - 0|1|2|3) - eqawarn "Support for EAPI < 4 will be removed from the" - eqawarn "fortran-2.eclass in until 2013-09-30." - eqawarn "Please migrate your package to a higher EAPI" - eqawarn "or file a bug at https://bugs.gentoo.org" - _fortran-2_pkg_setup ;; - *) - if [[ ${MERGE_TYPE} != binary ]]; then - _fortran-2_pkg_setup - fi - ;; - esac + if [[ ${MERGE_TYPE} != binary ]]; then + _fortran-2_pkg_setup + fi } _FORTRAN_2_ECLASS=1 diff --git a/sdk_container/src/third_party/portage-stable/eclass/fox.eclass b/sdk_container/src/third_party/portage-stable/eclass/fox.eclass index b1f5599429..529f5a2589 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fox.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fox.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: fox.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/freebsd.eclass b/sdk_container/src/third_party/portage-stable/eclass/freebsd.eclass index 7741470073..24bab67ce6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/freebsd.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/freebsd.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @MAINTAINER: # maintainer-needed@gentoo.org @@ -42,7 +41,7 @@ RV="$(get_version_component_range 1-2 ${MY_PV})" # 9.1.9999 --> releng/9.1 # 9.9999 --> stable/9 # 9999 --> head -# +# # svn revision can be specified by patch level: # freebsd-lib-9.9999_p247000 --> set svn -r 247000 @@ -264,7 +263,7 @@ freebsd_src_compile() { } # Helper function to make a multilib build with FreeBSD Makefiles. -# Usage: +# Usage: # MULTIBUILD_VARIANTS=( $(get_all_abis) ) # multibuild_foreach_variant freebsd_multilib_multibuild_wrapper my_function # @@ -297,9 +296,9 @@ freebsd_multilib_multibuild_wrapper() { if [ ! -d "${MAKEOBJDIRPREFIX}" ] ; then mkdir "${MAKEOBJDIRPREFIX}" || die "Could not create ${MAKEOBJDIRPREFIX}." fi - + CTARGET="${CHOST}" "$@" - + # Restore the variables now. for i in CFLAGS CXXFLAGS LDFLAGS LDADD mymakeopts ; do ii="${i}_SAVE" diff --git a/sdk_container/src/third_party/portage-stable/eclass/freedict.eclass b/sdk_container/src/third_party/portage-stable/eclass/freedict.eclass index dc67316b7e..06419626d3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/freedict.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/freedict.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: freedict.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/games-mods.eclass b/sdk_container/src/third_party/portage-stable/eclass/games-mods.eclass index 21297c1678..8c7e72beed 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/games-mods.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/games-mods.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Variables to specify in an ebuild which uses this eclass: # GAME - (doom3, quake4 or ut2004, etc), unless ${PN} starts with e.g. "doom3-" diff --git a/sdk_container/src/third_party/portage-stable/eclass/games.eclass b/sdk_container/src/third_party/portage-stable/eclass/games.eclass index 8376e5ef6d..3c280a5efe 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/games.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/games.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: games.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ghc-package.eclass b/sdk_container/src/third_party/portage-stable/eclass/ghc-package.eclass index 7efa2c8384..737db1b362 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ghc-package.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ghc-package.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ghc-package.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/git-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/git-2.eclass index 39cdf52cc8..66e2fa2d0f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/git-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/git-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: git-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass index d105e50ed1..bc7d4d9202 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: git-r3.eclass # @MAINTAINER: @@ -18,12 +17,6 @@ case "${EAPI:-0}" in ;; esac -if [[ ! ${_GIT_R3} ]]; then - -inherit eutils - -fi - EXPORT_FUNCTIONS src_unpack if [[ ! ${_GIT_R3} ]]; then @@ -154,8 +147,9 @@ fi # @DEFAULT_UNSET # @DESCRIPTION: # The tag name or commit identifier to check out. If unset, newest -# commit from the branch will be used. If set, EGIT_BRANCH will -# be ignored. +# commit from the branch will be used. Note that if set to a commit +# not on HEAD branch, EGIT_BRANCH needs to be set to a branch on which +# the commit is available. # # It can be overriden via env using ${PN}_LIVE_COMMIT variable. @@ -163,7 +157,8 @@ fi # @DEFAULT_UNSET # @DESCRIPTION: # Attempt to check out the repository state for the specified timestamp. -# The date should be in format understood by 'git rev-list'. +# The date should be in format understood by 'git rev-list'. The commits +# on EGIT_BRANCH will be considered. # # The eclass will select the last commit with commit date preceding # the specified date. When merge commits are found, only first parents diff --git a/sdk_container/src/third_party/portage-stable/eclass/gkrellm-plugin.eclass b/sdk_container/src/third_party/portage-stable/eclass/gkrellm-plugin.eclass index 207f3ca052..efb35bd07f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gkrellm-plugin.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gkrellm-plugin.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Original Author: Jim Ramsay diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnat.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnat.eclass index 32a5850262..e9ffa5b1f1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnat.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnat.eclass @@ -1,9 +1,11 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ -# + +# @DEAD +# Removal on 2017-03-24. + # Author: George Shapovalov -# Belongs to: ada herd +# No maintainer # # This eclass provides the framework for ada lib installation with the split and # SLOTted gnat compilers (gnat-xxx, gnatbuild.eclass). Each lib gets built once diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnatbuild-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnatbuild-r1.eclass index 815345a28e..53cfe7c64a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnatbuild-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnatbuild-r1.eclass @@ -1,10 +1,9 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Author: George Shapovalov # Author: Steve Arnold -# Belongs to: ada project +# No maintainer # # Notes: # HOMEPAGE and LICENSE are set in appropriate ebuild, as diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnatbuild.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnatbuild.eclass index d6bc63ce51..26296fe87f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnatbuild.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnatbuild.eclass @@ -1,10 +1,9 @@ -## Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ # # Author: George Shapovalov # Author: Steve Arnold -# Belongs to: ada herd +# No maintainer # # Notes: # HOMEPAGE and LICENSE are set in appropriate ebuild, as diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome-games.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome-games.eclass index 2d10aafb8c..af72a6d7a1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome-games.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome-games.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnome-games.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome-python-common-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome-python-common-r1.eclass index db583ae166..2c9c58950c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome-python-common-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome-python-common-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnome-python-common-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass index 3eeb4efc46..6b2ae672a2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnome.org.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass index 63855da123..a89b9885c3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome2-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnome2-utils.eclass # @MAINTAINER: @@ -100,12 +99,12 @@ gnome2_environment_reset() { export GST_REGISTRY="${T}/registry.xml" # Ensure we don't rely on dconf/gconf while building, bug #511946 - export GSETTINGS_BACKEND="memory" + export GSETTINGS_BACKEND="memory" if has ${EAPI:-0} 6; then # Try to cover the packages honoring this variable, bug #508124 export GST_INSPECT="$(type -P true)" - + # Stop relying on random DISPLAY variable values, bug #534312 unset DISPLAY fi @@ -231,40 +230,35 @@ gnome2_icon_cache_update() { return fi - if [[ -z "${GNOME2_ECLASS_ICONS}" ]]; then - debug-print "No icon cache to update" - return - fi - ebegin "Updating icons cache" local retval=0 local fails=( ) - for dir in ${GNOME2_ECLASS_ICONS} + for dir in "${EROOT%/}"/usr/share/icons/* do - if [[ -f "${EROOT}${dir}/index.theme" ]] ; then + if [[ -f "${dir}/index.theme" ]] ; then local rv=0 - "${updater}" -qf "${EROOT}${dir}" + "${updater}" -qf "${dir}" rv=$? if [[ ! $rv -eq 0 ]] ; then - debug-print "Updating cache failed on ${EROOT}${dir}" + debug-print "Updating cache failed on ${dir}" # Add to the list of failures - fails[$(( ${#fails[@]} + 1 ))]="${EROOT}${dir}" + fails+=( "${dir}" ) retval=2 fi - elif [[ $(ls "${EROOT}${dir}") = "icon-theme.cache" ]]; then + elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then # Clear stale cache files after theme uninstallation - rm "${EROOT}${dir}/icon-theme.cache" + rm "${dir}/icon-theme.cache" fi - if [[ -z $(ls "${EROOT}${dir}") ]]; then + if [[ -z $(ls "${dir}") ]]; then # Clear empty theme directories after theme uninstallation - rmdir "${EROOT}${dir}" + rmdir "${dir}" fi done diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass index bb538dd191..feb6301221 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnome2.eclass # @MAINTAINER: @@ -54,11 +53,11 @@ fi # @ECLASS-VARIABLE: GCONF_DEBUG # @DEFAULT_UNSET -# @DESCRIPTION: +# @DESCRIPTION: # Whether to handle debug or not. # Some gnome applications support various levels of debugging (yes, no, minimum, -# etc), but using --disable-debug also removes g_assert which makes debugging -# harder. This variable should be set to yes for such packages for the eclass +# etc), but using --disable-debug also removes g_assert which makes debugging +# harder. This variable should be set to yes for such packages for the eclass # to handle it properly. It will enable minimal debug with USE=-debug. # Note that this is most commonly found in configure.ac as GNOME_DEBUG_CHECK. # @@ -69,7 +68,7 @@ if has ${EAPI:-0} 4 5; then IUSE="debug" fi fi - + # @ECLASS-VARIABLE: GNOME2_ECLASS_GIO_MODULES # @INTERNAL # @DESCRIPTION: @@ -338,7 +337,9 @@ gnome2_pkg_preinst() { gnome2_pkg_postinst() { xdg_pkg_postinst gnome2_gconf_install - gnome2_icon_cache_update + if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then + gnome2_icon_cache_update + fi gnome2_schemas_update gnome2_scrollkeeper_update gnome2_gdk_pixbuf_update diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnuconfig.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnuconfig.eclass index a0d6e1743b..f43647ef6f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnuconfig.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnuconfig.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # THIS ECLASS IS DEAD: It has been integrated into portage # diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnustep-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnustep-2.eclass index 95a13095b0..4d44f93612 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnustep-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnustep-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnustep-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnustep-base.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnustep-base.eclass index bca37c0e9c..e1bf9186b8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnustep-base.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnustep-base.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gnustep-base.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/go-mono.eclass b/sdk_container/src/third_party/portage-stable/eclass/go-mono.eclass index 3ff2ad4001..5ab6b671ca 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/go-mono.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/go-mono.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: go-mono.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/golang-base.eclass b/sdk_container/src/third_party/portage-stable/eclass/golang-base.eclass index 0798040c03..0cfd07e742 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/golang-base.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/golang-base.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: golang-build.eclass # @MAINTAINER: @@ -23,7 +22,7 @@ if [[ -z ${_GOLANG_BASE} ]]; then _GOLANG_BASE=1 -DEPEND=">=dev-lang/go-1.4.2:=" +DEPEND=">=dev-lang/go-1.7:=" # Do not complain about CFLAGS etc since go projects do not use them. QA_FLAGS_IGNORED='.*' diff --git a/sdk_container/src/third_party/portage-stable/eclass/golang-build.eclass b/sdk_container/src/third_party/portage-stable/eclass/golang-build.eclass index cc2a2ec894..2d83211484 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/golang-build.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/golang-build.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: golang-build.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/golang-vcs-snapshot.eclass b/sdk_container/src/third_party/portage-stable/eclass/golang-vcs-snapshot.eclass index 2d84c28d0c..0bc2d8e001 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/golang-vcs-snapshot.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/golang-vcs-snapshot.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: golang-vcs-snapshot.eclass # @MAINTAINER: @@ -11,9 +10,12 @@ # This eclass provides a convenience src_unpack() which unpacks the # first tarball mentioned in SRC_URI to its appropriate location in # ${WORKDIR}/${P}, treating ${WORKDIR}/${P} as a go workspace. +# Also, it provides a downstream method of vendoring packages. # # The location where the tarball is extracted is defined as -# ${WORKDIR}/${P}/src/${EGO_PN}. +# ${WORKDIR}/${P}/src/${EGO_PN}. The location of vendored packages is +# defined as ${WORKDIR}/${P}/src/${EGO_PN%/*}/vendor to match Go's +# vendoring setup. # # The typical use case is VCS snapshots coming from github, bitbucket # and similar services. @@ -25,13 +27,20 @@ # # @CODE # EGO_PN=github.com/user/package +# EGO_VENDOR=( +# "github.com/xenolf/lego 6cac0ea7d8b28c889f709ec7fa92e92b82f490dd" +# "golang.org/x/crypto 453249f01cfeb54c3d549ddb75ff152ca243f9d8 github.com/golang/crypto" +# ) +# # inherit golang-vcs-snapshot # -# SRC_URI="http://github.com/example/${PN}/tarball/v${PV} -> ${P}.tar.gz" +# SRC_URI="http://github.com/example/${PN}/tarball/v${PV} -> ${P}.tar.gz +# ${EGO_VENDOR_URI}" # @CODE # # The above example will extract the tarball to # ${WORKDIR}/${P}/src/github.com/user/package +# and add the vendored tarballs to ${WORKDIR}/src/${EGO_PN}/vendor inherit golang-base @@ -42,15 +51,67 @@ esac EXPORT_FUNCTIONS src_unpack +# @ECLASS-VARIABLE: EGO_VENDOR +# @DESCRIPTION: +# This variable contains a list of vendored packages. +# The items of this array are strings that contain the +# import path and the git commit hash for a vendored package. +# If the import path does not start with github.com, the third argument +# can be used to point to a github repository. + +declare -arg EGO_VENDOR + +_golang-vcs-snapshot_set_vendor_uri() { + EGO_VENDOR_URI= + local lib + for lib in "${EGO_VENDOR[@]}"; do + lib=(${lib}) + if [[ -n ${lib[2]} ]]; then + EGO_VENDOR_URI+=" https://${lib[2]}/archive/${lib[1]}.tar.gz -> ${lib[2]//\//-}-${lib[1]}.tar.gz" + else + EGO_VENDOR_URI+=" https://${lib[0]}/archive/${lib[1]}.tar.gz -> ${lib[0]//\//-}-${lib[1]}.tar.gz" + fi + done + readonly EGO_VENDOR_URI +} + +_golang-vcs-snapshot_set_vendor_uri +unset -f _golang-vcs-snapshot_set_vendor_uri + +_golang-vcs-snapshot_dovendor() { + local VENDOR_PATH=$1 VENDORPN=$2 TARBALL=$3 + rm -fr "${VENDOR_PATH}/${VENDORPN}" || die + mkdir -p "${VENDOR_PATH}/${VENDORPN}" || die + tar -C "${VENDOR_PATH}/${VENDORPN}" -x --strip-components 1\ + -f "${DISTDIR}"/${TARBALL} || die +} + # @FUNCTION: golang-vcs-snapshot_src_unpack # @DESCRIPTION: # Extract the first archive from ${A} to the appropriate location for GOPATH. golang-vcs-snapshot_src_unpack() { - local x + local lib vendor_path x ego_pn_check set -- ${A} x="$1" mkdir -p "${WORKDIR}/${P}/src/${EGO_PN%/...}" || die tar -C "${WORKDIR}/${P}/src/${EGO_PN%/...}" -x --strip-components 1 \ -f "${DISTDIR}/${x}" || die + + if [[ -n "${EGO_VENDOR}" ]]; then + vendor_path="${WORKDIR}/${P}/src/${EGO_PN%/...}/vendor" + mkdir -p "${vendor_path}" || die + for lib in "${EGO_VENDOR[@]}"; do + lib=(${lib}) + if [[ -n ${lib[2]} ]]; then + einfo "Vendoring ${lib[0]} ${lib[2]//\//-}-${lib[1]}.tar.gz" + _golang-vcs-snapshot_dovendor "${vendor_path}" ${lib[0]} \ + ${lib[2]//\//-}-${lib[1]}.tar.gz + else + einfo "Vendoring ${lib[0]} ${lib[0]//\//-}-${lib[1]}.tar.gz" + _golang-vcs-snapshot_dovendor "${vendor_path}" ${lib[0]} \ + ${lib[0]//\//-}-${lib[1]}.tar.gz + fi + done + fi } diff --git a/sdk_container/src/third_party/portage-stable/eclass/golang-vcs.eclass b/sdk_container/src/third_party/portage-stable/eclass/golang-vcs.eclass index 6448ddda6f..b95ee29178 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/golang-vcs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/golang-vcs.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: golang-vcs.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gpe.eclass b/sdk_container/src/third_party/portage-stable/eclass/gpe.eclass index e214613853..d719d54b6b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gpe.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gpe.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gpe.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-bad.eclass b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-bad.eclass index 6340714cd5..c293003e98 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-bad.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-bad.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gst-plugins10-bad.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-base.eclass b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-base.eclass index aa48a4a18e..746a4bb9d7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-base.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-base.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gst-plugins-base.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-good.eclass b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-good.eclass index 6b8990dba1..774a4f5f6d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-good.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-good.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gst-plugins-good.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-ugly.eclass b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-ugly.eclass index dece79fdae..092e56683e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-ugly.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins-ugly.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gst-plugins-ugly.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins10.eclass b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins10.eclass index 6c0c9124f4..4e660ad92b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins10.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins10.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gst-plugins10.eclass # @MAINTAINER: @@ -263,7 +262,7 @@ gst-plugins10_src_configure() { # Compiles requested gstreamer plugin. gst-plugins10_src_compile() { local plugin_dir - + has ${EAPI:-0} 0 1 && gst-plugins10_src_configure "$@" for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do @@ -282,7 +281,7 @@ gst-plugins10_src_compile() { # Installs requested gstreamer plugin. gst-plugins10_src_install() { local plugin_dir - + for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do gst-plugins10_find_plugin_dir ${plugin_dir} diff --git a/sdk_container/src/third_party/portage-stable/eclass/gstreamer.eclass b/sdk_container/src/third_party/portage-stable/eclass/gstreamer.eclass index dd5bf2c89f..ec65dbe3a1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gstreamer.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gstreamer.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gstreamer.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-module.eclass index 772cbe5734..be8857f760 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-module.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: gtk-sharp-module.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass b/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass index 0f43464582..473eb6dcbb 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/haskell-cabal.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: haskell-cabal.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/intel-sdp.eclass b/sdk_container/src/third_party/portage-stable/eclass/intel-sdp.eclass index 33ab625eed..268cb74bbc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/intel-sdp.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/intel-sdp.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: intel-sdp.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-ant-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-ant-2.eclass index 4cbce40b1a..db8404a3c2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-ant-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-ant-2.eclass @@ -1,6 +1,5 @@ -# Copyright 2004-2015 Gentoo Foundation +# Copyright 2004-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-ant-2.eclass # @MAINTAINER: @@ -161,33 +160,16 @@ java-ant_bsfix() { find_args="${find_args} -type f ( -name ${JAVA_PKG_BSFIX_NAME// / -o -name } )" - # This voodoo is done for paths with spaces - local bsfix_these - while read line; do - [[ -z ${line} ]] && continue - bsfix_these="${bsfix_these} '${line}'" - done <<-EOF - $(find . ${find_args}) - EOF + local bsfix_these=() line + while IFS= read -r -d $'\0' line; do + bsfix_these+=( "${line}" ) + done < <(find . ${find_args} -print0) - [[ "${bsfix_these// /}" ]] && eval java-ant_bsfix_files ${bsfix_these} + [[ "${bsfix_these[@]}" ]] && java-ant_bsfix_files "${bsfix_these[@]}" popd > /dev/null || die } -_bsfix_die() { - if has_version dev-python/pyxml; then - eerror "If the output above contains:" - eerror "ImportError:" - eerror "/usr/lib/python2.4/site-packages/_xmlplus/parsers/pyexpat.so:" - eerror "undefined symbol: PyUnicodeUCS2_DecodeUTF8" - eerror "Try re-emerging dev-python/pyxml" - die ${1} " Look at the eerror message above" - else - die ${1} - fi -} - # @FUNCTION: java-ant_bsfix_files # @USAGE: [path/to/second.build.xml ...] # @DESCRIPTION: @@ -228,7 +210,7 @@ java-ant_bsfix_files() { eerror "Please file a bug about this on bugs.gentoo.org" die "Could not find valid -source/-target values" else - local files + local files=() for file in "${@}"; do debug-print "${FUNCNAME}: ${file}" @@ -241,59 +223,30 @@ java-ant_bsfix_files() { chmod u+w "${file}" || die "chmod u+w ${file} failed" fi - files="${files} -f '${file}'" + files+=( -f "${file}" ) done - # for javadoc target and all in one pass, we need the new rewriter. - local rewriter3="${EPREFIX}/usr/share/javatoolkit/xml-rewrite-3.py" - if [[ ! -f ${rewriter3} ]]; then - rewriter3="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-3.py" - fi - + local rewriter3="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-3.py" local rewriter4="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/build-xml-rewrite" if [[ -x ${rewriter4} && ${JAVA_ANT_ENCODING} ]]; then [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] && local gcp="-g" [[ ${JAVA_ANT_ENCODING} ]] && local enc="-e ${JAVA_ANT_ENCODING}" - eval echo "cElementTree rewriter" + echo "cElementTree rewriter" debug-print "${rewriter4} extra args: ${gcp} ${enc}" ${rewriter4} ${gcp} ${enc} \ -c "${JAVA_PKG_BSFIX_SOURCE_TAGS}" source ${want_source} \ -c "${JAVA_PKG_BSFIX_TARGET_TAGS}" target ${want_target} \ "${@}" || die "build-xml-rewrite failed" - elif [[ ! -f ${rewriter3} ]]; then - debug-print "Using second generation rewriter" - eval echo "Rewriting source attributes" - eval xml-rewrite-2.py ${files} \ - -c -e ${JAVA_PKG_BSFIX_SOURCE_TAGS// / -e } \ - -a source -v ${want_source} || _bsfix_die "xml-rewrite2 failed: ${file}" - - eval echo "Rewriting target attributes" - eval xml-rewrite-2.py ${files} \ - -c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \ - -a target -v ${want_target} || _bsfix_die "xml-rewrite2 failed: ${file}" - - eval echo "Rewriting nowarn attributes" - eval xml-rewrite-2.py ${files} \ - -c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \ - -a nowarn -v yes || _bsfix_die "xml-rewrite2 failed: ${file}" - - if [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then - eval echo "Adding gentoo.classpath to javac tasks" - eval xml-rewrite-2.py ${files} \ - -c -e javac -e xjavac -a classpath -v \ - '\${gentoo.classpath}' \ - || _bsfix_die "xml-rewrite2 failed" - fi else debug-print "Using third generation rewriter" - eval echo "Rewriting attributes" - local bsfix_extra_args="" + echo "Rewriting attributes" + local bsfix_extra_args=() # WARNING KEEP THE ORDER, ESPECIALLY FOR CHANGED ATTRIBUTES! if [[ -n ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then local cp_tags="${JAVA_ANT_CLASSPATH_TAGS// / -e }" - bsfix_extra_args="${bsfix_extra_args} -g -e ${cp_tags}" - bsfix_extra_args="${bsfix_extra_args} -a classpath -v '\${gentoo.classpath}'" + bsfix_extra_args+=( -g -e ${cp_tags} ) + bsfix_extra_args+=( -a classpath -v '${gentoo.classpath}' ) fi if [[ -n ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]]; then if [[ -n ${JAVA_ANT_JAVADOC_OUTPUT_DIR} ]]; then @@ -317,12 +270,12 @@ java-ant_bsfix_files() { die "You must specify directories for javadoc input/output dirs." fi done - bsfix_extra_args="${bsfix_extra_args} --javadoc --source-directory " + bsfix_extra_args+=( --javadoc --source-directory ) # filter third/double spaces JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS// /} JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS// /} - bsfix_extra_args="${bsfix_extra_args} ${JAVA_ANT_JAVADOC_INPUT_DIRS// / --source-directory }" - bsfix_extra_args="${bsfix_extra_args} --output-directory ${JAVA_ANT_JAVADOC_OUTPUT_DIR}" + bsfix_extra_args+=( ${JAVA_ANT_JAVADOC_INPUT_DIRS// / --source-directory } ) + bsfix_extra_args+=( --output-directory "${JAVA_ANT_JAVADOC_OUTPUT_DIR}" ) fi else die "You need to have doc in IUSE when using JAVA_ANT_JAVADOC_INPUT_DIRS" @@ -330,18 +283,18 @@ java-ant_bsfix_files() { fi [[ -n ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \ - && bsfix_extra_args="${bsfix_extra_args} ${JAVA_ANT_BSFIX_EXTRA_ARGS}" + && bsfix_extra_args+=( ${JAVA_ANT_BSFIX_EXTRA_ARGS} ) - debug-print "bsfix_extra_args: ${bsfix_extra_args}" + debug-print "bsfix_extra_args: ${bsfix_extra_args[*]}" - eval ${rewriter3} ${files} \ + ${rewriter3} "${files[@]}" \ -c --source-element ${JAVA_PKG_BSFIX_SOURCE_TAGS// / --source-element } \ --source-attribute source --source-value ${want_source} \ --target-element ${JAVA_PKG_BSFIX_TARGET_TAGS// / --target-element } \ --target-attribute target --target-value ${want_target} \ --target-attribute nowarn --target-value yes \ - ${bsfix_extra_args} \ - || _bsfix_die "xml-rewrite2 failed: ${file}" + "${bsfix_extra_args[@]}" \ + || die "xml-rewrite-3 failed: ${file}" fi if [[ -n "${JAVA_PKG_DEBUG}" ]]; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-osgi.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-osgi.eclass index 62f3046445..bb8c1d8575 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-osgi.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-osgi.eclass @@ -1,6 +1,5 @@ # Copyright 2007-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-osgi.eclass # @MAINTAINER: @@ -244,7 +243,7 @@ java-osgi_newjar-fromfile() { fi } -# @FUNCTION: java-osgi_dojar-fromfile() +# @FUNCTION: java-osgi_dojar-fromfile # @USAGE: # @DESCRIPTION: # This function produces an OSGi compliant jar from a given manifestfile. diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-pkg-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-pkg-2.eclass index 8a657844fb..bd5e92da6a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-pkg-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-pkg-2.eclass @@ -1,6 +1,5 @@ # Copyright 2004-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-pkg-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-pkg-opt-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-pkg-opt-2.eclass index 20c4cbc471..16c9f8fcbf 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-pkg-opt-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-pkg-opt-2.eclass @@ -1,6 +1,5 @@ # Copyright 2004-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-pkg-opt-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-pkg-simple.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-pkg-simple.eclass index fa6fc400e9..0b16cd5d40 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-pkg-simple.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-pkg-simple.eclass @@ -1,6 +1,5 @@ # Copyright 2004-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-pkg-simple.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass index d2af9f292a..a09a8c951e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-utils-2.eclass @@ -1,6 +1,5 @@ # Copyright 2004-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-utils-2.eclass # @MAINTAINER: @@ -590,13 +589,13 @@ java-pkg_sointo() { java-pkg_dohtml() { debug-print-function ${FUNCNAME} $* - [[ ${#} -lt 1 ]] && die "At least one argument required for ${FUNCNAME}" + [[ ${#} -lt 1 ]] && die "At least one argument required for ${FUNCNAME}" - # from /usr/lib/portage/bin/dohtml -h - # -f Set list of allowed extensionless file names. - dohtml -f package-list "$@" + # Do away with dohtml and rely on dodoc instead to do the deed. + docinto html + dodoc "$@" - # this probably shouldn't be here but it provides + # This probably shouldn't be here but it provides # a reasonable way to catch # docs for all of the # old ebuilds. java-pkg_recordjavadoc diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-virtuals-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-virtuals-2.eclass index 8018aa8c6c..987ff44836 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-virtuals-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-virtuals-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-virtuals-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-vm-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-vm-2.eclass index ea09c7b6fa..4e053deb0e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/java-vm-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/java-vm-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: java-vm-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass index 35909a0eb0..4dc4e0042a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde4-base.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kde4-base.eclass # @MAINTAINER: @@ -477,6 +476,9 @@ _calculate_src_uri() { 4.14.10) # Part of 15.04.3 actually, sigh. Used by last version of KDE PIM 4. SRC_URI="mirror://kde/Attic/applications/15.04.3/src/${_kmname_pv}.tar.xz" ;; + 4.14.11*) + # KDEPIM 4.14 snapshot with Gentoo patches + SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${_kmname_pv}.tar.xz" ;; ??.?.[6-9]? | ??.??.[4-9]?) # Unstable KDE Applications releases SRC_URI="mirror://kde/unstable/applications/${PV}/src/${_kmname}-${PV}.tar.xz" ;; @@ -908,7 +910,9 @@ kde4-base_pkg_preinst() { kde4-base_pkg_postinst() { debug-print-function ${FUNCNAME} "$@" - gnome2_icon_cache_update + if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then + gnome2_icon_cache_update + fi fdo-mime_desktop_database_update fdo-mime_mime_database_update buildsycoca diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde4-functions.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde4-functions.eclass index 0c130a1daf..fc37db293c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde4-functions.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde4-functions.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kde4-functions.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde4-meta.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde4-meta.eclass index 1102a6037a..e07161d216 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde4-meta.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde4-meta.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: kde4-meta.eclass # @MAINTAINER: @@ -185,7 +184,7 @@ kde4-meta_src_extract() { if [[ ${PV} =~ 4.4.11 ]]; then postfix="bz2" KMTARPARAMS+=" --bzip2" - elif [[ ${PV} =~ _pre ]]; then + elif [[ ${PV} =~ _pre20160211 ]]; then postfix="gz" KMTARPARAMS+=" --gz" else @@ -201,7 +200,7 @@ kde4-meta_src_extract() { # Detect real toplevel dir from tarball name - it will be used upon extraction # and in _list_needed_subdirectories topdir="${tarball%.tar.*}/" - if [[ ${topdir} =~ _pre ]]; then + if [[ ${topdir} =~ _pre20160211 ]]; then topdir="${topdir%-$PV*}/" fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass index ad3a4488d9..574716299e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde5-functions.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kde5-functions.eclass # @MAINTAINER: @@ -36,14 +35,25 @@ case ${CATEGORY} in [[ ${KDE_BUILD_TYPE} = live ]] && : ${FRAMEWORKS_MINIMAL:=9999} ;; kde-plasma) - if ! [[ $(get_version_component_range 2) -le 8 && $(get_version_component_range 3) -lt 50 ]]; then + if [[ $(get_version_component_range 2) -ge 9 ]]; then : ${QT_MINIMAL:=5.7.1} fi - if [[ ${KDE_BUILD_TYPE} = live ]]; then + if ! [[ $(get_version_component_range 2) -le 9 && $(get_version_component_range 3) -lt 50 ]]; then + : ${FRAMEWORKS_MINIMAL:=5.34.0} + fi + if [[ ${KDE_BUILD_TYPE} = live && $(get_version_component_range 2) -ne 8 ]]; then : ${FRAMEWORKS_MINIMAL:=9999} : ${QT_MINIMAL:=5.7.1} fi ;; + kde-apps) + if [[ $(get_version_component_range 1) -ge 17 ]]; then + : ${FRAMEWORKS_MINIMAL:=5.32.0} + fi + if [[ ${KDE_BUILD_TYPE} = live ]]; then + : ${QT_MINIMAL:=5.7.1} + fi + ;; esac # @ECLASS-VARIABLE: QT_MINIMAL diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde5-meta-pkg.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde5-meta-pkg.eclass index a156d8b6b5..c8415d392a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde5-meta-pkg.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde5-meta-pkg.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kde5-meta-pkg.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass index a0494554fa..102a41545a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde5.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kde5.eclass # @MAINTAINER: @@ -173,13 +172,21 @@ case ${KDE_AUTODEPS} in RDEPEND+=" >=kde-frameworks/kf-env-4" COMMONDEPEND+=" $(add_qt_dep qtcore)" - if [[ ${CATEGORY} = kde-frameworks || ${CATEGORY} = kde-plasma && ${PN} != polkit-kde-agent ]]; then - RDEPEND+=" ! /dev/null || die - local lang - for lang in *; do - if [[ -d ${lang} ]] && ! has ${lang} ${LINGUAS} ; then - rm -r ${lang} || die - if [[ -e CMakeLists.txt ]] ; then - cmake_comment_add_subdirectory ${lang} + # enable only the requested translations when required + if [[ -v LINGUAS ]] ; then + local po + for po in po poqm; do + if [[ -d ${po} ]] ; then + pushd ${po} > /dev/null || die + local lang + for lang in *; do + if [[ -d ${lang} ]] && ! has ${lang} ${LINGUAS} ; then + rm -r ${lang} || die + if [[ -e CMakeLists.txt ]] ; then + cmake_comment_add_subdirectory ${lang} + sed -e "/add_subdirectory([[:space:]]*${lang}\/.*[[:space:]]*)/d" \ + -i CMakeLists.txt || die + fi + elif [[ -f ${lang} ]] && ! has ${lang/.po/} ${LINGUAS} ; then + if [[ ${lang} != CMakeLists.txt && ${lang} != ${PN}.pot ]] ; then + rm ${lang} || die + fi fi - elif [[ -f ${lang} ]] && ! has ${lang/.po/} ${LINGUAS} ; then - if [[ ${lang} != CMakeLists.txt && ${lang} != ${PN}.pot ]] ; then - rm ${lang} || die - fi - fi + done + popd > /dev/null || die + fi done - popd > /dev/null || die fi if [[ ${KDE_BUILD_TYPE} = release && ${CATEGORY} != kde-apps ]] ; then @@ -705,7 +723,9 @@ kde5_pkg_preinst() { kde5_pkg_postinst() { debug-print-function ${FUNCNAME} "$@" - gnome2_icon_cache_update + if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then + gnome2_icon_cache_update + fi xdg_pkg_postinst if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass index 0c9ce04378..db4a3bf720 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kernel-2.eclass @@ -1,11 +1,10 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kernel-2.eclass -# @MAINTAINER: +# @MAINTAINER: # Gentoo Kernel project -# @AUTHOR: +# @AUTHOR: # John Mylchreest # Mike Pagano # @@ -25,25 +24,25 @@ # this is useful for things like wolk. IE: # EXTRAVERSION would be something like : -wolk-4.19-r1 -# @ECLASS-VARIABLE: K_NOSETEXTRAVERSION +# @ECLASS-VARIABLE: K_NOSETEXTRAVERSION # @DEFAULT_UNSET # @DESCRIPTION: # if this is set then EXTRAVERSION will not be # automatically set within the kernel Makefile -# @ECLASS-VARIABLE: K_NOUSENAME +# @ECLASS-VARIABLE: K_NOUSENAME # @DEFAULT_UNSET # @DESCRIPTION: # if this is set then EXTRAVERSION will not include the # first part of ${PN} in EXTRAVERSION -# @ECLASS-VARIABLE: K_NOUSEPR +# @ECLASS-VARIABLE: K_NOUSEPR # @DEFAULT_UNSET # @DESCRIPTION: # if this is set then EXTRAVERSION will not include the # anything based on ${PR}. -# @ECLASS-VARIABLE: K_PREPATCHED +# @ECLASS-VARIABLE: K_PREPATCHED # @DEFAULT_UNSET # @DESCRIPTION: # if the patchset is prepatched (ie: mm-sources, @@ -51,72 +50,72 @@ # the patchset version for # and not use it as a true package revision -# @ECLASS-VARIABLE: K_EXTRAEINFO +# @ECLASS-VARIABLE: K_EXTRAEINFO # @DEFAULT_UNSET # @DESCRIPTION: # this is a new-line seperated list of einfo displays in # postinst and can be used to carry additional postinst # messages -# @ECLASS-VARIABLE: K_EXTRAELOG +# @ECLASS-VARIABLE: K_EXTRAELOG # @DEFAULT_UNSET # @DESCRIPTION: # same as K_EXTRAEINFO except using elog instead of einfo -# @ECLASS-VARIABLE: K_EXTRAEWARN +# @ECLASS-VARIABLE: K_EXTRAEWARN # @DEFAULT_UNSET # @DESCRIPTION: # same as K_EXTRAEINFO except using ewarn instead of einfo -# @ECLASS-VARIABLE: K_SYMLINK +# @ECLASS-VARIABLE: K_SYMLINK # @DEFAULT_UNSET # @DESCRIPTION: # if this is set, then forcably create symlink anyway -# @ECLASS-VARIABLE: K_BASE_VER +# @ECLASS-VARIABLE: K_BASE_VER # @DEFAULT_UNSET # @DESCRIPTION: # for git-sources, declare the base version this patch is # based off of. -# @ECLASS-VARIABLE: K_DEFCONFIG +# @ECLASS-VARIABLE: K_DEFCONFIG # @DEFAULT_UNSET # @DESCRIPTION: # Allow specifying a different defconfig target. # If length zero, defaults to "defconfig". -# @ECLASS-VARIABLE: K_WANT_GENPATCHES +# @ECLASS-VARIABLE: K_WANT_GENPATCHES # @DEFAULT_UNSET # @DESCRIPTION: # Apply genpatches to kernel source. Provide any # combination of "base", "extras" or "experimental". -# @ECLASS-VARIABLE: K_EXP_GENPATCHES_PULL +# @ECLASS-VARIABLE: K_EXP_GENPATCHES_PULL # @DEFAULT_UNSET # @DESCRIPTION: # If set, we pull "experimental" regardless of the USE FLAG # but expect the ebuild maintainer to use K_EXP_GENPATCHES_LIST. -# @ECLASS-VARIABLE: K_EXP_GENPATCHES_NOUSE +# @ECLASS-VARIABLE: K_EXP_GENPATCHES_NOUSE # @DEFAULT_UNSET # @DESCRIPTION: # If set, no USE flag will be provided for "experimental"; # as a result the user cannot choose to apply those patches. -# @ECLASS-VARIABLE: K_EXP_GENPATCHES_LIST +# @ECLASS-VARIABLE: K_EXP_GENPATCHES_LIST # @DEFAULT_UNSET # @DESCRIPTION: # A list of patches to pick from "experimental" to apply when # the USE flag is unset and K_EXP_GENPATCHES_PULL is set. -# @ECLASS-VARIABLE: K_FROM_GIT +# @ECLASS-VARIABLE: K_FROM_GIT # @DEFAULT_UNSET # @DESCRIPTION: -# If set, this variable signals that the kernel sources derives -# from a git tree and special handling will be applied so that +# If set, this variable signals that the kernel sources derives +# from a git tree and special handling will be applied so that # any patches that are applied will actually apply. -# @ECLASS-VARIABLE: K_GENPATCHES_VER +# @ECLASS-VARIABLE: K_GENPATCHES_VER # @DEFAULT_UNSET # @DESCRIPTION: # The version of the genpatches tarball(s) to apply. @@ -129,45 +128,45 @@ # If set, this kernel is unsupported by Gentoo Security # to the current eclass maintainer :) -# @ECLASS-VARIABLE: K_DEBLOB_AVAILABLE +# @ECLASS-VARIABLE: K_DEBLOB_AVAILABLE # @DEFAULT_UNSET # @DESCRIPTION: # A value of "0" will disable all of the optional deblob # code. If empty, will be set to "1" if deblobbing is # possible. Test ONLY for "1". -# @ECLASS-VARIABLE: K_DEBLOB_TAG +# @ECLASS-VARIABLE: K_DEBLOB_TAG # @DEFAULT_UNSET # @DESCRIPTION: # This will be the version of deblob script. It's a upstream SVN tag # such asw -gnu or -gnu1. -# @ECLASS-VARIABLE: K_PREDEBLOBBED +# @ECLASS-VARIABLE: K_PREDEBLOBBED # @DEFAULT_UNSET # @DESCRIPTION: # This kernel was already deblobbed elsewhere. # If false, either optional deblobbing will be available # or the license will note the inclusion of freedist code. -# @ECLASS-VARIABLE: K_LONGTERM +# @ECLASS-VARIABLE: K_LONGTERM # @DEFAULT_UNSET # @DESCRIPTION: # If set, the eclass will search for the kernel source # in the long term directories on the upstream servers # as the location has been changed by upstream -# @ECLASS-VARIABLE: H_SUPPORTEDARCH +# @ECLASS-VARIABLE: H_SUPPORTEDARCH # @DEFAULT_UNSET # @DESCRIPTION: # this should be a space separated list of ARCH's which # can be supported by the headers ebuild -# @ECLASS-VARIABLE: UNIPATCH_LIST +# @ECLASS-VARIABLE: UNIPATCH_LIST # @DEFAULT_UNSET # @DESCRIPTION: # space delimetered list of patches to be applied to the kernel -# @ECLASS-VARIABLE: UNIPATCH_EXCLUDE +# @ECLASS-VARIABLE: UNIPATCH_EXCLUDE # @DEFAULT_UNSET # @DESCRIPTION: # An addition var to support exlusion based completely @@ -175,13 +174,13 @@ # this should _NOT_ be used from the ebuild as this is # reserved for end users passing excludes from the cli -# @ECLASS-VARIABLE: UNIPATCH_DOCS +# @ECLASS-VARIABLE: UNIPATCH_DOCS # @DEFAULT_UNSET # @DESCRIPTION: # space delimemeted list of docs to be installed to # the doc dir -# @ECLASS-VARIABLE: UNIPATCH_STRICTORDER +# @ECLASS-VARIABLE: UNIPATCH_STRICTORDER # @DEFAULT_UNSET # @DESCRIPTION: # if this is set places patches into directories of @@ -198,7 +197,7 @@ case ${EAPI:-0} in 0|1) EXPORT_FUNCTIONS src_{unpack,compile,install,test} \ pkg_{setup,preinst,postinst,postrm} ;; - 2|3|4|5) + 2|3|4|5|6) EXPORT_FUNCTIONS src_{unpack,prepare,compile,install,test} \ pkg_{setup,preinst,postinst,postrm} ;; *) die "${ECLASS}: EAPI ${EAPI} not supported" ;; @@ -233,7 +232,7 @@ RESTRICT="binchecks strip" # @FUNCTION: debug-print-kernel2-variables # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # this function exists only to help debug kernel-2.eclass # if you are adding new functionality in, put a call to it # at the start of src_unpack, or during SRC_URI/dep generation. @@ -306,7 +305,7 @@ handle_genpatches() { # @FUNCTION: detect_version # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # this function will detect and set # - OKV: Original Kernel Version (2.6.0/2.6.0-test11) # - KV: Kernel Version (2.6.0-gentoo/2.6.0-test11-gentoo-r1) @@ -538,7 +537,7 @@ detect_version() { # @FUNCTION: kernel_is # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # user for comparing kernel versions # or just identifying a version # e.g kernel_is 2 4 @@ -572,16 +571,16 @@ kernel_is() { # @FUNCTION: kernel_is_2_4 # @USAGE: -# @DESCRIPTION: -# return true if kernel is version 2.4 +# @DESCRIPTION: +# return true if kernel is version 2.4 kernel_is_2_4() { kernel_is 2 4 } # @FUNCTION: kernel_is_2_6 # @USAGE: -# @DESCRIPTION: -# return true if kernel is version 2.6 +# @DESCRIPTION: +# return true if kernel is version 2.6 kernel_is_2_6() { kernel_is 2 6 || kernel_is 2 5 } @@ -671,7 +670,7 @@ fi # @FUNCTION: kernel_header_destdir # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # return header destination directory kernel_header_destdir() { [[ ${CTARGET} == ${CHOST} ]] \ @@ -681,15 +680,15 @@ kernel_header_destdir() { # @FUNCTION: cross_pre_c_headers # @USAGE: -# @DESCRIPTION: -# set use if necessary for cross compile support +# @DESCRIPTION: +# set use if necessary for cross compile support cross_pre_c_headers() { use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]] } # @FUNCTION: env_setup_xmakeopts # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # set the ARCH/CROSS_COMPILE when cross compiling env_setup_xmakeopts() { @@ -709,7 +708,7 @@ env_setup_xmakeopts() { # @FUNCTION: unpack_2_4 # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # unpack and generate .config for 2.4 kernels unpack_2_4() { @@ -723,7 +722,7 @@ unpack_2_4() { # @FUNCTION: unpack_2_6 # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # unpack and generate .config for 2.6 kernels unpack_2_6() { @@ -749,8 +748,8 @@ unpack_2_6() { # @FUNCTION: universal_unpack # @USAGE: -# @DESCRIPTION: -# unpack kernel sources +# @DESCRIPTION: +# unpack kernel sources universal_unpack() { debug-print "Inside universal_unpack" @@ -793,8 +792,8 @@ universal_unpack() { # @FUNCTION: unpack_set_extraversion # @USAGE: -# @DESCRIPTION: -# handle EXTRAVERSION +# @DESCRIPTION: +# handle EXTRAVERSION unpack_set_extraversion() { cd "${S}" @@ -804,7 +803,7 @@ unpack_set_extraversion() { # @FUNCTION: unpack_fix_install_path # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # Should be done after patches have been applied # Otherwise patches that modify the same area of Makefile will fail @@ -817,7 +816,7 @@ unpack_fix_install_path() { # @FUNCTION: compile_headers # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # header compilation compile_headers() { @@ -874,7 +873,7 @@ compile_headers() { # @FUNCTION: compile_headers_tweak_config # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # some targets can be very very picky, so let's finesse the # .config based upon any info we may have @@ -894,7 +893,7 @@ compile_headers_tweak_config() { # @FUNCTION: install_universal # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # Fix permissions in tarball install_universal() { @@ -906,8 +905,8 @@ install_universal() { # @FUNCTION: install_headers # @USAGE: -# @DESCRIPTION: -# Install headers +# @DESCRIPTION: +# Install headers install_headers() { local ddir=$(kernel_header_destdir) @@ -946,8 +945,8 @@ install_headers() { # @FUNCTION: install_sources # @USAGE: -# @DESCRIPTION: -# Install sources +# @DESCRIPTION: +# Install sources install_sources() { local file @@ -978,8 +977,8 @@ install_sources() { # @FUNCTION: preinst_headers # @USAGE: -# @DESCRIPTION: -# Headers preinst steps +# @DESCRIPTION: +# Headers preinst steps preinst_headers() { local ddir=$(kernel_header_destdir) @@ -989,7 +988,7 @@ preinst_headers() { # @FUNCTION: postinst_sources # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # Sources post installation function. # see inline comments @@ -1055,6 +1054,12 @@ postinst_sources() { # And now the general message. if [[ -n ${K_SECURITY_UNSUPPORTED} ]]; then ewarn "This means that it is likely to be vulnerable to recent security issues." + echo + ewarn "Upstream kernel developers recommend always running the latest " + ewarn "release of any current long term supported Linux kernel version." + ewarn "To see a list of these versions, their most current release and " + ewarn "long term support status, please go to https://www.kernel.org ." + echo ewarn "For specific information on why this kernel is unsupported, please read:" ewarn "https://wiki.gentoo.org/wiki/Project:Kernel_Security" fi @@ -1084,7 +1089,7 @@ postinst_sources() { # @FUNCTION: setup_headers # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # Determine if ${PN} supports arch setup_headers() { @@ -1104,8 +1109,8 @@ setup_headers() { # @FUNCTION: unipatch # @USAGE: -# @DESCRIPTION: -# Universal function that will apply patches to source +# @DESCRIPTION: +# Universal function that will apply patches to source unipatch() { local i x y z extention PIPE_CMD UNIPATCH_DROP KPATCH_DIR PATCH_DEPTH ELINE @@ -1123,7 +1128,7 @@ unipatch() { # We're gonna need it when doing patches with a predefined patchlevel eshopts_push -s extglob - # This function will unpack all passed tarballs, add any passed patches, + # This function will unpack all passed tarballs, add any passed patches, # and remove any passed patchnumbers # usage can be either via an env var or by params # although due to the nature we pass this within this eclass @@ -1361,7 +1366,7 @@ unipatch() { # @FUNCTION: getfilevar # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # pulled from linux-info getfilevar() { @@ -1388,7 +1393,7 @@ getfilevar() { # @FUNCTION: detect_arch # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # This function sets ARCH_URI and ARCH_PATCH # with the neccessary info for the arch sepecific compatibility # patchsets. @@ -1422,7 +1427,7 @@ detect_arch() { # @FUNCTION: headers___fix # @USAGE: -# @DESCRIPTION: +# @DESCRIPTION: # Voodoo to partially fix broken upstream headers. # note: do not put inline/asm/volatile together (breaks "inline asm volatile") @@ -1436,10 +1441,10 @@ headers___fix() { "$@" } -# @FUNCTION: kernel-2_src_unpack() +# @FUNCTION: kernel-2_src_unpack # @USAGE: -# @DESCRIPTION: -# unpack sources, handle genpatches, deblob +# @DESCRIPTION: +# unpack sources, handle genpatches, deblob kernel-2_src_unpack() { universal_unpack @@ -1501,7 +1506,7 @@ kernel-2_src_unpack() { # @FUNCTION: kernel-2_src_prepare # @USAGE: # @DESCRIPTION: -# Apply any user patches +# Apply any user patches kernel-2_src_prepare() { @@ -1517,7 +1522,7 @@ kernel-2_src_prepare() { # @FUNCTION: kernel-2_src_compile # @USAGE: # @DESCRIPTION: -# conpile headers or run deblob script +# conpile headers or run deblob script kernel-2_src_compile() { cd "${S}" @@ -1543,7 +1548,7 @@ kernel-2_src_test() { :; } # @FUNCTION: kernel-2_pkg_preinst # @DESCRIPTION: -# if ETYPE = headers, call preinst_headers +# if ETYPE = headers, call preinst_headers kernel-2_pkg_preinst() { [[ ${ETYPE} == headers ]] && preinst_headers @@ -1563,7 +1568,7 @@ kernel-2_src_install() { # @FUNCTION: kernel-2_pkg_postinst # @USAGE: # @DESCRIPTION: -# call postinst_sources for ETYPE = sources +# call postinst_sources for ETYPE = sources kernel-2_pkg_postinst() { [[ ${ETYPE} == sources ]] && postinst_sources @@ -1573,7 +1578,7 @@ kernel-2_pkg_postinst() { # @USAGE: # @DESCRIPTION: # check for supported kernel version, die if ETYPE is unknown, call setup_headers -# if necessary +# if necessary kernel-2_pkg_setup() { if kernel_is 2 4; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/kodi-addon.eclass b/sdk_container/src/third_party/portage-stable/eclass/kodi-addon.eclass index 8f48b33c3c..1a95342dc2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kodi-addon.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kodi-addon.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: kodi-addon.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/l10n.eclass b/sdk_container/src/third_party/portage-stable/eclass/l10n.eclass index 74c7a80532..27ffdf1962 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/l10n.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/l10n.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: l10n.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass b/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass index d810e28789..67f23d0843 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/latex-package.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: latex-package.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/leechcraft.eclass b/sdk_container/src/third_party/portage-stable/eclass/leechcraft.eclass index ffc647adea..49eb6f5b98 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/leechcraft.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/leechcraft.eclass @@ -1,10 +1,9 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: leechcraft.eclass # @MAINTAINER: -# leechcraft@gentoo.org +# 0xd34df00d@gmail.com # @AUTHOR: # 0xd34df00d@gmail.com # NightNord@niifaq.ru @@ -19,29 +18,27 @@ # # Thanks for original eclass to Andrian Nord . # -# Only EAPI >3 supported +# Only EAPI >4 supported case ${EAPI:-0} in - 4|5) ;; - 0|1|2|3) die "EAPI not supported, bug ebuild mantainer" ;; - *) die "Unknown EAPI, bug eclass maintainers" ;; + 6) ;; + *) die "EAPI not supported, bug ebuild mantainer" ;; esac -inherit cmake-utils toolchain-funcs versionator +inherit cmake-utils if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="git://github.com/0xd34df00d/leechcraft.git https://github.com/0xd34df00d/leechcraft.git" - EGIT_PROJECT="leechcraft" - inherit git-2 + inherit git-r3 else DEPEND="app-arch/xz-utils" - SRC_URI="http://dist.leechcraft.org/LeechCraft/${PV}/leechcraft-${PV}.tar.xz" + SRC_URI="https://dist.leechcraft.org/LeechCraft/${PV}/leechcraft-${PV}.tar.xz" S="${WORKDIR}/leechcraft-${PV}" fi -HOMEPAGE="http://leechcraft.org/" +HOMEPAGE="https://leechcraft.org/" LICENSE="Boost-1.0" # @ECLASS-VARIABLE: LEECHCRAFT_PLUGIN_CATEGORY @@ -57,27 +54,3 @@ elif [[ ${PN} != lc-core ]]; then else CMAKE_USE_DIR="${S}"/src fi - -EXPORT_FUNCTIONS "pkg_pretend" - -# @FUNCTION: leechcraft_pkg_pretend -# @DESCRIPTION: -# Determine active compiler version and refuse to build -# if it is not satisfied at least to minimal version, -# supported by upstream developers -leechcraft_pkg_pretend() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${MERGE_TYPE} != binary ]]; then - # All in-tree versions require at least gcc 4.6 - [[ $(gcc-major-version) -lt 4 ]] || \ - ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \ - && die "Sorry, but gcc 4.6 or higher is required." - # 0.6.65 monocle and all later plugins require at least gcc 4.8 - if version_is_at_least 0.6.66 || ( [[ ${PN} == lc-monocle ]] && version_is_at_least 0.6.65 ); then - [[ $(gcc-major-version) -lt 4 ]] || \ - ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 8 ]] ) \ - && die "Sorry, but gcc 4.8 or higher is required." - fi - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/libtool.eclass b/sdk_container/src/third_party/portage-stable/eclass/libtool.eclass index 47ef8128de..576abd3a5f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/libtool.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/libtool.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: libtool.eclass # @MAINTAINER: @@ -17,18 +16,10 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then _LIBTOOL_ECLASS=1 -# If an overlay has eclass overrides, but doesn't actually override the -# libtool.eclass, we'll have ECLASSDIR pointing to the active overlay's -# eclass/ dir, but libtool.eclass is still in the main Gentoo tree. So -# add a check to locate the ELT-patches/ regardless of what's going on. -# Note: Duplicated in eutils.eclass. -_LIBTOOL_ECLASSDIR_LOCAL=${BASH_SOURCE[0]%/*} +DEPEND=">=app-portage/elt-patches-20170317" + libtool_elt_patch_dir() { - local d="${ECLASSDIR}/ELT-patches" - if [[ ! -d ${d} ]] ; then - d="${_LIBTOOL_ECLASSDIR_LOCAL}/ELT-patches" - fi - echo "${d}" + echo "${EPREFIX}/usr/share/elt-patches" } inherit multilib toolchain-funcs @@ -144,7 +135,7 @@ elibtoolize() { local deptoremove= local do_shallow="no" local force="false" - local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm" + local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed target-nm ppc64le" for x in "$@" ; do case ${x} in @@ -417,6 +408,10 @@ elibtoolize() { ELT_walk_patches "${d}/configure" "${p}" ret=$? ;; + ppc64le) + ELT_walk_patches "${d}/configure" "${p}" + ret=$? + ;; *) # ltmain.sh patches are applied above ;; diff --git a/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass b/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass index 0dc7b0d002..035b722e2d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: linux-info.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass b/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass index 270eff5090..b3ea3e40f3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: linux-mod.eclass # @MAINTAINER: @@ -134,7 +133,7 @@ IUSE="kernel_linux ${MODULES_OPTIONAL_USE}" SLOT="0" RDEPEND="${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} kernel_linux? ( virtual/modutils ) ${MODULES_OPTIONAL_USE:+)}" DEPEND="${RDEPEND} - ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} + ${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} sys-apps/sed kernel_linux? ( virtual/linux-sources ) ${MODULES_OPTIONAL_USE:+)}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass new file mode 100644 index 0000000000..294e27b019 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass @@ -0,0 +1,138 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: llvm.eclass +# @MAINTAINER: +# Michał Górny +# @AUTHOR: +# Michał Górny +# @BLURB: Utility functions to build against slotted LLVM +# @DESCRIPTION: +# The llvm.eclass provides utility functions that can be used to build +# against specific version of slotted LLVM (with fallback to :0 for old +# versions). +# +# This eclass does not generate dependency strings. You need to write +# a proper dependency string yourself to guarantee that appropriate +# version of LLVM is installed. +# +# Example use for a package supporting LLVM 3.8 to 5: +# @CODE +# inherit cmake-utils llvm +# +# RDEPEND=" +# =sys-devel/llvm-3.8:0 +# ) +# " +# +# LLVM_MAX_SLOT=5 +# +# # only if you need to define one explicitly +# pkg_setup() { +# llvm_pkg_setup +# do-something-else +# } +# @CODE + +case "${EAPI:-0}" in + 0|1|2|3|4|5) + die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" + ;; + 6) + ;; + *) + die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" + ;; +esac + +EXPORT_FUNCTIONS pkg_setup + +if [[ ! ${_LLVM_ECLASS} ]]; then + +# @ECLASS-VARIABLE: LLVM_MAX_SLOT +# @DEFAULT_UNSET +# @DESCRIPTION: +# Highest LLVM slot supported by the package. Needs to be set before +# llvm_pkg_setup is called. If unset, no upper bound is assumed. + +# @ECLASS-VARIABLE: _LLVM_KNOWN_SLOTS +# @INTERNAL +# @DESCRIPTION: +# Correct values of LLVM slots, newest first. +declare -g -r _LLVM_KNOWN_SLOTS=( 5 4 ) + +# @FUNCTION: get_llvm_prefix +# @USAGE: [] +# @DESCRIPTION: +# Prints the absolute path to an LLVM install prefix corresponding to +# the newest installed version of LLVM that is not newer than +# . If no is specified, there is no upper limit. +# +# Note that the function does not support lower-bound version, so you +# need to provide correct dependencies to ensure that a new enough +# version will be always installed. Otherwise, the function could return +# a version lower than required. +get_llvm_prefix() { + debug-print-function ${FUNCNAME} "${@}" + + local max_slot=${1} + local slot + for slot in "${_LLVM_KNOWN_SLOTS[@]}"; do + # skip higher slots + if [[ -n ${max_slot} ]]; then + if [[ ${max_slot} == ${slot} ]]; then + max_slot= + else + continue + fi + fi + + local p=${EPREFIX}/usr/lib/llvm/${slot} + if [[ -x ${p}/bin/llvm-config ]]; then + echo "${p}" + return + fi + done + + # max_slot should have been unset in the iteration + if [[ -n ${max_slot} ]]; then + die "${FUNCNAME}: invalid max_slot=${max_slot}" + fi + + # fallback to :0 + # assume it's always <= 4 (the lower max_slot allowed) + p=${EPREFIX}/usr + if [[ -x ${p}/bin/llvm-config ]]; then + echo "${p}" + return + fi + + die "No LLVM slot${1:+ <= ${1}} found in PATH!" +} + +# @FUNCTION: llvm_pkg_setup +# @DESCRIPTION: +# Prepend the executable directory corresponding to the newest +# installed LLVM version that is not newer than ${LLVM_MAX_SLOT} +# to PATH. If LLVM_MAX_SLOT is unset or empty, the newest installed +# slot will be used. +# +# The PATH manipulation is only done for source builds. The function +# is a no-op when installing a binary package. +# +# If any other behavior is desired, the contents of the function +# should be inlined into the ebuild and modified as necessary. +llvm_pkg_setup() { + debug-print-function ${FUNCNAME} "${@}" + + if [[ ${MERGE_TYPE} != binary ]]; then + export PATH=$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin:${PATH} + fi +} + +_LLVM_ECLASS=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/ltprune.eclass b/sdk_container/src/third_party/portage-stable/eclass/ltprune.eclass new file mode 100644 index 0000000000..6b3e93921d --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/ltprune.eclass @@ -0,0 +1,167 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: ltprune.eclass +# @MAINTAINER: +# Michał Górny +# @BLURB: Smart .la file pruning +# @DESCRIPTION: +# A function to locate and remove unnecessary .la files. +# +# Discouraged. Whenever possible, please use much simpler: +# @CODE +# find "${D}" -name '*.la' -delete || die +# @CODE + +if [[ -z ${_LTPRUNE_ECLASS} ]]; then + +inherit toolchain-funcs + +# @FUNCTION: prune_libtool_files +# @USAGE: [--all|--modules] +# @DESCRIPTION: +# Locate unnecessary libtool files (.la) and libtool static archives +# (.a) and remove them from installation image. +# +# By default, .la files are removed whenever the static linkage can +# either be performed using pkg-config or doesn't introduce additional +# flags. +# +# If '--modules' argument is passed, .la files for modules (plugins) are +# removed as well. This is usually useful when the package installs +# plugins and the plugin loader does not use .la files. +# +# If '--all' argument is passed, all .la files are removed without +# performing any heuristic on them. You shouldn't ever use that, +# and instead report a bug in the algorithm instead. +# +# The .a files are only removed whenever corresponding .la files state +# that they should not be linked to, i.e. whenever these files +# correspond to plugins. +# +# Note: if your package installs both static libraries and .pc files +# which use variable substitution for -l flags, you need to add +# pkg-config to your DEPEND. +prune_libtool_files() { + debug-print-function ${FUNCNAME} "$@" + + local removing_all removing_modules opt + for opt; do + case "${opt}" in + --all) + removing_all=1 + removing_modules=1 + ;; + --modules) + removing_modules=1 + ;; + *) + die "Invalid argument to ${FUNCNAME}(): ${opt}" + esac + done + + local f + local queue=() + while IFS= read -r -d '' f; do # for all .la files + local archivefile=${f/%.la/.a} + + # The following check is done by libtool itself. + # It helps us avoid removing random files which match '*.la', + # see bug #468380. + if ! sed -n -e '/^# Generated by .*libtool/q0;4q1' "${f}"; then + continue + fi + + [[ ${f} != ${archivefile} ]] || die 'regex sanity check failed' + local reason= pkgconfig_scanned= + local snotlink=$(sed -n -e 's:^shouldnotlink=::p' "${f}") + + if [[ ${snotlink} == yes ]]; then + + # Remove static libs we're not supposed to link against. + if [[ -f ${archivefile} ]]; then + einfo "Removing unnecessary ${archivefile#${D%/}} (static plugin)" + queue+=( "${archivefile}" ) + fi + + # The .la file may be used by a module loader, so avoid removing it + # unless explicitly requested. + if [[ ${removing_modules} ]]; then + reason='module' + fi + + else + + # Remove .la files when: + # - user explicitly wants us to remove all .la files, + # - respective static archive doesn't exist, + # - they are covered by a .pc file already, + # - they don't provide any new information (no libs & no flags). + + if [[ ${removing_all} ]]; then + reason='requested' + elif [[ ! -f ${archivefile} ]]; then + reason='no static archive' + elif [[ ! $(sed -nre \ + "s/^(dependency_libs|inherited_linker_flags)='(.*)'$/\2/p" \ + "${f}") ]]; then + reason='no libs & flags' + else + if [[ ! ${pkgconfig_scanned} ]]; then + # Create a list of all .pc-covered libs. + local pc_libs=() + if [[ ! ${removing_all} ]]; then + local pc + local tf=${T}/prune-lt-files.pc + local pkgconf=$(tc-getPKG_CONFIG) + + while IFS= read -r -d '' pc; do # for all .pc files + local arg libs + + # Use pkg-config if available (and works), + # fallback to sed. + if ${pkgconf} --exists "${pc}" &>/dev/null; then + sed -e '/^Requires:/d' "${pc}" > "${tf}" + libs=$(${pkgconf} --libs "${tf}") + else + libs=$(sed -ne 's/^Libs://p' "${pc}") + fi + + for arg in ${libs}; do + if [[ ${arg} == -l* ]]; then + if [[ ${arg} == '*$*' ]]; then + eerror "${FUNCNAME}: variable substitution likely failed in ${pc}" + eerror "(arg: ${arg})" + eerror "Most likely, you need to add virtual/pkgconfig to DEPEND." + die "${FUNCNAME}: unsubstituted variable found in .pc" + fi + + pc_libs+=( lib${arg#-l}.la ) + fi + done + done < <(find "${D}" -type f -name '*.pc' -print0) + + rm -f "${tf}" + fi + + pkgconfig_scanned=1 + fi # pkgconfig_scanned + + has "${f##*/}" "${pc_libs[@]}" && reason='covered by .pc' + fi # removal due to .pc + + fi # shouldnotlink==no + + if [[ ${reason} ]]; then + einfo "Removing unnecessary ${f#${D%/}} (${reason})" + queue+=( "${f}" ) + fi + done < <(find "${D}" -xtype f -name '*.la' -print0) + + if [[ ${queue[@]} ]]; then + rm -f "${queue[@]}" + fi +} + +_LTPRUNE_ECLASS=1 +fi #_LTPRUNE_ECLASS diff --git a/sdk_container/src/third_party/portage-stable/eclass/makeedit.eclass b/sdk_container/src/third_party/portage-stable/eclass/makeedit.eclass index dad378fb8c..fb40cf7819 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/makeedit.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/makeedit.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: makeedit.eclass # @AUTHOR: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mate-desktop.org.eclass b/sdk_container/src/third_party/portage-stable/eclass/mate-desktop.org.eclass index 6587957a1c..1f4ad3f354 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mate-desktop.org.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mate-desktop.org.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mate-desktop.org.eclass # @MAINTAINER: @@ -49,7 +48,7 @@ inherit versionator # If live ebuild, will be set to '9999'. : ${MATE_BRANCH:=$(get_version_component_range 1-2)} -# Set SRC_URI or EGIT_REPO_URI based on whether live +# Set SRC_URI or EGIT_REPO_URI based on whether live if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI=" https://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git diff --git a/sdk_container/src/third_party/portage-stable/eclass/mate.eclass b/sdk_container/src/third_party/portage-stable/eclass/mate.eclass index 39d9da1e4a..7bdca60fb8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mate.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mate.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mate.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass b/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass index 7372c4d077..ca41ff45ac 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mercurial.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mercurial.eclass # @MAINTAINER: @@ -82,7 +81,7 @@ EHG_OFFLINE="${EHG_OFFLINE:-${EVCS_OFFLINE}}" # Clone or update repository. # # If repository URI is not passed it defaults to EHG_REPO_URI, if module is -# empty it defaults to basename of EHG_REPO_URI, sourcedir defaults to +# empty it defaults to basename of EHG_REPO_URI, sourcedir defaults to # EHG_CHECKOUT_DIR, which defaults to S. mercurial_fetch() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/mono-env.eclass b/sdk_container/src/third_party/portage-stable/eclass/mono-env.eclass index 1fb351fd1f..51794ed4a0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mono-env.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mono-env.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mono-env.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mono.eclass b/sdk_container/src/third_party/portage-stable/eclass/mono.eclass index 3fe51054b3..913c04c85c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mono.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mono.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mono.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass b/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass index e8bd9f63be..4d886c8d84 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mount-boot.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mount-boot.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v5.31.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v5.31.eclass deleted file mode 100644 index a9b72fa409..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v5.31.eclass +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ -# -# @ECLASS: mozconfig-v5.31.eclass -# @MAINTAINER: -# mozilla team -# @BLURB: the new mozilla common configuration eclass for FF31 and newer, v5 -# @DESCRIPTION: -# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) -# to provide a single common place for the common mozilla engine compoments. -# -# The eclass provides all common dependencies as well as common use flags. -# -# Some use flags which may be optional in particular mozilla packages can be -# supported through setting eclass variables. -# -# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, -# and so ebuilds inheriting this eclass do not need to inherit that. - -inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3 - -case ${EAPI} in - 0|1|2|3|4) die "EAPI=${EAPI} not supported" -esac - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild needs to provide -# optional necko-wifi support via IUSE="wifi". Currently this would include -# ebuilds for firefox, and potentially seamonkey. -# -# Leave the variable UNSET if necko-wifi support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild needs to provide -# optional necko-wifi support via IUSE="jit". Currently this would include -# ebuilds for firefox, and potentially seamonkey. -# -# Leave the variable UNSET if optional jit support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# use-flags common among all mozilla ebuilds -IUSE="${IUSE} dbus debug gstreamer pulseaudio startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx" - -# some notes on deps: -# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 -# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau - -RDEPEND=">=app-text/hunspell-1.2:= - dev-libs/atk - dev-libs/expat - >=dev-libs/libevent-1.4.7 - >=x11-libs/cairo-1.10[X] - >=x11-libs/gtk+-2.14:2 - x11-libs/gdk-pixbuf - >=x11-libs/pango-1.22.0 - >=media-libs/libpng-1.6.10:0=[apng] - >=media-libs/mesa-10.2:* - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - kernel_linux? ( media-libs/alsa-lib ) - pulseaudio? ( media-sound/pulseaudio ) - >=sys-libs/zlib-1.2.3 - virtual/freedesktop-icon-theme - dbus? ( >=sys-apps/dbus-0.60 - >=dev-libs/dbus-glib-0.72 ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - >=dev-libs/glib-2.26:2 - virtual/libffi - gstreamer? ( media-plugins/gst-plugins-meta:1.0[ffmpeg] ) - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXrender - x11-libs/libXt - system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 ) - system-icu? ( >=dev-libs/icu-51.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-sqlite? ( >=dev-db/sqlite-3.8.4.2:3[secure-delete,debug=] ) -" - -# firefox-31.0-patches-0.3 and above carry a patch making newer libvpx compatible -case ${PATCHFF##*31.0-patches-} in - 0.3) RDEPEND+=" system-libvpx? ( >=media-libs/libvpx-1.3.0:0= )" ;; - *) RDEPEND+=" system-libvpx? ( =media-libs/libvpx-1.3.0* )" ;; -esac - -if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then - IUSE+=" +wifi" - else - IUSE+=" wifi" - fi - RDEPEND+=" - wifi? ( >=sys-apps/dbus-0.60 - >=dev-libs/dbus-glib-0.72 - net-wireless/wireless-tools )" -fi -if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then - IUSE+=" +jit" - else - IUSE+=" jit" - fi -fi - -DEPEND="app-arch/zip - app-arch/unzip - >=sys-devel/binutils-2.16.1 - ${RDEPEND}" - -# @FUNCTION: mozconfig_config -# @DESCRIPTION: -# Set common configure options for mozilla packages. -# Call this within src_configure() phase, after mozconfig_init -# -# Example: -# -# inherit mozconfig-v5.31 -# -# src_configure() { -# mozconfig_init -# mozconfig_config -# # ... misc ebuild-unique settings via calls to -# # ... mozconfig_{annotate,use_with,use_enable} -# mozconfig_final -# } - -mozconfig_config() { - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' \ - --with-system-zlib \ - --enable-pango \ - --enable-svg - - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2 - - if has bindist ${IUSE}; then - mozconfig_use_enable !bindist official-branding - if [[ ${PN} == firefox ]] && use bindist ; then - mozconfig_annotate '' --with-branding=browser/branding/aurora - fi - fi - - mozconfig_use_enable debug - mozconfig_use_enable debug tests - - if ! use debug ; then - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - fi - - mozconfig_use_enable startup-notification - - if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use wifi && ! use dbus; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus - else - mozconfig_use_enable dbus - fi - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - mozconfig_annotate 'required' --enable-ogg - mozconfig_annotate 'required' --enable-wave - - if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then - mozconfig_use_enable jit ion - mozconfig_use_enable jit yarr-jit - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr - mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --enable-system-hunspell - mozconfig_annotate '' --disable-gnomevfs - mozconfig_annotate '' --disable-gnomeui - mozconfig_annotate '' --enable-gio - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate '' --with-system-png - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate '' --disable-gold - mozconfig_annotate '' --disable-gconf - - # We must force enable jemalloc 3 threw .mozconfig - echo "export MOZ_JEMALLOC=1" >> "${S}"/.mozconfig || die - mozconfig_annotate '' --enable-jemalloc - mozconfig_annotate '' --enable-replace-malloc - - mozconfig_annotate '' --target="${CTARGET:-${CHOST}}" - mozconfig_annotate '' --build="${CTARGET:-${CHOST}}" - - if use gstreamer; then - mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 - else - mozconfig_annotate '' --disable-gstreamer - fi - mozconfig_use_enable pulseaudio - - mozconfig_use_enable system-cairo - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-icu intl-api - mozconfig_use_with system-libvpx -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.38.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.38.eclass deleted file mode 100644 index 7f70597c8e..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.38.eclass +++ /dev/null @@ -1,256 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ -# -# @ECLASS: mozconfig-v5.33.eclass -# @MAINTAINER: -# mozilla team -# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5 -# @DESCRIPTION: -# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) -# to provide a single common place for the common mozilla engine compoments. -# -# The eclass provides all common dependencies as well as common use flags. -# -# Some use flags which may be optional in particular mozilla packages can be -# supported through setting eclass variables. -# -# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, -# and so ebuilds inheriting this eclass do not need to inherit that. - -inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3 - -case ${EAPI} in - 0|1|2|3|4) die "EAPI=${EAPI} not supported" -esac - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild needs to provide -# optional necko-wifi support via IUSE="wifi". Currently this would include -# ebuilds for firefox, and potentially seamonkey. -# -# Leave the variable UNSET if necko-wifi support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild needs to provide -# optional necko-wifi support via IUSE="jit". Currently this would include -# ebuilds for firefox, and potentially seamonkey. -# -# Leave the variable UNSET if optional jit support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# use-flags common among all mozilla ebuilds -IUSE="${IUSE} dbus debug gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx" - -# some notes on deps: -# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 -# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau - -RDEPEND=">=app-text/hunspell-1.2:= - dev-libs/atk - dev-libs/expat - >=dev-libs/libevent-1.4.7 - >=x11-libs/cairo-1.10[X] - >=x11-libs/gtk+-2.18:2 - x11-libs/gdk-pixbuf - >=x11-libs/pango-1.22.0 - >=media-libs/libpng-1.6.16:0=[apng] - >=media-libs/mesa-10.2:* - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - kernel_linux? ( media-libs/alsa-lib ) - pulseaudio? ( media-sound/pulseaudio ) - virtual/freedesktop-icon-theme - dbus? ( >=sys-apps/dbus-0.60 - >=dev-libs/dbus-glib-0.72 ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - >=dev-libs/glib-2.26:2 - >=sys-libs/zlib-1.2.3 - >=virtual/libffi-3.0.10 - gstreamer? ( - >=media-libs/gstreamer-1.4.5:1.0 - >=media-libs/gst-plugins-base-1.4.5:1.0 - >=media-libs/gst-plugins-good-1.4.5:1.0 - >=media-plugins/gst-plugins-libav-1.4.5:1.0 - ) - gstreamer-0? ( - media-plugins/gst-plugins-meta:0.10[ffmpeg] - ) - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 ) - system-icu? ( >=dev-libs/icu-51.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-sqlite? ( >=dev-db/sqlite-3.8.8.2:3[secure-delete,debug=] ) - system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] ) -" - -if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then - IUSE+=" +wifi" - else - IUSE+=" wifi" - fi - RDEPEND+=" - wifi? ( >=sys-apps/dbus-0.60 - >=dev-libs/dbus-glib-0.72 - net-wireless/wireless-tools )" -fi -if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then - IUSE+=" +jit" - else - IUSE+=" jit" - fi -fi - -DEPEND="app-arch/zip - app-arch/unzip - >=sys-devel/binutils-2.16.1 - ${RDEPEND}" - -RDEPEND+=" - selinux? ( sec-policy/selinux-mozilla )" - -# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this -REQUIRED_USE="?? ( gstreamer gstreamer-0 )" - -# @FUNCTION: mozconfig_config -# @DESCRIPTION: -# Set common configure options for mozilla packages. -# Call this within src_configure() phase, after mozconfig_init -# -# Example: -# -# inherit mozconfig-v5.33 -# -# src_configure() { -# mozconfig_init -# mozconfig_config -# # ... misc ebuild-unique settings via calls to -# # ... mozconfig_{annotate,use_with,use_enable} -# mozconfig_final -# } - -mozconfig_config() { - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' \ - --with-system-zlib \ - --enable-pango \ - --enable-svg \ - --with-system-bz2 - - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2 - - if has bindist ${IUSE}; then - mozconfig_use_enable !bindist official-branding - if [[ ${PN} == firefox ]] && use bindist ; then - mozconfig_annotate '' --with-branding=browser/branding/aurora - fi - fi - - mozconfig_use_enable debug - mozconfig_use_enable debug tests - - if ! use debug ; then - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - else - mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols - fi - - mozconfig_use_enable startup-notification - - if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use wifi && ! use dbus; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus - else - mozconfig_use_enable dbus - fi - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - # These are forced-on for webm support - mozconfig_annotate 'required' --enable-ogg - mozconfig_annotate 'required' --enable-wave - - if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then - mozconfig_use_enable jit ion - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr - mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate 'Gentoo default' --enable-system-hunspell - mozconfig_annotate '' --disable-gnomevfs - mozconfig_annotate '' --disable-gnomeui - mozconfig_annotate '' --enable-gio - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate 'Gentoo default' --with-system-png - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold - mozconfig_annotate '' --disable-gconf - mozconfig_annotate 'Gentoo default' --disable-skia - mozconfig_annotate '' --with-intl-api - - # Use jemalloc unless libc is not glibc >= 2.4 - # at this time the minimum glibc in the tree is 2.9 so we should be safe. - if use elibc_glibc && use jemalloc3; then - # We must force-enable jemalloc 3 via .mozconfig - echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die - mozconfig_annotate '' --enable-jemalloc - mozconfig_annotate '' --enable-replace-malloc - fi - - mozconfig_annotate '' --target="${CTARGET:-${CHOST}}" - mozconfig_annotate '' --build="${CTARGET:-${CHOST}}" - - if use gstreamer ; then - mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 - elif use gstreamer-0 ; then - mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10 - else - mozconfig_annotate '' --disable-gstreamer - fi - mozconfig_use_enable pulseaudio - - mozconfig_use_enable system-cairo - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-libvpx - - # Modifications to better support ARM, bug 553364 - if use neon ; then - mozconfig_annotate '' --with-fpu=neon - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - if [[ ${CHOST} == armv* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - mozconfig_annotate '' --enable-skia - - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build - fi - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.42.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.42.eclass deleted file mode 100644 index 29a75f9972..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.42.eclass +++ /dev/null @@ -1,282 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ -# -# @ECLASS: mozconfig-v6.40.eclass -# @MAINTAINER: -# mozilla team -# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6 -# @DESCRIPTION: -# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) -# to provide a single common place for the common mozilla engine compoments. -# -# The eclass provides all common dependencies as well as common use flags. -# -# Some use flags which may be optional in particular mozilla packages can be -# supported through setting eclass variables. -# -# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, -# and so ebuilds inheriting this eclass do not need to inherit that. - -inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3 - -case ${EAPI} in - 0|1|2|3|4) die "EAPI=${EAPI} not supported" -esac - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild needs to provide -# optional necko-wifi support via IUSE="wifi". Currently this would include -# ebuilds for firefox, and potentially seamonkey. -# -# Leave the variable UNSET if necko-wifi support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild needs to provide -# optional necko-wifi support via IUSE="jit". Currently this would include -# ebuilds for firefox, and potentially seamonkey. -# -# Leave the variable UNSET if optional jit support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3 -# @DESCRIPTION: -# Set this variable before the inherit line, when an ebuild can provide -# optional gtk3 support via IUSE="gtk3". Currently this would include -# ebuilds for firefox, but thunderbird and seamonkey could follow in the future. -# -# Leave the variable UNSET if gtk3 support should not be available. -# Set the variable to "enabled" if the use flag should be enabled by default. -# Set the variable to any value if the use flag should exist but not be default-enabled. - -# use-flags common among all mozilla ebuilds -IUSE="${IUSE} dbus debug +gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo system-icu system-jpeg system-sqlite system-libvpx" - -# some notes on deps: -# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 -# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau - -RDEPEND=">=app-text/hunspell-1.2:= - dev-libs/atk - dev-libs/expat - >=dev-libs/libevent-1.4.7 - >=x11-libs/cairo-1.10[X] - >=x11-libs/gtk+-2.18:2 - x11-libs/gdk-pixbuf - >=x11-libs/pango-1.22.0 - >=media-libs/libpng-1.6.17:0=[apng] - >=media-libs/mesa-10.2:* - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - kernel_linux? ( media-libs/alsa-lib ) - pulseaudio? ( media-sound/pulseaudio ) - virtual/freedesktop-icon-theme - dbus? ( >=sys-apps/dbus-0.60 - >=dev-libs/dbus-glib-0.72 ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - >=dev-libs/glib-2.26:2 - >=sys-libs/zlib-1.2.3 - >=virtual/libffi-3.0.10 - gstreamer? ( - >=media-libs/gstreamer-1.4.5:1.0 - >=media-libs/gst-plugins-base-1.4.5:1.0 - >=media-libs/gst-plugins-good-1.4.5:1.0 - >=media-plugins/gst-plugins-libav-1.4.5:1.0 - ) - gstreamer-0? ( - >=media-libs/gstreamer-0.10.25:0.10 - media-plugins/gst-plugins-meta:0.10[ffmpeg] - ) - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 ) - system-icu? ( >=dev-libs/icu-51.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-sqlite? ( >=dev-db/sqlite-3.8.11.1:3[secure-delete,debug=] ) - system-libvpx? ( >=media-libs/libvpx-1.3.0:0=[postproc] ) -" - -if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then - IUSE+=" +gtk3" - else - IUSE+=" gtk3" - fi - RDEPEND+=" - gtk3? ( >=x11-libs/gtk+-3.14.0:3 )" -fi -if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then - IUSE+=" +wifi" - else - IUSE+=" wifi" - fi - RDEPEND+=" - wifi? ( - kernel_linux? ( >=sys-apps/dbus-0.60 - >=dev-libs/dbus-glib-0.72 - net-misc/networkmanager ) - )" -fi -if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then - if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then - IUSE+=" +jit" - else - IUSE+=" jit" - fi -fi - -DEPEND="app-arch/zip - app-arch/unzip - >=sys-devel/binutils-2.16.1 - ${RDEPEND}" - -RDEPEND+=" - selinux? ( sec-policy/selinux-mozilla )" - -# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this -REQUIRED_USE="?? ( gstreamer gstreamer-0 )" - -# @FUNCTION: mozconfig_config -# @DESCRIPTION: -# Set common configure options for mozilla packages. -# Call this within src_configure() phase, after mozconfig_init -# -# Example: -# -# inherit mozconfig-v5.33 -# -# src_configure() { -# mozconfig_init -# mozconfig_config -# # ... misc ebuild-unique settings via calls to -# # ... mozconfig_{annotate,use_with,use_enable} -# mozconfig_final -# } - -mozconfig_config() { - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' \ - --with-system-zlib \ - --enable-pango \ - --enable-svg \ - --with-system-bz2 - - if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then - mozconfig_annotate 'gtk3 use flag' --enable-default-toolkit=$(usex gtk3 cairo-gtk3 cairo-gtk2) - else - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2 - fi - - if has bindist ${IUSE}; then - mozconfig_use_enable !bindist official-branding - if [[ ${PN} == firefox ]] && use bindist ; then - mozconfig_annotate '' --with-branding=browser/branding/aurora - fi - fi - - mozconfig_use_enable debug - mozconfig_use_enable debug tests - - if ! use debug ; then - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - else - mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols - fi - - mozconfig_use_enable startup-notification - - if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use kernel_linux && use wifi && ! use dbus; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus - else - mozconfig_use_enable dbus - fi - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - # These are forced-on for webm support - mozconfig_annotate 'required' --enable-ogg - mozconfig_annotate 'required' --enable-wave - - if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then - mozconfig_use_enable jit ion - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr - mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate 'Gentoo default' --enable-system-hunspell - mozconfig_annotate '' --disable-gnomevfs - mozconfig_annotate '' --disable-gnomeui - mozconfig_annotate '' --enable-gio - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate 'Gentoo default' --with-system-png - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold - mozconfig_annotate 'Gentoo default' --disable-skia - mozconfig_annotate '' --disable-gconf - mozconfig_annotate '' --with-intl-api - - # Use jemalloc unless libc is not glibc >= 2.4 - # at this time the minimum glibc in the tree is 2.9 so we should be safe. - if use elibc_glibc && use jemalloc3; then - # We must force-enable jemalloc 3 via .mozconfig - echo "export MOZ_JEMALLOC3=1" >> "${S}"/.mozconfig || die - mozconfig_annotate '' --enable-jemalloc - mozconfig_annotate '' --enable-replace-malloc - fi - - mozconfig_annotate '' --target="${CTARGET:-${CHOST}}" - mozconfig_annotate '' --build="${CTARGET:-${CHOST}}" - - if use gstreamer ; then - mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 - elif use gstreamer-0 ; then - mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10 - else - mozconfig_annotate '' --disable-gstreamer - fi - mozconfig_use_enable pulseaudio - - mozconfig_use_enable system-cairo - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-libvpx - - # Modifications to better support ARM, bug 553364 - if use neon ; then - mozconfig_annotate '' --with-fpu=neon - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - if [[ ${CHOST} == armv* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - mozconfig_annotate '' --enable-skia - - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build - fi - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass index 160b8b17a1..d6d3621ffc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.45.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: mozconfig-v6.45.eclass # @MAINTAINER: @@ -70,7 +69,7 @@ inherit flag-o-matic toolchain-funcs mozcoreconf-v4 # Set the variable to any value if the use flag should exist but not be default-enabled. # use-flags common among all mozilla ebuilds -IUSE="${IUSE} dbus debug ffmpeg +gstreamer gstreamer-0 +jemalloc3 neon pulseaudio selinux startup-notification system-cairo +IUSE="${IUSE} dbus debug ffmpeg +gstreamer +jemalloc3 neon pulseaudio selinux startup-notification system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx" # some notes on deps: @@ -106,10 +105,6 @@ RDEPEND=">=app-text/hunspell-1.2:= >=media-libs/gst-plugins-good-1.4.5:1.0 >=media-plugins/gst-plugins-libav-1.4.5:1.0 ) - gstreamer-0? ( - >=media-libs/gstreamer-0.10.25:0.10 - media-plugins/gst-plugins-meta:0.10[ffmpeg] - ) x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage @@ -190,10 +185,8 @@ DEPEND="app-arch/zip RDEPEND+=" selinux? ( sec-policy/selinux-mozilla )" -# only one of gstreamer and gstreamer-0 can be enabled at a time, so set REQUIRED_USE to signify this. -# also force system-icu if system-harfbuzz is set to avoid any potential ABI issues +# force system-icu if system-harfbuzz is set to avoid any potential ABI issues REQUIRED_USE=" - ?? ( gstreamer gstreamer-0 ) system-harfbuzz? ( system-icu )" # only one of gtk3 or qt5 should be permitted to be selected, since only one will be used. @@ -340,9 +333,6 @@ mozconfig_config() { if use gstreamer ; then use ffmpeg && einfo "${PN} will not use ffmpeg unless gstreamer:1.0 is not available at runtime" mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 - elif use gstreamer-0 ; then - use ffmpeg && einfo "${PN} will not use ffmpeg unless gstreamer:0.10 is not available at runtime" - mozconfig_annotate '+gstreamer-0' --enable-gstreamer=0.10 else mozconfig_annotate '' --disable-gstreamer fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.49.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.49.eclass index bc6e7d3b4d..a986197f03 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.49.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.49.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: mozconfig-v6.46.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.51.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.51.eclass index b151d44e60..28a876fd20 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.51.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.51.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: mozconfig-v6.46.eclass # @MAINTAINER: @@ -239,7 +238,7 @@ mozconfig_config() { fi fi - # Enable position independent executables + # Enable position independent executables mozconfig_annotate 'enabled by Gentoo' --enable-pie mozconfig_use_enable debug mozconfig_use_enable debug tests diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.52.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.52.eclass new file mode 100644 index 0000000000..9b3ca13569 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.52.eclass @@ -0,0 +1,385 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# +# @ECLASS: mozconfig-v6.52.eclass +# @MAINTAINER: +# mozilla team +# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6 +# @DESCRIPTION: +# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) +# to provide a single common place for the common mozilla engine compoments. +# +# The eclass provides all common dependencies as well as common use flags. +# +# Some use flags which may be optional in particular mozilla packages can be +# supported through setting eclass variables. +# +# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, +# and so ebuilds inheriting this eclass do not need to inherit that. + +case ${EAPI} in + 0|1|2|3|4) + die "EAPI=${EAPI} not supported" + ;; + 5) + inherit multilib + ;; +esac + +inherit flag-o-matic toolchain-funcs mozcoreconf-v4 + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild needs to provide +# optional necko-wifi support via IUSE="wifi". Currently this would include +# ebuilds for firefox, and potentially seamonkey. +# +# Leave the variable UNSET if necko-wifi support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild needs to provide +# deterministic jit support via IUSE="jit". The upstream default will be used +# otherwise, which is generally to enable jit unless support for the platform +# is missing. +# +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3 +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional gtk3 support via IUSE="force-gtk3". Currently this would include +# thunderbird and seamonkey in the future, once support is ready for testing. +# +# Leave the variable UNSET if gtk3 support should not be optionally available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. +# If gtk+:3 is to be the standard toolkit, do not use this and instead use +# MOZCONFIG_OPTIONAL_GTK2ONLY. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional gtk2-only support via IUSE="gtk2". +# +# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both +# variables cannot be set at the same time and this variable will be ignored if +# MOZCONFIG_OPTIONAL_GTK3 is set. +# +# Leave the variable UNSET if gtk2-only support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5 +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional qt5 support via IUSE="qt5". Currently this would include +# ebuilds for firefox, but thunderbird and seamonkey could follow in the future. +# +# Leave the variable UNSET if qt5 support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# use-flags common among all mozilla ebuilds +IUSE="${IUSE} dbus debug +jemalloc neon pulseaudio selinux startup-notification system-cairo + system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx" + +# some notes on deps: +# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 +# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau + +RDEPEND=">=app-text/hunspell-1.2:= + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-2.18:2 + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.25:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + pulseaudio? ( || ( media-sound/pulseaudio + >=media-sound/apulse-0.1.9 ) ) + virtual/freedesktop-icon-theme + dbus? ( >=sys-apps/dbus-0.60 + >=dev-libs/dbus-glib-0.72 ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=virtual/libffi-3.0.10 + virtual/ffmpeg + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 ) + system-icu? ( >=dev-libs/icu-58.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0= ) + system-sqlite? ( >=dev-db/sqlite-3.17.0:3[secure-delete,debug=] ) + system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] ) + system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.8 ) +" + +if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then + MOZCONFIG_OPTIONAL_GTK2ONLY= + if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then + IUSE+=" +force-gtk3" + else + IUSE+=" force-gtk3" + fi + RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )" +elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then + IUSE+=" +gtk2" + else + IUSE+=" gtk2" + fi + RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )" +fi +if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then + IUSE+=" +wifi" + else + IUSE+=" wifi" + fi + RDEPEND+=" + wifi? ( + kernel_linux? ( >=sys-apps/dbus-0.60 + >=dev-libs/dbus-glib-0.72 + net-misc/networkmanager ) + )" +fi + +DEPEND="app-arch/zip + app-arch/unzip + >=sys-devel/binutils-2.16.1 + sys-apps/findutils + pulseaudio? ( media-sound/pulseaudio ) + ${RDEPEND}" + +RDEPEND+=" + pulseaudio? ( || ( media-sound/pulseaudio + >=media-sound/apulse-0.1.9 ) ) + selinux? ( sec-policy/selinux-mozilla )" + +# @FUNCTION: mozconfig_config +# @DESCRIPTION: +# Set common configure options for mozilla packages. +# Call this within src_configure() phase, after mozconfig_init +# +# Example: +# +# inherit mozconfig-v6.46 +# +# src_configure() { +# mozconfig_init +# mozconfig_config +# # ... misc ebuild-unique settings via calls to +# # ... mozconfig_{annotate,use_with,use_enable} +# mozconfig_final +# } + +mozconfig_config() { + # Migrated from mozcoreconf-2 + mozconfig_annotate 'system_libs' \ + --with-system-zlib \ + --with-system-bz2 + + if has bindist ${IUSE}; then + mozconfig_use_enable !bindist official-branding + if [[ ${PN} == firefox ]] && use bindist ; then + mozconfig_annotate '' --with-branding=browser/branding/aurora + fi + fi + + # Enable position independent executables + mozconfig_annotate 'enabled by Gentoo' --enable-pie + mozconfig_use_enable debug + mozconfig_use_enable debug tests + + if ! use debug ; then + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols + else + mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols + fi + + mozconfig_use_enable startup-notification + + if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then + # wifi pulls in dbus so manage both here + mozconfig_use_enable wifi necko-wifi + if use kernel_linux && use wifi && ! use dbus; then + echo "Enabling dbus support due to wifi request" + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus + else + mozconfig_use_enable dbus + fi + else + mozconfig_use_enable dbus + mozconfig_annotate 'disabled' --disable-necko-wifi + fi + + if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then + mozconfig_use_enable jit ion + fi + + # These are enabled by default in all mozilla applications + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr + mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir) + if use system-libevent; then + mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr + fi + mozconfig_annotate '' --prefix="${EPREFIX}"/usr + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate 'Gentoo default' --enable-system-hunspell + mozconfig_annotate '' --disable-gnomeui + mozconfig_annotate '' --enable-gio + mozconfig_annotate '' --disable-crashreporter + mozconfig_annotate 'Gentoo default' --with-system-png + mozconfig_annotate '' --enable-system-ffi + mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold + mozconfig_annotate '' --disable-gconf + mozconfig_annotate '' --with-intl-api + + # skia has no support for big-endian platforms + if [[ $(tc-endian) == "big" ]]; then + mozconfig_annotate 'big endian target' --disable-skia + else + mozconfig_annotate '' --enable-skia + fi + + # default toolkit is cairo-gtk2, optional use flags can change this + local toolkit="cairo-gtk2" + local toolkit_comment="" + if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then + if use force-gtk3; then + toolkit="cairo-gtk3" + toolkit_comment="force-gtk3 use flag" + fi + fi + if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then + if ! use gtk2 ; then + toolkit="cairo-gtk3" + else + toolkit_comment="gtk2 use flag" + fi + fi + if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then + if use qt5; then + toolkit="cairo-qt" + toolkit_comment="qt5 use flag" + # need to specify these vars because the qt5 versions are not found otherwise, + # and setting --with-qtdir overrides the pkg-config include dirs + local i + for i in qmake moc rcc; do + echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \ + >> "${S}"/.mozconfig || die + done + echo 'unset QTDIR' >> "${S}"/.mozconfig || die + mozconfig_annotate '+qt5' --disable-gio + fi + fi + mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit} + + # Use jemalloc unless libc is not glibc >= 2.4 + # at this time the minimum glibc in the tree is 2.9 so we should be safe. + if use elibc_glibc && use jemalloc; then + # We must force-enable jemalloc 4 via .mozconfig + echo "export MOZ_JEMALLOC4=1" >> "${S}"/.mozconfig || die + mozconfig_annotate '' --enable-replace-malloc + fi + + # Instead of the standard --build= and --host=, mozilla uses --host instead + # of --build, and --target intstead of --host. + # Note, mozilla also has --build but it does not do what you think it does. + # Set both --target and --host as mozilla uses python to guess values otherwise + mozconfig_annotate '' --target="${CHOST}" + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_annotate '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable system-cairo + mozconfig_use_enable system-sqlite + mozconfig_use_with system-jpeg + mozconfig_use_with system-icu + mozconfig_use_with system-libvpx + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + + # Modifications to better support ARM, bug 553364 + if use neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build + fi + fi +} + +# @FUNCTION: mozconfig_install_prefs +# @DESCRIPTION: +# Set preferences into the prefs.js file specified as a parameter to +# the function. This sets both some common prefs to all mozilla +# packages, and any prefs that may relate to the use flags administered +# by mozconfig_config(). +# +# Call this within src_install() phase, after copying the template +# prefs file (if any) from ${FILESDIR} +# +# Example: +# +# inherit mozconfig-v6.46 +# +# src_install() { +# cp "${FILESDIR}"/gentoo-default-prefs.js \ +# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ +# || die +# +# mozconfig_install_prefs \ +# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" +# +# ... +# } + +mozconfig_install_prefs() { + local prefs_file="${1}" + + einfo "Adding prefs from mozconfig to ${prefs_file}" + + # set dictionary path, to use system hunspell + echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \ + >>"${prefs_file}" || die + + # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it + if use system-harfbuzz ; then + echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \ + >>"${prefs_file}" || die + fi + + # force cairo as the canvas renderer on platforms without skia support + if [[ $(tc-endian) == "big" ]] ; then + echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \ + >>"${prefs_file}" || die + echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \ + >>"${prefs_file}" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.53.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.53.eclass new file mode 100644 index 0000000000..9222c7b0d8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-v6.53.eclass @@ -0,0 +1,388 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# +# @ECLASS: mozconfig-v6.52.eclass +# @MAINTAINER: +# mozilla team +# @BLURB: the new mozilla common configuration eclass for FF33 and newer, v6 +# @DESCRIPTION: +# This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) +# to provide a single common place for the common mozilla engine compoments. +# +# The eclass provides all common dependencies as well as common use flags. +# +# Some use flags which may be optional in particular mozilla packages can be +# supported through setting eclass variables. +# +# This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, +# and so ebuilds inheriting this eclass do not need to inherit that. + +case ${EAPI} in + 0|1|2|3|4) + die "EAPI=${EAPI} not supported" + ;; + 5) + inherit multilib + ;; +esac + +inherit flag-o-matic toolchain-funcs mozcoreconf-v4 + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild needs to provide +# optional necko-wifi support via IUSE="wifi". Currently this would include +# ebuilds for firefox, and potentially seamonkey. +# +# Leave the variable UNSET if necko-wifi support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild needs to provide +# deterministic jit support via IUSE="jit". The upstream default will be used +# otherwise, which is generally to enable jit unless support for the platform +# is missing. +# +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK3 +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional gtk3 support via IUSE="force-gtk3". Currently this would include +# thunderbird and seamonkey in the future, once support is ready for testing. +# +# Leave the variable UNSET if gtk3 support should not be optionally available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. +# If gtk+:3 is to be the standard toolkit, do not use this and instead use +# MOZCONFIG_OPTIONAL_GTK2ONLY. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_GTK2ONLY +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional gtk2-only support via IUSE="gtk2". +# +# Note that this option conflicts directly with MOZCONFIG_OPTIONAL_GTK3, both +# variables cannot be set at the same time and this variable will be ignored if +# MOZCONFIG_OPTIONAL_GTK3 is set. +# +# Leave the variable UNSET if gtk2-only support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_QT5 +# @DESCRIPTION: +# Set this variable before the inherit line, when an ebuild can provide +# optional qt5 support via IUSE="qt5". Currently this would include +# ebuilds for firefox, but thunderbird and seamonkey could follow in the future. +# +# Leave the variable UNSET if qt5 support should not be available. +# Set the variable to "enabled" if the use flag should be enabled by default. +# Set the variable to any value if the use flag should exist but not be default-enabled. + +# use-flags common among all mozilla ebuilds +IUSE="${IUSE} dbus debug +jemalloc neon pulseaudio selinux startup-notification system-cairo + system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-libvpx" + +# some notes on deps: +# gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 +# media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau + +RDEPEND=">=app-text/hunspell-1.5.4:= + dev-libs/atk + dev-libs/expat + >=x11-libs/cairo-1.10[X] + >=x11-libs/gtk+-2.18:2 + x11-libs/gdk-pixbuf + >=x11-libs/pango-1.22.0 + >=media-libs/libpng-1.6.28:0=[apng] + >=media-libs/mesa-10.2:* + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + pulseaudio? ( || ( media-sound/pulseaudio + >=media-sound/apulse-0.1.9 ) ) + virtual/freedesktop-icon-theme + dbus? ( >=sys-apps/dbus-0.60 + >=dev-libs/dbus-glib-0.72 ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + >=dev-libs/glib-2.26:2 + >=sys-libs/zlib-1.2.3 + >=virtual/libffi-3.0.10 + virtual/ffmpeg + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + system-cairo? ( >=x11-libs/cairo-1.12[X,xcb] >=x11-libs/pixman-0.19.2 ) + system-icu? ( >=dev-libs/icu-58.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0= ) + system-sqlite? ( >=dev-db/sqlite-3.17.0:3[secure-delete,debug=] ) + system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] ) + system-harfbuzz? ( >=media-libs/harfbuzz-1.3.3:0= >=media-gfx/graphite2-1.3.9-r1 ) +" + +if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then + MOZCONFIG_OPTIONAL_GTK2ONLY= + if [[ ${MOZCONFIG_OPTIONAL_GTK3} = "enabled" ]]; then + IUSE+=" +force-gtk3" + else + IUSE+=" force-gtk3" + fi + RDEPEND+=" force-gtk3? ( >=x11-libs/gtk+-3.4.0:3 )" +elif [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_GTK2ONLY} = "enabled" ]]; then + IUSE+=" +gtk2" + else + IUSE+=" gtk2" + fi + RDEPEND+=" !gtk2? ( >=x11-libs/gtk+-3.4.0:3 )" +else + # no gtk3 related dep set by optional use flags, force it + RDEPEND+=" >=x11-libs/gtk+-3.4.0:3" +fi +if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then + if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then + IUSE+=" +wifi" + else + IUSE+=" wifi" + fi + RDEPEND+=" + wifi? ( + kernel_linux? ( >=sys-apps/dbus-0.60 + >=dev-libs/dbus-glib-0.72 + net-misc/networkmanager ) + )" +fi + +DEPEND="app-arch/zip + app-arch/unzip + >=sys-devel/binutils-2.16.1 + sys-apps/findutils + pulseaudio? ( media-sound/pulseaudio ) + ${RDEPEND}" + +RDEPEND+=" + pulseaudio? ( || ( media-sound/pulseaudio + >=media-sound/apulse-0.1.9 ) ) + selinux? ( sec-policy/selinux-mozilla )" + +# @FUNCTION: mozconfig_config +# @DESCRIPTION: +# Set common configure options for mozilla packages. +# Call this within src_configure() phase, after mozconfig_init +# +# Example: +# +# inherit mozconfig-v6.46 +# +# src_configure() { +# mozconfig_init +# mozconfig_config +# # ... misc ebuild-unique settings via calls to +# # ... mozconfig_{annotate,use_with,use_enable} +# mozconfig_final +# } + +mozconfig_config() { + # Migrated from mozcoreconf-2 + mozconfig_annotate 'system_libs' \ + --with-system-zlib \ + --with-system-bz2 + + if has bindist ${IUSE}; then + mozconfig_use_enable !bindist official-branding + if [[ ${PN} == firefox ]] && use bindist ; then + mozconfig_annotate '' --with-branding=browser/branding/aurora + fi + fi + + # Enable position independent executables + mozconfig_annotate 'enabled by Gentoo' --enable-pie + mozconfig_use_enable debug + mozconfig_use_enable debug tests + + if ! use debug ; then + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols + else + mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols + fi + + mozconfig_use_enable startup-notification + + if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then + # wifi pulls in dbus so manage both here + mozconfig_use_enable wifi necko-wifi + if use kernel_linux && use wifi && ! use dbus; then + echo "Enabling dbus support due to wifi request" + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus + else + mozconfig_use_enable dbus + fi + else + mozconfig_use_enable dbus + mozconfig_annotate 'disabled' --disable-necko-wifi + fi + + if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then + mozconfig_use_enable jit ion + fi + + # These are enabled by default in all mozilla applications + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr + mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir) + if use system-libevent; then + mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr + fi + mozconfig_annotate '' --prefix="${EPREFIX}"/usr + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate 'Gentoo default' --enable-system-hunspell + mozconfig_annotate '' --disable-gnomeui + mozconfig_annotate '' --enable-gio + mozconfig_annotate '' --disable-crashreporter + mozconfig_annotate 'Gentoo default' --with-system-png + mozconfig_annotate '' --enable-system-ffi + mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold + mozconfig_annotate '' --disable-gconf + mozconfig_annotate '' --with-intl-api + + # skia has no support for big-endian platforms + if [[ $(tc-endian) == "big" ]]; then + mozconfig_annotate 'big endian target' --disable-skia + else + mozconfig_annotate '' --enable-skia + fi + + # default toolkit is cairo-gtk3, optional use flags can change this + local toolkit="cairo-gtk3" + local toolkit_comment="" + if [[ -n ${MOZCONFIG_OPTIONAL_GTK3} ]]; then + if ! use force-gtk3; then + toolkit="cairo-gtk2" + toolkit_comment="force-gtk3 use flag" + fi + fi + if [[ -n ${MOZCONFIG_OPTIONAL_GTK2ONLY} ]]; then + if use gtk2 ; then + toolkit="cairo-gtk2" + else + toolkit_comment="gtk2 use flag" + fi + fi + if [[ -n ${MOZCONFIG_OPTIONAL_QT5} ]]; then + if use qt5; then + toolkit="cairo-qt" + toolkit_comment="qt5 use flag" + # need to specify these vars because the qt5 versions are not found otherwise, + # and setting --with-qtdir overrides the pkg-config include dirs + local i + for i in qmake moc rcc; do + echo "export HOST_${i^^}=\"$(qt5_get_bindir)/${i}\"" \ + >> "${S}"/.mozconfig || die + done + echo 'unset QTDIR' >> "${S}"/.mozconfig || die + mozconfig_annotate '+qt5' --disable-gio + fi + fi + mozconfig_annotate "${toolkit_comment}" --enable-default-toolkit=${toolkit} + + # Use jemalloc unless libc is not glibc >= 2.4 + # at this time the minimum glibc in the tree is 2.9 so we should be safe. + if use elibc_glibc && use jemalloc; then + # We must force-enable jemalloc 4 via .mozconfig + echo "export MOZ_JEMALLOC4=1" >> "${S}"/.mozconfig || die + mozconfig_annotate '' --enable-replace-malloc + fi + + # Instead of the standard --build= and --host=, mozilla uses --host instead + # of --build, and --target intstead of --host. + # Note, mozilla also has --build but it does not do what you think it does. + # Set both --target and --host as mozilla uses python to guess values otherwise + mozconfig_annotate '' --target="${CHOST}" + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_annotate '-pulseaudio' --enable-alsa + fi + + mozconfig_use_enable system-cairo + mozconfig_use_enable system-sqlite + mozconfig_use_with system-jpeg + mozconfig_use_with system-icu + mozconfig_use_with system-libvpx + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + + # Modifications to better support ARM, bug 553364 + if use neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build + fi + fi +} + +# @FUNCTION: mozconfig_install_prefs +# @DESCRIPTION: +# Set preferences into the prefs.js file specified as a parameter to +# the function. This sets both some common prefs to all mozilla +# packages, and any prefs that may relate to the use flags administered +# by mozconfig_config(). +# +# Call this within src_install() phase, after copying the template +# prefs file (if any) from ${FILESDIR} +# +# Example: +# +# inherit mozconfig-v6.46 +# +# src_install() { +# cp "${FILESDIR}"/gentoo-default-prefs.js \ +# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \ +# || die +# +# mozconfig_install_prefs \ +# "${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" +# +# ... +# } + +mozconfig_install_prefs() { + local prefs_file="${1}" + + einfo "Adding prefs from mozconfig to ${prefs_file}" + + # set dictionary path, to use system hunspell + echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \ + >>"${prefs_file}" || die + + # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it + if use system-harfbuzz ; then + echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \ + >>"${prefs_file}" || die + fi + + # force cairo as the canvas renderer on platforms without skia support + if [[ $(tc-endian) == "big" ]] ; then + echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \ + >>"${prefs_file}" || die + echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \ + >>"${prefs_file}" || die + fi +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-2.eclass deleted file mode 100644 index d7008b9550..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-2.eclass +++ /dev/null @@ -1,274 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ -# -# mozcoreconf.eclass : core options for mozilla -# inherit mozconfig-2 if you need USE flags - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='threads,sqlite' - -inherit multilib flag-o-matic python-any-r1 versionator - -IUSE="${IUSE} custom-cflags custom-optimization" - -RDEPEND="x11-libs/libXrender - x11-libs/libXt - >=sys-libs/zlib-1.1.4" - -DEPEND="${RDEPEND} - virtual/pkgconfig - ${PYTHON_DEPS}" - -# mozconfig_annotate: add an annotated line to .mozconfig -# -# Example: -# mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc -# => ac_add_options --enable-js-ultrasparc # building on ultrasparc -mozconfig_annotate() { - declare reason=$1 x ; shift - [[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!" - for x in ${*}; do - echo "ac_add_options ${x} # ${reason}" >>.mozconfig - done -} - -# mozconfig_use_enable: add a line to .mozconfig based on a USE-flag -# -# Example: -# mozconfig_use_enable truetype freetype2 -# => ac_add_options --enable-freetype2 # +truetype -mozconfig_use_enable() { - declare flag=$(use_enable "$@") - mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" -} - -# mozconfig_use_with: add a line to .mozconfig based on a USE-flag -# -# Example: -# mozconfig_use_with kerberos gss-api /usr/$(get_libdir) -# => ac_add_options --with-gss-api=/usr/lib # +kerberos -mozconfig_use_with() { - declare flag=$(use_with "$@") - mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" -} - -# mozconfig_use_extension: enable or disable an extension based on a USE-flag -# -# Example: -# mozconfig_use_extension gnome gnomevfs -# => ac_add_options --enable-extensions=gnomevfs -mozconfig_use_extension() { - declare minus=$(use $1 || echo -) - mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2} -} - -mozversion_is_new_enough() { - case ${PN} in - firefox|thunderbird) - if [[ $(get_version_component_range 1) -ge 17 ]] ; then - return 0 - fi - ;; - seamonkey) - if [[ $(get_version_component_range 1) -eq 2 ]] && [[ $(get_version_component_range 2) -ge 14 ]] ; then - return 0 - fi - ;; - esac - - return 1 -} - -moz_pkgsetup() { - # Ensure we use C locale when building - export LANG="C" - export LC_ALL="C" - export LC_MESSAGES="C" - export LC_CTYPE="C" - - # Ensure that we have a sane build enviroment - export MOZILLA_CLIENT=1 - export BUILD_OPT=1 - export NO_STATIC_LIB=1 - export USE_PTHREADS=1 - export ALDFLAGS=${LDFLAGS} - # ensure MOZCONFIG is not defined - eval unset MOZCONFIG - - # nested configure scripts in mozilla products generate unrecognized options - # false positives when toplevel configure passes downwards. - export QA_CONFIGURE_OPTIONS=".*" - - if [[ $(gcc-major-version) -eq 3 ]]; then - ewarn "Unsupported compiler detected, DO NOT file bugs for" - ewarn "outdated compilers. Bugs opened with gcc-3 will be closed" - ewarn "invalid." - fi - - python-any-r1_pkg_setup -} - -mozconfig_init() { - declare enable_optimize pango_version myext x - declare XUL=$([[ ${PN} == xulrunner ]] && echo true || echo false) - declare FF=$([[ ${PN} == firefox ]] && echo true || echo false) - declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false) - declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false) - - #################################### - # - # Setup the initial .mozconfig - # See http://www.mozilla.org/build/configure-build.html - # - #################################### - - case ${PN} in - *xulrunner) - cp xulrunner/config/mozconfig .mozconfig \ - || die "cp xulrunner/config/mozconfig failed" ;; - *firefox) - cp browser/config/mozconfig .mozconfig \ - || die "cp browser/config/mozconfig failed" ;; - seamonkey) - # Must create the initial mozconfig to enable application - : >.mozconfig || die "initial mozconfig creation failed" - mozconfig_annotate "" --enable-application=suite ;; - *thunderbird) - # Must create the initial mozconfig to enable application - : >.mozconfig || die "initial mozconfig creation failed" - mozconfig_annotate "" --enable-application=mail ;; - esac - - #################################### - # - # CFLAGS setup and ARCH support - # - #################################### - - # Set optimization level - if [[ ${ARCH} == hppa ]]; then - mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0 - elif [[ ${ARCH} == x86 ]]; then - mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2 - elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then - # Set optimization level based on CFLAGS - if is-flag -O0; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O0 - elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then - mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1 - elif is-flag -O3; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O3 - elif is-flag -O1; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O1 - elif is-flag -Os; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-Os - else - mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2 - fi - else - # Enable Mozilla's default - mozconfig_annotate "mozilla default" --enable-optimize - fi - - # Strip optimization so it does not end up in compile string - filter-flags '-O*' - - # Strip over-aggressive CFLAGS - use custom-cflags || strip-flags - - # Additional ARCH support - case "${ARCH}" in - alpha) - # Historically we have needed to add -fPIC manually for 64-bit. - # Additionally, alpha should *always* build with -mieee for correct math - # operation - append-flags -fPIC -mieee - ;; - - ia64) - # Historically we have needed to add this manually for 64-bit - append-flags -fPIC - ;; - - ppc64) - append-flags -fPIC -mminimal-toc - ;; - esac - - # Go a little faster; use less RAM - append-flags "$MAKEEDIT_FLAGS" - - #################################### - # - # mozconfig setup - # - #################################### - - mozconfig_annotate system_libs \ - --with-system-jpeg \ - --with-system-zlib \ - --enable-pango \ - --enable-system-cairo - if ! $(mozversion_is_new_enough) ; then - mozconfig_annotate system-libs --enable-svg - fi - - mozconfig_annotate disable_update_strip \ - --disable-pedantic \ - --disable-updater \ - --disable-strip \ - --disable-install-strip - if ! $(mozversion_is_new_enough) ; then - mozconfig_annotate disable_update_strip \ - --disable-installer \ - --disable-strip-libs - fi - - if [[ ${PN} != seamonkey ]]; then - mozconfig_annotate basic_profile \ - --disable-profilelocking - if ! $(mozversion_is_new_enough) ; then - mozconfig_annotate basic_profile \ - --enable-single-profile \ - --disable-profilesharing - fi - fi - - # Here is a strange one... - if is-flag '-mcpu=ultrasparc*' || is-flag '-mtune=ultrasparc*'; then - mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc - fi - - # Currently --enable-elf-dynstr-gc only works for x86, - # thanks to Jason Wever for the fix. - if use x86 && [[ ${enable_optimize} != -O0 ]]; then - mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc - fi - - # jemalloc won't build with older glibc - ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc -} - -# mozconfig_final: display a table describing all configuration options paired -# with reasons, then clean up extensions list -mozconfig_final() { - declare ac opt hash reason - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options .mozconfig | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - # Resolve multiple --enable-extensions down to one - declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' \ - .mozconfig | xargs) - sed -i '/^ac_add_options --enable-extensions/d' .mozconfig - echo "ac_add_options --enable-extensions=${exts// /,}" >> .mozconfig -} - diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass deleted file mode 100644 index 5060c7385c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v3.eclass +++ /dev/null @@ -1,261 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ -# -# @ECLASS: mozcoreconf.eclass -# @MAINTAINER: -# Mozilla team -# @BLURB: core options and configuration functions for mozilla -# @DESCRIPTION: -# -# inherit mozconfig-v5.* or above for mozilla configuration support - -if [[ ! ${_MOZCORECONF_V3} ]]; then - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads' - -inherit multilib flag-o-matic python-any-r1 versionator - -IUSE="${IUSE} custom-cflags custom-optimization" - -DEPEND="virtual/pkgconfig - ${PYTHON_DEPS}" - -# @FUNCTION: mozconfig_annotate -# @DESCRIPTION: -# add an annotated line to .mozconfig -# -# Example: -# mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc -# => ac_add_options --enable-js-ultrasparc # building on ultrasparc -mozconfig_annotate() { - declare reason=$1 x ; shift - [[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!" - for x in ${*}; do - echo "ac_add_options ${x} # ${reason}" >>.mozconfig - done -} - -# @FUNCTION: mozconfig_use_enable -# @DESCRIPTION: -# add a line to .mozconfig based on a USE-flag -# -# Example: -# mozconfig_use_enable truetype freetype2 -# => ac_add_options --enable-freetype2 # +truetype -mozconfig_use_enable() { - declare flag=$(use_enable "$@") - mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" -} - -# @FUNCTION mozconfig_use_with -# @DESCRIPTION -# add a line to .mozconfig based on a USE-flag -# -# Example: -# mozconfig_use_with kerberos gss-api /usr/$(get_libdir) -# => ac_add_options --with-gss-api=/usr/lib # +kerberos -mozconfig_use_with() { - declare flag=$(use_with "$@") - mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" -} - -# @FUNCTION mozconfig_use_extension -# @DESCRIPTION -# enable or disable an extension based on a USE-flag -# -# Example: -# mozconfig_use_extension gnome gnomevfs -# => ac_add_options --enable-extensions=gnomevfs -mozconfig_use_extension() { - declare minus=$(use $1 || echo -) - mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2} -} - -moz_pkgsetup() { - # Ensure we use C locale when building - export LANG="C" - export LC_ALL="C" - export LC_MESSAGES="C" - export LC_CTYPE="C" - - # Ensure that we have a sane build enviroment - export MOZILLA_CLIENT=1 - export BUILD_OPT=1 - export NO_STATIC_LIB=1 - export USE_PTHREADS=1 - export ALDFLAGS=${LDFLAGS} - # ensure MOZCONFIG is not defined - eval unset MOZCONFIG - - # nested configure scripts in mozilla products generate unrecognized options - # false positives when toplevel configure passes downwards. - export QA_CONFIGURE_OPTIONS=".*" - - if [[ $(gcc-major-version) -eq 3 ]]; then - ewarn "Unsupported compiler detected, DO NOT file bugs for" - ewarn "outdated compilers. Bugs opened with gcc-3 will be closed" - ewarn "invalid." - fi - - python-any-r1_pkg_setup -} - -# @FUNCTION: mozconfig_init -# @DESCRIPTION: -# Initialize mozilla configuration and populate with core settings. -# This should be called in src_configure before any other mozconfig_* functions. -mozconfig_init() { - declare enable_optimize pango_version myext x - declare XUL=$([[ ${PN} == xulrunner ]] && echo true || echo false) - declare FF=$([[ ${PN} == firefox ]] && echo true || echo false) - declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false) - declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false) - - #################################### - # - # Setup the initial .mozconfig - # See http://www.mozilla.org/build/configure-build.html - # - #################################### - - case ${PN} in - *xulrunner) - cp xulrunner/config/mozconfig .mozconfig \ - || die "cp xulrunner/config/mozconfig failed" ;; - *firefox) - cp browser/config/mozconfig .mozconfig \ - || die "cp browser/config/mozconfig failed" ;; - seamonkey) - # Must create the initial mozconfig to enable application - : >.mozconfig || die "initial mozconfig creation failed" - mozconfig_annotate "" --enable-application=suite ;; - *thunderbird) - # Must create the initial mozconfig to enable application - : >.mozconfig || die "initial mozconfig creation failed" - mozconfig_annotate "" --enable-application=mail ;; - esac - - #################################### - # - # CFLAGS setup and ARCH support - # - #################################### - - # Set optimization level - if [[ ${ARCH} == hppa ]]; then - mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0 - elif [[ ${ARCH} == x86 ]]; then - mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2 - elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then - # Set optimization level based on CFLAGS - if is-flag -O0; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O0 - elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then - mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1 - elif is-flag -O3; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O3 - elif is-flag -O1; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O1 - elif is-flag -Os; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-Os - else - mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2 - fi - else - # Enable Mozilla's default - mozconfig_annotate "mozilla default" --enable-optimize - fi - - # Strip optimization so it does not end up in compile string - filter-flags '-O*' - - # Strip over-aggressive CFLAGS - use custom-cflags || strip-flags - - # Additional ARCH support - case "${ARCH}" in - alpha) - # Historically we have needed to add -fPIC manually for 64-bit. - # Additionally, alpha should *always* build with -mieee for correct math - # operation - append-flags -fPIC -mieee - ;; - - ia64) - # Historically we have needed to add this manually for 64-bit - append-flags -fPIC - ;; - - ppc64) - append-flags -fPIC -mminimal-toc - ;; - esac - - # Go a little faster; use less RAM - append-flags "$MAKEEDIT_FLAGS" - - #################################### - # - # mozconfig setup - # - #################################### - - mozconfig_annotate disable_update_strip \ - --disable-pedantic \ - --disable-updater \ - --disable-strip \ - --disable-install-strip \ - --disable-installer \ - --disable-strip-libs - - if [[ ${PN} != seamonkey ]]; then - mozconfig_annotate basic_profile \ - --disable-profilelocking \ - --enable-single-profile \ - --disable-profilesharing - fi - - # Here is a strange one... - if is-flag '-mcpu=ultrasparc*' || is-flag '-mtune=ultrasparc*'; then - mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc - fi - - # Currently --enable-elf-dynstr-gc only works for x86, - # thanks to Jason Wever for the fix. - if use x86 && [[ ${enable_optimize} != -O0 ]]; then - mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc - fi - - # jemalloc won't build with older glibc - ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc -} - -# @FUNCTION: mozconfig_final -# @DESCRIPTION: -# Display a table describing all configuration options paired -# with reasons, then clean up extensions list. -# This should be called in src_configure at the end of all other mozconfig_* functions. -mozconfig_final() { - declare ac opt hash reason - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options .mozconfig | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - # Resolve multiple --enable-extensions down to one - declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' \ - .mozconfig | xargs) - sed -i '/^ac_add_options --enable-extensions/d' .mozconfig - echo "ac_add_options --enable-extensions=${exts// /,}" >> .mozconfig -} - -_MOZCORECONF_V3=1 -fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v4.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v4.eclass index 9d0334a189..557a780eb9 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v4.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-v4.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: mozcoreconf-v4.eclass # @MAINTAINER: @@ -97,7 +96,7 @@ moz_pkgsetup() { export USE_PTHREADS=1 export ALDFLAGS=${LDFLAGS} # ensure MOZCONFIG is not defined - eval unset MOZCONFIG + unset MOZCONFIG # set MOZILLA_FIVE_HOME export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass index 40a8ac00c5..58d04b2242 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: mozextension.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas-v2.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas-v2.eclass index 89b9b3d995..cb7bcef5f4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas-v2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas-v2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mozlinguas-v2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass deleted file mode 100644 index 8e9f409e4f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass +++ /dev/null @@ -1,315 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# @ECLASS: mozlinguas.eclass -# @MAINTAINER: -# mozilla@gentoo.org -# @AUTHOR: -# Nirbheek Chauhan -# Ian Stakenvicius -# @BLURB: Handle language packs for mozilla products -# @DESCRIPTION: -# Sets IUSE according to MOZ_LANGS (language packs available). Also exports -# src_unpack, src_compile and src_install for use in ebuilds, and provides -# supporting functions for langpack generation and installation. - -inherit mozextension - -case "${EAPI:-0}" in - 0|1) - die "EAPI ${EAPI:-0} does not support the '->' SRC_URI operator";; - 2|3|4|5|6) - EXPORT_FUNCTIONS src_unpack src_compile src_install;; - *) - die "EAPI ${EAPI} is not supported, contact eclass maintainers";; -esac - -# @ECLASS-VARIABLE: MOZ_LANGS -# @DESCRIPTION: -# Array containing the list of language pack xpis available for -# this release. The list can be updated with scripts/get_langs.sh from the -# mozilla overlay. -: ${MOZ_LANGS:=()} - -# @ECLASS-VARIABLE: MOZ_PV -# @DESCRIPTION: -# Ebuild package version converted to equivalent upstream version. -# Defaults to ${PV}, and should be overridden for alphas, betas, and RCs -: ${MOZ_PV:="${PV}"} - -# @ECLASS-VARIABLE: MOZ_PN -# @DESCRIPTION: -# Ebuild package name converted to equivalent upstream name. -# Defaults to ${PN}, and should be overridden for binary ebuilds. -: ${MOZ_PN:="${PN}"} - -# @ECLASS-VARIABLE: MOZ_P -# @DESCRIPTION: -# Ebuild package name + version converted to upstream equivalent. -# Defaults to ${MOZ_PN}-${MOZ_PV} -: ${MOZ_P:="${MOZ_PN}-${MOZ_PV}"} - -# @ECLASS-VARIABLE: MOZ_FTP_URI -# @DESCRIPTION: -# The ftp URI prefix for the release tarballs and language packs. -: ${MOZ_FTP_URI:=""} - -# @ECLASS-VARIABLE: MOZ_HTTP_URI -# @DESCRIPTION: -# The http URI prefix for the release tarballs and language packs. -: ${MOZ_HTTP_URI:=""} - -# @ECLASS-VARIABLE: MOZ_LANGPACK_PREFIX -# @DESCRIPTION: -# The relative path till the lang code in the langpack file URI. -# Defaults to ${MOZ_PV}/linux-i686/xpi/ -: ${MOZ_LANGPACK_PREFIX:="${MOZ_PV}/linux-i686/xpi/"} - -# @ECLASS-VARIABLE: MOZ_LANGPACK_SUFFIX -# @DESCRIPTION: -# The suffix after the lang code in the langpack file URI. -# Defaults to '.xpi' -: ${MOZ_LANGPACK_SUFFIX:=".xpi"} - -# @ECLASS-VARIABLE: MOZ_LANGPACK_UNOFFICIAL -# @DESCRIPTION: -# The status of the langpack, used to differentiate within -# Manifests and on Gentoo mirrors as to when the langpacks are -# generated officially by Mozilla or if they were generated -# unofficially by others (ie the Gentoo mozilla team). When -# this var is set, the distfile will have a .unofficial.xpi -# suffix. -: ${MOZ_LANGPACK_UNOFFICIAL:=""} - -# @ECLASS-VARIABLE: MOZ_GENERATE_LANGPACKS -# @DESCRIPTION: -# This flag specifies whether or not the langpacks should be -# generated directly during the build process, rather than -# being downloaded and installed from upstream pre-built -# extensions. Primarily it supports pre-release builds. -# Defaults to empty. -: ${MOZ_GENERATE_LANGPACKS:=""} - -# @ECLASS-VARIABLE: MOZ_L10N_SOURCEDIR -# @DESCRIPTION: -# The path that l10n sources can be found at, once unpacked. -# Defaults to ${WORKDIR}/l10n-sources -: ${MOZ_L10N_SOURCEDIR:="${WORKDIR}/l10n-sources"} - -# @ECLASS-VARIABLE: MOZ_L10N_URI_PREFIX -# @DESCRIPTION: -# The full URI prefix of the distfile for each l10n locale. The -# AB_CD and MOZ_L10N_URI_SUFFIX will be appended to this to complete the -# SRC_URI when MOZ_GENERATE_LANGPACKS is set. If empty, nothing will -# be added to SRC_URI. -# Defaults to empty. -: ${MOZ_L10N_URI_PREFIX:=""} - -# @ECLASS-VARIABLE: MOZ_L10N_URI_SUFFIX -# @DESCRIPTION: -# The suffix of l10n source distfiles. -# Defaults to '.tar.xz' -: ${MOZ_L10N_URI_SUFFIX:=".tar.xz"} - -# Add linguas_* to IUSE according to available language packs -# No language packs for alphas and betas -if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] ; then - if ! [[ ${PV} =~ alpha|beta ]] || { [[ ${PN} == seamonkey ]] && ! [[ ${PV} =~ alpha ]] ; } ; then - [[ -z ${MOZ_FTP_URI} ]] && [[ -z ${MOZ_HTTP_URI} ]] && die "No URI set to download langpacks, please set one of MOZ_{FTP,HTTP}_URI" - for x in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then - continue - fi - SRC_URI+=" linguas_${x/-/_}? (" - [[ -n ${MOZ_FTP_URI} ]] && SRC_URI+=" - ${MOZ_FTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - [[ -n ${MOZ_HTTP_URI} ]] && SRC_URI+=" - ${MOZ_HTTP_URI}/${MOZ_LANGPACK_PREFIX}${x}${MOZ_LANGPACK_SUFFIX} -> ${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - SRC_URI+=" )" - IUSE+=" linguas_${x/-/_}" - # We used to do some magic if specific/generic locales were missing, but - # we stopped doing that due to bug 325195. - done - fi -else - for x in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${x} == en ]] || [[ ${x} == en-US ]]; then - continue - fi -# Do NOT grab l10n sources from hg tip at this time, since it is a moving target -# if [[ ${PV} =~ alpha ]]; then -# # Please note that this URI is not deterministic - digest breakage could occur -# SRC_URI+=" linguas_${x/-/_}? ( http://hg.mozilla.org/releases/l10n/mozilla-aurora/ach/archive/tip.tar.bz2 -> ${MOZ_P}-l10n-${x}.tar.bz2 )" -# elif [[ ${PV} =~ beta ]] && ! [[ ${PN} == seamonkey ]]; then -# # Please note that this URI is not deterministic - digest breakage could occur -# SRC_URI+=" linguas_${x/-/_}? ( http://hg.mozilla.org/releases/l10n/mozilla-beta/ach/archive/tip.tar.bz2 -> ${MOZ_P}-l10n-${x}.tar.bz2 )" -# elif [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then - if [[ -n ${MOZ_L10N_URI_PREFIX} ]]; then - SRC_URI+=" linguas_${x/-/_}? ( ${MOZ_L10N_URI_PREFIX}${x}${MOZ_L10N_URI_SUFFIX} )" - fi - IUSE+=" linguas_${x/-/_}" - done -fi -unset x - -# @FUNCTION: mozlinguas_export -# @INTERNAL -# @DESCRIPTION: -# Generate the list of language packs called "mozlinguas" -# This list is used to unpack and install the xpi language packs -mozlinguas_export() { - if [[ ${PN} == seamonkey ]] ; then - [[ ${PV} =~ alpha ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return - else - [[ ${PV} =~ alpha|beta ]] && ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]] && return - fi - local lingua - mozlinguas=() - for lingua in ${LINGUAS}; do - if has ${lingua} en en_US; then - # For mozilla products, en and en_US are handled internally - continue - # If this language is supported by ${P}, - elif has ${lingua} "${MOZ_LANGS[@]//-/_}"; then - # Add the language to mozlinguas, if it isn't already there - has ${lingua//_/-} "${mozlinguas[@]}" || mozlinguas+=(${lingua//_/-}) - continue - # For each short lingua that isn't in MOZ_LANGS, - # We used to add *all* long MOZ_LANGS to the mozlinguas list, - # but we stopped doing that due to bug 325195. - else - : - fi - ewarn "Sorry, but ${P} does not support the ${lingua} locale" - done -} - -# @FUNCTION: mozlinguas_src_unpack -# @DESCRIPTION: -# Unpack xpi language packs according to the user's LINGUAS settings -mozlinguas_src_unpack() { - local x - if ! [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - mozlinguas_export - for x in "${mozlinguas[@]}"; do - # FIXME: Add support for unpacking xpis to portage - xpi_unpack "${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - done - if [[ "${mozlinguas[*]}" != "" && "${mozlinguas[*]}" != "en" ]]; then - einfo "Selected language packs (first will be default): ${mozlinguas[*]}" - fi - fi -} - -# @FUNCTION: mozlinguas_mozconfig -# @DESCRIPTION: -# if applicable, add the necessary flag to .mozconfig to support -# the generation of locales. Note that this function requires -# mozconfig_annontate to already be declared via an inherit of -# mozconfig or mozcoreconf. -mozlinguas_mozconfig() { - if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - if declare -f mozconfig_annotate >/dev/null ; then - mozconfig_annotate 'for building locales' --with-l10n-base=${MOZ_L10N_SOURCEDIR} - else - die "Could not configure l10n-base, mozconfig_annotate not declared -- missing inherit?" - fi - fi -} - -# @FUNCTION: mozlinguas_src_compile -# @DESCRIPTION: -# if applicable, build the selected locales. -mozlinguas_src_compile() { - if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - # leverage BUILD_OBJ_DIR if set otherwise assume PWD. - local x y targets=( "langpack" ) localedir="${BUILD_OBJ_DIR:-.}" - case ${PN} in - *firefox) - localedir+="/browser/locales" - ;; - seamonkey) - localedir+="/suite/locales" - ;; - *thunderbird) - localedir+="/mail/locales" - targets+=( "calendar-langpack" ) - ;; - *) die "Building locales for ${PN} is not supported." - esac - pushd "${localedir}" > /dev/null || die - mozlinguas_export - for x in "${mozlinguas[@]}"; do for y in "${targets[@]}"; do - emake ${y}-${x} LOCALE_MERGEDIR="./${y}-${x}" - done; done - popd > /dev/null || die - fi -} - -# @FUNCTION: mozlinguas_xpistage_langpacks -# @DESCRIPTION: -# Add extra langpacks to the xpi-stage dir for prebuilt plugins -# -# First argument is the path to the extension -# Second argument is the prefix of the source (same as first if unspecified) -# Remaining arguments are the modules in the extension that are localized -# (basename of first if unspecified) -# -# Example - installing extra langpacks for lightning: -# src_install() { -# ... # general installation steps -# mozlinguas_xpistage_langpacks \ -# "${BUILD_OBJ_DIR}"/dist/xpi-stage/lightning \ -# "${WORKDIR}"/lightning \ -# lightning calendar -# ... # proceed with installation from the xpi-stage dir -# } - -mozlinguas_xpistage_langpacks() { - local l c modpath="${1}" srcprefix="${1}" modules=( "${1##*/}" ) - shift - if [[ -n ${1} ]] ; then srcprefix="${1}" ; shift ; fi - if [[ -n ${1} ]] ; then modules=( $@ ) ; fi - - mozlinguas_export - mkdir -p "${modpath}/chrome" || die - for l in "${mozlinguas[@]}"; do for c in "${modules[@]}" ; do - if [[ -e "${srcprefix}-${l}/chrome/${c}-${l}" ]]; then - cp -RLp -t "${modpath}/chrome" "${srcprefix}-${l}/chrome/${c}-${l}" || die - grep "locale ${c} ${l} chrome/" "${srcprefix}-${l}/chrome.manifest" \ - >>"${modpath}/chrome.manifest" || die - elif [[ -e "${srcprefix}/chrome/${c}-${l}" ]]; then - cp -RLp -t "${modpath}/chrome" "${srcprefix}/chrome/${c}-${l}" || die - grep "locale ${c} ${l} chrome/" "${srcprefix}/chrome.manifest" \ - >>"${modpath}/chrome.manifest" || die - else - ewarn "Locale ${l} was not found for ${c}, skipping." - fi - done; done -} - -# @FUNCTION: mozlinguas_src_install -# @DESCRIPTION: -# Install xpi language packs according to the user's LINGUAS settings -# NOTE - uses ${BUILD_OBJ_DIR} or PWD if unset, for source-generated langpacks -mozlinguas_src_install() { - local x - mozlinguas_export - if [[ -n ${MOZ_GENERATE_LANGPACKS} ]]; then - local repopath="${WORKDIR}/${PN}-generated-langpacks" - mkdir -p "${repopath}" - pushd "${BUILD_OBJ_DIR:-.}"/dist/*/xpi > /dev/null || die - for x in "${mozlinguas[@]}"; do - cp "${MOZ_P}.${x}.langpack.xpi" \ - "${repopath}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" || die - xpi_unpack "${repopath}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}.xpi" - done - popd > /dev/null || die - fi - for x in "${mozlinguas[@]}"; do - xpi_install "${WORKDIR}/${MOZ_P}-${x}${MOZ_LANGPACK_UNOFFICIAL:+.unofficial}" - done -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/multibuild.eclass b/sdk_container/src/third_party/portage-stable/eclass/multibuild.eclass index 3d05f46d2a..0f89e4ec0b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/multibuild.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/multibuild.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: multibuild.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/multilib-build.eclass b/sdk_container/src/third_party/portage-stable/eclass/multilib-build.eclass index deb03dbdd9..7c69f86b46 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/multilib-build.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/multilib-build.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: multilib-build.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/multilib-minimal.eclass b/sdk_container/src/third_party/portage-stable/eclass/multilib-minimal.eclass index 127614da1e..de46762ca6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/multilib-minimal.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/multilib-minimal.eclass @@ -1,10 +1,9 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: multilib-minimal.eclass # @MAINTAINER: -# Julian Ospald +# Multilib team # @BLURB: wrapper for multilib builds providing convenient multilib_src_* functions # @DESCRIPTION: # diff --git a/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass index a80511c2ee..956f3aeed8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/multilib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: multilib.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/multiprocessing.eclass b/sdk_container/src/third_party/portage-stable/eclass/multiprocessing.eclass index 73d852410b..50368e35ea 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/multiprocessing.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/multiprocessing.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: multiprocessing.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/myspell-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/myspell-r2.eclass index 954a4b5f05..4d2661354f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/myspell-r2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/myspell-r2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: aspell-dict.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/myspell.eclass b/sdk_container/src/third_party/portage-stable/eclass/myspell.eclass index c692f37afc..5283842129 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/myspell.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/myspell.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Author: Kevin F. Quinn # Packages: app-dicts/myspell-* diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql-cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql-cmake.eclass index f14c9a7cf6..25d2c3c80e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql-cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql-cmake.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mysql-cmake.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass index b787542745..e2a066ae85 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib-r1.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mysql-multilib.eclass # @MAINTAINER: @@ -212,7 +211,7 @@ DEPEND="${DEPEND} # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL PDEPEND="${PDEPEND} perl? ( >=dev-perl/DBD-mysql-2.9004 ) - ~virtual/mysql-${MYSQL_PV_MAJOR}[embedded=,static=] + server? ( ~virtual/mysql-${MYSQL_PV_MAJOR}[embedded=,static=] ) virtual/libmysqlclient:${SLOT}[${MULTILIB_USEDEP},static-libs=]" # my_config.h includes ABI specific data @@ -393,7 +392,7 @@ multilib_src_configure() { -DINSTALL_SQLBENCHDIR=share/mysql -DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test) + -DWITH_UNIT_TESTS=$(usex test ON OFF) -DWITH_LIBEDIT=0 -DWITH_ZLIB=system -DWITHOUT_LIBWRAP=1 @@ -403,7 +402,7 @@ multilib_src_configure() { -DWITH_DEFAULT_COMPILER_OPTIONS=0 -DWITH_DEFAULT_FEATURE_SET=0 -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - -DENABLE_STATIC_LIBS=$(usex static-libs) + -DENABLE_STATIC_LIBS=$(usex static-libs ON OFF) # The build forces this to be defined when cross-compiling. We pass it # all the time for simplicity and to make sure it is actually correct. -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) @@ -785,7 +784,7 @@ mysql-multilib-r1_pkg_config() { mysql_init_vars [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if ! built_with_use ${CATEGORY}/${PN} server ; then + if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then die "Minimal builds do NOT include the MySQL server" fi @@ -942,19 +941,19 @@ mysql-multilib-r1_pkg_config() { if [[ ${PN} == "mysql" || ${PN} == "percona-server" ]] && version_is_at_least "5.7.6" ; then # --initialize-insecure will not set root password # --initialize would set a random one in the log which we don't need as we set it ourselves - cmd="${EROOT}usr/sbin/mysqld" - initialize_options="--initialize-insecure '--init-file=${sqltmp}'" + cmd=( "${EROOT}usr/sbin/mysqld" ) + initialize_options="--initialize-insecure --init-file='${sqltmp}'" sqltmp="" # the initialize will take care of it else - cmd="${EROOT}usr/share/mysql/scripts/mysql_install_db" - [[ -f "${cmd}" ]] || cmd="${EROOT}usr/bin/mysql_install_db" + cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) if [[ -r "${help_tables}" ]] ; then cat "${help_tables}" >> "${sqltmp}" fi fi - cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options} '--datadir=${ROOT}/${MY_DATADIR}' '--tmpdir=${ROOT}/${MYSQL_TMPDIR}' ${initialize_options}" - einfo "Command: $cmd" - eval $cmd \ + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ${initialize_options} ) + einfo "Command: ${cmd[*]}" + "${cmd[@]}" \ >"${TMPDIR}"/mysql_install_db.log 2>&1 if [ $? -ne 0 ]; then grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib.eclass index b2e7dffa09..570deadd25 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql-multilib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mysql-multilib.eclass # @MAINTAINER: @@ -943,14 +942,8 @@ mysql-multilib_pkg_config() { mysql_init_vars [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ${HAS_TOOLS_PATCH} ]] ; then - if ! built_with_use ${CATEGORY}/${PN} server ; then - die "Minimal builds do NOT include the MySQL server" - fi - else - if built_with_use ${CATEGORY}/${PN} minimal ; then - die "Minimal builds do NOT include the MySQL server" - fi + if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" fi if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql-v2.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql-v2.eclass index 556d37eba6..b63c306f74 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql-v2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql-v2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: mysql-v2.eclass # @MAINTAINER: @@ -183,7 +182,6 @@ SRC_URI="${SERVER_URI}" if [[ ${MY_EXTRAS_VER} != "live" && ${MY_EXTRAS_VER} != "none" ]]; then SRC_URI="${SRC_URI} mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - http://g3nt8.org/patches/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" @@ -699,7 +697,7 @@ mysql-v2_pkg_config() { [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if built_with_use ${CATEGORY}/${PN} minimal ; then + if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then die "Minimal builds do NOT include the MySQL server" fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql_fx.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql_fx.eclass index 1c501cbeb9..ef9e36f585 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql_fx.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql_fx.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Author: Francesco Riosa (Retired) # Maintainer: diff --git a/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass b/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass index 2ad37169de..58c6662a04 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: netsurf.eclass # @MAINTAINER: @@ -104,7 +103,7 @@ multilib_src_configure() { # @FUNCTION: netsurf_make # @DESCRIPTION: -# Calls emake with netsurf_makeconf and toolchain CC/LD +# Calls emake with netsurf_makeconf and toolchain CC/LD # as arguments for every NETSURF_COMPONENT_TYPE if activated. netsurf_make() { for COMPONENT_TYPE in ${NETSURF_COMPONENT_TYPE} ; do @@ -126,7 +125,7 @@ netsurf_src_compile() { local problems=$(egrep -Hn -- ' (-O.?|-g)( |$)' \ $(find . -type f -name 'Makefile*')) if [ -n "${problems}" ] ; then - elog "found bad flags: + elog "found bad flags: ${problems}" fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/nsplugins.eclass b/sdk_container/src/third_party/portage-stable/eclass/nsplugins.eclass index bd9b3fb059..0b154c89db 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/nsplugins.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/nsplugins.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # @ECLASS: nsplugins.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/nvidia-driver.eclass b/sdk_container/src/third_party/portage-stable/eclass/nvidia-driver.eclass index 1c6225c26b..438e23fdf3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/nvidia-driver.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/nvidia-driver.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: nvidia-driver.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/oasis.eclass b/sdk_container/src/third_party/portage-stable/eclass/oasis.eclass index 6b1fc4fb14..ff97e8fe8b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/oasis.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/oasis.eclass @@ -1,9 +1,8 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: oasis.eclass -# @MAINTAINER: +# @MAINTAINER: # ml@gentoo.org # @AUTHOR: # Original Author: Alexis Ballier @@ -63,7 +62,7 @@ IUSE="+ocamlopt" [ -n "${OASIS_BUILD_TESTS}" ] && IUSE="${IUSE} test" DEPEND="${RDEPEND} - || ( dev-ml/ocamlbuild < variable > @@ -99,7 +98,7 @@ oasis_src_configure() { # @DESCRIPTION: # Builds an oasis-based package. # Will build documentation if OASIS_BUILD_DOCS is defined and the doc useflag is -# enabled. +# enabled. oasis_src_compile() { ${OASIS_SETUP_COMMAND:-ocaml setup.ml} -build || die if [ -n "${OASIS_BUILD_DOCS}" ] && use doc; then diff --git a/sdk_container/src/third_party/portage-stable/eclass/obs-download.eclass b/sdk_container/src/third_party/portage-stable/eclass/obs-download.eclass index 39aada35c6..5ed65410c5 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/obs-download.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/obs-download.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: obs-download.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/obs-service.eclass b/sdk_container/src/third_party/portage-stable/eclass/obs-service.eclass index d53e3b328e..f0397d1fe5 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/obs-service.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/obs-service.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: obs-service.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass index e2d213dea4..4bfc170ab3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: office-ext-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/openib.eclass b/sdk_container/src/third_party/portage-stable/eclass/openib.eclass index 0001db89cb..08d6fb3a11 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/openib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/openib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: openib.eclass # @AUTHOR: @@ -11,7 +10,7 @@ inherit eutils rpm versionator EXPORT_FUNCTIONS src_unpack -HOMEPAGE="http://www.openfabrics.org/" +HOMEPAGE="https://www.openfabrics.org/" LICENSE="|| ( GPL-2 BSD-2 )" # @ECLASS-VARIABLE: OFED_VER diff --git a/sdk_container/src/third_party/portage-stable/eclass/pam.eclass b/sdk_container/src/third_party/portage-stable/eclass/pam.eclass index c5d9108625..1e0c2ff039 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/pam.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/pam.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: pam.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass index 137f3efe85..ca8f15d9c9 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/pax-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: pax-utils.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/perl-app.eclass b/sdk_container/src/third_party/portage-stable/eclass/perl-app.eclass index 2ad9bdca46..4519627d76 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/perl-app.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/perl-app.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Author: Michael Cummings # Maintained by the Perl herd diff --git a/sdk_container/src/third_party/portage-stable/eclass/perl-functions.eclass b/sdk_container/src/third_party/portage-stable/eclass/perl-functions.eclass index 1542b98cd4..96e9a59e89 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/perl-functions.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/perl-functions.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: perl-functions.eclass # @MAINTAINER: @@ -8,6 +7,7 @@ # @AUTHOR: # Seemant Kulleen # Andreas K. Huettel +# Kent Fredric # @BLURB: helper functions eclass for perl modules # @DESCRIPTION: # The perl-functions eclass is designed to allow easier installation of perl @@ -28,15 +28,20 @@ esac perlinfo_done=false # @FUNCTION: perl_set_version -# @USAGE: perl_set_version # @DESCRIPTION: -# Extract version information and installation paths from the current Perl -# interpreter. +# Extract version information and installation paths from the current Perl +# interpreter. # -# This sets the following variables: PERL_VERSION, SITE_ARCH, SITE_LIB, +# This sets the following variables: PERL_VERSION, SITE_ARCH, SITE_LIB, # ARCH_LIB, VENDOR_LIB, VENDOR_ARCH # # This function used to be called perlinfo as well. +# +# Example: +# @CODE +# perl_set_version +# echo $PERL_VERSION +# @CODE perl_set_version() { debug-print-function $FUNCNAME "$@" debug-print "$FUNCNAME: perlinfo_done=${perlinfo_done}" @@ -54,7 +59,6 @@ perl_set_version() { } # @FUNCTION: perl_delete_localpod -# @USAGE: perl_delete_localpod # @DESCRIPTION: # Remove stray perllocal.pod files in the temporary install directory D. # @@ -67,7 +71,6 @@ perl_delete_localpod() { } # @FUNCTION: perl_fix_osx_extra -# @USAGE: perl_fix_osx_extra # @DESCRIPTION: # Look through ${S} for AppleDouble encoded files and get rid of them. perl_fix_osx_extra() { @@ -84,7 +87,6 @@ perl_fix_osx_extra() { } # @FUNCTION: perl_delete_module_manpages -# @USAGE: perl_delete_module_manpages # @DESCRIPTION: # Bump off manpages installed by the current module such as *.3pm files as well # as empty directories. @@ -98,7 +100,6 @@ perl_delete_module_manpages() { } # @FUNCTION: perl_delete_packlist -# @USAGE: perl_delete_packlist # @DESCRIPTION: # Look through ${D} for .packlist files, empty .bs files and empty directories, # and get rid of items found. @@ -112,7 +113,6 @@ perl_delete_packlist() { } # @FUNCTION: perl_delete_emptybsdir -# @USAGE: perl_delete_emptybsdir # @DESCRIPTION: # Look through ${D} for empty .bs files and empty directories, # and get rid of items found. @@ -127,7 +127,6 @@ perl_delete_emptybsdir() { } # @FUNCTION: perl_fix_packlist -# @USAGE: perl_fix_packlist # @DESCRIPTION: # Look through ${D} for .packlist text files containing the temporary installation # folder (i.e. ${D}). If the pattern is found, silently replace it with `/'. @@ -161,7 +160,6 @@ perl_fix_packlist() { } # @FUNCTION: perl_remove_temppath -# @USAGE: perl_remove_temppath # @DESCRIPTION: # Look through ${D} for text files containing the temporary installation # folder (i.e. ${D}). If the pattern is found, replace it with `/' and warn. @@ -177,7 +175,7 @@ perl_remove_temppath() { } # @FUNCTION: perl_rm_files -# @USAGE: perl_rm_files "file_1" "file_2" +# @USAGE: # @DESCRIPTION: # Remove certain files from a Perl release and remove them from the MANIFEST # while we're there. @@ -190,6 +188,14 @@ perl_remove_temppath() { # # Removing from MANIFEST also avoids needless log messages warning # users about files "missing from their kit". +# +# Example: +# @CODE +# src_test() { +# perl_rm_files t/pod{,-coverage}.t +# perl-module_src_test +# } +# @CODE perl_rm_files() { debug-print-function $FUNCNAME "$@" local skipfile="${T}/.gentoo_makefile_skip" @@ -213,10 +219,9 @@ perl_rm_files() { } # @FUNCTION: perl_link_duallife_scripts -# @USAGE: perl_link_duallife_scripts # @DESCRIPTION: # Moves files and generates symlinks so dual-life packages installing scripts do not -# lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and makes +# lead to file collisions. Mainly for use in pkg_postinst and pkg_postrm, and makes # only sense for perl-core packages. perl_link_duallife_scripts() { debug-print-function $FUNCNAME "$@" @@ -250,7 +255,6 @@ perl_link_duallife_scripts() { } # @FUNCTION: perl_check_env -# @USAGE: perl_check_env # @DESCRIPTION: # Checks a blacklist of known-suspect ENV values that can be accidentally set by users # doing personal perl work, which may accidentally leak into portage and break the @@ -276,7 +280,7 @@ perl_check_env() { errored=1 # Read ENV Value - eval "value=\$$i"; + value=${!i}; # Print ENV name/value pair if [ -n "${I_KNOW_WHAT_I_AM_DOING}" ]; then @@ -300,12 +304,19 @@ perl_check_env() { } # @FUNCTION: perl_doexamples -# @USAGE: perl_doexamples "file_1" "file_2" +# @USAGE: # @DESCRIPTION: # Install example files ready-to-run. # Is called under certain circumstances in perl-module.eclass src_install # (see the documentation there). # +# Example: +# @CODE +# src_install() { +# perl-module_src_install +# use examples && perl_doexamples "eg/*" +# } +# @CODE perl_doexamples() { debug-print-function $FUNCNAME "$@" @@ -315,7 +326,262 @@ perl_doexamples() { docompress -x /usr/share/doc/${PF}/examples docinto examples/ + # Lack of quoting here is important in order to support glob expansion + # in DIST_EXAMPLES=( ), which is defined before source extraction occurs dodoc -r $@ # is there a way to undo "docinto" ? } + +# @FUNCTION: perl_has_module +# @USAGE: +# @RETURN: 0 if available, non-zero otherwise +# @DESCRIPTION: +# Query the installed system Perl to see if a given module is installed. +# This does **not** load the module in question, only anticipates if it *might* load. +# +# This is primarily for the purposes of dependency weakening so that conditional +# behaviour can be triggered without adding dependencies to portage which would confuse +# a dependency resolver. +# +# returns 'true' if the module is available, returns error if the module is not available +# +# Example: +# @CODE +# perl_has_module "Test::Tester" && echo "Test::Tester installed" +# @CODE + +perl_has_module() { + debug-print-function $FUNCNAME "$@" + + [[ $# -gt 0 ]] || die "${FUNCNAME}: No module name provided" + [[ $# -lt 2 ]] || die "${FUNCNAME}: Too many parameters ($#)" + + perl -we 'my $mn = $ARGV[0]; + $mn =~ s{(::|\x{27})}{/}g; + for(@INC){ + next if ref $_; + exit 0 if -r $_ . q[/] . $mn . q[.pm] + } + exit 1' "$@"; +} + +# @FUNCTION: perl_has_module_version +# @USAGE: +# @RETURN: 0 if satisfied, non-zero otherwise +# @DESCRIPTION: +# Query the installed system Perl to see if a given module is installed +# and is at least a given version. +# +# This requires more caution to use than perl_has_module as it requires +# loading the module in question to determine version compatibility, +# which can be SLOW, and can have side effects (ie: compilation fails in +# require due to some dependency, resulting in a "Fail") +# +# Also take care to note the module version is a *minimum*, *must* be +# written in upstream versions format and should be a a legal upstream version +# +# returns a true exit code if the module is both available and is at least +# the specified version +# +# Example: +# @CODE +# perl_has_module_version "Test::Tester" "0.017" \ +# && echo "Test::Tester 0.017 or greater installed" +# @CODE +perl_has_module_version() { + debug-print-function $FUNCNAME "$@" + + [[ $# -gt 0 ]] || die "${FUNCNAME}: No module name provided" + [[ $# -gt 1 ]] || die "${FUNCNAME}: No module version provided" + [[ $# -lt 3 ]] || die "${FUNCNAME}: Too many parameters ($#)" + + perl -we 'my $mn = $ARGV[0]; + $mn =~ s{(::|\x{27})}{/}g; + exit ( eval { + require qq[${mn}.pm]; + $ARGV[0]->VERSION($ARGV[1]); + 1 + } ? 0 : 1 )' "$@" +} + +# @FUNCTION: perl_get_module_version +# @USAGE: +# @RETURN: 0 if module available, non-zero if error +# @DESCRIPTION: +# Query the installed system perl to report the version of the installed +# module. +# +# Note this should be strictly for diagnostic purposes to the end user, +# and may be of selective use in pkg_info to enhance +# emerge --info reports. +# +# Anything that does version comparisons **must not** use the return value +# from this function +# +# Also note that this **must** at least attempt load the module in +# question as part of its operation, and is subsequently prone to SLOWness. +# +# Return codes return error in both compilation-failure and not-installed cases. +# +# Example: +# @CODE +# MODVER=$(perl_get_module_version "Test::Simple") \ +# || die "Test::Simple not installed: $MODVER" +# @CODE + +perl_get_module_version() { + debug-print-function $FUNCNAME "$@" + + [[ $# -gt 0 ]] || die "${FUNCNAME}: No module name provided" + [[ $# -lt 2 ]] || die "${FUNCNAME}: Too many parameters ($#)" + + if ! perl_has_module "$@" ; then + echo "(Not Installed)"; + return 1; + fi + + # Todo: What do we do if require fails? spew to stderr + # or stay silent? + + perl -we 'my $mn = $ARGV[0]; + $mn =~ s{(::|\x{27})}{/}g; + local $@; + eval { require qq[${mn}.pm]; 1 } or do { + print q[(Compilation failed in require)]; + exit 1; + }; + my $stash = \%{ $ARGV[0] . q[::] }; + if ( not exists $stash->{VERSION} ) { + print q[(No VERSION property)]; + exit 0; + } + if ( not defined ${$stash->{VERSION}} ) { + print q[(undef)]; + exit 0; + } + print ${$stash->{VERSION}}; + exit 0; ' "$@" +} + +# @FUNCTION: perl_get_raw_vendorlib +# @DESCRIPTION: +# Convenience function to optimise for a common case without double-handling +# variables everywhere. +# +# Note: Will include EPREFIX where relevant +# +# Example: +# @CODE +# my_raw_vendorlib="$(perl_get_raw_vendorlib)" +# @CODE + +perl_get_raw_vendorlib() { + debug-print-function $FUNCNAME "$@" + + [[ $# -lt 1 ]] || die "${FUNCNAME}: Too many parameters ($#)" + + perl -MConfig \ + -e'exists $Config{$ARGV[0]} || die qq{No such Config key "$ARGV[0]"}; + print $Config{$ARGV[0]}; + exit 0' -- "installvendorlib" || die "Can't extract installvendorlib from Perl Configuration" +} + +# @FUNCTION: perl_get_vendorlib +# @DESCRIPTION: +# Convenience helper for returning Perls' vendor install root +# without EPREFIXing. +# +# Example: +# @CODE +# my_vendorlib="$(perl_get_vendorlib)" +# @CODE + +perl_get_vendorlib() { + debug-print-function $FUNCNAME "$@" + + [[ $# -lt 1 ]] || die "${FUNCNAME}: Too many parameters ($#)" + + # Requires perl 5.14 for /r attribute of s/// + # Just in case somebody out there is stuck in a time warp: upgrade perl first + perl -M5.014 -MConfig \ + -e'exists $Config{$ARGV[0]} || die qq{No such Config key "$ARGV[0]"}; + print $Config{$ARGV[0]} =~ s{\A\Q$ARGV[1]\E}{}r; + exit 0' -- "installvendorlib" "$EPREFIX" || die "Can't extract installvendorlib from Perl Configuration" +} + +# @FUNCTION: perl_domodule +# @USAGE: [-C ] [-r] +# @DESCRIPTION: +# Installs files in paths where they can be found in the default +# Perl runtime. +# +# Note: Should only be used in src_install or pkg_preinst +# anywhere else will do the wrong thing or die. +# +# The contents of the list are copied into Perls Vendor library path +# as follows: +# @CODE +# # install perl/File.pm as Samba::File +# pushd perl/ +# perl_domodule -C Samba File.pm +# +# # install perl/ recursively under VENDORLIB/Samba/ +# pushd perl/ +# perl_domodule -C Samba -r . +# @CODE +# +# @CODE +# options: +# -C Target/Name +# The subdirectory relative to the Perl VENDOR_LIB +# to install into. +# +# defaults to "" +# -r +# Install directories recursively ( see doins ) +# files: +# list of .pm files to install to VENDORLIB +# @CODE + +perl_domodule() { + local target_prefix="" + local files=() + local doins_opts=() + + local recursive="false" + local target + local file + + while [[ $# -gt 0 ]] ; do + case $1 in + -C|--target-prefix) + [[ -z "${2}" || "${2:0:1}" == "-" ]] && die "${FUNCNAME}: -C|--target-prefix expects an argument, got \"$2\"!" + target_prefix="${2}"; + shift 2;; + -r) + recursive="true" + shift;; + *) + [[ -z "${1}" || "${1:0:1}" == "-" ]] && die "${FUNCNAME}: Unknown argument \"${1}\"!" + files+=( "${1}" ) + shift 1;; + esac + done + + if [[ "true" == $recursive ]]; then + doins_opts+=( "-r" ) + fi + for file in "${files[@]}"; do + [[ -e "${file}" ]] || die "$FUNCNAME: Argument \"${file}\" is not an existing file" + [[ "false" == ${recursive} && -d "${file}" ]] && die "$FUNCNAME: Argument \"${file}\" is a directory ( needs -r parameter )" + done + + target="$(perl_get_vendorlib)" + + # Extend target if target_prefix is set + [[ -z "${target_prefix}" ]] || target="${target%/}/${target_prefix#/}" + + insinto "/${target#/}" + doins "${doins_opts[@]}" "${files[@]}" +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass index 558a41d9f0..f97b3265fc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/perl-module.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: perl-module.eclass # @MAINTAINER: @@ -33,6 +32,7 @@ case ${EAPI:-0} in esac # @ECLASS-VARIABLE: GENTOO_DEPEND_ON_PERL +# @DEFAULT_UNSET # @DESCRIPTION: # This variable controls whether a runtime and build time dependency on # dev-lang/perl is automatically added by the eclass. It defaults to yes. @@ -86,8 +86,8 @@ case ${EAPI:-0} in ;; esac - if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT}" ]]; then - eerror "GENTOO_DEPEND_ON_PERL_SUBSLOT is banned in EAPI=6. If you don't want a slot operator" + if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then + eerror "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6. If you don't want a slot operator" die "set GENTOO_DEPEND_ON_PERL=noslotop instead." fi @@ -127,17 +127,20 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}" # SRC_URI. Defaults to ${DIST_NAME}-${DIST_VERSION}.${DIST_A_EXT} Named MODULE_A in EAPI=5. # @ECLASS-VARIABLE: DIST_AUTHOR +# @DEFAULT_UNSET # @DESCRIPTION: # (EAPI=6) This variable sets the module author name for the calculation of # SRC_URI. Named MODULE_AUTHOR in EAPI=5. # @ECLASS-VARIABLE: DIST_SECTION +# @DEFAULT_UNSET # @DESCRIPTION: # (EAPI=6) This variable sets the module section for the calculation of # SRC_URI. Only required in rare cases for very special snowflakes. # Named MODULE_SECTION in EAPI=5. # @ECLASS-VARIABLE: DIST_EXAMPLES +# @DEFAULT_UNSET # @DESCRIPTION: # (EAPI=6) This Bash array allows passing a list of example files to be installed # in /usr/share/doc/${PF}/examples. If set before inherit, automatically adds @@ -182,7 +185,6 @@ PREFER_BUILDPL="yes" pm_echovar="" # @FUNCTION: perl-module_src_unpack -# @USAGE: perl-module_src_unpack # @DESCRIPTION: # Unpack the ebuild tarball(s). # This function is to be called during the ebuild src_unpack() phase. @@ -193,7 +195,6 @@ perl-module_src_unpack() { } # @FUNCTION: perl-module_src_prepare -# @USAGE: perl-module_src_prepare # @DESCRIPTION: # Get the ebuild sources ready. # This function is to be called during the ebuild src_prepare() phase. @@ -216,7 +217,6 @@ perl-module_src_prepare() { } # @FUNCTION: perl-module_src_configure -# @USAGE: perl-module_src_configure # @DESCRIPTION: # Configure the ebuild sources. # This function is to be called during the ebuild src_configure() phase. @@ -284,7 +284,6 @@ perl-module_src_configure() { } # @FUNCTION: perl-module_src_compile -# @USAGE: perl-module_src_compile # @DESCRIPTION: # Compile the ebuild sources. # This function is to be called during the ebuild src_compile() phase. @@ -326,6 +325,7 @@ perl-module_src_compile() { # network : do not try to disable network tests # @ECLASS-VARIABLE: DIST_TEST_OVERRIDE +# @DEFAULT_UNSET # @DESCRIPTION: # (EAPI=6) Variable that controls if tests are run in the test phase # at all, and if yes under which conditions. It is intended for use in @@ -334,7 +334,6 @@ perl-module_src_compile() { # completely. DO NOT USE THIS IN EBUILDS! # @FUNCTION: perl-module_src-test -# @USAGE: perl-module_src_test() # @DESCRIPTION: # This code attempts to work out your threadingness and runs tests # according to the settings of DIST_TEST using Test::Harness. @@ -390,7 +389,6 @@ perl-module_src_test() { } # @FUNCTION: perl-module_src_install -# @USAGE: perl-module_src_install # @DESCRIPTION: # Install a Perl ebuild. # This function is to be called during the ebuild src_install() phase. @@ -445,11 +443,10 @@ perl-module_src_install() { } # @FUNCTION: perl-module_pkg_postinst -# @USAGE: perl-module_pkg_postinst # @DESCRIPTION: -# This function is to be called during the pkg_postinst() phase. It only does +# This function is to be called during the pkg_postinst() phase. It only does # useful things for the perl-core category, where it handles the file renaming and symbolic -# links that prevent file collisions for dual-life packages installing scripts. +# links that prevent file collisions for dual-life packages installing scripts. # In any other category it immediately exits. perl-module_pkg_postinst() { debug-print-function $FUNCNAME "$@" @@ -461,11 +458,10 @@ perl-module_pkg_postinst() { } # @FUNCTION: perl-module_pkg_postrm -# @USAGE: perl-module_pkg_postrm # @DESCRIPTION: -# This function is to be called during the pkg_postrm() phase. It only does +# This function is to be called during the pkg_postrm() phase. It only does # useful things for the perl-core category, where it handles the file renaming and symbolic -# links that prevent file collisions for dual-life packages installing scripts. +# links that prevent file collisions for dual-life packages installing scripts. # In any other category it immediately exits. perl-module_pkg_postrm() { debug-print-function $FUNCNAME "$@" diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r2.eclass index c4e55ea7a0..b124813c47 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-ext-pecl-r2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r3.eclass index 8f784933d3..43ac788c46 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-ext-pecl-r3.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-ext-pecl-r3.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r2.eclass index bc1c63ab89..254743c520 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-ext-source-r2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass index 54eda3123d..bc6751562a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-ext-source-r3.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-ext-source-r3.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-lib-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-lib-r1.eclass index fdbb47a322..a6bffabc6f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-lib-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-lib-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-lib-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-pear-lib-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-pear-lib-r1.eclass index 3fb9caa134..7a6df75496 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-pear-lib-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-pear-lib-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-pear-lib-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-pear-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-pear-r1.eclass index 237cf835b8..9e3071d605 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/php-pear-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/php-pear-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: php-pear-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-pear-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-pear-r2.eclass new file mode 100644 index 0000000000..48ff30355f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/php-pear-r2.eclass @@ -0,0 +1,122 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: php-pear-r2.eclass +# @MAINTAINER: +# Gentoo PHP Team +# @AUTHOR: +# Author: Brian Evans +# @BLURB: Provides means for an easy installation of PEAR packages. +# @DESCRIPTION: +# This eclass provides means for an easy installation of PEAR packages. +# For more information on PEAR, see https://pear.php.net/ +# Note that this eclass doesn't handle dependencies of PEAR packages +# on purpose; please use (R)DEPEND to define them correctly! + +EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm + +case "${EAPI:-0}" in + 6) + ;; + *) + die "Unsupported EAPI=${EAPI} for ${ECLASS}" + ;; +esac + +RDEPEND=">=dev-php/pear-1.8.1" + +# @ECLASS-VARIABLE: PHP_PEAR_PKG_NAME +# @DESCRIPTION: +# Set this if the PEAR package name differs from ${PN/PEAR-/} +# (generally shouldn't be the case). +: ${PHP_PEAR_PKG_NAME:=${PN/PEAR-/}} + +# @ECLASS-VARIABLE: PEAR_PV +# @DESCRIPTION: +# Set in ebuild if the ${PV} breaks SRC_URI for alpha/beta/rc versions +: ${PEAR_PV:=${PV}} + +PEAR_P="${PHP_PEAR_PKG_NAME}-${PEAR_PV}" + +# @ECLASS-VARIABLE: PHP_PEAR_DOMAIN +# @DESCRIPTION: +# Set in ebuild to the domain name of the channel if not pear.php.net +# When the domain is not pear.php.net, setting the SRC_URI is required +: ${PHP_PEAR_DOMAIN:=pear.php.net} + +# @ECLASS-VARIABLE: PHP_PEAR_CHANNEL +# @DEFAULT_UNSET +# @DESCRIPTION: +# Set in ebuild to the path of channel.xml file which is necessary for +# 3rd party pear channels (besides pear.php.net) to be added to PEAR +# Default is unset to do nothing + +# set default SRC_URI for pear.php.net packages +if [[ "${PHP_PEAR_DOMAIN}" == "pear.php.net" ]] ; then + SRC_URI="https://pear.php.net/get/${PEAR_P}.tgz" +fi + +: ${HOMEPAGE:=https://${PHP_PEAR_DOMAIN}/package/${PHP_PEAR_PKG_NAME}} + +S="${WORKDIR}/${PEAR_P}" + +# @FUNCTION php-pear-r2_install_packagexml +# @DESCRIPTION: +# Copies the package2.xml or package.xml file and, optionally, the channel.xml +# file to a Gentoo-specific location so that pkg_postinst can install the package +# to the local PEAR database +php-pear-r2_install_packagexml() { + insinto /usr/share/php/.packagexml + if [[ -f "${WORKDIR}/package2.xml" ]] ; then + newins "${WORKDIR}/package2.xml" "${PEAR_P}.xml" + elif [[ -f "${WORKDIR}/package.xml" ]] ; then + newins "${WORKDIR}/package.xml" "${PEAR_P}.xml" + fi + + if [[ -f "${PHP_PEAR_CHANNEL}" ]] ; then + newins "${PHP_PEAR_CHANNEL}" "${PEAR_P}-channel.xml" + fi +} + +# @FUNCTION: php-pear-r2_src_install +# @DESCRIPTION: +# Takes care of standard install for PEAR packages. +# Override src_install if the package installs more than "${PHP_PEAR_PKG_NAME}.php" +# or "${PHP_PEAR_PKG_NAME%%_*}/" as a directory +php-pear-r2_src_install() { + insinto /usr/share/php + [[ -f "${PHP_PEAR_PKG_NAME}.php" ]] && doins "${PHP_PEAR_PKG_NAME}.php" + [[ -d "${PHP_PEAR_PKG_NAME%%_*}" ]] && doins -r "${PHP_PEAR_PKG_NAME%%_*}/" + php-pear-r2_install_packagexml + einstalldocs +} + +# @FUNCTION: php-pear-r2_pkg_postinst +# @DESCRIPTION: +# Register package with the local PEAR database. +php-pear-r2_pkg_postinst() { + # Add unknown channels + if [[ -f "${EROOT}usr/share/php/.packagexml/${PEAR_P}-channel.xml" ]] ; then + if "${EROOT}usr/bin/peardev" channel-info "${PHP_PEAR_DOMAIN}" &> /dev/null; then + "${EROOT}usr/bin/peardev" channel-add \ + "${EROOT}usr/share/php/.packagexml/${PEAR_PN}-channel.xml" \ + || einfo "Ignore any errors about existing channels" + fi + fi + + # Register the package from the package{,2}.xml file + # It is not critical to complete so only warn on failure + if [[ -f "${EROOT}usr/share/php/.packagexml/${PEAR_P}.xml" ]] ; then + "${EROOT}usr/bin/peardev" install -nrO --force \ + "${EROOT}usr/share/php/.packagexml/${PEAR_P}.xml" 2> /dev/null \ + || ewarn "Failed to insert package into local PEAR database" + fi +} + +# @FUNCTION: php-pear-r2_pkg_postrm +# @DESCRIPTION: +# Deregister package from the local PEAR database +php-pear-r2_pkg_postrm() { + # Uninstall known dependency + "${EROOT}usr/bin/peardev" uninstall -nrO "${PHP_PEAR_DOMAIN}/${PHP_PEAR_PKG_NAME}" +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/portability.eclass b/sdk_container/src/third_party/portage-stable/eclass/portability.eclass index 4f29725e2e..c56f03fb87 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/portability.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/portability.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: portability.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass b/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass index 224cb09d2e..56aedc8142 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/prefix.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: prefix.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass index 0b49944c51..69f7bb736d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-any-r1.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: python-any-r1.eclass # @MAINTAINER: @@ -58,8 +57,6 @@ fi EXPORT_FUNCTIONS pkg_setup -if [[ ! ${_PYTHON_ANY_R1} ]]; then - # @ECLASS-VARIABLE: PYTHON_COMPAT # @REQUIRED # @DESCRIPTION: @@ -127,25 +124,6 @@ if [[ ! ${_PYTHON_ANY_R1} ]]; then # dev-lang/python:2.6[gdbm] ) # @CODE -_python_any_set_globals() { - local usestr i PYTHON_PKG_DEP - [[ ${PYTHON_REQ_USE} ]] && usestr="[${PYTHON_REQ_USE}]" - - _python_set_impls - - PYTHON_DEPS= - for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do - python_export "${i}" PYTHON_PKG_DEP - - # note: need to strip '=' slot operator for || deps - PYTHON_DEPS="${PYTHON_PKG_DEP%=} ${PYTHON_DEPS}" - done - PYTHON_DEPS="|| ( ${PYTHON_DEPS})" - readonly PYTHON_DEPS -} -_python_any_set_globals -unset -f _python_any_set_globals - # @ECLASS-VARIABLE: PYTHON_USEDEP # @DESCRIPTION: # An eclass-generated USE-dependency string for the currently tested @@ -167,6 +145,37 @@ unset -f _python_any_set_globals # python_targets_python2_7(-)?,python_single_target_python2_7(+)? # @CODE +_python_any_set_globals() { + local usestr deps i PYTHON_PKG_DEP + [[ ${PYTHON_REQ_USE} ]] && usestr="[${PYTHON_REQ_USE}]" + + _python_set_impls + + for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do + python_export "${i}" PYTHON_PKG_DEP + + # note: need to strip '=' slot operator for || deps + deps="${PYTHON_PKG_DEP%=} ${deps}" + done + deps="|| ( ${deps})" + + if [[ ${PYTHON_DEPS+1} ]]; then + if [[ ${PYTHON_DEPS} != "${deps}" ]]; then + eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!" + eerror "Before: ${PYTHON_DEPS}" + eerror "Now : ${deps}" + die "PYTHON_DEPS integrity check failed" + fi + else + PYTHON_DEPS=${deps} + readonly PYTHON_DEPS + fi +} +_python_any_set_globals +unset -f _python_any_set_globals + +if [[ ! ${_PYTHON_ANY_R1} ]]; then + # @FUNCTION: python_gen_any_dep # @USAGE: # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-r1.eclass index a117a5a82f..df57cf1e13 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-r1.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: python-r1.eclass # @MAINTAINER: @@ -30,23 +29,9 @@ # https://wiki.gentoo.org/wiki/Project:Python/python-r1 case "${EAPI:-0}" in - 0|1|2|3) + 0|1|2|3|4) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - 4) - # EAPI=4 is only allowed on legacy packages - if [[ ${CATEGORY}/${P} == dev-python/pyelftools-0.2[123] ]]; then - : - elif [[ ${CATEGORY}/${P} == sys-apps/file-5.22 ]]; then - : - elif [[ ${CATEGORY}/${P} == sys-apps/i2c-tools-3.1.1 ]]; then - : - elif [[ ${CATEGORY}/${P} == sys-libs/cracklib-2.9.[12] ]]; then - : - else - die "Unsupported EAPI=${EAPI:-4} (too old, allowed only on restricted set of packages) for ${ECLASS}" - fi - ;; 5|6) # EAPI=5 is required for sane USE_EXPAND dependencies ;; @@ -66,6 +51,8 @@ fi [[ ${EAPI} == [45] ]] && inherit eutils inherit multibuild python-utils-r1 +fi + # @ECLASS-VARIABLE: PYTHON_COMPAT # @REQUIRED # @DESCRIPTION: @@ -180,14 +167,13 @@ inherit multibuild python-utils-r1 # @CODE _python_set_globals() { - PYTHON_DEPS= - local i PYTHON_PKG_DEP + local deps i PYTHON_PKG_DEP _python_set_impls for i in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do python_export "${i}" PYTHON_PKG_DEP - PYTHON_DEPS+="python_targets_${i}? ( ${PYTHON_PKG_DEP} ) " + deps+="python_targets_${i}? ( ${PYTHON_PKG_DEP} ) " done local flags=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" ) @@ -201,29 +187,58 @@ _python_set_globals() { local flags_st=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/-python_single_target_}" ) optflags+=,${flags_st[@]/%/(-)} - - IUSE=${flags[*]} - PYTHON_REQUIRED_USE="|| ( ${flags[*]} )" - PYTHON_USEDEP=${optflags// /,} + local requse="|| ( ${flags[*]} )" + local usedep=${optflags// /,} # 1) well, python-exec would suffice as an RDEP # but no point in making this overcomplex, BDEP doesn't hurt anyone # 2) python-exec should be built with all targets forced anyway # but if new targets were added, we may need to force a rebuild - # 3) use whichever python-exec slot installed in EAPI 5. For EAPI 4, - # just fix :2 since := deps are not supported. if [[ ${_PYTHON_WANT_PYTHON_EXEC2} == 0 ]]; then die "python-exec:0 is no longer supported, please fix your ebuild to work with python-exec:2" - elif [[ ${EAPI} != 4 ]]; then - PYTHON_DEPS+=">=dev-lang/python-exec-2:=[${PYTHON_USEDEP}]" else - PYTHON_DEPS+="dev-lang/python-exec:2[${PYTHON_USEDEP}]" + deps+=">=dev-lang/python-exec-2:=[${usedep}]" + fi + + if [[ ${PYTHON_DEPS+1} ]]; then + # IUSE is magical, so we can't really check it + # (but we verify PYTHON_COMPAT already) + + if [[ ${PYTHON_DEPS} != "${deps}" ]]; then + eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!" + eerror "Before: ${PYTHON_DEPS}" + eerror "Now : ${deps}" + die "PYTHON_DEPS integrity check failed" + fi + + # these two are formality -- they depend on PYTHON_COMPAT only + if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then + eerror "PYTHON_REQUIRED_USE have changed between inherits!" + eerror "Before: ${PYTHON_REQUIRED_USE}" + eerror "Now : ${requse}" + die "PYTHON_REQUIRED_USE integrity check failed" + fi + + if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then + eerror "PYTHON_USEDEP have changed between inherits!" + eerror "Before: ${PYTHON_USEDEP}" + eerror "Now : ${usedep}" + die "PYTHON_USEDEP integrity check failed" + fi + else + IUSE=${flags[*]} + + PYTHON_DEPS=${deps} + PYTHON_REQUIRED_USE=${requse} + PYTHON_USEDEP=${usedep} + readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP fi - readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP } _python_set_globals unset -f _python_set_globals +if [[ ! ${_PYTHON_R1} ]]; then + # @FUNCTION: _python_validate_useflags # @INTERNAL # @DESCRIPTION: @@ -491,6 +506,7 @@ _python_obtain_impls() { MULTIBUILD_VARIANTS=() + local impl for impl in "${_PYTHON_SUPPORTED_IMPLS[@]}"; do has "${impl}" "${PYTHON_COMPAT[@]}" && \ use "python_targets_${impl}" && MULTIBUILD_VARIANTS+=( "${impl}" ) diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-single-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-single-r1.eclass index 16102816f1..fc51c4ec23 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-single-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-single-r1.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: python-single-r1.eclass # @MAINTAINER: @@ -32,29 +31,9 @@ # https://wiki.gentoo.org/wiki/Project:Python/python-single-r1 case "${EAPI:-0}" in - 0|1|2|3) + 0|1|2|3|4) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - 4) - # EAPI=4 is only allowed on legacy packages - if [[ ${CATEGORY}/${P} == app-arch/threadzip-1.2 ]]; then - : - elif [[ ${CATEGORY}/${P} == media-libs/lv2-1.8.0 ]]; then - : - elif [[ ${CATEGORY}/${P} == media-libs/lv2-1.10.0 ]]; then - : - elif [[ ${CATEGORY}/${P} == sys-apps/paludis-1* ]]; then - : - elif [[ ${CATEGORY}/${P} == sys-apps/paludis-2.[02].0 ]]; then - : - elif [[ ${CATEGORY}/${P} == sys-apps/util-linux-2.2[456]* ]]; then - : - elif [[ ${CATEGORY}/${P} == */gdb-7.[78]* ]]; then - : - else - die "Unsupported EAPI=${EAPI:-4} (too old, allowed only on restricted set of packages) for ${ECLASS}" - fi - ;; 5|6) # EAPI=5 is required for sane USE_EXPAND dependencies ;; @@ -77,8 +56,6 @@ fi EXPORT_FUNCTIONS pkg_setup -if [[ ! ${_PYTHON_SINGLE_R1} ]]; then - # @ECLASS-VARIABLE: PYTHON_COMPAT # @REQUIRED # @DESCRIPTION: @@ -201,7 +178,6 @@ if [[ ! ${_PYTHON_SINGLE_R1} ]]; then _python_single_set_globals() { _python_set_impls - PYTHON_DEPS= local i PYTHON_PKG_DEP local flags_mt=( "${_PYTHON_SUPPORTED_IMPLS[@]/#/python_targets_}" ) @@ -212,12 +188,13 @@ _python_single_set_globals() { IUSE="${flags_mt[*]}" + local deps requse usedep if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 1 ]]; then # There is only one supported implementation; set IUSE and other # variables without PYTHON_SINGLE_TARGET. - PYTHON_REQUIRED_USE="${flags_mt[*]}" + requse=${flags_mt[*]} python_export "${_PYTHON_SUPPORTED_IMPLS[0]}" PYTHON_PKG_DEP - PYTHON_DEPS="${PYTHON_PKG_DEP} " + deps="${flags_mt[*]}? ( ${PYTHON_PKG_DEP} ) " # Force on the python_single_target_* flag for this impl, so # that any dependencies that inherit python-single-r1 and # happen to have multiple implementations will still need @@ -226,7 +203,7 @@ _python_single_set_globals() { else # Multiple supported implementations; honor PYTHON_SINGLE_TARGET. IUSE+=" ${flags[*]}" - PYTHON_REQUIRED_USE="^^ ( ${flags[*]} )" + requse="^^ ( ${flags[*]} )" # Ensure deps honor the same python_single_target_* flag as is set # on this package. optflags+=,${flags[@]/%/(+)?} @@ -235,32 +212,58 @@ _python_single_set_globals() { # The chosen targets need to be in PYTHON_TARGETS as well. # This is in order to enforce correct dependencies on packages # supporting multiple implementations. - PYTHON_REQUIRED_USE+=" python_single_target_${i}? ( python_targets_${i} )" + requse+=" python_single_target_${i}? ( python_targets_${i} )" python_export "${i}" PYTHON_PKG_DEP - PYTHON_DEPS+="python_single_target_${i}? ( ${PYTHON_PKG_DEP} ) " + deps+="python_single_target_${i}? ( ${PYTHON_PKG_DEP} ) " done fi - PYTHON_USEDEP=${optflags// /,} + usedep=${optflags// /,} # 1) well, python-exec would suffice as an RDEP # but no point in making this overcomplex, BDEP doesn't hurt anyone # 2) python-exec should be built with all targets forced anyway # but if new targets were added, we may need to force a rebuild - # 3) use whichever python-exec slot installed in EAPI 5. For EAPI 4, - # just fix :2 since := deps are not supported. if [[ ${_PYTHON_WANT_PYTHON_EXEC2} == 0 ]]; then die "python-exec:0 is no longer supported, please fix your ebuild to work with python-exec:2" - elif [[ ${EAPI} != 4 ]]; then - PYTHON_DEPS+=">=dev-lang/python-exec-2:=[${PYTHON_USEDEP}]" else - PYTHON_DEPS+="dev-lang/python-exec:2[${PYTHON_USEDEP}]" + deps+=">=dev-lang/python-exec-2:=[${usedep}]" + fi + + if [[ ${PYTHON_DEPS+1} ]]; then + if [[ ${PYTHON_DEPS} != "${deps}" ]]; then + eerror "PYTHON_DEPS have changed between inherits (PYTHON_REQ_USE?)!" + eerror "Before: ${PYTHON_DEPS}" + eerror "Now : ${deps}" + die "PYTHON_DEPS integrity check failed" + fi + + # these two are formality -- they depend on PYTHON_COMPAT only + if [[ ${PYTHON_REQUIRED_USE} != ${requse} ]]; then + eerror "PYTHON_REQUIRED_USE have changed between inherits!" + eerror "Before: ${PYTHON_REQUIRED_USE}" + eerror "Now : ${requse}" + die "PYTHON_REQUIRED_USE integrity check failed" + fi + + if [[ ${PYTHON_USEDEP} != "${usedep}" ]]; then + eerror "PYTHON_USEDEP have changed between inherits!" + eerror "Before: ${PYTHON_USEDEP}" + eerror "Now : ${usedep}" + die "PYTHON_USEDEP integrity check failed" + fi + else + PYTHON_DEPS=${deps} + PYTHON_REQUIRED_USE=${requse} + PYTHON_USEDEP=${usedep} + readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP fi - readonly PYTHON_DEPS PYTHON_REQUIRED_USE PYTHON_USEDEP } _python_single_set_globals unset -f _python_single_set_globals +if [[ ! ${_PYTHON_SINGLE_R1} ]]; then + # @FUNCTION: python_gen_usedep # @USAGE: [...] # @DESCRIPTION: diff --git a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass index 53f8ad4f4b..66a359e8da 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/python-utils-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: python-utils-r1.eclass # @MAINTAINER: @@ -115,22 +114,39 @@ _python_set_impls() { _python_impl_supported "${i}" done - _PYTHON_SUPPORTED_IMPLS=() - _PYTHON_UNSUPPORTED_IMPLS=() + local supp=() unsupp=() for i in "${_PYTHON_ALL_IMPLS[@]}"; do if has "${i}" "${PYTHON_COMPAT[@]}"; then - _PYTHON_SUPPORTED_IMPLS+=( "${i}" ) + supp+=( "${i}" ) else - _PYTHON_UNSUPPORTED_IMPLS+=( "${i}" ) + unsupp+=( "${i}" ) fi done - if [[ ${#_PYTHON_SUPPORTED_IMPLS[@]} -eq 0 ]]; then + if [[ ! ${supp[@]} ]]; then die "No supported implementation in PYTHON_COMPAT." fi - readonly _PYTHON_SUPPORTED_IMPLS _PYTHON_UNSUPPORTED_IMPLS + if [[ ${_PYTHON_SUPPORTED_IMPLS[@]} ]]; then + # set once already, verify integrity + 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 } # @ECLASS-VARIABLE: PYTHON @@ -415,9 +431,9 @@ python_export() { python*) PYTHON_PKG_DEP="dev-lang/python:${impl#python}";; pypy) - PYTHON_PKG_DEP='virtual/pypy:0=';; + PYTHON_PKG_DEP='>=virtual/pypy-5:0=';; pypy3) - PYTHON_PKG_DEP='virtual/pypy3:0=';; + PYTHON_PKG_DEP='>=virtual/pypy3-5:0=';; jython2.7) PYTHON_PKG_DEP='dev-java/jython:2.7';; *) @@ -644,7 +660,7 @@ python_optimize() { "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}" "${PYTHON}" -OO -m compileall -q -f -d "${instpath}" "${d}" ;; - python*) + python*|pypy3) # both levels of optimization are separate since 3.5 "${PYTHON}" -m compileall -q -f -d "${instpath}" "${d}" "${PYTHON}" -O -m compileall -q -f -d "${instpath}" "${d}" @@ -927,7 +943,7 @@ python_wrapper_setup() { rm -f "${workdir}"/bin/2to3 || die rm -f "${workdir}"/pkgconfig/python{,2,3}.pc || die - local EPYTHON PYTHON PYTHON_CONFIG + local EPYTHON PYTHON python_export "${impl}" EPYTHON PYTHON local pyver pyother @@ -954,11 +970,9 @@ python_wrapper_setup() { # CPython-specific if [[ ${EPYTHON} == python* ]]; then - python_export "${impl}" PYTHON_CONFIG - cat > "${workdir}/bin/python-config" <<-_EOF_ || die #!/bin/sh - exec "${PYTHON_CONFIG}" "\${@}" + exec "${PYTHON}-config" "\${@}" _EOF_ cp "${workdir}/bin/python-config" \ "${workdir}/bin/python${pyver}-config" || die @@ -985,18 +999,18 @@ python_wrapper_setup() { _EOF_ chmod +x "${workdir}"/bin/${x} || die done - - # Now, set the environment. - # But note that ${workdir} may be shared with something else, - # and thus already on top of PATH. - 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 fi + + # Now, set the environment. + # But note that ${workdir} may be shared with something else, + # and thus already on top of PATH. + 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 } # @FUNCTION: python_is_python3 @@ -1254,14 +1268,14 @@ python_export_utf8_locale() { fi return 0 fi - 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 + fi return 0 } diff --git a/sdk_container/src/third_party/portage-stable/eclass/python.eclass b/sdk_container/src/third_party/portage-stable/eclass/python.eclass deleted file mode 100644 index d6742c12a2..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/python.eclass +++ /dev/null @@ -1,3165 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -# @ECLASS: python.eclass -# @MAINTAINER: -# Gentoo Python Project -# @BLURB: Eclass for Python packages -# @DESCRIPTION: -# The python eclass contains miscellaneous, useful functions for Python packages. -# -# This eclass is DEPRECATED. Please use python-r1, python-single-r1 -# or python-any-r1 instead. - -if [[ ${EAPI} == 6 ]]; then - die "${ECLASS}.eclass is banned in EAPI ${EAPI}" -fi - -if [[ ${_PYTHON_UTILS_R1} ]]; then - die 'python.eclass can not be used with python-r1 suite eclasses.' -fi - -# Must call inherit before EXPORT_FUNCTIONS to avoid QA warning. -if [[ -z "${_PYTHON_ECLASS_INHERITED}" ]]; then - inherit multilib -fi - -# Export pkg_setup every time to avoid issues with eclass inheritance order. -if ! has "${EAPI:-0}" 0 1 2 3 || { has "${EAPI:-0}" 2 3 && [[ -n "${PYTHON_USE_WITH}" || -n "${PYTHON_USE_WITH_OR}" ]]; }; then - EXPORT_FUNCTIONS pkg_setup -fi - -# Avoid processing this eclass more than once. -if [[ -z "${_PYTHON_ECLASS_INHERITED}" ]]; then -_PYTHON_ECLASS_INHERITED="1" - -if ! has "${EAPI:-0}" 0 1 2 3 4 5; then - die "API of python.eclass in EAPI=\"${EAPI}\" not established" -fi - -# Please do not add any new versions of Python here! Instead, please -# focus on converting packages to use the new eclasses. - -_CPYTHON2_GLOBALLY_SUPPORTED_ABIS=(2.4 2.5 2.6 2.7) -_CPYTHON3_GLOBALLY_SUPPORTED_ABIS=(3.1 3.2 3.3) -_JYTHON_GLOBALLY_SUPPORTED_ABIS=(2.5-jython 2.7-jython) -_PYPY_GLOBALLY_SUPPORTED_ABIS=(2.7-pypy-1.7 2.7-pypy-1.8 2.7-pypy-1.9 2.7-pypy-2.0) -_PYTHON_GLOBALLY_SUPPORTED_ABIS=(${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]} ${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]} ${_JYTHON_GLOBALLY_SUPPORTED_ABIS[@]} ${_PYPY_GLOBALLY_SUPPORTED_ABIS[@]}) - -# ================================================================================================ -# ===================================== HANDLING OF METADATA ===================================== -# ================================================================================================ - -_PYTHON_ABI_PATTERN_REGEX="([[:alnum:]]|\.|-|\*|\[|\])+" - -_python_check_python_abi_matching() { - local pattern patterns patterns_list="0" PYTHON_ABI - - while (($#)); do - case "$1" in - --patterns-list) - patterns_list="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "$#" -ne 2 ]]; then - die "${FUNCNAME}() requires 2 arguments" - fi - - PYTHON_ABI="$1" - - if [[ "${patterns_list}" == "0" ]]; then - pattern="$2" - - if [[ "${pattern}" == *"-cpython" ]]; then - [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+$ && "${PYTHON_ABI}" == ${pattern%-cpython} ]] - elif [[ "${pattern}" == *"-jython" ]]; then - [[ "${PYTHON_ABI}" == ${pattern} ]] - elif [[ "${pattern}" == *"-pypy-"* ]]; then - [[ "${PYTHON_ABI}" == ${pattern} ]] - else - if [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+$ ]]; then - [[ "${PYTHON_ABI}" == ${pattern} ]] - elif [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+-jython$ ]]; then - [[ "${PYTHON_ABI%-jython}" == ${pattern} ]] - elif [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+-pypy-[[:digit:]]+\.[[:digit:]]+$ ]]; then - [[ "${PYTHON_ABI%-pypy-*}" == ${pattern} ]] - else - die "${FUNCNAME}(): Unrecognized Python ABI '${PYTHON_ABI}'" - fi - fi - else - patterns="${2// /$'\n'}" - - while read pattern; do - if _python_check_python_abi_matching "${PYTHON_ABI}" "${pattern}"; then - return 0 - fi - done <<< "${patterns}" - - return 1 - fi -} - -_python_implementation() { - if [[ "${CATEGORY}/${PN}" == "dev-lang/python" ]]; then - return 0 - elif [[ "${CATEGORY}/${PN}" == "dev-java/jython" ]]; then - return 0 - elif [[ "${CATEGORY}/${PN}" == "virtual/pypy" ]]; then - return 0 - else - return 1 - fi -} - -_python_package_supporting_installation_for_multiple_python_abis() { - [[ -n "${SUPPORT_PYTHON_ABIS}" ]] -} - -# @ECLASS-VARIABLE: PYTHON_DEPEND -# @DESCRIPTION: -# Specification of dependency on dev-lang/python. -# Syntax: -# PYTHON_DEPEND: [[!]USE_flag? ][ version_components_group] -# version_components_group: -# major_version: <2|3|*> -# minimal_version: -# maximal_version: - -_python_parse_PYTHON_DEPEND() { - local major_version maximal_version minimal_version python_all="0" python_maximal_version python_minimal_version python_versions=() python2="0" python2_maximal_version python2_minimal_version python3="0" python3_maximal_version python3_minimal_version USE_flag= version_components_group version_components_group_regex version_components_groups - - version_components_group_regex="(2|3|\*)(:([[:digit:]]+\.[[:digit:]]+)?(:([[:digit:]]+\.[[:digit:]]+)?)?)?" - version_components_groups="${PYTHON_DEPEND}" - - if [[ "${version_components_groups}" =~ ^((\!)?[[:alnum:]_-]+\?\ )?${version_components_group_regex}(\ ${version_components_group_regex})?$ ]]; then - if [[ "${version_components_groups}" =~ ^(\!)?[[:alnum:]_-]+\? ]]; then - USE_flag="${version_components_groups%\? *}" - version_components_groups="${version_components_groups#* }" - fi - if [[ "${version_components_groups}" =~ ("*".*" "|" *"|^2.*\ (2|\*)|^3.*\ (3|\*)) ]]; then - die "Invalid syntax of PYTHON_DEPEND: Incorrectly specified groups of versions" - fi - - version_components_groups="${version_components_groups// /$'\n'}" - while read version_components_group; do - major_version="${version_components_group:0:1}" - minimal_version="${version_components_group:2}" - minimal_version="${minimal_version%:*}" - maximal_version="${version_components_group:$((3 + ${#minimal_version}))}" - - if [[ "${major_version}" =~ ^(2|3)$ ]]; then - if [[ -n "${minimal_version}" && "${major_version}" != "${minimal_version:0:1}" ]]; then - die "Invalid syntax of PYTHON_DEPEND: Minimal version '${minimal_version}' not in specified group of versions" - fi - if [[ -n "${maximal_version}" && "${major_version}" != "${maximal_version:0:1}" ]]; then - die "Invalid syntax of PYTHON_DEPEND: Maximal version '${maximal_version}' not in specified group of versions" - fi - fi - - if [[ "${major_version}" == "2" ]]; then - python2="1" - python_versions=("${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}") - python2_minimal_version="${minimal_version}" - python2_maximal_version="${maximal_version}" - elif [[ "${major_version}" == "3" ]]; then - python3="1" - python_versions=("${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}") - python3_minimal_version="${minimal_version}" - python3_maximal_version="${maximal_version}" - else - python_all="1" - python_versions=("${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}") - python_minimal_version="${minimal_version}" - python_maximal_version="${maximal_version}" - fi - - if [[ -n "${minimal_version}" ]] && ! has "${minimal_version}" "${python_versions[@]}"; then - die "Invalid syntax of PYTHON_DEPEND: Unrecognized minimal version '${minimal_version}'" - fi - if [[ -n "${maximal_version}" ]] && ! has "${maximal_version}" "${python_versions[@]}"; then - die "Invalid syntax of PYTHON_DEPEND: Unrecognized maximal version '${maximal_version}'" - fi - - if [[ -n "${minimal_version}" && -n "${maximal_version}" && "${minimal_version}" > "${maximal_version}" ]]; then - die "Invalid syntax of PYTHON_DEPEND: Minimal version '${minimal_version}' greater than maximal version '${maximal_version}'" - fi - done <<< "${version_components_groups}" - - _PYTHON_ATOMS=() - - _append_accepted_versions_range() { - local accepted_version="0" i - for ((i = "${#python_versions[@]}"; i >= 0; i--)); do - if [[ "${python_versions[${i}]}" == "${python_maximal_version}" ]]; then - accepted_version="1" - fi - if [[ "${accepted_version}" == "1" ]]; then - _PYTHON_ATOMS+=("=dev-lang/python-${python_versions[${i}]}*") - fi - if [[ "${python_versions[${i}]}" == "${python_minimal_version}" ]]; then - accepted_version="0" - fi - done - } - - if [[ "${python_all}" == "1" ]]; then - if [[ -z "${python_minimal_version}" && -z "${python_maximal_version}" ]]; then - _PYTHON_ATOMS+=("dev-lang/python") - else - python_versions=("${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}") - python_minimal_version="${python_minimal_version:-${python_versions[0]}}" - python_maximal_version="${python_maximal_version:-${python_versions[${#python_versions[@]}-1]}}" - _append_accepted_versions_range - fi - else - if [[ "${python3}" == "1" ]]; then - if [[ -z "${python3_minimal_version}" && -z "${python3_maximal_version}" ]]; then - _PYTHON_ATOMS+=("=dev-lang/python-3*") - else - python_versions=("${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}") - python_minimal_version="${python3_minimal_version:-${python_versions[0]}}" - python_maximal_version="${python3_maximal_version:-${python_versions[${#python_versions[@]}-1]}}" - _append_accepted_versions_range - fi - fi - if [[ "${python2}" == "1" ]]; then - if [[ -z "${python2_minimal_version}" && -z "${python2_maximal_version}" ]]; then - _PYTHON_ATOMS+=("=dev-lang/python-2*") - else - python_versions=("${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}") - python_minimal_version="${python2_minimal_version:-${python_versions[0]}}" - python_maximal_version="${python2_maximal_version:-${python_versions[${#python_versions[@]}-1]}}" - _append_accepted_versions_range - fi - fi - fi - - unset -f _append_accepted_versions_range - - if [[ "${#_PYTHON_ATOMS[@]}" -gt 1 ]]; then - DEPEND+="${DEPEND:+ }${USE_flag}${USE_flag:+? ( }|| ( ${_PYTHON_ATOMS[@]} )${USE_flag:+ )}" - RDEPEND+="${RDEPEND:+ }${USE_flag}${USE_flag:+? ( }|| ( ${_PYTHON_ATOMS[@]} )${USE_flag:+ )}" - else - DEPEND+="${DEPEND:+ }${USE_flag}${USE_flag:+? ( }${_PYTHON_ATOMS[@]}${USE_flag:+ )}" - RDEPEND+="${RDEPEND:+ }${USE_flag}${USE_flag:+? ( }${_PYTHON_ATOMS[@]}${USE_flag:+ )}" - fi - else - die "Invalid syntax of PYTHON_DEPEND" - fi -} - -if _python_implementation; then - DEPEND=">=app-eselect/eselect-python-20091230" - RDEPEND="${DEPEND}" - PDEPEND="app-admin/python-updater" -fi - -if [[ -n "${PYTHON_DEPEND}" ]]; then - _python_parse_PYTHON_DEPEND -else - _PYTHON_ATOMS=("dev-lang/python") -fi -unset -f _python_parse_PYTHON_DEPEND - -if [[ -n "${NEED_PYTHON}" ]]; then - eerror "Use PYTHON_DEPEND variable instead of NEED_PYTHON variable." - die "NEED_PYTHON variable is banned" -fi - -# @ECLASS-VARIABLE: PYTHON_USE_WITH -# @DESCRIPTION: -# Set this to a space separated list of USE flags the Python slot in use must be built with. - -# @ECLASS-VARIABLE: PYTHON_USE_WITH_OR -# @DESCRIPTION: -# Set this to a space separated list of USE flags of which one must be turned on for the slot in use. - -# @ECLASS-VARIABLE: PYTHON_USE_WITH_OPT -# @DESCRIPTION: -# Set this to a name of a USE flag if you need to make either PYTHON_USE_WITH or -# PYTHON_USE_WITH_OR atoms conditional under a USE flag. - -if ! has "${EAPI:-0}" 0 1 && [[ -n ${PYTHON_USE_WITH} || -n ${PYTHON_USE_WITH_OR} ]]; then - _PYTHON_USE_WITH_ATOMS_ARRAY=() - if [[ -n "${PYTHON_USE_WITH}" ]]; then - for _PYTHON_ATOM in "${_PYTHON_ATOMS[@]}"; do - _PYTHON_USE_WITH_ATOMS_ARRAY+=("${_PYTHON_ATOM}[${PYTHON_USE_WITH// /,}]") - done - elif [[ -n "${PYTHON_USE_WITH_OR}" ]]; then - for _USE_flag in ${PYTHON_USE_WITH_OR}; do - for _PYTHON_ATOM in "${_PYTHON_ATOMS[@]}"; do - _PYTHON_USE_WITH_ATOMS_ARRAY+=("${_PYTHON_ATOM}[${_USE_flag}]") - done - done - unset _USE_flag - fi - if [[ "${#_PYTHON_USE_WITH_ATOMS_ARRAY[@]}" -gt 1 ]]; then - _PYTHON_USE_WITH_ATOMS="|| ( ${_PYTHON_USE_WITH_ATOMS_ARRAY[@]} )" - else - _PYTHON_USE_WITH_ATOMS="${_PYTHON_USE_WITH_ATOMS_ARRAY[@]}" - fi - if [[ -n "${PYTHON_USE_WITH_OPT}" ]]; then - _PYTHON_USE_WITH_ATOMS="${PYTHON_USE_WITH_OPT}? ( ${_PYTHON_USE_WITH_ATOMS} )" - fi - DEPEND+="${DEPEND:+ }${_PYTHON_USE_WITH_ATOMS}" - RDEPEND+="${RDEPEND:+ }${_PYTHON_USE_WITH_ATOMS}" - unset _PYTHON_ATOM _PYTHON_USE_WITH_ATOMS _PYTHON_USE_WITH_ATOMS_ARRAY -fi - -unset _PYTHON_ATOMS - -# ================================================================================================ -# =================================== MISCELLANEOUS FUNCTIONS ==================================== -# ================================================================================================ - -_python_abi-specific_local_scope() { - [[ " ${FUNCNAME[@]:2} " =~ " "(_python_final_sanity_checks|python_execute_function|python_mod_optimize|python_mod_cleanup)" " ]] -} - -_python_initialize_prefix_variables() { - if has "${EAPI:-0}" 0 1 2; then - if [[ -n "${ROOT}" && -z "${EROOT}" ]]; then - EROOT="${ROOT%/}${EPREFIX}/" - fi - if [[ -n "${D}" && -z "${ED}" ]]; then - ED="${D%/}${EPREFIX}/" - fi - fi -} - -unset PYTHON_SANITY_CHECKS_EXECUTED PYTHON_SKIP_SANITY_CHECKS - -_python_initial_sanity_checks() { - : -} - -_python_final_sanity_checks() { - if ! _python_implementation && [[ "$(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2> /dev/null)" != "declare -- PYTHON_SANITY_CHECKS_EXECUTED="* || " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " && -z "${PYTHON_SKIP_SANITY_CHECKS}" ]]; then - local PYTHON_ABI="${PYTHON_ABI}" - for PYTHON_ABI in ${PYTHON_ABIS-${PYTHON_ABI}}; do - # Ensure that appropriate version of Python is installed. - if ! has_version "$(python_get_implementational_package)"; then - die "$(python_get_implementational_package) is not installed" - fi - - # Ensure that EPYTHON variable is respected. - if [[ "$(EPYTHON="$(PYTHON)" python -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")" != "${PYTHON_ABI}" ]]; then - eerror "Path to 'python': '$(type -p python)'" - eerror "ABI: '${ABI}'" - eerror "DEFAULT_ABI: '${DEFAULT_ABI}'" - eerror "EPYTHON: '$(PYTHON)'" - eerror "PYTHON_ABI: '${PYTHON_ABI}'" - eerror "Locally active version of Python: '$(EPYTHON="$(PYTHON)" python -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")'" - die "'python' does not respect EPYTHON variable" - fi - done - fi - PYTHON_SANITY_CHECKS_EXECUTED="1" -} - -# @ECLASS-VARIABLE: PYTHON_COLORS -# @DESCRIPTION: -# User-configurable colored output. -PYTHON_COLORS="${PYTHON_COLORS:-0}" - -_python_set_color_variables() { - if [[ "${PYTHON_COLORS}" != "0" && "${NOCOLOR:-false}" =~ ^(false|no)$ ]]; then - _BOLD=$'\e[1m' - _RED=$'\e[1;31m' - _GREEN=$'\e[1;32m' - _BLUE=$'\e[1;34m' - _CYAN=$'\e[1;36m' - _NORMAL=$'\e[0m' - else - _BOLD= - _RED= - _GREEN= - _BLUE= - _CYAN= - _NORMAL= - fi -} - -_python_check_python_pkg_setup_execution() { - [[ " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " ]] && return - - if ! has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_PKG_SETUP_EXECUTED}" ]]; then - die "python_pkg_setup() not called" - fi -} - -# @FUNCTION: python_pkg_setup -# @DESCRIPTION: -# Perform sanity checks and initialize environment. -# -# This function is exported in EAPI 2 and 3 when PYTHON_USE_WITH or PYTHON_USE_WITH_OR variable -# is set and always in EAPI >=4. Calling of this function is mandatory in EAPI >=4. -python_pkg_setup() { - if [[ "${EBUILD_PHASE}" != "setup" ]]; then - die "${FUNCNAME}() can be used only in pkg_setup() phase" - fi - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - export JYTHON_SYSTEM_CACHEDIR="1" - addwrite "${EPREFIX}/var/cache/jython" - - if _python_package_supporting_installation_for_multiple_python_abis; then - _python_calculate_PYTHON_ABIS - export EPYTHON="$(PYTHON -f)" - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - - if ! has "${EAPI:-0}" 0 1 && [[ -n "${PYTHON_USE_WITH}" || -n "${PYTHON_USE_WITH_OR}" ]]; then - if [[ "${PYTHON_USE_WITH_OPT}" ]]; then - if [[ "${PYTHON_USE_WITH_OPT}" == !* ]]; then - use ${PYTHON_USE_WITH_OPT#!} && return - else - use !${PYTHON_USE_WITH_OPT} && return - fi - fi - - python_pkg_setup_check_USE_flags() { - local python_atom USE_flag - python_atom="$(python_get_implementational_package)" - - for USE_flag in ${PYTHON_USE_WITH}; do - if ! has_version "${python_atom}[${USE_flag}]"; then - eerror "Please rebuild ${python_atom} with the following USE flags enabled: ${PYTHON_USE_WITH}" - die "Please rebuild ${python_atom} with the following USE flags enabled: ${PYTHON_USE_WITH}" - fi - done - - for USE_flag in ${PYTHON_USE_WITH_OR}; do - if has_version "${python_atom}[${USE_flag}]"; then - return - fi - done - - if [[ ${PYTHON_USE_WITH_OR} ]]; then - eerror "Please rebuild ${python_atom} with at least one of the following USE flags enabled: ${PYTHON_USE_WITH_OR}" - die "Please rebuild ${python_atom} with at least one of the following USE flags enabled: ${PYTHON_USE_WITH_OR}" - fi - } - - if _python_package_supporting_installation_for_multiple_python_abis; then - PYTHON_SKIP_SANITY_CHECKS="1" python_execute_function -q python_pkg_setup_check_USE_flags - else - python_pkg_setup_check_USE_flags - fi - - unset -f python_pkg_setup_check_USE_flags - fi - - PYTHON_PKG_SETUP_EXECUTED="1" -} - -_PYTHON_SHEBANG_BASE_PART_REGEX='^#![[:space:]]*([^[:space:]]*/usr/bin/env[[:space:]]+)?([^[:space:]]*/)?(jython|pypy-c|python)' - -# @FUNCTION: python_convert_shebangs -# @USAGE: [-q|--quiet] [-r|--recursive] [-x|--only-executables] [--] [files|directories] -# @DESCRIPTION: -# Convert shebangs in specified files. Directories can be specified only with --recursive option. -python_convert_shebangs() { - _python_check_python_pkg_setup_execution - - local argument file files=() only_executables="0" python_interpreter quiet="0" recursive="0" shebangs_converted="0" - - while (($#)); do - case "$1" in - -r|--recursive) - recursive="1" - ;; - -q|--quiet) - quiet="1" - ;; - -x|--only-executables) - only_executables="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "$#" -eq 0 ]]; then - die "${FUNCNAME}(): Missing Python version and files or directories" - elif [[ "$#" -eq 1 ]]; then - die "${FUNCNAME}(): Missing files or directories" - fi - - if [[ -n "$(_python_get_implementation --ignore-invalid "$1")" ]]; then - python_interpreter="$(PYTHON "$1")" - else - python_interpreter="python$1" - fi - shift - - for argument in "$@"; do - if [[ ! -e "${argument}" ]]; then - die "${FUNCNAME}(): '${argument}' does not exist" - elif [[ -f "${argument}" ]]; then - files+=("${argument}") - elif [[ -d "${argument}" ]]; then - if [[ "${recursive}" == "1" ]]; then - while read -d $'\0' -r file; do - files+=("${file}") - done < <(find "${argument}" $([[ "${only_executables}" == "1" ]] && echo -perm /111) -type f -print0) - else - die "${FUNCNAME}(): '${argument}' is not a regular file" - fi - else - die "${FUNCNAME}(): '${argument}' is not a regular file or a directory" - fi - done - - for file in "${files[@]}"; do - file="${file#./}" - [[ "${only_executables}" == "1" && ! -x "${file}" ]] && continue - - if [[ "$(head -n1 "${file}")" =~ ${_PYTHON_SHEBANG_BASE_PART_REGEX} ]]; then - [[ "$(sed -ne "2p" "${file}")" =~ ^"# Gentoo '".*"' wrapper script generated by python_generate_wrapper_scripts()"$ ]] && continue - - shebangs_converted="1" - - if [[ "${quiet}" == "0" ]]; then - einfo "Converting shebang in '${file}'" - fi - - sed -e "1s:^#![[:space:]]*\([^[:space:]]*/usr/bin/env[[:space:]]\)\?[[:space:]]*\([^[:space:]]*/\)\?\(jython\|pypy-c\|python\)\([[:digit:]]\+\(\.[[:digit:]]\+\)\?\)\?\(\$\|[[:space:]].*\):#!\1\2${python_interpreter}\6:" -i "${file}" || die "Conversion of shebang in '${file}' failed" - fi - done - - if [[ "${shebangs_converted}" == "0" ]]; then - ewarn "${FUNCNAME}(): Python scripts not found" - fi -} - -# @FUNCTION: python_clean_py-compile_files -# @USAGE: [-q|--quiet] -# @DESCRIPTION: -# Clean py-compile files to disable byte-compilation. -python_clean_py-compile_files() { - _python_check_python_pkg_setup_execution - - local file files=() quiet="0" - - while (($#)); do - case "$1" in - -q|--quiet) - quiet="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - while read -d $'\0' -r file; do - files+=("${file#./}") - done < <(find -name py-compile -type f -print0) - - for file in "${files[@]}"; do - if [[ "${quiet}" == "0" ]]; then - einfo "Cleaning '${file}' file" - fi - echo "#!/bin/sh" > "${file}" - done -} - -# @FUNCTION: python_clean_installation_image -# @USAGE: [-q|--quiet] -# @DESCRIPTION: -# Delete needless files in installation image. -# -# This function can be used only in src_install() phase. -python_clean_installation_image() { - if [[ "${EBUILD_PHASE}" != "install" ]]; then - die "${FUNCNAME}() can be used only in src_install() phase" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - local file files=() quiet="0" - - while (($#)); do - case "$1" in - -q|--quiet) - quiet="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - while read -d $'\0' -r file; do - files+=("${file}") - done < <(find "${ED}" "(" -name "*.py[co]" -o -name "*\$py.class" ")" -type f -print0) - - if [[ "${#files[@]}" -gt 0 ]]; then - if [[ "${quiet}" == "0" ]]; then - ewarn "Deleting byte-compiled Python modules needlessly generated by build system:" - fi - for file in "${files[@]}"; do - if [[ "${quiet}" == "0" ]]; then - ewarn " ${file}" - fi - rm -f "${file}" - - # Delete empty __pycache__ directories. - if [[ "${file%/*}" == *"/__pycache__" ]]; then - rmdir "${file%/*}" 2> /dev/null - fi - done - fi - - python_clean_sitedirs() { - if [[ -d "${ED}$(python_get_sitedir)" ]]; then - find "${ED}$(python_get_sitedir)" "(" -name "*.c" -o -name "*.h" -o -name "*.la" ")" -type f -print0 | xargs -0 rm -f - fi - } - if _python_package_supporting_installation_for_multiple_python_abis; then - python_execute_function -q python_clean_sitedirs - else - python_clean_sitedirs - fi - - unset -f python_clean_sitedirs -} - -# ================================================================================================ -# =========== FUNCTIONS FOR PACKAGES SUPPORTING INSTALLATION FOR MULTIPLE PYTHON ABIS ============ -# ================================================================================================ - -# @ECLASS-VARIABLE: SUPPORT_PYTHON_ABIS -# @DESCRIPTION: -# Set this in EAPI <= 4 to indicate that current package supports installation for -# multiple Python ABIs. - -# @ECLASS-VARIABLE: PYTHON_TESTS_RESTRICTED_ABIS -# @DESCRIPTION: -# Space-separated list of Python ABI patterns. Testing in Python ABIs matching any Python ABI -# patterns specified in this list is skipped. - -# @ECLASS-VARIABLE: PYTHON_EXPORT_PHASE_FUNCTIONS -# @DESCRIPTION: -# Set this to export phase functions for the following ebuild phases: -# src_prepare(), src_configure(), src_compile(), src_test(), src_install(). -if ! has "${EAPI:-0}" 0 1; then - python_src_prepare() { - if [[ "${EBUILD_PHASE}" != "prepare" ]]; then - die "${FUNCNAME}() can be used only in src_prepare() phase" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - python_copy_sources - } - - for python_default_function in src_configure src_compile src_test; do - eval "python_${python_default_function}() { - if [[ \"\${EBUILD_PHASE}\" != \"${python_default_function#src_}\" ]]; then - die \"\${FUNCNAME}() can be used only in ${python_default_function}() phase\" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die \"\${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs\" - fi - - _python_check_python_pkg_setup_execution - - python_execute_function -d -s -- \"\$@\" - }" - done - unset python_default_function - - python_src_install() { - if [[ "${EBUILD_PHASE}" != "install" ]]; then - die "${FUNCNAME}() can be used only in src_install() phase" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - - if has "${EAPI:-0}" 0 1 2 3; then - python_execute_function -d -s -- "$@" - else - python_installation() { - emake DESTDIR="${T}/images/${PYTHON_ABI}" install "$@" - } - python_execute_function -s python_installation "$@" - unset python_installation - - python_merge_intermediate_installation_images "${T}/images" - fi - } - - if [[ -n "${PYTHON_EXPORT_PHASE_FUNCTIONS}" ]]; then - EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install - fi -fi - -unset PYTHON_ABIS - -_python_calculate_PYTHON_ABIS() { - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_initial_sanity_checks - - if [[ "$(declare -p PYTHON_ABIS 2> /dev/null)" != "declare -x PYTHON_ABIS="* ]]; then - local PYTHON_ABI - - if [[ "$(declare -p USE_PYTHON 2> /dev/null)" == "declare -x USE_PYTHON="* ]]; then - local cpython_enabled="0" - - if [[ -z "${USE_PYTHON}" ]]; then - die "USE_PYTHON variable is empty" - fi - - for PYTHON_ABI in ${USE_PYTHON}; do - if ! has "${PYTHON_ABI}" "${_PYTHON_GLOBALLY_SUPPORTED_ABIS[@]}"; then - die "USE_PYTHON variable contains invalid value '${PYTHON_ABI}'" - fi - - if has "${PYTHON_ABI}" "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; then - cpython_enabled="1" - fi - - if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then - export PYTHON_ABIS+="${PYTHON_ABIS:+ }${PYTHON_ABI}" - fi - done - - if [[ -z "${PYTHON_ABIS//[${IFS}]/}" ]]; then - die "USE_PYTHON variable does not enable any Python ABI supported by ${CATEGORY}/${PF}" - fi - - if [[ "${cpython_enabled}" == "0" ]]; then - die "USE_PYTHON variable does not enable any CPython ABI" - fi - else - local python_version python2_version python3_version support_python_major_version - - if ! has_version "dev-lang/python"; then - die "${FUNCNAME}(): 'dev-lang/python' is not installed" - fi - - python_version="$("${EPREFIX}/usr/bin/python" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')" - - if has_version "=dev-lang/python-2*"; then - python2_version="$("${EPREFIX}/usr/bin/python2" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')" - - support_python_major_version="0" - for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}"; do - if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then - support_python_major_version="1" - break - fi - done - if [[ "${support_python_major_version}" == "1" ]]; then - if _python_check_python_abi_matching --patterns-list "${python2_version}" "${RESTRICT_PYTHON_ABIS}"; then - die "Active version of CPython 2 is not supported by ${CATEGORY}/${PF}" - fi - else - python2_version="" - fi - fi - - if has_version "=dev-lang/python-3*"; then - python3_version="$("${EPREFIX}/usr/bin/python3" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')" - - support_python_major_version="0" - for PYTHON_ABI in "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; do - if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then - support_python_major_version="1" - break - fi - done - if [[ "${support_python_major_version}" == "1" ]]; then - if _python_check_python_abi_matching --patterns-list "${python3_version}" "${RESTRICT_PYTHON_ABIS}"; then - die "Active version of CPython 3 is not supported by ${CATEGORY}/${PF}" - fi - else - python3_version="" - fi - fi - - if [[ -z "${python2_version}" && -z "${python3_version}" ]]; then - eerror "${CATEGORY}/${PF} requires at least one of the following packages:" - for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; do - if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then - eerror " dev-lang/python:${PYTHON_ABI}" - fi - done - die "No supported version of CPython installed" - fi - - if [[ -n "${python2_version}" && "${python_version}" == "2."* && "${python_version}" != "${python2_version}" ]]; then - eerror "Python wrapper is configured incorrectly or '${EPREFIX}/usr/bin/python2' symlink" - eerror "is set incorrectly. Use \`eselect python\` to fix configuration." - die "Incorrect configuration of Python" - fi - if [[ -n "${python3_version}" && "${python_version}" == "3."* && "${python_version}" != "${python3_version}" ]]; then - eerror "Python wrapper is configured incorrectly or '${EPREFIX}/usr/bin/python3' symlink" - eerror "is set incorrectly. Use \`eselect python\` to fix configuration." - die "Incorrect configuration of Python" - fi - - PYTHON_ABIS="${python2_version} ${python3_version}" - PYTHON_ABIS="${PYTHON_ABIS# }" - export PYTHON_ABIS="${PYTHON_ABIS% }" - fi - fi - - _python_final_sanity_checks -} - -_python_prepare_flags() { - local array=() deleted_flag element flags new_value old_flag old_value operator pattern prefix variable - - for variable in CPPFLAGS CFLAGS CXXFLAGS LDFLAGS; do - eval "_PYTHON_SAVED_${variable}=\"\${!variable}\"" - for prefix in PYTHON_USER_ PYTHON_; do - if [[ "$(declare -p ${prefix}${variable} 2> /dev/null)" == "declare -a ${prefix}${variable}="* ]]; then - eval "array=(\"\${${prefix}${variable}[@]}\")" - for element in "${array[@]}"; do - if [[ "${element}" =~ ^${_PYTHON_ABI_PATTERN_REGEX}\ (\+|-)\ .+ ]]; then - pattern="${element%% *}" - element="${element#* }" - operator="${element%% *}" - flags="${element#* }" - if _python_check_python_abi_matching "${PYTHON_ABI}" "${pattern}"; then - if [[ "${operator}" == "+" ]]; then - eval "export ${variable}+=\"\${variable:+ }${flags}\"" - elif [[ "${operator}" == "-" ]]; then - flags="${flags// /$'\n'}" - old_value="${!variable// /$'\n'}" - new_value="" - while read old_flag; do - while read deleted_flag; do - if [[ "${old_flag}" == ${deleted_flag} ]]; then - continue 2 - fi - done <<< "${flags}" - new_value+="${new_value:+ }${old_flag}" - done <<< "${old_value}" - eval "export ${variable}=\"\${new_value}\"" - fi - fi - else - die "Element '${element}' of ${prefix}${variable} array has invalid syntax" - fi - done - elif [[ -n "$(declare -p ${prefix}${variable} 2> /dev/null)" ]]; then - die "${prefix}${variable} should be indexed array" - fi - done - done -} - -_python_restore_flags() { - local variable - - for variable in CPPFLAGS CFLAGS CXXFLAGS LDFLAGS; do - eval "${variable}=\"\${_PYTHON_SAVED_${variable}}\"" - unset _PYTHON_SAVED_${variable} - done -} - -# @FUNCTION: python_execute_function -# @USAGE: [--action-message message] [-d|--default-function] [--failure-message message] [-f|--final-ABI] [--nonfatal] [-q|--quiet] [-s|--separate-build-dirs] [--source-dir source_directory] [--] [arguments] -# @DESCRIPTION: -# Execute specified function for each value of PYTHON_ABIS, optionally passing additional -# arguments. The specified function can use PYTHON_ABI and BUILDDIR variables. -python_execute_function() { - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - _python_set_color_variables - - local action action_message action_message_template default_function="0" failure_message failure_message_template final_ABI="0" function iterated_PYTHON_ABIS nonfatal="0" previous_directory previous_directory_stack previous_directory_stack_length PYTHON_ABI quiet="0" return_code separate_build_dirs="0" source_dir - - while (($#)); do - case "$1" in - --action-message) - action_message_template="$2" - shift - ;; - -d|--default-function) - default_function="1" - ;; - --failure-message) - failure_message_template="$2" - shift - ;; - -f|--final-ABI) - final_ABI="1" - ;; - --nonfatal) - nonfatal="1" - ;; - -q|--quiet) - quiet="1" - ;; - -s|--separate-build-dirs) - separate_build_dirs="1" - ;; - --source-dir) - source_dir="$2" - shift - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ -n "${source_dir}" && "${separate_build_dirs}" == 0 ]]; then - die "${FUNCNAME}(): '--source-dir' option can be specified only with '--separate-build-dirs' option" - fi - - if [[ "${default_function}" == "0" ]]; then - if [[ "$#" -eq 0 ]]; then - die "${FUNCNAME}(): Missing function name" - fi - function="$1" - shift - - if [[ -z "$(type -t "${function}")" ]]; then - die "${FUNCNAME}(): '${function}' function is not defined" - fi - else - if has "${EAPI:-0}" 0 1; then - die "${FUNCNAME}(): '--default-function' option cannot be used in this EAPI" - fi - - if [[ "${EBUILD_PHASE}" == "configure" ]]; then - if has "${EAPI}" 2 3; then - python_default_function() { - econf "$@" - } - else - python_default_function() { - nonfatal econf "$@" - } - fi - elif [[ "${EBUILD_PHASE}" == "compile" ]]; then - python_default_function() { - emake "$@" - } - elif [[ "${EBUILD_PHASE}" == "test" ]]; then - python_default_function() { - # Stolen from portage's _eapi0_src_test() - local emake_cmd="${MAKE:-make} ${MAKEOPTS} ${EXTRA_EMAKE}" - if ${emake_cmd} -j1 -n check &> /dev/null; then - ${emake_cmd} -j1 check "$@" - elif ${emake_cmd} -j1 -n test &> /dev/null; then - ${emake_cmd} -j1 test "$@" - fi - } - elif [[ "${EBUILD_PHASE}" == "install" ]]; then - python_default_function() { - emake DESTDIR="${D}" install "$@" - } - else - die "${FUNCNAME}(): '--default-function' option cannot be used in this ebuild phase" - fi - function="python_default_function" - fi - - # Ensure that python_execute_function() cannot be directly or indirectly called by python_execute_function(). - if _python_abi-specific_local_scope; then - die "${FUNCNAME}(): Invalid call stack" - fi - - if [[ "${quiet}" == "0" ]]; then - [[ "${EBUILD_PHASE}" == "setup" ]] && action="Setting up" - [[ "${EBUILD_PHASE}" == "unpack" ]] && action="Unpacking" - [[ "${EBUILD_PHASE}" == "prepare" ]] && action="Preparation" - [[ "${EBUILD_PHASE}" == "configure" ]] && action="Configuration" - [[ "${EBUILD_PHASE}" == "compile" ]] && action="Building" - [[ "${EBUILD_PHASE}" == "test" ]] && action="Testing" - [[ "${EBUILD_PHASE}" == "install" ]] && action="Installation" - [[ "${EBUILD_PHASE}" == "preinst" ]] && action="Preinstallation" - [[ "${EBUILD_PHASE}" == "postinst" ]] && action="Postinstallation" - [[ "${EBUILD_PHASE}" == "prerm" ]] && action="Preuninstallation" - [[ "${EBUILD_PHASE}" == "postrm" ]] && action="Postuninstallation" - fi - - _python_calculate_PYTHON_ABIS - if [[ "${final_ABI}" == "1" ]]; then - iterated_PYTHON_ABIS="$(PYTHON -f --ABI)" - else - iterated_PYTHON_ABIS="${PYTHON_ABIS}" - fi - for PYTHON_ABI in ${iterated_PYTHON_ABIS}; do - if [[ "${EBUILD_PHASE}" == "test" ]] && _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${PYTHON_TESTS_RESTRICTED_ABIS}"; then - if [[ "${quiet}" == "0" ]]; then - echo " ${_GREEN}*${_NORMAL} ${_BLUE}Testing of ${CATEGORY}/${PF} with $(python_get_implementation_and_version) skipped${_NORMAL}" - fi - continue - fi - - _python_prepare_flags - - if [[ "${quiet}" == "0" ]]; then - if [[ -n "${action_message_template}" ]]; then - eval "action_message=\"${action_message_template}\"" - else - action_message="${action} of ${CATEGORY}/${PF} with $(python_get_implementation_and_version)..." - fi - echo " ${_GREEN}*${_NORMAL} ${_BLUE}${action_message}${_NORMAL}" - fi - - if [[ "${separate_build_dirs}" == "1" ]]; then - if [[ -n "${source_dir}" ]]; then - export BUILDDIR="${S}/${source_dir}-${PYTHON_ABI}" - else - export BUILDDIR="${S}-${PYTHON_ABI}" - fi - pushd "${BUILDDIR}" > /dev/null || die "pushd failed" - else - export BUILDDIR="${S}" - fi - - previous_directory="$(pwd)" - previous_directory_stack="$(dirs -p)" - previous_directory_stack_length="$(dirs -p | wc -l)" - - if ! has "${EAPI}" 0 1 2 3 && has "${PYTHON_ABI}" ${FAILURE_TOLERANT_PYTHON_ABIS}; then - EPYTHON="$(PYTHON)" nonfatal "${function}" "$@" - else - EPYTHON="$(PYTHON)" "${function}" "$@" - fi - - return_code="$?" - - _python_restore_flags - - if [[ "${return_code}" -ne 0 ]]; then - if [[ -n "${failure_message_template}" ]]; then - eval "failure_message=\"${failure_message_template}\"" - else - failure_message="${action} failed with $(python_get_implementation_and_version) in ${function}() function" - fi - - if [[ "${nonfatal}" == "1" ]]; then - if [[ "${quiet}" == "0" ]]; then - ewarn "${failure_message}" - fi - elif [[ "${final_ABI}" == "0" ]] && has "${PYTHON_ABI}" ${FAILURE_TOLERANT_PYTHON_ABIS}; then - if [[ "${EBUILD_PHASE}" != "test" ]] || ! has test-fail-continue ${FEATURES}; then - local enabled_PYTHON_ABIS= other_PYTHON_ABI - for other_PYTHON_ABI in ${PYTHON_ABIS}; do - [[ "${other_PYTHON_ABI}" != "${PYTHON_ABI}" ]] && enabled_PYTHON_ABIS+="${enabled_PYTHON_ABIS:+ }${other_PYTHON_ABI}" - done - export PYTHON_ABIS="${enabled_PYTHON_ABIS}" - fi - if [[ "${quiet}" == "0" ]]; then - ewarn "${failure_message}" - fi - if [[ -z "${PYTHON_ABIS}" ]]; then - die "${function}() function failed with all enabled Python ABIs" - fi - else - die "${failure_message}" - fi - fi - - # Ensure that directory stack has not been decreased. - if [[ "$(dirs -p | wc -l)" -lt "${previous_directory_stack_length}" ]]; then - die "Directory stack decreased illegally" - fi - - # Avoid side effects of earlier returning from the specified function. - while [[ "$(dirs -p | wc -l)" -gt "${previous_directory_stack_length}" ]]; do - popd > /dev/null || die "popd failed" - done - - # Ensure that the bottom part of directory stack has not been changed. Restore - # previous directory (from before running of the specified function) before - # comparison of directory stacks to avoid mismatch of directory stacks after - # potential using of 'cd' to change current directory. Restoration of previous - # directory allows to safely use 'cd' to change current directory in the - # specified function without changing it back to original directory. - cd "${previous_directory}" - if [[ "$(dirs -p)" != "${previous_directory_stack}" ]]; then - die "Directory stack changed illegally" - fi - - if [[ "${separate_build_dirs}" == "1" ]]; then - popd > /dev/null || die "popd failed" - fi - unset BUILDDIR - done - - if [[ "${default_function}" == "1" ]]; then - unset -f python_default_function - fi -} - -# @FUNCTION: python_copy_sources -# @USAGE: [directory] -# @DESCRIPTION: -# Copy unpacked sources of current package to separate build directory for each Python ABI. -python_copy_sources() { - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - - local dir dirs=() PYTHON_ABI - - if [[ "$#" -eq 0 ]]; then - if [[ "${WORKDIR}" == "${S}" ]]; then - die "${FUNCNAME}() cannot be used with current value of S variable" - fi - dirs=("${S%/}") - else - dirs=("$@") - fi - - _python_calculate_PYTHON_ABIS - for PYTHON_ABI in ${PYTHON_ABIS}; do - for dir in "${dirs[@]}"; do - cp -pr "${dir}" "${dir}-${PYTHON_ABI}" > /dev/null || die "Copying of sources failed" - done - done -} - -# @FUNCTION: python_generate_wrapper_scripts -# @USAGE: [-E|--respect-EPYTHON] [-f|--force] [-q|--quiet] [--] [files] -# @DESCRIPTION: -# Generate wrapper scripts. Existing files are overwritten only with --force option. -# If --respect-EPYTHON option is specified, then generated wrapper scripts will -# respect EPYTHON variable at run time. -# -# This function can be used only in src_install() phase. -python_generate_wrapper_scripts() { - if [[ "${EBUILD_PHASE}" != "install" ]]; then - die "${FUNCNAME}() can be used only in src_install() phase" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - local eselect_python_option file force="0" quiet="0" PYTHON_ABI PYTHON_ABIS_list python2_enabled="0" python3_enabled="0" respect_EPYTHON="0" - - while (($#)); do - case "$1" in - -E|--respect-EPYTHON) - respect_EPYTHON="1" - ;; - -f|--force) - force="1" - ;; - -q|--quiet) - quiet="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "$#" -eq 0 ]]; then - die "${FUNCNAME}(): Missing arguments" - fi - - _python_calculate_PYTHON_ABIS - for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}"; do - if has "${PYTHON_ABI}" ${PYTHON_ABIS}; then - python2_enabled="1" - fi - done - for PYTHON_ABI in "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; do - if has "${PYTHON_ABI}" ${PYTHON_ABIS}; then - python3_enabled="1" - fi - done - - if [[ "${python2_enabled}" == "1" && "${python3_enabled}" == "1" ]]; then - eselect_python_option= - elif [[ "${python2_enabled}" == "1" && "${python3_enabled}" == "0" ]]; then - eselect_python_option="--python2" - elif [[ "${python2_enabled}" == "0" && "${python3_enabled}" == "1" ]]; then - eselect_python_option="--python3" - else - die "${FUNCNAME}(): Unsupported environment" - fi - - PYTHON_ABIS_list="$("$(PYTHON -f)" -c "print(', '.join('\"%s\"' % x for x in reversed('${PYTHON_ABIS}'.split())))")" - - for file in "$@"; do - if [[ -f "${file}" && "${force}" == "0" ]]; then - die "${FUNCNAME}(): '${file}' already exists" - fi - - if [[ "${quiet}" == "0" ]]; then - einfo "Generating '${file#${ED%/}}' wrapper script" - fi - - cat << EOF > "${file}" -#!/usr/bin/env python -# Gentoo '${file##*/}' wrapper script generated by python_generate_wrapper_scripts() - -import os -import re -import subprocess -import sys - -cpython_ABI_re = re.compile(r"^(\d+\.\d+)$") -jython_ABI_re = re.compile(r"^(\d+\.\d+)-jython$") -pypy_ABI_re = re.compile(r"^\d+\.\d+-pypy-(\d+\.\d+)$") -cpython_interpreter_re = re.compile(r"^python(\d+\.\d+)$") -jython_interpreter_re = re.compile(r"^jython(\d+\.\d+)$") -pypy_interpreter_re = re.compile(r"^pypy-c(\d+\.\d+)$") -cpython_shebang_re = re.compile(r"^#![ \t]*(?:${EPREFIX}/usr/bin/python|(?:${EPREFIX})?/usr/bin/env[ \t]+(?:${EPREFIX}/usr/bin/)?python)") -python_shebang_options_re = re.compile(r"^#![ \t]*${EPREFIX}/usr/bin/(?:jython|pypy-c|python)(?:\d+(?:\.\d+)?)?[ \t]+(-\S)") -python_verification_output_re = re.compile("^GENTOO_PYTHON_TARGET_SCRIPT_PATH supported\n$") - -#pypy_versions_mapping = { -# "1.5": "2.7", -# "1.6": "2.7", -# "1.7": "2.7", -# "1.8": "2.7", -# "1.9": "2.7", -# "2.0": "2.7", -#} - -def get_PYTHON_ABI(python_interpreter): - cpython_matched = cpython_interpreter_re.match(python_interpreter) - jython_matched = jython_interpreter_re.match(python_interpreter) - pypy_matched = pypy_interpreter_re.match(python_interpreter) - if cpython_matched is not None: - PYTHON_ABI = cpython_matched.group(1) - elif jython_matched is not None: - PYTHON_ABI = jython_matched.group(1) + "-jython" - elif pypy_matched is not None: - #PYTHON_ABI = pypy_versions_mapping[pypy_matched.group(1)] + "-pypy-" + pypy_matched.group(1) - PYTHON_ABI = "2.7-pypy-" + pypy_matched.group(1) - else: - PYTHON_ABI = None - return PYTHON_ABI - -def get_python_interpreter(PYTHON_ABI): - cpython_matched = cpython_ABI_re.match(PYTHON_ABI) - jython_matched = jython_ABI_re.match(PYTHON_ABI) - pypy_matched = pypy_ABI_re.match(PYTHON_ABI) - if cpython_matched is not None: - python_interpreter = "python" + cpython_matched.group(1) - elif jython_matched is not None: - python_interpreter = "jython" + jython_matched.group(1) - elif pypy_matched is not None: - python_interpreter = "pypy-c" + pypy_matched.group(1) - else: - python_interpreter = None - return python_interpreter - -EOF - if [[ "$?" != "0" ]]; then - die "${FUNCNAME}(): Generation of '$1' failed" - fi - if [[ "${respect_EPYTHON}" == "1" ]]; then - cat << EOF >> "${file}" -python_interpreter = os.environ.get("EPYTHON") -if python_interpreter: - PYTHON_ABI = get_PYTHON_ABI(python_interpreter) - if PYTHON_ABI is None: - sys.stderr.write("%s: EPYTHON variable has unrecognized value '%s'\n" % (sys.argv[0], python_interpreter)) - sys.exit(1) -else: - try: - environment = os.environ.copy() - environment["ROOT"] = "/" - eselect_process = subprocess.Popen(["${EPREFIX}/usr/bin/eselect", "python", "show"${eselect_python_option:+, $(echo "\"")}${eselect_python_option}${eselect_python_option:+$(echo "\"")}], env=environment, stdout=subprocess.PIPE) - if eselect_process.wait() != 0: - raise ValueError - except (OSError, ValueError): - sys.stderr.write("%s: Execution of 'eselect python show${eselect_python_option:+ }${eselect_python_option}' failed\n" % sys.argv[0]) - sys.exit(1) - - python_interpreter = eselect_process.stdout.read() - if not isinstance(python_interpreter, str): - # Python 3 - python_interpreter = python_interpreter.decode() - python_interpreter = python_interpreter.rstrip("\n") - - PYTHON_ABI = get_PYTHON_ABI(python_interpreter) - if PYTHON_ABI is None: - sys.stderr.write("%s: 'eselect python show${eselect_python_option:+ }${eselect_python_option}' printed unrecognized value '%s'\n" % (sys.argv[0], python_interpreter)) - sys.exit(1) - -wrapper_script_path = os.path.realpath(sys.argv[0]) -target_executable_path = "%s-%s" % (wrapper_script_path, PYTHON_ABI) -if not os.path.exists(target_executable_path): - sys.stderr.write("%s: '%s' does not exist\n" % (sys.argv[0], target_executable_path)) - sys.exit(1) -EOF - if [[ "$?" != "0" ]]; then - die "${FUNCNAME}(): Generation of '$1' failed" - fi - else - cat << EOF >> "${file}" -try: - environment = os.environ.copy() - environment["ROOT"] = "/" - eselect_process = subprocess.Popen(["${EPREFIX}/usr/bin/eselect", "python", "show"${eselect_python_option:+, $(echo "\"")}${eselect_python_option}${eselect_python_option:+$(echo "\"")}], env=environment, stdout=subprocess.PIPE) - if eselect_process.wait() != 0: - raise ValueError -except (OSError, ValueError): - sys.stderr.write("%s: Execution of 'eselect python show${eselect_python_option:+ }${eselect_python_option}' failed\n" % sys.argv[0]) - sys.exit(1) - -python_interpreter = eselect_process.stdout.read() -if not isinstance(python_interpreter, str): - # Python 3 - python_interpreter = python_interpreter.decode() -python_interpreter = python_interpreter.rstrip("\n") - -PYTHON_ABI = get_PYTHON_ABI(python_interpreter) -if PYTHON_ABI is None: - sys.stderr.write("%s: 'eselect python show${eselect_python_option:+ }${eselect_python_option}' printed unrecognized value '%s'\n" % (sys.argv[0], python_interpreter)) - sys.exit(1) - -wrapper_script_path = os.path.realpath(sys.argv[0]) -for PYTHON_ABI in [PYTHON_ABI, ${PYTHON_ABIS_list}]: - target_executable_path = "%s-%s" % (wrapper_script_path, PYTHON_ABI) - if os.path.exists(target_executable_path): - break -else: - sys.stderr.write("%s: No target script exists for '%s'\n" % (sys.argv[0], wrapper_script_path)) - sys.exit(1) - -python_interpreter = get_python_interpreter(PYTHON_ABI) -if python_interpreter is None: - sys.stderr.write("%s: Unrecognized Python ABI '%s'\n" % (sys.argv[0], PYTHON_ABI)) - sys.exit(1) -EOF - if [[ "$?" != "0" ]]; then - die "${FUNCNAME}(): Generation of '$1' failed" - fi - fi - cat << EOF >> "${file}" - -target_executable = open(target_executable_path, "rb") -target_executable_first_line = target_executable.readline() -target_executable.close() -if not isinstance(target_executable_first_line, str): - # Python 3 - target_executable_first_line = target_executable_first_line.decode("utf_8", "replace") - -options = [] -python_shebang_options_matched = python_shebang_options_re.match(target_executable_first_line) -if python_shebang_options_matched is not None: - options = [python_shebang_options_matched.group(1)] - -cpython_shebang_matched = cpython_shebang_re.match(target_executable_first_line) - -if cpython_shebang_matched is not None: - try: - python_interpreter_path = "${EPREFIX}/usr/bin/%s" % python_interpreter - os.environ["GENTOO_PYTHON_TARGET_SCRIPT_PATH_VERIFICATION"] = "1" - python_verification_process = subprocess.Popen([python_interpreter_path, "-c", "pass"], stdout=subprocess.PIPE) - del os.environ["GENTOO_PYTHON_TARGET_SCRIPT_PATH_VERIFICATION"] - if python_verification_process.wait() != 0: - raise ValueError - - python_verification_output = python_verification_process.stdout.read() - if not isinstance(python_verification_output, str): - # Python 3 - python_verification_output = python_verification_output.decode() - - if not python_verification_output_re.match(python_verification_output): - raise ValueError - - if cpython_interpreter_re.match(python_interpreter) is not None: - os.environ["GENTOO_PYTHON_PROCESS_NAME"] = os.path.basename(sys.argv[0]) - os.environ["GENTOO_PYTHON_WRAPPER_SCRIPT_PATH"] = sys.argv[0] - os.environ["GENTOO_PYTHON_TARGET_SCRIPT_PATH"] = target_executable_path - - if hasattr(os, "execv"): - os.execv(python_interpreter_path, [python_interpreter_path] + options + sys.argv) - else: - sys.exit(subprocess.Popen([python_interpreter_path] + options + sys.argv).wait()) - except (KeyboardInterrupt, SystemExit): - raise - except: - pass - for variable in ("GENTOO_PYTHON_PROCESS_NAME", "GENTOO_PYTHON_WRAPPER_SCRIPT_PATH", "GENTOO_PYTHON_TARGET_SCRIPT_PATH", "GENTOO_PYTHON_TARGET_SCRIPT_PATH_VERIFICATION"): - if variable in os.environ: - del os.environ[variable] - -if hasattr(os, "execv"): - os.execv(target_executable_path, sys.argv) -else: - sys.exit(subprocess.Popen([target_executable_path] + sys.argv[1:]).wait()) -EOF - if [[ "$?" != "0" ]]; then - die "${FUNCNAME}(): Generation of '$1' failed" - fi - fperms +x "${file#${ED%/}}" || die "fperms '${file}' failed" - done -} - -# @ECLASS-VARIABLE: PYTHON_VERSIONED_SCRIPTS -# @DESCRIPTION: -# Array of regular expressions of paths to versioned Python scripts. -# Python scripts in /usr/bin and /usr/sbin are versioned by default. - -# @ECLASS-VARIABLE: PYTHON_VERSIONED_EXECUTABLES -# @DESCRIPTION: -# Array of regular expressions of paths to versioned executables (including Python scripts). - -# @ECLASS-VARIABLE: PYTHON_NONVERSIONED_EXECUTABLES -# @DESCRIPTION: -# Array of regular expressions of paths to nonversioned executables (including Python scripts). - -# @FUNCTION: python_merge_intermediate_installation_images -# @USAGE: [-q|--quiet] [--] -# @DESCRIPTION: -# Merge intermediate installation images into installation image. -# -# This function can be used only in src_install() phase. -python_merge_intermediate_installation_images() { - if [[ "${EBUILD_PHASE}" != "install" ]]; then - die "${FUNCNAME}() can be used only in src_install() phase" - fi - - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - local absolute_file b file files=() intermediate_installation_images_directory PYTHON_ABI quiet="0" regex shebang version_executable wrapper_scripts=() wrapper_scripts_set=() - - while (($#)); do - case "$1" in - -q|--quiet) - quiet="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "$#" -ne 1 ]]; then - die "${FUNCNAME}() requires 1 argument" - fi - - intermediate_installation_images_directory="$1" - - if [[ ! -d "${intermediate_installation_images_directory}" ]]; then - die "${FUNCNAME}(): Intermediate installation images directory '${intermediate_installation_images_directory}' does not exist" - fi - - _python_calculate_PYTHON_ABIS - if [[ "$(PYTHON -f --ABI)" == 3.* ]]; then - b="b" - fi - - while read -d $'\0' -r file; do - files+=("${file}") - done < <("$(PYTHON -f)" -c \ -"import os -import sys - -if hasattr(sys.stdout, 'buffer'): - # Python 3 - stdout = sys.stdout.buffer -else: - # Python 2 - stdout = sys.stdout - -files_set = set() - -os.chdir(${b}'${intermediate_installation_images_directory}') - -for PYTHON_ABI in ${b}'${PYTHON_ABIS}'.split(): - for root, dirs, files in os.walk(PYTHON_ABI + ${b}'${EPREFIX}'): - root = root[len(PYTHON_ABI + ${b}'${EPREFIX}')+1:] - files_set.update(root + ${b}'/' + file for file in files) - -for file in sorted(files_set): - stdout.write(file) - stdout.write(${b}'\x00')" || die "${FUNCNAME}(): Failure of extraction of files in intermediate installation images") - - for PYTHON_ABI in ${PYTHON_ABIS}; do - if [[ ! -d "${intermediate_installation_images_directory}/${PYTHON_ABI}" ]]; then - die "${FUNCNAME}(): Intermediate installation image for Python ABI '${PYTHON_ABI}' does not exist" - fi - - pushd "${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}" > /dev/null || die "pushd failed" - - for file in "${files[@]}"; do - version_executable="0" - for regex in "/usr/bin/.*" "/usr/sbin/.*" "${PYTHON_VERSIONED_SCRIPTS[@]}"; do - if [[ "/${file}" =~ ^${regex}$ ]]; then - version_executable="1" - break - fi - done - for regex in "${PYTHON_VERSIONED_EXECUTABLES[@]}"; do - if [[ "/${file}" =~ ^${regex}$ ]]; then - version_executable="2" - break - fi - done - if [[ "${version_executable}" != "0" ]]; then - for regex in "${PYTHON_NONVERSIONED_EXECUTABLES[@]}"; do - if [[ "/${file}" =~ ^${regex}$ ]]; then - version_executable="0" - break - fi - done - fi - - [[ "${version_executable}" == "0" ]] && continue - - if [[ -L "${file}" ]]; then - absolute_file="$(readlink "${file}")" - if [[ "${absolute_file}" == /* ]]; then - absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${absolute_file##/}" - else - if [[ "${file}" == */* ]]; then - absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${file%/*}/${absolute_file}" - else - absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${absolute_file}" - fi - fi - else - absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${file}" - fi - - [[ ! -x "${absolute_file}" ]] && continue - - shebang="$(head -n1 "${absolute_file}")" || die "Extraction of shebang from '${absolute_file}' failed" - - if [[ "${version_executable}" == "2" ]]; then - wrapper_scripts+=("${ED}${file}") - elif [[ "${version_executable}" == "1" ]]; then - if [[ "${shebang}" =~ ${_PYTHON_SHEBANG_BASE_PART_REGEX}([[:digit:]]+(\.[[:digit:]]+)?)?($|[[:space:]]+) ]]; then - wrapper_scripts+=("${ED}${file}") - else - version_executable="0" - fi - fi - - [[ "${version_executable}" == "0" ]] && continue - - if [[ -e "${file}-${PYTHON_ABI}" ]]; then - die "${FUNCNAME}(): '${EPREFIX}/${file}-${PYTHON_ABI}' already exists" - fi - - mv "${file}" "${file}-${PYTHON_ABI}" || die "Renaming of '${file}' failed" - - if [[ "${shebang}" =~ ${_PYTHON_SHEBANG_BASE_PART_REGEX}[[:digit:]]*($|[[:space:]]+) ]]; then - if [[ -L "${file}-${PYTHON_ABI}" ]]; then - python_convert_shebangs $([[ "${quiet}" == "1" ]] && echo --quiet) "${PYTHON_ABI}" "${absolute_file}" - else - python_convert_shebangs $([[ "${quiet}" == "1" ]] && echo --quiet) "${PYTHON_ABI}" "${file}-${PYTHON_ABI}" - fi - fi - done - - popd > /dev/null || die "popd failed" - - # This is per bug #390691, without the duplication refactor, and with - # the 3-way structure per comment #6. This enable users with old - # coreutils to upgrade a lot easier (you need to upgrade python+portage - # before coreutils can be upgraded). - if ROOT="/" has_version '>=sys-apps/coreutils-6.9.90'; then - cp -fr --preserve=all --no-preserve=context "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed" - elif ROOT="/" has_version sys-apps/coreutils; then - cp -fr --preserve=all "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed" - else - cp -fpr "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed" - fi - done - - rm -fr "${intermediate_installation_images_directory}" - - if [[ "${#wrapper_scripts[@]}" -ge 1 ]]; then - rm -f "${T}/python_wrapper_scripts" - - for file in "${wrapper_scripts[@]}"; do - echo -n "${file}" >> "${T}/python_wrapper_scripts" - echo -en "\x00" >> "${T}/python_wrapper_scripts" - done - - while read -d $'\0' -r file; do - wrapper_scripts_set+=("${file}") - done < <("$(PYTHON -f)" -c \ -"import sys - -if hasattr(sys.stdout, 'buffer'): - # Python 3 - stdout = sys.stdout.buffer -else: - # Python 2 - stdout = sys.stdout - -python_wrapper_scripts_file = open('${T}/python_wrapper_scripts', 'rb') -files = set(python_wrapper_scripts_file.read().rstrip(${b}'\x00').split(${b}'\x00')) -python_wrapper_scripts_file.close() - -for file in sorted(files): - stdout.write(file) - stdout.write(${b}'\x00')" || die "${FUNCNAME}(): Failure of extraction of set of wrapper scripts") - - python_generate_wrapper_scripts $([[ "${quiet}" == "1" ]] && echo --quiet) "${wrapper_scripts_set[@]}" - fi -} - -# ================================================================================================ -# ========= FUNCTIONS FOR PACKAGES NOT SUPPORTING INSTALLATION FOR MULTIPLE PYTHON ABIS ========== -# ================================================================================================ - -unset EPYTHON PYTHON_ABI - -# @FUNCTION: python_set_active_version -# @USAGE: -# @DESCRIPTION: -# Set locally active version of Python. -# If Python_ABI argument is specified, then version of Python corresponding to Python_ABI is used. -# If 2 argument is specified, then active version of CPython 2 is used. -# If 3 argument is specified, then active version of CPython 3 is used. -# -# This function can be used only in pkg_setup() phase. -python_set_active_version() { - if [[ "${EBUILD_PHASE}" != "setup" ]]; then - die "${FUNCNAME}() can be used only in pkg_setup() phase" - fi - - if _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages supporting installation for multiple Python ABIs" - fi - - if [[ "$#" -ne 1 ]]; then - die "${FUNCNAME}() requires 1 argument" - fi - - _python_initial_sanity_checks - - if [[ -z "${PYTHON_ABI}" ]]; then - if [[ -n "$(_python_get_implementation --ignore-invalid "$1")" ]]; then - # PYTHON_ABI variable is intended to be used only in ebuilds/eclasses, - # so it does not need to be exported to subprocesses. - PYTHON_ABI="$1" - if ! _python_implementation && ! has_version "$(python_get_implementational_package)"; then - die "${FUNCNAME}(): '$(python_get_implementational_package)' is not installed" - fi - export EPYTHON="$(PYTHON "$1")" - elif [[ "$1" == "2" ]]; then - if ! _python_implementation && ! has_version "=dev-lang/python-2*"; then - die "${FUNCNAME}(): '=dev-lang/python-2*' is not installed" - fi - export EPYTHON="$(PYTHON -2)" - PYTHON_ABI="${EPYTHON#python}" - PYTHON_ABI="${PYTHON_ABI%%-*}" - elif [[ "$1" == "3" ]]; then - if ! _python_implementation && ! has_version "=dev-lang/python-3*"; then - die "${FUNCNAME}(): '=dev-lang/python-3*' is not installed" - fi - export EPYTHON="$(PYTHON -3)" - PYTHON_ABI="${EPYTHON#python}" - PYTHON_ABI="${PYTHON_ABI%%-*}" - else - die "${FUNCNAME}(): Unrecognized argument '$1'" - fi - fi - - _python_final_sanity_checks - - # python-updater checks PYTHON_REQUESTED_ACTIVE_VERSION variable. - PYTHON_REQUESTED_ACTIVE_VERSION="$1" -} - -# @FUNCTION: python_need_rebuild -# @DESCRIPTION: -# Mark current package for rebuilding by python-updater after -# switching of active version of Python. -python_need_rebuild() { - if _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}() cannot be used in ebuilds of packages supporting installation for multiple Python ABIs" - fi - - _python_check_python_pkg_setup_execution - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - export PYTHON_NEED_REBUILD="$(PYTHON --ABI)" -} - -# ================================================================================================ -# ======================================= GETTER FUNCTIONS ======================================= -# ================================================================================================ - -_PYTHON_ABI_EXTRACTION_COMMAND=\ -'import platform -import sys -sys.stdout.write(".".join(str(x) for x in sys.version_info[:2])) -if platform.system()[:4] == "Java": - sys.stdout.write("-jython") -elif hasattr(platform, "python_implementation") and platform.python_implementation() == "PyPy": - sys.stdout.write("-pypy-" + ".".join(str(x) for x in sys.pypy_version_info[:2]))' - -_python_get_implementation() { - local ignore_invalid="0" - - while (($#)); do - case "$1" in - --ignore-invalid) - ignore_invalid="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "$#" -ne 1 ]]; then - die "${FUNCNAME}() requires 1 argument" - fi - - if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+$ ]]; then - echo "CPython" - elif [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+-jython$ ]]; then - echo "Jython" - elif [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+-pypy-[[:digit:]]+\.[[:digit:]]+$ ]]; then - echo "PyPy" - else - if [[ "${ignore_invalid}" == "0" ]]; then - die "${FUNCNAME}(): Unrecognized Python ABI '$1'" - fi - fi -} - -# @FUNCTION: PYTHON -# @USAGE: [-2] [-3] [--ABI] [-a|--absolute-path] [-f|--final-ABI] [--] -# @DESCRIPTION: -# Print filename of Python interpreter for specified Python ABI. If Python_ABI argument -# is ommitted, then PYTHON_ABI environment variable must be set and is used. -# If -2 option is specified, then active version of CPython 2 is used. -# If -3 option is specified, then active version of CPython 3 is used. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -# -2, -3 and --final-ABI options and Python_ABI argument cannot be specified simultaneously. -# If --ABI option is specified, then only specified Python ABI is printed instead of -# filename of Python interpreter. -# If --absolute-path option is specified, then absolute path to Python interpreter is printed. -# --ABI and --absolute-path options cannot be specified simultaneously. -PYTHON() { - _python_check_python_pkg_setup_execution - - local ABI_output="0" absolute_path_output="0" final_ABI="0" PYTHON_ABI="${PYTHON_ABI}" python_interpreter python2="0" python3="0" - - while (($#)); do - case "$1" in - -2) - python2="1" - ;; - -3) - python3="1" - ;; - --ABI) - ABI_output="1" - ;; - -a|--absolute-path) - absolute_path_output="1" - ;; - -f|--final-ABI) - final_ABI="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "${ABI_output}" == "1" && "${absolute_path_output}" == "1" ]]; then - die "${FUNCNAME}(): '--ABI' and '--absolute-path' options cannot be specified simultaneously" - fi - - if [[ "$((${python2} + ${python3} + ${final_ABI}))" -gt 1 ]]; then - die "${FUNCNAME}(): '-2', '-3' or '--final-ABI' options cannot be specified simultaneously" - fi - - if [[ "$#" -eq 0 ]]; then - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - _python_calculate_PYTHON_ABIS - PYTHON_ABI="${PYTHON_ABIS##* }" - elif [[ "${python2}" == "1" ]]; then - PYTHON_ABI="$(ROOT="/" eselect python show --python2 --ABI)" - if [[ -z "${PYTHON_ABI}" ]]; then - die "${FUNCNAME}(): Active version of CPython 2 not set" - elif [[ "${PYTHON_ABI}" != "2."* ]]; then - die "${FUNCNAME}(): Internal error in \`eselect python show --python2\`" - fi - elif [[ "${python3}" == "1" ]]; then - PYTHON_ABI="$(ROOT="/" eselect python show --python3 --ABI)" - if [[ -z "${PYTHON_ABI}" ]]; then - die "${FUNCNAME}(): Active version of CPython 3 not set" - elif [[ "${PYTHON_ABI}" != "3."* ]]; then - die "${FUNCNAME}(): Internal error in \`eselect python show --python3\`" - fi - elif _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="$("${EPREFIX}/usr/bin/python" -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")" - if [[ -z "${PYTHON_ABI}" ]]; then - die "${FUNCNAME}(): Failure of extraction of locally active version of Python" - fi - fi - elif [[ "$#" -eq 1 ]]; then - if [[ "${final_ABI}" == "1" ]]; then - die "${FUNCNAME}(): '--final-ABI' option and Python ABI cannot be specified simultaneously" - fi - if [[ "${python2}" == "1" ]]; then - die "${FUNCNAME}(): '-2' option and Python ABI cannot be specified simultaneously" - fi - if [[ "${python3}" == "1" ]]; then - die "${FUNCNAME}(): '-3' option and Python ABI cannot be specified simultaneously" - fi - PYTHON_ABI="$1" - else - die "${FUNCNAME}(): Invalid usage" - fi - - if [[ "${ABI_output}" == "1" ]]; then - echo -n "${PYTHON_ABI}" - return - else - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - python_interpreter="python${PYTHON_ABI}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - python_interpreter="jython${PYTHON_ABI%-jython}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - python_interpreter="pypy-c${PYTHON_ABI#*-pypy-}" - fi - - if [[ "${absolute_path_output}" == "1" ]]; then - echo -n "${EPREFIX}/usr/bin/${python_interpreter}" - else - echo -n "${python_interpreter}" - fi - fi - - if [[ -n "${ABI}" && "${ABI}" != "${DEFAULT_ABI}" && "${DEFAULT_ABI}" != "default" ]]; then - echo -n "-${ABI}" - fi -} - -# @FUNCTION: python_get_implementation -# @USAGE: [-f|--final-ABI] -# @DESCRIPTION: -# Print name of Python implementation. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_implementation() { - _python_check_python_pkg_setup_execution - - local final_ABI="0" PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -f|--final-ABI) - final_ABI="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - echo "$(_python_get_implementation "${PYTHON_ABI}")" -} - -# @FUNCTION: python_get_implementational_package -# @USAGE: [-f|--final-ABI] -# @DESCRIPTION: -# Print category, name and slot of package providing Python implementation. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_implementational_package() { - _python_check_python_pkg_setup_execution - - local final_ABI="0" PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -f|--final-ABI) - final_ABI="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - if [[ "${EAPI:-0}" == "0" ]]; then - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - echo "=dev-lang/python-${PYTHON_ABI}*" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - echo "=dev-java/jython-${PYTHON_ABI%-jython}*" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - echo "=virtual/pypy-${PYTHON_ABI#*-pypy-}*" - fi - else - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - echo "dev-lang/python:${PYTHON_ABI}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - echo "dev-java/jython:${PYTHON_ABI%-jython}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - echo "virtual/pypy:${PYTHON_ABI#*-pypy-}" - fi - fi -} - -# @FUNCTION: python_get_includedir -# @USAGE: [-b|--base-path] [-f|--final-ABI] -# @DESCRIPTION: -# Print path to Python include directory. -# If --base-path option is specified, then path not prefixed with "/" is printed. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_includedir() { - _python_check_python_pkg_setup_execution - - local base_path="0" final_ABI="0" prefix PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -b|--base-path) - base_path="1" - ;; - -f|--final-ABI) - final_ABI="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${base_path}" == "0" ]]; then - prefix="/" - fi - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - echo "${prefix}usr/include/python${PYTHON_ABI}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - echo "${prefix}usr/share/jython-${PYTHON_ABI%-jython}/Include" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - echo "${prefix}usr/$(get_libdir)/pypy${PYTHON_ABI#*-pypy-}/include" - fi -} - -# @FUNCTION: python_get_libdir -# @USAGE: [-b|--base-path] [-f|--final-ABI] -# @DESCRIPTION: -# Print path to Python standard library directory. -# If --base-path option is specified, then path not prefixed with "/" is printed. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_libdir() { - _python_check_python_pkg_setup_execution - - local base_path="0" final_ABI="0" prefix PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -b|--base-path) - base_path="1" - ;; - -f|--final-ABI) - final_ABI="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${base_path}" == "0" ]]; then - prefix="/" - fi - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - echo "${prefix}usr/$(get_libdir)/python${PYTHON_ABI}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - echo "${prefix}usr/share/jython-${PYTHON_ABI%-jython}/Lib" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - die "${FUNCNAME}(): PyPy has multiple standard library directories" - fi -} - -# @FUNCTION: python_get_sitedir -# @USAGE: [-b|--base-path] [-f|--final-ABI] -# @DESCRIPTION: -# Print path to Python site-packages directory. -# If --base-path option is specified, then path not prefixed with "/" is printed. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_sitedir() { - _python_check_python_pkg_setup_execution - - local base_path="0" final_ABI="0" prefix PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -b|--base-path) - base_path="1" - ;; - -f|--final-ABI) - final_ABI="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${base_path}" == "0" ]]; then - prefix="/" - fi - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - echo "${prefix}usr/$(get_libdir)/python${PYTHON_ABI}/site-packages" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - echo "${prefix}usr/share/jython-${PYTHON_ABI%-jython}/Lib/site-packages" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - echo "${prefix}usr/$(get_libdir)/pypy${PYTHON_ABI#*-pypy-}/site-packages" - fi -} - -# @FUNCTION: python_get_library -# @USAGE: [-b|--base-path] [-f|--final-ABI] [-l|--linker-option] -# @DESCRIPTION: -# Print path to Python library. -# If --base-path option is specified, then path not prefixed with "/" is printed. -# If --linker-option is specified, then "-l${library}" linker option is printed. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_library() { - _python_check_python_pkg_setup_execution - - local base_path="0" final_ABI="0" linker_option="0" prefix PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -b|--base-path) - base_path="1" - ;; - -f|--final-ABI) - final_ABI="1" - ;; - -l|--linker-option) - linker_option="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${base_path}" == "0" ]]; then - prefix="/" - fi - - if [[ "${base_path}" == "1" && "${linker_option}" == "1" ]]; then - die "${FUNCNAME}(): '--base-path' and '--linker-option' options cannot be specified simultaneously" - fi - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - if [[ "${linker_option}" == "1" ]]; then - echo "-lpython${PYTHON_ABI}" - else - echo "${prefix}usr/$(get_libdir)/libpython${PYTHON_ABI}$(get_libname)" - fi - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - die "${FUNCNAME}(): Jython does not have shared library" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - die "${FUNCNAME}(): PyPy does not have shared library" - fi -} - -# @FUNCTION: python_get_version -# @USAGE: [-f|--final-ABI] [-l|--language] [--full] [--major] [--minor] [--micro] -# @DESCRIPTION: -# Print version of Python implementation. -# --full, --major, --minor and --micro options cannot be specified simultaneously. -# If --full, --major, --minor and --micro options are not specified, then "${major_version}.${minor_version}" is printed. -# If --language option is specified, then version of Python language is printed. -# --language and --full options cannot be specified simultaneously. -# --language and --micro options cannot be specified simultaneously. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_version() { - _python_check_python_pkg_setup_execution - - local final_ABI="0" language="0" language_version full="0" major="0" minor="0" micro="0" PYTHON_ABI="${PYTHON_ABI}" python_command - - while (($#)); do - case "$1" in - -f|--final-ABI) - final_ABI="1" - ;; - -l|--language) - language="1" - ;; - --full) - full="1" - ;; - --major) - major="1" - ;; - --minor) - minor="1" - ;; - --micro) - micro="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - else - if _python_package_supporting_installation_for_multiple_python_abis && ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - fi - - if [[ "$((${full} + ${major} + ${minor} + ${micro}))" -gt 1 ]]; then - die "${FUNCNAME}(): '--full', '--major', '--minor' or '--micro' options cannot be specified simultaneously" - fi - - if [[ "${language}" == "1" ]]; then - if [[ "${final_ABI}" == "1" ]]; then - PYTHON_ABI="$(PYTHON -f --ABI)" - elif [[ -z "${PYTHON_ABI}" ]]; then - PYTHON_ABI="$(PYTHON --ABI)" - fi - language_version="${PYTHON_ABI%%-*}" - if [[ "${full}" == "1" ]]; then - die "${FUNCNAME}(): '--language' and '--full' options cannot be specified simultaneously" - elif [[ "${major}" == "1" ]]; then - echo "${language_version%.*}" - elif [[ "${minor}" == "1" ]]; then - echo "${language_version#*.}" - elif [[ "${micro}" == "1" ]]; then - die "${FUNCNAME}(): '--language' and '--micro' options cannot be specified simultaneously" - else - echo "${language_version}" - fi - else - if [[ "${full}" == "1" ]]; then - python_command="import sys; print('.'.join(str(x) for x in getattr(sys, 'pypy_version_info', sys.version_info)[:3]))" - elif [[ "${major}" == "1" ]]; then - python_command="import sys; print(getattr(sys, 'pypy_version_info', sys.version_info)[0])" - elif [[ "${minor}" == "1" ]]; then - python_command="import sys; print(getattr(sys, 'pypy_version_info', sys.version_info)[1])" - elif [[ "${micro}" == "1" ]]; then - python_command="import sys; print(getattr(sys, 'pypy_version_info', sys.version_info)[2])" - else - if [[ -n "${PYTHON_ABI}" && "${final_ABI}" == "0" ]]; then - if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then - echo "${PYTHON_ABI}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then - echo "${PYTHON_ABI%-jython}" - elif [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then - echo "${PYTHON_ABI#*-pypy-}" - fi - return - fi - python_command="from sys import version_info; print('.'.join(str(x) for x in version_info[:2]))" - fi - - if [[ "${final_ABI}" == "1" ]]; then - "$(PYTHON -f)" -c "${python_command}" - else - "$(PYTHON ${PYTHON_ABI})" -c "${python_command}" - fi - fi -} - -# @FUNCTION: python_get_implementation_and_version -# @USAGE: [-f|--final-ABI] -# @DESCRIPTION: -# Print name and version of Python implementation. -# If version of Python implementation is not bound to version of Python language, then -# version of Python language is additionally printed. -# If --final-ABI option is specified, then final ABI from the list of enabled ABIs is used. -python_get_implementation_and_version() { - _python_check_python_pkg_setup_execution - - local final_ABI="0" PYTHON_ABI="${PYTHON_ABI}" - - while (($#)); do - case "$1" in - -f|--final-ABI) - final_ABI="1" - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - die "${FUNCNAME}(): Invalid usage" - ;; - esac - shift - done - - if [[ "${final_ABI}" == "1" ]]; then - if ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - PYTHON_ABI="$(PYTHON -f --ABI)" - else - if _python_package_supporting_installation_for_multiple_python_abis; then - if ! _python_abi-specific_local_scope; then - die "${FUNCNAME}() should be used in ABI-specific local scope" - fi - else - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - fi - fi - - if [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+-[[:alnum:]]+-[[:digit:]]+\.[[:digit:]]+$ ]]; then - echo "$(_python_get_implementation "${PYTHON_ABI}") ${PYTHON_ABI##*-} (Python ${PYTHON_ABI%%-*})" - else - echo "$(_python_get_implementation "${PYTHON_ABI}") ${PYTHON_ABI%%-*}" - fi -} - -# ================================================================================================ -# ================================ FUNCTIONS FOR RUNNING OF TESTS ================================ -# ================================================================================================ - -# @ECLASS-VARIABLE: PYTHON_TEST_VERBOSITY -# @DESCRIPTION: -# User-configurable verbosity of tests of Python modules. -# Supported values: 0, 1, 2, 3, 4. -PYTHON_TEST_VERBOSITY="${PYTHON_TEST_VERBOSITY:-1}" - -_python_test_hook() { - if [[ "$#" -ne 1 ]]; then - die "${FUNCNAME}() requires 1 argument" - fi - - if _python_package_supporting_installation_for_multiple_python_abis && [[ "$(type -t "${_PYTHON_TEST_FUNCTION}_$1_hook")" == "function" ]]; then - "${_PYTHON_TEST_FUNCTION}_$1_hook" - fi -} - -# @FUNCTION: python_execute_nosetests -# @USAGE: [-P|--PYTHONPATH PYTHONPATH] [-s|--separate-build-dirs] [--] [arguments] -# @DESCRIPTION: -# Execute nosetests for all enabled Python ABIs. -# In ebuilds of packages supporting installation for multiple Python ABIs, this function calls -# python_execute_nosetests_pre_hook() and python_execute_nosetests_post_hook(), if they are defined. -python_execute_nosetests() { - _python_check_python_pkg_setup_execution - _python_set_color_variables - - local PYTHONPATH_template separate_build_dirs - - while (($#)); do - case "$1" in - -P|--PYTHONPATH) - PYTHONPATH_template="$2" - shift - ;; - -s|--separate-build-dirs) - separate_build_dirs="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - python_test_function() { - local evaluated_PYTHONPATH - - eval "evaluated_PYTHONPATH=\"${PYTHONPATH_template}\"" - - _PYTHON_TEST_FUNCTION="python_execute_nosetests" _python_test_hook pre - - if [[ -n "${evaluated_PYTHONPATH}" ]]; then - echo ${_BOLD}PYTHONPATH="${evaluated_PYTHONPATH}" nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@"${_NORMAL} - PYTHONPATH="${evaluated_PYTHONPATH}" nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@" || return "$?" - else - echo ${_BOLD}nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@"${_NORMAL} - nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@" || return "$?" - fi - - _PYTHON_TEST_FUNCTION="python_execute_nosetests" _python_test_hook post - } - if _python_package_supporting_installation_for_multiple_python_abis; then - python_execute_function ${separate_build_dirs:+-s} python_test_function "$@" - else - if [[ -n "${separate_build_dirs}" ]]; then - die "${FUNCNAME}(): Invalid usage" - fi - python_test_function "$@" || die "Testing failed" - fi - - unset -f python_test_function -} - -# @FUNCTION: python_execute_py.test -# @USAGE: [-P|--PYTHONPATH PYTHONPATH] [-s|--separate-build-dirs] [--] [arguments] -# @DESCRIPTION: -# Execute py.test for all enabled Python ABIs. -# In ebuilds of packages supporting installation for multiple Python ABIs, this function calls -# python_execute_py.test_pre_hook() and python_execute_py.test_post_hook(), if they are defined. -python_execute_py.test() { - _python_check_python_pkg_setup_execution - _python_set_color_variables - - local PYTHONPATH_template separate_build_dirs - - while (($#)); do - case "$1" in - -P|--PYTHONPATH) - PYTHONPATH_template="$2" - shift - ;; - -s|--separate-build-dirs) - separate_build_dirs="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - python_test_function() { - local evaluated_PYTHONPATH - - eval "evaluated_PYTHONPATH=\"${PYTHONPATH_template}\"" - - _PYTHON_TEST_FUNCTION="python_execute_py.test" _python_test_hook pre - - if [[ -n "${evaluated_PYTHONPATH}" ]]; then - echo ${_BOLD}PYTHONPATH="${evaluated_PYTHONPATH}" py.test $([[ "${PYTHON_TEST_VERBOSITY}" -ge 2 ]] && echo -v) "$@"${_NORMAL} - PYTHONPATH="${evaluated_PYTHONPATH}" py.test $([[ "${PYTHON_TEST_VERBOSITY}" -ge 2 ]] && echo -v) "$@" || return "$?" - else - echo ${_BOLD}py.test $([[ "${PYTHON_TEST_VERBOSITY}" -gt 1 ]] && echo -v) "$@"${_NORMAL} - py.test $([[ "${PYTHON_TEST_VERBOSITY}" -gt 1 ]] && echo -v) "$@" || return "$?" - fi - - _PYTHON_TEST_FUNCTION="python_execute_py.test" _python_test_hook post - } - if _python_package_supporting_installation_for_multiple_python_abis; then - python_execute_function ${separate_build_dirs:+-s} python_test_function "$@" - else - if [[ -n "${separate_build_dirs}" ]]; then - die "${FUNCNAME}(): Invalid usage" - fi - python_test_function "$@" || die "Testing failed" - fi - - unset -f python_test_function -} - -# @FUNCTION: python_execute_trial -# @USAGE: [-P|--PYTHONPATH PYTHONPATH] [-s|--separate-build-dirs] [--] [arguments] -# @DESCRIPTION: -# Execute trial for all enabled Python ABIs. -# In ebuilds of packages supporting installation for multiple Python ABIs, this function -# calls python_execute_trial_pre_hook() and python_execute_trial_post_hook(), if they are defined. -python_execute_trial() { - _python_check_python_pkg_setup_execution - _python_set_color_variables - - local PYTHONPATH_template separate_build_dirs - - while (($#)); do - case "$1" in - -P|--PYTHONPATH) - PYTHONPATH_template="$2" - shift - ;; - -s|--separate-build-dirs) - separate_build_dirs="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - python_test_function() { - local evaluated_PYTHONPATH - - eval "evaluated_PYTHONPATH=\"${PYTHONPATH_template}\"" - - _PYTHON_TEST_FUNCTION="python_execute_trial" _python_test_hook pre - - if [[ -n "${evaluated_PYTHONPATH}" ]]; then - echo ${_BOLD}PYTHONPATH="${evaluated_PYTHONPATH}" trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@"${_NORMAL} - PYTHONPATH="${evaluated_PYTHONPATH}" trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@" || return "$?" - else - echo ${_BOLD}trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@"${_NORMAL} - trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@" || return "$?" - fi - - _PYTHON_TEST_FUNCTION="python_execute_trial" _python_test_hook post - } - if _python_package_supporting_installation_for_multiple_python_abis; then - python_execute_function ${separate_build_dirs:+-s} python_test_function "$@" - else - if [[ -n "${separate_build_dirs}" ]]; then - die "${FUNCNAME}(): Invalid usage" - fi - python_test_function "$@" || die "Testing failed" - fi - - unset -f python_test_function -} - -# ================================================================================================ -# ======================= FUNCTIONS FOR HANDLING OF BYTE-COMPILED MODULES ======================== -# ================================================================================================ - -# @FUNCTION: python_enable_pyc -# @DESCRIPTION: -# Tell Python to automatically recompile modules to .pyc/.pyo if the -# timestamps/version stamps have changed. -python_enable_pyc() { - _python_check_python_pkg_setup_execution - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - unset PYTHONDONTWRITEBYTECODE -} - -# @FUNCTION: python_disable_pyc -# @DESCRIPTION: -# Tell Python not to automatically recompile modules to .pyc/.pyo -# even if the timestamps/version stamps do not match. This is done -# to protect sandbox. -python_disable_pyc() { - _python_check_python_pkg_setup_execution - - if [[ "$#" -ne 0 ]]; then - die "${FUNCNAME}() does not accept arguments" - fi - - export PYTHONDONTWRITEBYTECODE="1" -} - -_python_vecho() { - [[ -z ${PORTAGE_VERBOSE} ]] || echo "$@" -} - -_python_clean_compiled_modules() { - _python_initialize_prefix_variables - _python_set_color_variables - - [[ "${FUNCNAME[1]}" =~ ^(python_mod_optimize|python_mod_cleanup)$ ]] || die "${FUNCNAME}(): Invalid usage" - - local base_module_name compiled_file compiled_files=() dir path py_file root - - # Strip trailing slash from EROOT. - root="${EROOT%/}" - - for path in "$@"; do - compiled_files=() - if [[ -d "${path}" ]]; then - while read -d $'\0' -r compiled_file; do - compiled_files+=("${compiled_file}") - done < <(find "${path}" "(" -name "*.py[co]" -o -name "*\$py.class" ")" -print0) - - if [[ "${EBUILD_PHASE}" == "postrm" ]]; then - # Delete empty child directories. - find "${path}" -type d | sort -r | while read -r dir; do - if rmdir "${dir}" 2> /dev/null; then - _python_vecho "<<< ${dir}" - fi - done - fi - elif [[ "${path}" == *.py ]]; then - base_module_name="${path##*/}" - base_module_name="${base_module_name%.py}" - if [[ -d "${path%/*}/__pycache__" ]]; then - while read -d $'\0' -r compiled_file; do - compiled_files+=("${compiled_file}") - done < <(find "${path%/*}/__pycache__" "(" -name "${base_module_name}.*.py[co]" -o -name "${base_module_name}\$py.class" ")" -print0) - fi - compiled_files+=("${path}c" "${path}o" "${path%.py}\$py.class") - fi - - for compiled_file in "${compiled_files[@]}"; do - [[ ! -f "${compiled_file}" ]] && continue - dir="${compiled_file%/*}" - dir="${dir##*/}" - if [[ "${compiled_file}" == *.py[co] ]]; then - if [[ "${dir}" == "__pycache__" ]]; then - base_module_name="${compiled_file##*/}" - base_module_name="${base_module_name%.*py[co]}" - base_module_name="${base_module_name%.*}" - py_file="${compiled_file%__pycache__/*}${base_module_name}.py" - else - py_file="${compiled_file%[co]}" - fi - if [[ "${EBUILD_PHASE}" == "postinst" ]]; then - [[ -f "${py_file}" && "${compiled_file}" -nt "${py_file}" ]] && continue - else - [[ -f "${py_file}" ]] && continue - fi - _python_vecho "<<< ${compiled_file%[co]}[co]" - rm -f "${compiled_file%[co]}"[co] - elif [[ "${compiled_file}" == *\$py.class ]]; then - if [[ "${dir}" == "__pycache__" ]]; then - base_module_name="${compiled_file##*/}" - base_module_name="${base_module_name%\$py.class}" - py_file="${compiled_file%__pycache__/*}${base_module_name}.py" - else - py_file="${compiled_file%\$py.class}.py" - fi - if [[ "${EBUILD_PHASE}" == "postinst" ]]; then - [[ -f "${py_file}" && "${compiled_file}" -nt "${py_file}" ]] && continue - else - [[ -f "${py_file}" ]] && continue - fi - _python_vecho "<<< ${compiled_file}" - rm -f "${compiled_file}" - else - die "${FUNCNAME}(): Unrecognized file type: '${compiled_file}'" - fi - - # Delete empty parent directories. - dir="${compiled_file%/*}" - while [[ "${dir}" != "${root}" ]]; do - if rmdir "${dir}" 2> /dev/null; then - _python_vecho "<<< ${dir}" - else - break - fi - dir="${dir%/*}" - done - done - done -} - -# @FUNCTION: python_mod_optimize -# @USAGE: [--allow-evaluated-non-sitedir-paths] [-d directory] [-f] [-l] [-q] [-x regular_expression] [--] [files|directories] -# @DESCRIPTION: -# Byte-compile specified Python modules. -# -d, -f, -l, -q and -x options passed to this function are passed to compileall.py. -# -# This function can be used only in pkg_postinst() phase. -python_mod_optimize() { - if [[ "${EBUILD_PHASE}" != "postinst" ]]; then - die "${FUNCNAME}() can be used only in pkg_postinst() phase" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - if ! has "${EAPI:-0}" 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis || _python_implementation || [[ "${CATEGORY}/${PN}" == "sys-apps/portage" ]]; then - # PYTHON_ABI variable cannot be local in packages not supporting installation for multiple Python ABIs. - local allow_evaluated_non_sitedir_paths="0" dir dirs=() evaluated_dirs=() evaluated_files=() file files=() iterated_PYTHON_ABIS options=() other_dirs=() other_files=() previous_PYTHON_ABI="${PYTHON_ABI}" return_code root site_packages_dirs=() site_packages_files=() stderr stderr_line - - if _python_package_supporting_installation_for_multiple_python_abis; then - if has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_ABIS}" ]]; then - die "${FUNCNAME}(): python_pkg_setup() or python_execute_function() not called" - fi - iterated_PYTHON_ABIS="${PYTHON_ABIS}" - else - if has "${EAPI:-0}" 0 1 2 3; then - iterated_PYTHON_ABIS="${PYTHON_ABI:=$(PYTHON --ABI)}" - else - iterated_PYTHON_ABIS="${PYTHON_ABI}" - fi - fi - - # Strip trailing slash from EROOT. - root="${EROOT%/}" - - while (($#)); do - case "$1" in - --allow-evaluated-non-sitedir-paths) - allow_evaluated_non_sitedir_paths="1" - ;; - -l|-f|-q) - options+=("$1") - ;; - -d|-x) - options+=("$1" "$2") - shift - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "${allow_evaluated_non_sitedir_paths}" == "1" ]] && ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--allow-evaluated-non-sitedir-paths' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - if [[ "$#" -eq 0 ]]; then - die "${FUNCNAME}(): Missing files or directories" - fi - - while (($#)); do - if [[ "$1" =~ ^($|(\.|\.\.|/)($|/)) ]]; then - die "${FUNCNAME}(): Invalid argument '$1'" - elif ! _python_implementation && [[ "$1" =~ ^/usr/lib(32|64)?/python[[:digit:]]+\.[[:digit:]]+ ]]; then - die "${FUNCNAME}(): Paths of directories / files in site-packages directories must be relative to site-packages directories" - elif [[ "$1" =~ ^/ ]]; then - if _python_package_supporting_installation_for_multiple_python_abis; then - if [[ "${allow_evaluated_non_sitedir_paths}" != "1" ]]; then - die "${FUNCNAME}(): Absolute paths cannot be used in ebuilds of packages supporting installation for multiple Python ABIs" - fi - if [[ "$1" != *\$* ]]; then - die "${FUNCNAME}(): '$1' has invalid syntax" - fi - if [[ "$1" == *.py ]]; then - evaluated_files+=("$1") - else - evaluated_dirs+=("$1") - fi - else - if [[ -d "${root}$1" ]]; then - other_dirs+=("${root}$1") - elif [[ -f "${root}$1" ]]; then - other_files+=("${root}$1") - elif [[ -e "${root}$1" ]]; then - eerror "${FUNCNAME}(): '${root}$1' is not a regular file or a directory" - else - eerror "${FUNCNAME}(): '${root}$1' does not exist" - fi - fi - else - for PYTHON_ABI in ${iterated_PYTHON_ABIS}; do - if [[ -d "${root}$(python_get_sitedir)/$1" ]]; then - site_packages_dirs+=("$1") - break - elif [[ -f "${root}$(python_get_sitedir)/$1" ]]; then - site_packages_files+=("$1") - break - elif [[ -e "${root}$(python_get_sitedir)/$1" ]]; then - eerror "${FUNCNAME}(): '$1' is not a regular file or a directory" - else - eerror "${FUNCNAME}(): '$1' does not exist" - fi - done - fi - shift - done - - # Set additional options. - options+=("-q") - - for PYTHON_ABI in ${iterated_PYTHON_ABIS}; do - if ((${#site_packages_dirs[@]})) || ((${#site_packages_files[@]})) || ((${#evaluated_dirs[@]})) || ((${#evaluated_files[@]})); then - return_code="0" - stderr="" - ebegin "Compilation and optimization of Python modules for $(python_get_implementation_and_version)" - if ((${#site_packages_dirs[@]})) || ((${#evaluated_dirs[@]})); then - for dir in "${site_packages_dirs[@]}"; do - dirs+=("${root}$(python_get_sitedir)/${dir}") - done - for dir in "${evaluated_dirs[@]}"; do - eval "dirs+=(\"\${root}${dir}\")" - done - stderr+="${stderr:+$'\n'}$("$(PYTHON)" -m compileall "${options[@]}" "${dirs[@]}" 2>&1)" || return_code="1" - if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then - "$(PYTHON)" -O -m compileall "${options[@]}" "${dirs[@]}" &> /dev/null || return_code="1" - fi - _python_clean_compiled_modules "${dirs[@]}" - fi - if ((${#site_packages_files[@]})) || ((${#evaluated_files[@]})); then - for file in "${site_packages_files[@]}"; do - files+=("${root}$(python_get_sitedir)/${file}") - done - for file in "${evaluated_files[@]}"; do - eval "files+=(\"\${root}${file}\")" - done - stderr+="${stderr:+$'\n'}$("$(PYTHON)" -m py_compile "${files[@]}" 2>&1)" || return_code="1" - if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then - "$(PYTHON)" -O -m py_compile "${files[@]}" &> /dev/null || return_code="1" - fi - _python_clean_compiled_modules "${files[@]}" - fi - eend "${return_code}" - if [[ -n "${stderr}" ]]; then - eerror "Syntax errors / warnings in Python modules for $(python_get_implementation_and_version):" &> /dev/null - while read stderr_line; do - eerror " ${stderr_line}" - done <<< "${stderr}" - fi - fi - unset dirs files - done - - if _python_package_supporting_installation_for_multiple_python_abis; then - # Restore previous value of PYTHON_ABI. - if [[ -n "${previous_PYTHON_ABI}" ]]; then - PYTHON_ABI="${previous_PYTHON_ABI}" - else - unset PYTHON_ABI - fi - fi - - if ((${#other_dirs[@]})) || ((${#other_files[@]})); then - return_code="0" - stderr="" - ebegin "Compilation and optimization of Python modules placed outside of site-packages directories for $(python_get_implementation_and_version)" - if ((${#other_dirs[@]})); then - stderr+="${stderr:+$'\n'}$("$(PYTHON ${PYTHON_ABI})" -m compileall "${options[@]}" "${other_dirs[@]}" 2>&1)" || return_code="1" - if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then - "$(PYTHON ${PYTHON_ABI})" -O -m compileall "${options[@]}" "${other_dirs[@]}" &> /dev/null || return_code="1" - fi - _python_clean_compiled_modules "${other_dirs[@]}" - fi - if ((${#other_files[@]})); then - stderr+="${stderr:+$'\n'}$("$(PYTHON ${PYTHON_ABI})" -m py_compile "${other_files[@]}" 2>&1)" || return_code="1" - if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then - "$(PYTHON ${PYTHON_ABI})" -O -m py_compile "${other_files[@]}" &> /dev/null || return_code="1" - fi - _python_clean_compiled_modules "${other_files[@]}" - fi - eend "${return_code}" - if [[ -n "${stderr}" ]]; then - eerror "Syntax errors / warnings in Python modules placed outside of site-packages directories for $(python_get_implementation_and_version):" &> /dev/null - while read stderr_line; do - eerror " ${stderr_line}" - done <<< "${stderr}" - fi - fi - else - # Deprecated part of python_mod_optimize() - - local myroot mydirs=() myfiles=() myopts=() return_code="0" - - # strip trailing slash - myroot="${EROOT%/}" - - # respect EROOT and options passed to compileall.py - while (($#)); do - case "$1" in - -l|-f|-q) - myopts+=("$1") - ;; - -d|-x) - myopts+=("$1" "$2") - shift - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "$#" -eq 0 ]]; then - die "${FUNCNAME}(): Missing files or directories" - fi - - while (($#)); do - if [[ "$1" =~ ^($|(\.|\.\.|/)($|/)) ]]; then - die "${FUNCNAME}(): Invalid argument '$1'" - elif [[ -d "${myroot}/${1#/}" ]]; then - mydirs+=("${myroot}/${1#/}") - elif [[ -f "${myroot}/${1#/}" ]]; then - myfiles+=("${myroot}/${1#/}") - elif [[ -e "${myroot}/${1#/}" ]]; then - eerror "${FUNCNAME}(): ${myroot}/${1#/} is not a regular file or directory" - else - eerror "${FUNCNAME}(): ${myroot}/${1#/} does not exist" - fi - shift - done - - # set additional opts - myopts+=(-q) - - PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}" - - ebegin "Compilation and optimization of Python modules for $(python_get_implementation) $(python_get_version)" - if ((${#mydirs[@]})); then - "$(PYTHON ${PYTHON_ABI})" "${myroot}$(python_get_libdir)/compileall.py" "${myopts[@]}" "${mydirs[@]}" || return_code="1" - "$(PYTHON ${PYTHON_ABI})" -O "${myroot}$(python_get_libdir)/compileall.py" "${myopts[@]}" "${mydirs[@]}" &> /dev/null || return_code="1" - _python_clean_compiled_modules "${mydirs[@]}" - fi - - if ((${#myfiles[@]})); then - "$(PYTHON ${PYTHON_ABI})" "${myroot}$(python_get_libdir)/py_compile.py" "${myfiles[@]}" || return_code="1" - "$(PYTHON ${PYTHON_ABI})" -O "${myroot}$(python_get_libdir)/py_compile.py" "${myfiles[@]}" &> /dev/null || return_code="1" - _python_clean_compiled_modules "${myfiles[@]}" - fi - - eend "${return_code}" - fi -} - -# @FUNCTION: python_mod_cleanup -# @USAGE: [--allow-evaluated-non-sitedir-paths] [--] [files|directories] -# @DESCRIPTION: -# Delete orphaned byte-compiled Python modules corresponding to specified Python modules. -# -# This function can be used only in pkg_postrm() phase. -python_mod_cleanup() { - if [[ "${EBUILD_PHASE}" != "postrm" ]]; then - die "${FUNCNAME}() can be used only in pkg_postrm() phase" - fi - - _python_check_python_pkg_setup_execution - _python_initialize_prefix_variables - - local allow_evaluated_non_sitedir_paths="0" dir iterated_PYTHON_ABIS PYTHON_ABI="${PYTHON_ABI}" root search_paths=() sitedir - - if _python_package_supporting_installation_for_multiple_python_abis; then - if has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_ABIS}" ]]; then - die "${FUNCNAME}(): python_pkg_setup() or python_execute_function() not called" - fi - iterated_PYTHON_ABIS="${PYTHON_ABIS}" - else - if has "${EAPI:-0}" 0 1 2 3; then - iterated_PYTHON_ABIS="${PYTHON_ABI:-$(PYTHON --ABI)}" - else - iterated_PYTHON_ABIS="${PYTHON_ABI}" - fi - fi - - # Strip trailing slash from EROOT. - root="${EROOT%/}" - - while (($#)); do - case "$1" in - --allow-evaluated-non-sitedir-paths) - allow_evaluated_non_sitedir_paths="1" - ;; - --) - shift - break - ;; - -*) - die "${FUNCNAME}(): Unrecognized option '$1'" - ;; - *) - break - ;; - esac - shift - done - - if [[ "${allow_evaluated_non_sitedir_paths}" == "1" ]] && ! _python_package_supporting_installation_for_multiple_python_abis; then - die "${FUNCNAME}(): '--allow-evaluated-non-sitedir-paths' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs" - fi - - if [[ "$#" -eq 0 ]]; then - die "${FUNCNAME}(): Missing files or directories" - fi - - if ! has "${EAPI:-0}" 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis || _python_implementation || [[ "${CATEGORY}/${PN}" == "sys-apps/portage" ]]; then - while (($#)); do - if [[ "$1" =~ ^($|(\.|\.\.|/)($|/)) ]]; then - die "${FUNCNAME}(): Invalid argument '$1'" - elif ! _python_implementation && [[ "$1" =~ ^/usr/lib(32|64)?/python[[:digit:]]+\.[[:digit:]]+ ]]; then - die "${FUNCNAME}(): Paths of directories / files in site-packages directories must be relative to site-packages directories" - elif [[ "$1" =~ ^/ ]]; then - if _python_package_supporting_installation_for_multiple_python_abis; then - if [[ "${allow_evaluated_non_sitedir_paths}" != "1" ]]; then - die "${FUNCNAME}(): Absolute paths cannot be used in ebuilds of packages supporting installation for multiple Python ABIs" - fi - if [[ "$1" != *\$* ]]; then - die "${FUNCNAME}(): '$1' has invalid syntax" - fi - for PYTHON_ABI in ${iterated_PYTHON_ABIS}; do - eval "search_paths+=(\"\${root}$1\")" - done - else - search_paths+=("${root}$1") - fi - else - for PYTHON_ABI in ${iterated_PYTHON_ABIS}; do - search_paths+=("${root}$(python_get_sitedir)/$1") - done - fi - shift - done - else - # Deprecated part of python_mod_cleanup() - - search_paths=("${@#/}") - search_paths=("${search_paths[@]/#/${root}/}") - fi - - _python_clean_compiled_modules "${search_paths[@]}" -} - -# ================================================================================================ -# ===================================== DEPRECATED FUNCTIONS ===================================== -# ================================================================================================ - -fi # _PYTHON_ECLASS_INHERITED diff --git a/sdk_container/src/third_party/portage-stable/eclass/qmail.eclass b/sdk_container/src/third_party/portage-stable/eclass/qmail.eclass index e6694b08fa..6ebbff442c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qmail.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qmail.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: qmail.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass index 37c0f81c0f..76dc31b237 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qmake-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: qmake-utils.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt4-build-multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt4-build-multilib.eclass index f40f1aa331..4fcef72da1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qt4-build-multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qt4-build-multilib.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: qt4-build-multilib.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt4-r2.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt4-r2.eclass index 1273f1d815..d8a72529a3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qt4-r2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qt4-r2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: qt4-r2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt5-build.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt5-build.eclass index f22934418b..9c3a76b67d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qt5-build.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qt5-build.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: qt5-build.eclass # @MAINTAINER: @@ -10,14 +9,14 @@ # @BLURB: Eclass for Qt5 split ebuilds. # @DESCRIPTION: # This eclass contains various functions that are used when building Qt5. -# Requires EAPI 5 or 6. +# Requires EAPI 6. if [[ ${CATEGORY} != dev-qt ]]; then die "qt5-build.eclass is only to be used for building Qt 5." fi case ${EAPI} in - 5|6) : ;; + 6) : ;; *) die "qt5-build.eclass: unsupported EAPI=${EAPI:-0}" ;; esac @@ -48,8 +47,7 @@ esac # for tests you should proceed with setting VIRTUALX_REQUIRED=test. : ${VIRTUALX_REQUIRED:=manual} -[[ ${EAPI} == 5 ]] && inherit multilib -inherit eutils flag-o-matic toolchain-funcs versionator virtualx +inherit estack flag-o-matic ltprune toolchain-funcs versionator virtualx HOMEPAGE="https://www.qt.io/" @@ -209,12 +207,7 @@ qt5-build_src_prepare() { src/{corelib/corelib,gui/gui}.pro || die "sed failed (optimize_full)" fi - if [[ ${EAPI} == 5 ]]; then - [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" - epatch_user - else - default - fi + default } # @FUNCTION: qt5-build_src_configure @@ -449,9 +442,6 @@ qt5_prepare_env() { qt5_foreach_target_subdir() { [[ -z ${QT5_TARGET_SUBDIRS[@]} ]] && QT5_TARGET_SUBDIRS=("") - local die_args=() - [[ ${EAPI} != 5 ]] && die_args+=(-n) - local subdir= for subdir in "${QT5_TARGET_SUBDIRS[@]}"; do if [[ ${EBUILD_PHASE} == test ]]; then @@ -462,12 +452,12 @@ qt5_foreach_target_subdir() { local msg="Running $* ${subdir:+in ${subdir}}" einfo "${msg}" - mkdir -p "${QT5_BUILD_DIR}/${subdir}" || die "${die_args[@]}" || return $? - pushd "${QT5_BUILD_DIR}/${subdir}" >/dev/null || die "${die_args[@]}" || return $? + mkdir -p "${QT5_BUILD_DIR}/${subdir}" || die -n || return $? + pushd "${QT5_BUILD_DIR}/${subdir}" >/dev/null || die -n || return $? - "$@" || die "${die_args[@]}" "${msg} failed" || return $? + "$@" || die -n "${msg} failed" || return $? - popd >/dev/null || die "${die_args[@]}" || return $? + popd >/dev/null || die -n || return $? done } @@ -565,8 +555,7 @@ qt5_base_configure() { # prefer system libraries (only common hard deps here) -system-zlib -system-pcre - # TODO after bug 581054 - #$([[ ${QT5_MINOR_VERSION} -ge 7 ]] && echo -system-doubleconversion) + $([[ ${QT5_MINOR_VERSION} -ge 7 ]] && echo -system-doubleconversion) # disable everything to prevent automagic deps (part 1) -no-mtdev diff --git a/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass index 8fd4aa5871..6f80cbaccd 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: readme.gentoo-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo.eclass b/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo.eclass index 4c921fc6a3..fb5f044283 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/readme.gentoo.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: readme.gentoo.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/rebar.eclass b/sdk_container/src/third_party/portage-stable/eclass/rebar.eclass index c8a2cf47c2..3620153f8c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rebar.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rebar.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: rebar.eclass # @MAINTAINER: @@ -79,6 +78,22 @@ _rebar_find_dep() { echo "${result}" } +# @FUNCTION: rebar_disable_coverage +# @USAGE: [] +# @DESCRIPTION: +# Disable coverage in rebar.config. This is a workaround for failing coverage. +# Coverage is not relevant in this context, so there's no harm to disable it, +# although the issue should be fixed. +rebar_disable_coverage() { + debug-print-function ${FUNCNAME} "${@}" + + local rebar_config="${1:-rebar.config}" + + sed -e 's/{cover_enabled, true}/{cover_enabled, false}/' \ + -i "${rebar_config}" \ + || die "failed to disable coverage in ${rebar_config}" +} + # @FUNCTION: erebar # @USAGE: # @DESCRIPTION: @@ -184,7 +199,10 @@ rebar_src_prepare() { default rebar_set_vsn - [[ -f rebar.config ]] && rebar_remove_deps + if [[ -f rebar.config ]]; then + rebar_disable_coverage + rebar_remove_deps + fi } # @FUNCTION: rebar_src_configure diff --git a/sdk_container/src/third_party/portage-stable/eclass/ros-catkin.eclass b/sdk_container/src/third_party/portage-stable/eclass/ros-catkin.eclass index 93086aa123..feb626341e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ros-catkin.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ros-catkin.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ros-catkin.eclass # @MAINTAINER: @@ -33,6 +32,11 @@ EGIT_REPO_URI="${ROS_REPO_URI}" # Usually, a repository contains several packages, hence a typical value is: # ROS_SUBDIR=${PN} +# @ECLASS-VARIABLE: CATKIN_IN_SOURCE_BUILD +# @DEFAULT_UNSET +# @DESCRIPTION: +# Set to enable in-source build. + SCM="" if [ "${PV#9999}" != "${PV}" ] ; then SCM="git-r3" @@ -44,7 +48,7 @@ fi PYTHON_ECLASS="" CATKIN_PYTHON_USEDEP="" if [ -n "${PYTHON_COMPAT}" ] ; then - PYTHON_ECLASS="python-r1 python-utils-r1" + PYTHON_ECLASS="python-r1" fi inherit ${SCM} ${PYTHON_ECLASS} cmake-utils flag-o-matic @@ -53,6 +57,7 @@ CATKIN_DO_PYTHON_MULTIBUILD="" if [ -n "${PYTHON_COMPAT}" ] ; then CATKIN_PYTHON_USEDEP="[${PYTHON_USEDEP}]" CATKIN_DO_PYTHON_MULTIBUILD="yes" + REQUIRED_USE="${PYTHON_REQUIRED_USE}" fi IUSE="test" @@ -63,7 +68,7 @@ RDEPEND=" DEPEND="${RDEPEND}" if [ -n "${CATKIN_DO_PYTHON_MULTIBUILD}" ] ; then - RDEPEND="${RDEPEND} dev-lang/python-exec:2 ${PYTHON_DEPS}" + RDEPEND="${RDEPEND} ${PYTHON_DEPS}" DEPEND="${DEPEND} ${PYTHON_DEPS}" fi @@ -76,7 +81,7 @@ fi # @DESCRIPTION: # Some messages have dependencies on other messages. # In that case, CATKIN_MESSAGES_TRANSITIVE_DEPS should contain a space-separated list of atoms -# representing those dependencies. The eclass uses it to ensure proper dependencies on these packages. +# representing those dependencies. The eclass uses it to ensure proper dependencies on these packages. if [ -n "${CATKIN_HAS_MESSAGES}" ] ; then IUSE="${IUSE} +ros_messages_python +ros_messages_cxx ros_messages_eus ros_messages_lisp ros_messages_nodejs" RDEPEND="${RDEPEND} @@ -141,12 +146,18 @@ HOMEPAGE="http://wiki.ros.org/${PN}" # Calls cmake-utils_src_prepare (so that PATCHES array is handled there) and initialises the workspace # by installing a recursive CMakeLists.txt to handle bundles. ros-catkin_src_prepare() { + # If no multibuild, just use cmake IN_SOURCE support + [ -n "${CATKIN_IN_SOURCE_BUILD}" ] && [ -z "${CATKIN_DO_PYTHON_MULTIBUILD}" ] && export CMAKE_IN_SOURCE_BUILD=yes + cmake-utils_src_prepare if [ ! -f "${S}/CMakeLists.txt" ] ; then catkin_init_workspace || die fi + # If python multibuild, copy the sources + [ -n "${CATKIN_IN_SOURCE_BUILD}" ] && [ -n "${CATKIN_DO_PYTHON_MULTIBUILD}" ] && python_copy_sources + # Most packages require C++11 these days. Do it here, in src_prepare so that # ebuilds can override it in src_configure. append-cxxflags '-std=c++11' @@ -164,6 +175,9 @@ ros-catkin_src_configure_internal() { -DPYTHON_INSTALL_DIR="${sitedir#${EPREFIX}/usr/}" ) python_export PYTHON_SCRIPTDIR + if [ -n "${CATKIN_IN_SOURCE_BUILD}" ] ; then + export CMAKE_USE_DIR="${BUILD_DIR}" + fi fi cmake-utils_src_configure "${@}" } @@ -178,7 +192,7 @@ ros-catkin_src_configure_internal() { # @DESCRIPTION: # Configures a catkin-based package. ros-catkin_src_configure() { - export CMAKE_PREFIX_PATH="${EPREFIX}/usr" + export CATKIN_PREFIX_PATH="${EPREFIX}/usr" export ROS_ROOT="${EPREFIX}/usr/share/ros" if [ -n "${CATKIN_HAS_MESSAGES}" ] ; then ROS_LANG_DISABLE="" @@ -207,6 +221,9 @@ ros-catkin_src_configure() { # Builds a catkin-based package. ros-catkin_src_compile() { if [ -n "${CATKIN_DO_PYTHON_MULTIBUILD}" ] ; then + if [ -n "${CATKIN_IN_SOURCE_BUILD}" ] ; then + export CMAKE_USE_DIR="${BUILD_DIR}" + fi python_foreach_impl cmake-utils_src_compile "${@}" else cmake-utils_src_compile "${@}" @@ -218,6 +235,11 @@ ros-catkin_src_compile() { # Decorator around cmake-utils_src_test to ensure tests are built before running them. ros-catkin_src_test_internal() { cd "${BUILD_DIR}" || die + # Regenerate env for tests, PYTHONPATH is not set properly otherwise... + if [ -f catkin_generated/generate_cached_setup.py ] ; then + einfo "Regenerating setup_cached.sh for tests" + ${PYTHON:-python} catkin_generated/generate_cached_setup.py || die + fi # Using cmake-utils_src_make with nonfatal does not work and breaks e.g. # dev-ros/rviz. if nonfatal emake tests -n &> /dev/null ; then @@ -242,6 +264,9 @@ ros-catkin_src_test() { # Decorator around cmake-utils_src_install to ensure python scripts are properly handled w.r.t. python-exec2. ros-catkin_src_install_with_python() { python_export PYTHON_SCRIPTDIR + if [ -n "${CATKIN_IN_SOURCE_BUILD}" ] ; then + export CMAKE_USE_DIR="${BUILD_DIR}" + fi cmake-utils_src_install "${@}" if [ ! -f "${T}/.catkin_python_symlinks_generated" -a -d "${D}/${PYTHON_SCRIPTDIR}" ]; then dodir /usr/bin diff --git a/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass b/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass index 079e4591f1..c6daecea36 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/rpm.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: rpm.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ruby-fakegem.eclass b/sdk_container/src/third_party/portage-stable/eclass/ruby-fakegem.eclass index 2fdbf69777..230f55d7cf 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ruby-fakegem.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ruby-fakegem.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ruby-fakegem.eclass # @MAINTAINER: @@ -207,7 +206,7 @@ ruby_fakegem_doins() { ) || die "failed $0 $@" } -# @FUNCTION: ruby_fakegem_newsins() +# @FUNCTION: ruby_fakegem_newsins # @USAGE: file filename # @DESCRIPTION: # Installs the specified file into the gems directory using the provided filename. @@ -303,7 +302,7 @@ ruby_fakegem_genspec() { # so better taking this into consideration. local quoted_description=${DESCRIPTION//\"/\\\"} cat - > $1 </dev/null || die - local binaries=$(eval ls ${RUBY_FAKEGEM_BINWRAP}) - for binary in $binaries; do - ruby_fakegem_binwrapper $binary + for binary in ${RUBY_FAKEGEM_BINWRAP}; do + ruby_fakegem_binwrapper "${binary}" done popd &>/dev/null || die fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/ruby-ng-gnome2.eclass b/sdk_container/src/third_party/portage-stable/eclass/ruby-ng-gnome2.eclass index 87965feec4..2166cbfacc 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ruby-ng-gnome2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ruby-ng-gnome2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ruby-ng-gnome2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ruby-ng.eclass b/sdk_container/src/third_party/portage-stable/eclass/ruby-ng.eclass index c83778de87..13b00553c0 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ruby-ng.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ruby-ng.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ruby-ng.eclass # @MAINTAINER: @@ -73,7 +72,14 @@ # (e.g. selenium's firefox driver extension). When set this argument is # passed to "grep -E" to remove reporting of these shared objects. -inherit eutils java-utils-2 multilib toolchain-funcs ruby-utils +local inherits="" +case ${EAPI} in + 2|3|4|5) + inherits="eutils" + ;; +esac + +inherit ${inherits} java-utils-2 multilib toolchain-funcs ruby-utils EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_test src_install pkg_setup @@ -81,7 +87,7 @@ case ${EAPI} in 0|1) die "Unsupported EAPI=${EAPI} (too old) for ruby-ng.eclass" ;; 2|3) ;; - 4|5) + 4|5|6) # S is no longer automatically assigned when it doesn't exist. S="${WORKDIR}" ;; @@ -263,7 +269,7 @@ ruby_get_use_targets() { # confuse this function with ruby_implementation_depend(). # # @EXAMPLE: -# EAPI=4 +# EAPI=6 # RUBY_OPTIONAL=yes # # inherit ruby-ng @@ -286,7 +292,7 @@ if [[ ${RUBY_OPTIONAL} != yes ]]; then RDEPEND="${RDEPEND} $(ruby_implementations_depend)" case ${EAPI:-0} in - 4|5) + 4|5|6) REQUIRED_USE+=" || ( $(ruby_get_use_targets) )" ;; esac @@ -295,7 +301,7 @@ fi _ruby_invoke_environment() { old_S=${S} case ${EAPI} in - 4|5) + 4|5|6) if [ -z "${RUBY_S}" ]; then sub_S=${P} else @@ -319,7 +325,14 @@ _ruby_invoke_environment() { ;; esac pushd "${WORKDIR}"/all &>/dev/null || die - sub_S=$(eval ls -d "${sub_S}" 2>/dev/null) + # use an array to trigger filename expansion + # fun fact: this expansion fails in src_unpack() but the original + # code did not have any checks for failed expansion, so we can't + # really add one now without redesigning stuff hard. + sub_S=( ${sub_S} ) + if [[ ${#sub_S[@]} -gt 1 ]]; then + die "sub_S did expand to multiple paths: ${sub_S[*]}" + fi popd &>/dev/null || die fi @@ -399,15 +412,24 @@ ruby-ng_src_unpack() { } _ruby_apply_patches() { - for patch in "${RUBY_PATCHES[@]}"; do - if [ -f "${patch}" ]; then - epatch "${patch}" - elif [ -f "${FILESDIR}/${patch}" ]; then - epatch "${FILESDIR}/${patch}" - else - die "Cannot find patch ${patch}" - fi - done + case ${EAPI} in + 2|3|4|5) + for patch in "${RUBY_PATCHES[@]}"; do + if [ -f "${patch}" ]; then + epatch "${patch}" + elif [ -f "${FILESDIR}/${patch}" ]; then + epatch "${FILESDIR}/${patch}" + else + die "Cannot find patch ${patch}" + fi + done + ;; + 6) + if [[ -n ${RUBY_PATCHES[@]} ]]; then + eqawarn "RUBY_PATCHES is no longer supported, use PATCHES instead" + fi + ;; + esac # This is a special case: instead of executing just in the special # "all" environment, this will actually copy the effects on _all_ @@ -432,6 +454,13 @@ ruby-ng_src_prepare() { # almost every other ebuild. find . -name '._*' -delete + # Handle PATCHES and user supplied patches via the default phase + case ${EAPI} in + 6) + _ruby_invoke_environment all default + ;; + esac + _ruby_invoke_environment all _ruby_apply_patches _PHASE="source copy" \ diff --git a/sdk_container/src/third_party/portage-stable/eclass/ruby-single.eclass b/sdk_container/src/third_party/portage-stable/eclass/ruby-single.eclass index f8ef648a16..17e1745244 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ruby-single.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ruby-single.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ruby-single.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass index e3c60b4ea9..c4b706f42a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ruby-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ruby-utils.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/s6.eclass b/sdk_container/src/third_party/portage-stable/eclass/s6.eclass index a511af9f07..095a039343 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/s6.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/s6.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: s6.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/savedconfig.eclass b/sdk_container/src/third_party/portage-stable/eclass/savedconfig.eclass index b8f9415eef..1e9ac6c80b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/savedconfig.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/savedconfig.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: savedconfig.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/scons-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/scons-utils.eclass index d504b659df..41a86adfa1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/scons-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/scons-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: scons-utils.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/scsh.eclass b/sdk_container/src/third_party/portage-stable/eclass/scsh.eclass index 7c199d84a9..181bbd1e41 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/scsh.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/scsh.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # inherit eutils multilib diff --git a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass index 19cfe020d7..34f4bf54ee 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/selinux-policy-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Eclass for installing SELinux policy, and optionally # reloading the reference-policy based modules. diff --git a/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog.eclass b/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog.eclass index 9b5215d669..08f78c5978 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/sgml-catalog.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: sgml-catalog.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/ssl-cert.eclass b/sdk_container/src/third_party/portage-stable/eclass/ssl-cert.eclass index f41dc3cc9c..6bec347234 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ssl-cert.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ssl-cert.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: ssl-cert.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/stardict.eclass b/sdk_container/src/third_party/portage-stable/eclass/stardict.eclass index 255a87f957..cbfb10c545 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/stardict.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/stardict.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Author : Alastair Tse # diff --git a/sdk_container/src/third_party/portage-stable/eclass/subversion.eclass b/sdk_container/src/third_party/portage-stable/eclass/subversion.eclass index 766c3f7224..8f13cd2fe1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/subversion.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/subversion.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: subversion.eclass # @MAINTAINER: @@ -367,7 +366,7 @@ subversion_fetch() { # Apply patches in ${ESVN_PATCHES} and run ${ESVN_BOOTSTRAP} if specified. # Removed in EAPI 6 and later. subversion_bootstrap() { - [[ ${EAPI} == [012345] ]] || die "${FUNCNAME[1]} is removed from subversion.eclass in EAPI 6 and later" + [[ ${EAPI} == [012345] ]] || die "${FUNCNAME} is removed from subversion.eclass in EAPI 6 and later" if has "export" ${ESVN_RESTRICT}; then return @@ -447,7 +446,7 @@ subversion_src_unpack() { # Default src_prepare. Bootstrap. # Removed in EAPI 6 and later. subversion_src_prepare() { - [[ ${EAPI} == [012345] ]] || die "${FUNCNAME[1]} is removed from subversion.eclass in EAPI 6 and later" + [[ ${EAPI} == [012345] ]] || die "${FUNCNAME} is removed from subversion.eclass in EAPI 6 and later" subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap." } diff --git a/sdk_container/src/third_party/portage-stable/eclass/sword-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/sword-module.eclass index 2af91a40d5..6e8d38c769 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/sword-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/sword-module.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # eclass to simplify installation of Sword modules diff --git a/sdk_container/src/third_party/portage-stable/eclass/systemd.eclass b/sdk_container/src/third_party/portage-stable/eclass/systemd.eclass index b00668e023..7e46e80119 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/systemd.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/systemd.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: systemd.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/autotools_eaclocal_amflags.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/autotools_eaclocal_amflags.sh index e164796f09..b39f5420c3 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/autotools_eaclocal_amflags.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/autotools_eaclocal_amflags.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/distutils-r1.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/distutils-r1.sh index c5501bdcde..d557f6cad5 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/distutils-r1.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/distutils-r1.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ EAPI=5 PYTHON_COMPAT=( python2_7 ) diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_eshopts.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/estack_eshopts.sh similarity index 68% rename from sdk_container/src/third_party/portage-stable/eclass/tests/eutils_eshopts.sh rename to sdk_container/src/third_party/portage-stable/eclass/tests/estack_eshopts.sh index 6d070942a0..28346c65ec 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_eshopts.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/estack_eshopts.sh @@ -1,11 +1,10 @@ #!/bin/bash -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh -inherit eutils +inherit estack test-it() { local s0 s1 s2 @@ -28,6 +27,29 @@ for arg in nullglob dotglob extglob ; do done done +# test 'set' options +set -f +tbegin "set +f" +s0=$- +t eshopts_push +f +s1=$- +t eshopts_pop +s2=$- +[[ ${s0} == "${s2}" ]] && +[[ ${s1} != *f* ]] +tend $? + +set +f +tbegin "set -f" +s0=$- +t eshopts_push -f +s1=$- +t eshopts_pop +s2=$- +[[ ${s0} == "${s2}" ]] && +[[ ${s1} == *f* ]] +tend $? + tbegin "multi push/pop" s0=$(shopt -p) t eshopts_push -s dotglob diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_estack.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/estack_estack.sh similarity index 92% rename from sdk_container/src/third_party/portage-stable/eclass/tests/eutils_estack.sh rename to sdk_container/src/third_party/portage-stable/eclass/tests/estack_estack.sh index c029c9b1da..4845243d3a 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_estack.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/estack_estack.sh @@ -1,11 +1,10 @@ #!/bin/bash -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh -inherit eutils +inherit estack tbegin "initial stack state" estack_pop teststack diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_evar.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/estack_evar.sh similarity index 95% rename from sdk_container/src/third_party/portage-stable/eclass/tests/eutils_evar.sh rename to sdk_container/src/third_party/portage-stable/eclass/tests/estack_evar.sh index 1e53a873e9..29badba007 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_evar.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/estack_evar.sh @@ -1,11 +1,10 @@ #!/bin/bash -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh -inherit eutils +inherit estack tbegin "simple push/pop" VAR=1 diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_path_exists.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_path_exists.sh index a3d1f993f7..00a89c7e44 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_path_exists.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/eutils_path_exists.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/flag-o-matic.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/flag-o-matic.sh index 762a5f74d9..92c68b82c3 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/flag-o-matic.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/flag-o-matic.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3.sh index 3de6f05975..6ff6226c0a 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_GIT_DIR.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_GIT_DIR.sh index 38ed723c8a..06c4094ceb 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_GIT_DIR.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_GIT_DIR.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_subrepos.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_subrepos.sh index 4a66a1c370..5b814328a4 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_subrepos.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/git-r3_subrepos.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/linux-info_get_running_version.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/linux-info_get_running_version.sh index d5b36a5d89..fbb5c827a4 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/linux-info_get_running_version.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/linux-info_get_running_version.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing.sh index d20cb6ea08..1ceb7f7fa7 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_jobs.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_jobs.sh index cc4f91b694..689313a397 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_jobs.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_jobs.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_loadavg.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_loadavg.sh index ffa679d13e..a03bf0ca87 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_loadavg.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/multiprocessing_makeopts_loadavg.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/python-utils-r1.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/python-utils-r1.sh index b4ee7852e3..414ad5c53d 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/python-utils-r1.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/python-utils-r1.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ EAPI=5 source tests-common.sh @@ -168,8 +167,10 @@ test_is "_python_impl_supported python2_6" 1 test_is "_python_impl_supported python2_7" 0 test_is "_python_impl_supported python3_1" 1 test_is "_python_impl_supported python3_2" 1 -test_is "_python_impl_supported python3_3" 0 +test_is "_python_impl_supported python3_3" 1 test_is "_python_impl_supported python3_4" 0 +test_is "_python_impl_supported python3_5" 0 +test_is "_python_impl_supported python3_6" 0 test_is "_python_impl_supported pypy1_8" 1 test_is "_python_impl_supported pypy1_9" 1 test_is "_python_impl_supported pypy2_0" 1 diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_fix_include_path.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_fix_include_path.sh index c8ab178a70..8164e39d72 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_fix_include_path.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_fix_include_path.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_remove_deps.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_remove_deps.sh index 32351bff03..1b877b3392 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_remove_deps.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_remove_deps.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_set_vsn.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_set_vsn.sh index 2a9f5bc927..315d8a76ec 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_set_vsn.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/rebar_set_vsn.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/savedconfig.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/savedconfig.sh index c4a3ce824f..19da181d84 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/savedconfig.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/savedconfig.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/scons-utils.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/scons-utils.sh index fcb5125bdb..7a588863c6 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/scons-utils.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/scons-utils.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/tests-common.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/tests-common.sh index faca39d575..8141425a0d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/tests-common.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/tests-common.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ if ! source /lib/gentoo/functions.sh ; then echo "Missing functions.sh. Please install sys-apps/gentoo-functions!" 1>&2 diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain-funcs.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain-funcs.sh index bfbe26f25c..bcf57f7820 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain-funcs.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain-funcs.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain.sh index 7dc5e7330c..47401e6875 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/toolchain.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/tests/versionator_version_compare.sh b/sdk_container/src/third_party/portage-stable/eclass/tests/versionator_version_compare.sh index 633ba26dc2..c7a238cf9d 100755 --- a/sdk_container/src/third_party/portage-stable/eclass/tests/versionator_version_compare.sh +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/versionator_version_compare.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ source tests-common.sh diff --git a/sdk_container/src/third_party/portage-stable/eclass/texlive-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/texlive-common.eclass index ca0f4c6123..e5259d95a6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/texlive-common.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/texlive-common.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: texlive-common.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/texlive-module.eclass b/sdk_container/src/third_party/portage-stable/eclass/texlive-module.eclass index 3bd1324f93..9dd2303635 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/texlive-module.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/texlive-module.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: texlive-module.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass b/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass index 9cede4dfe3..2a158c482a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/tmpfiles.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: tmpfiles.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-autoconf.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-autoconf.eclass new file mode 100644 index 0000000000..59057b8d6e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-autoconf.eclass @@ -0,0 +1,70 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: toolchain-autoconf.eclass +# @MAINTAINER: +# +# @BLURB: Common code for sys-devel/autoconf ebuilds +# @DESCRIPTION: +# This eclass contains the common phase functions migrated from +# sys-devel/autoconf eblits. + +if [[ -z ${_TOOLCHAIN_AUTOCONF_ECLASS} ]]; then + +inherit eutils + +EXPORT_FUNCTIONS src_prepare src_configure src_install + +toolchain-autoconf_src_prepare() { + find -name Makefile.in -exec sed -i '/^pkgdatadir/s:$:-@VERSION@:' {} + || die + + [[ ${#PATCHES[@]} -gt 0 ]] && epatch "${PATCHES[@]}" +} + +toolchain-autoconf_src_configure() { + # Disable Emacs in the build system since it is in a separate package. + export EMACS=no + econf --program-suffix="-${PV}" || die + # econf updates config.{sub,guess} which forces the manpages + # to be regenerated which we dont want to do #146621 + touch man/*.1 +} + +# slot the info pages. do this w/out munging the source so we don't have +# to depend on texinfo to regen things. #464146 (among others) +slot_info_pages() { + [[ ${SLOT} == "0" ]] && return + + pushd "${ED}"/usr/share/info >/dev/null || die + rm -f dir || die + + # Rewrite all the references to other pages. + # before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4. + # after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4. + local p pages=( *.info ) args=() + for p in "${pages[@]/%.info}" ; do + args+=( + -e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|" + -e "s:(${p}):(${p}-${SLOT}):g" + ) + done + sed -i "${args[@]}" * || die + + # Rewrite all the file references, and rename them in the process. + local f d + for f in * ; do + d=${f/.info/-${SLOT}.info} + mv "${f}" "${d}" || die + sed -i -e "s:${f}:${d}:g" * || die + done + + popd >/dev/null || die +} + +toolchain-autoconf_src_install() { + default + slot_info_pages +} + +_TOOLCHAIN_AUTOCONF_ECLASS=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass index 94659c5025..498a5e0a59 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-binutils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Maintainer: Toolchain Ninjas # diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass index 63f0d6b209..a0c359a950 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-funcs.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: toolchain-funcs.eclass # @MAINTAINER: @@ -169,8 +168,8 @@ tc-getBUILD_PKG_CONFIG() { tc-getBUILD_PROG PKG_CONFIG pkg-config "$@"; } tc-export() { local var for var in "$@" ; do - [[ $(type -t tc-get${var}) != "function" ]] && die "tc-export: invalid export variable '${var}'" - eval tc-get${var} > /dev/null + [[ $(type -t "tc-get${var}") != "function" ]] && die "tc-export: invalid export variable '${var}'" + "tc-get${var}" > /dev/null done } diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain-glibc.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain-glibc.eclass new file mode 100644 index 0000000000..365198303e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain-glibc.eclass @@ -0,0 +1,1402 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: toolchain-glibc.eclass +# @MAINTAINER: +# +# @BLURB: Common code for sys-libs/glibc ebuilds +# @DESCRIPTION: +# This eclass contains the common phase functions migrated from +# sys-libs/glibc eblits. + +if [[ -z ${_TOOLCHAIN_GLIBC_ECLASS} ]]; then + +inherit eutils versionator toolchain-funcs flag-o-matic gnuconfig \ + multilib systemd unpacker multiprocessing prefix + +case ${EAPI:-0} in + 0|1|2|3) EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test \ + src_install pkg_preinst pkg_postinst;; + 2|3) EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure \ + src_compile src_test src_install pkg_preinst pkg_postinst;; + 4|5|6) EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare \ + src_configure src_compile src_test src_install \ + pkg_preinst pkg_postinst;; + *) die "Unsupported EAPI=${EAPI}";; +esac + +# == common == + +alt_prefix() { + is_crosscompile && echo /usr/${CTARGET} +} + +if [[ ${EAPI:-0} == [012] ]] ; then + : ${ED:=${D}} + : ${EROOT:=${ROOT}} +fi +# This indirection is for binpkgs. #523332 +_nonfatal() { nonfatal "$@" ; } +if [[ ${EAPI:-0} == [0123] ]] ; then + nonfatal() { "$@" ; } + _nonfatal() { "$@" ; } +fi + +# We need to be able to set alternative headers for +# compiling for non-native platform +# Will also become useful for testing kernel-headers without screwing up +# the whole system. +# note: intentionally undocumented. +alt_headers() { + echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} +} +alt_build_headers() { + if [[ -z ${ALT_BUILD_HEADERS} ]] ; then + ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)" + if tc-is-cross-compiler ; then + ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) + if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then + local header_path=$(echo '#include ' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') + ALT_BUILD_HEADERS=${header_path%/linux/version.h} + fi + fi + fi + echo "${ALT_BUILD_HEADERS}" +} + +alt_libdir() { + echo $(alt_prefix)/$(get_libdir) +} +alt_usrlibdir() { + echo $(alt_prefix)/usr/$(get_libdir) +} + +builddir() { + echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1" +} + +setup_target_flags() { + # This largely mucks with compiler flags. None of which should matter + # when building up just the headers. + just_headers && return 0 + + case $(tc-arch) in + x86) + # -march needed for #185404 #199334 + # TODO: When creating the first glibc cross-compile, this test will + # always fail as it does a full link which in turn requires glibc. + # Probably also applies when changing multilib profile settings (e.g. + # enabling x86 when the profile was amd64-only previously). + # We could change main to _start and pass -nostdlib here so that we + # only test the gcc code compilation. Or we could do a compile and + # then look for the symbol via scanelf. + if ! glibc_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + filter-flags '-march=*' + export CFLAGS="-march=${t} ${CFLAGS}" + einfo "Auto adding -march=${t} to CFLAGS #185404" + fi + ;; + amd64) + # -march needed for #185404 #199334 + # Note: This test only matters when the x86 ABI is enabled, so we could + # optimize a bit and elide it. + # TODO: See cross-compile issues listed above for x86. + if ! glibc_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then + local t=${CTARGET_OPT:-${CTARGET}} + t=${t%%-*} + # Normally the target is x86_64-xxx, so turn that into the -march that + # gcc actually accepts. #528708 + [[ ${t} == "x86_64" ]] && t="x86-64" + filter-flags '-march=*' + # ugly, ugly, ugly. ugly. + CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}") + export CFLAGS_x86="${CFLAGS_x86} -march=${t}" + einfo "Auto adding -march=${t} to CFLAGS_x86 #185404" + fi + ;; + mips) + # The mips abi cannot support the GNU style hashes. #233233 + filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both + ;; + ppc) + append-flags "-freorder-blocks" + ;; + sparc) + # Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though. + filter-flags "-fcall-used-g7" + append-flags "-fcall-used-g6" + + # If the CHOST is the basic one (e.g. not sparcv9-xxx already), + # try to pick a better one so glibc can use cpu-specific .S files. + # We key off the CFLAGS to get a good value. Also need to handle + # version skew. + # We can't force users to set their CHOST to their exact machine + # as many of these are not recognized by config.sub/gcc and such :(. + # Note: If the mcpu values don't scale, we might try probing CPP defines. + # Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ? + + local cpu + case ${CTARGET} in + sparc64-*) + case $(get-flag mcpu) in + niagara[234]) + if version_is_at_least 2.8 ; then + cpu="sparc64v2" + elif version_is_at_least 2.4 ; then + cpu="sparc64v" + elif version_is_at_least 2.2.3 ; then + cpu="sparc64b" + fi + ;; + niagara) + if version_is_at_least 2.4 ; then + cpu="sparc64v" + elif version_is_at_least 2.2.3 ; then + cpu="sparc64b" + fi + ;; + ultrasparc3) + cpu="sparc64b" + ;; + *) + # We need to force at least v9a because the base build doesn't + # work with just v9. + # https://sourceware.org/bugzilla/show_bug.cgi?id=19477 + [[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a" + ;; + esac + ;; + sparc-*) + case $(get-flag mcpu) in + niagara[234]) + if version_is_at_least 2.8 ; then + cpu="sparcv9v2" + elif version_is_at_least 2.4 ; then + cpu="sparcv9v" + elif version_is_at_least 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + niagara) + if version_is_at_least 2.4 ; then + cpu="sparcv9v" + elif version_is_at_least 2.2.3 ; then + cpu="sparcv9b" + else + cpu="sparcv9" + fi + ;; + ultrasparc3) + cpu="sparcv9b" + ;; + v9|ultrasparc) + cpu="sparcv9" + ;; + v8|supersparc|hypersparc|leon|leon3) + cpu="sparcv8" + ;; + esac + ;; + esac + [[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}" + ;; + esac +} + +setup_flags() { + # Make sure host make.conf doesn't pollute us + if is_crosscompile || tc-is-cross-compiler ; then + CHOST=${CTARGET} strip-unsupported-flags + fi + + # Store our CFLAGS because it's changed depending on which CTARGET + # we are building when pulling glibc on a multilib profile + CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}} + CFLAGS=${CFLAGS_BASE} + CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}} + CXXFLAGS=${CXXFLAGS_BASE} + ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}} + ASFLAGS=${ASFLAGS_BASE} + + # Over-zealous CFLAGS can often cause problems. What may work for one + # person may not work for another. To avoid a large influx of bugs + # relating to failed builds, we strip most CFLAGS out to ensure as few + # problems as possible. + strip-flags + strip-unsupported-flags + filter-flags -m32 -m64 -mabi=* + + # Bug 492892. + filter-flags -frecord-gcc-switches + + unset CBUILD_OPT CTARGET_OPT + if use multilib ; then + CTARGET_OPT=$(get_abi_CTARGET) + [[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST) + fi + + setup_target_flags + + if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then + CBUILD_OPT=${CTARGET_OPT} + fi + + # Lock glibc at -O2 -- linuxthreads needs it and we want to be + # conservative here. -fno-strict-aliasing is to work around #155906 + filter-flags -O? + append-flags -O2 -fno-strict-aliasing + + # Can't build glibc itself with fortify code. Newer versions add + # this flag for us, so no need to do it manually. + version_is_at_least 2.16 ${PV} || append-cppflags -U_FORTIFY_SOURCE + + # building glibc with SSP is fraught with difficulty, especially + # due to __stack_chk_fail_local which would mean significant changes + # to the glibc build process. See bug #94325 #293721 + # Note we have to handle both user-given CFLAGS and gcc defaults via + # spec rules here. We can't simply add -fno-stack-protector as it gets + # added before user flags, and we can't just filter-flags because + # _filter_hardened doesn't support globs. + filter-flags -fstack-protector* + gcc-specs-ssp && append-flags $(test-flags -fno-stack-protector) + + if use hardened && gcc-specs-pie ; then + # Force PIC macro definition for all compilations since they're all + # either -fPIC or -fPIE with the default-PIE compiler. + append-cppflags -DPIC + else + # Don't build -fPIE without the default-PIE compiler and the + # hardened-pie patch + filter-flags -fPIE + fi +} + +want_nptl() { + [[ -z ${LT_VER} ]] && return 0 + want_tls || return 1 + use nptl || return 1 + + # Older versions of glibc had incomplete arch support for nptl. + # But if you're building those now, you can handle USE=nptl yourself. + return 0 +} + +want_linuxthreads() { + [[ -z ${LT_VER} ]] && return 1 + use linuxthreads +} + +want_tls() { + # Archs that can use TLS (Thread Local Storage) + case $(tc-arch) in + x86) + # requires i486 or better #106556 + [[ ${CTARGET} == i[4567]86* ]] && return 0 + return 1 + ;; + esac + + return 0 +} + +want__thread() { + want_tls || return 1 + + # For some reason --with-tls --with__thread is causing segfaults on sparc32. + [[ ${PROFILE_ARCH} == "sparc" ]] && return 1 + + [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD} + + # only test gcc -- cant test linking yet + tc-has-tls -c ${CTARGET} + WANT__THREAD=$? + + return ${WANT__THREAD} +} + +use_multiarch() { + # Make sure binutils is new enough to support indirect functions #336792 + # This funky sed supports gold and bfd linkers. + local bver nver + bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}') + case $(tc-arch ${CTARGET}) in + amd64|x86) nver="2.20" ;; + arm) nver="2.22" ;; + hppa) nver="2.23" ;; + ppc|ppc64) nver="2.20" ;; + # ifunc was added in 2.23, but glibc also needs machinemode which is in 2.24. + s390) nver="2.24" ;; + sparc) nver="2.21" ;; + *) return 1 ;; + esac + version_is_at_least ${nver} ${bver} +} + +# Setup toolchain variables that had historically +# been defined in the profiles for these archs. +setup_env() { + # silly users + unset LD_RUN_PATH + unset LD_ASSUME_KERNEL + + if is_crosscompile || tc-is-cross-compiler ; then + multilib_env ${CTARGET_OPT:-${CTARGET}} + + if ! use multilib ; then + MULTILIB_ABIS=${DEFAULT_ABI} + else + MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}} + fi + + # If the user has CFLAGS_ in their make.conf, use that, + # and fall back on CFLAGS. + local VAR=CFLAGS_${CTARGET//[-.]/_} + CFLAGS=${!VAR-${CFLAGS}} + fi + + setup_flags + + export ABI=${ABI:-${DEFAULT_ABI:-default}} + + local VAR=CFLAGS_${ABI} + # We need to export CFLAGS with abi information in them because glibc's + # configure script checks CFLAGS for some targets (like mips). Keep + # around the original clean value to avoid appending multiple ABIs on + # top of each other. + : ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})} + export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}" +} + +foreach_abi() { + setup_env + + local ret=0 + local abilist="" + if use multilib ; then + abilist=$(get_install_abis) + else + abilist=${DEFAULT_ABI} + fi + local -x ABI + for ABI in ${abilist:-default} ; do + setup_env + einfo "Running $1 for ABI ${ABI}" + $1 + : $(( ret |= $? )) + done + return ${ret} +} + +just_headers() { + is_crosscompile && use crosscompile_opts_headers-only +} + +glibc_banner() { + local b="Gentoo ${PVR}" + [[ -n ${SNAP_VER} ]] && b+=" snapshot ${SNAP_VER}" + [[ -n ${BRANCH_UPDATE} ]] && b+=" branch ${BRANCH_UPDATE}" + [[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}" + echo "${b}" +} + +# == phases == + +glibc_compile_test() { + local ret save_cflags=${CFLAGS} + CFLAGS+=" $1" + shift + + pushd "${T}" >/dev/null + + rm -f glibc-test* + printf '%b' "$*" > glibc-test.c + + _nonfatal emake -s glibc-test + ret=$? + + popd >/dev/null + + CFLAGS=${save_cflags} + return ${ret} +} + +glibc_run_test() { + local ret + + if [[ ${EMERGE_FROM} == "binary" ]] ; then + # ignore build failures when installing a binary package #324685 + glibc_compile_test "" "$@" 2>/dev/null || return 0 + else + if ! glibc_compile_test "" "$@" ; then + ewarn "Simple build failed ... assuming this is desired #324685" + return 0 + fi + fi + + pushd "${T}" >/dev/null + + ./glibc-test + ret=$? + rm -f glibc-test* + + popd >/dev/null + + return ${ret} +} + +check_devpts() { + # Make sure devpts is mounted correctly for use w/out setuid pt_chown. + + # If merely building the binary package, then there's nothing to verify. + [[ ${MERGE_TYPE} == "buildonly" ]] && return + + # Only sanity check when installing the native glibc. + [[ ${ROOT} != "/" ]] && return + + # Older versions always installed setuid, so no need to check. + in_iuse suid || return + + # If they're opting in to the old suid code, then no need to check. + use suid && return + + if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then + eerror "In order to use glibc with USE=-suid, you must make sure that" + eerror "you have devpts mounted at /dev/pts with the gid=5 option." + eerror "Openrc should do this for you, so you should check /etc/fstab" + eerror "and make sure you do not have any invalid settings there." + # Do not die on older kernels as devpts did not export these settings #489520. + if version_is_at_least 2.6.25 $(uname -r) ; then + die "mount & fix your /dev/pts settings" + fi + fi +} + +toolchain-glibc_pkg_pretend() { + # For older EAPIs, this is run in pkg_preinst. + if [[ ${EAPI:-0} != [0123] ]] ; then + check_devpts + fi + + # Prevent native builds from downgrading. + if [[ ${MERGE_TYPE} != "buildonly" ]] && \ + [[ ${ROOT} == "/" ]] && \ + [[ ${CBUILD} == ${CHOST} ]] && \ + [[ ${CHOST} == ${CTARGET} ]] ; then + # The high rev # is to allow people to downgrade between -r# versions. + # We want to block 2.20->2.19, but 2.20-r3->2.20-r2 should be fine. + # Hopefully we never actually use a r# this high. + if has_version ">${CATEGORY}/${P}-r10000" ; then + eerror "Sanity check to keep you from breaking your system:" + eerror " Downgrading glibc is not supported and a sure way to destruction" + die "aborting to save your system" + fi + + if ! glibc_run_test '#include \nint main(){return getpwuid(0)==0;}\n' + then + eerror "Your patched vendor kernel is broken. You need to get an" + eerror "update from whoever is providing the kernel to you." + eerror "https://sourceware.org/bugzilla/show_bug.cgi?id=5227" + eerror "http://bugs.gentoo.org/262698" + die "keeping your system alive, say thank you" + fi + + if ! glibc_run_test '#include \n#include \nint main(){return syscall(1000)!=-1;}\n' + then + eerror "Your old kernel is broken. You need to update it to" + eerror "a newer version as syscall() will break." + eerror "http://bugs.gentoo.org/279260" + die "keeping your system alive, say thank you" + fi + fi + + # users have had a chance to phase themselves, time to give em the boot + if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then + eerror "You still haven't deleted ${EROOT}/etc/locales.build." + eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher." + die "lazy upgrader detected" + fi + + if [[ ${CTARGET} == i386-* ]] ; then + eerror "i386 CHOSTs are no longer supported." + eerror "Chances are you don't actually want/need i386." + eerror "Please read http://www.gentoo.org/doc/en/change-chost.xml" + die "please fix your CHOST" + fi + + if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then + ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS." + ewarn "This will result in a 50% performance penalty when running with a 32bit" + ewarn "hypervisor, which is probably not what you want." + fi + + use hardened && ! gcc-specs-pie && \ + ewarn "PIE hardening not applied, as your compiler doesn't default to PIE" + + # Make sure host system is up to date #394453 + if has_version '\nLINUX_VERSION_CODE\n' | \ + $(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \ + tail -n 1 +} + +check_nptl_support() { + # don't care about the compiler here as we arent using it + just_headers && return + + local run_kv build_kv want_kv + run_kv=$(int_to_KV $(get_KV)) + build_kv=$(int_to_KV $(get_kheader_version)) + want_kv=${NPTL_KERN_VER} + + ebegin "Checking gcc for __thread support" + if ! eend $(want__thread ; echo $?) ; then + echo + eerror "Could not find a gcc that supports the __thread directive!" + eerror "Please update your binutils/gcc and try again." + die "No __thread support in gcc!" + fi + + if ! is_crosscompile && ! tc-is-cross-compiler ; then + # Building fails on an non-supporting kernel + ebegin "Checking kernel version (${run_kv} >= ${want_kv})" + if ! eend_KV ${run_kv} ${want_kv} ; then + echo + eerror "You need a kernel of at least ${want_kv} for NPTL support!" + die "Kernel version too low!" + fi + fi + + ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})" + if ! eend_KV ${build_kv} ${want_kv} ; then + echo + eerror "You need linux-headers of at least ${want_kv} for NPTL support!" + die "linux-headers version too low!" + fi +} + +unpack_pkg() { + local a=${PN} + [[ -n ${SNAP_VER} ]] && a="${a}-${RELEASE_VER}" + [[ -n $1 ]] && a="${a}-$1" + if [[ -n ${SNAP_VER} ]] ; then + a="${a}-${SNAP_VER}" + else + if [[ -n $2 ]] ; then + a="${a}-$2" + else + a="${a}-${RELEASE_VER}" + fi + fi + if has ${a}.tar.xz ${A} ; then + unpacker ${a}.tar.xz + else + unpack ${a}.tar.bz2 + fi + [[ -n $1 ]] && { mv ${a} $1 || die ; } +} + +toolchain-glibc_do_src_unpack() { + # Check NPTL support _before_ we unpack things to save some time + want_nptl && check_nptl_support + + if [[ -n ${EGIT_REPO_URIS} ]] ; then + local i d + for ((i=0; i<${#EGIT_REPO_URIS[@]}; ++i)) ; do + EGIT_REPO_URI=${EGIT_REPO_URIS[$i]} + EGIT_SOURCEDIR=${EGIT_SOURCEDIRS[$i]} + git-2_src_unpack + done + else + unpack_pkg + fi + + cd "${S}" + touch locale/C-translit.h #185476 #218003 + [[ -n ${LT_VER} ]] && unpack_pkg linuxthreads ${LT_VER} + [[ -n ${PORTS_VER} ]] && unpack_pkg ports ${PORTS_VER} + [[ -n ${LIBIDN_VER} ]] && unpack_pkg libidn + + if [[ -n ${PATCH_VER} ]] ; then + cd "${WORKDIR}" + unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2 + # pull out all the addons + local d + for d in extra/*/configure ; do + d=${d%/configure} + [[ -d ${S}/${d} ]] && die "${d} already exists in \${S}" + mv "${d}" "${S}" || die "moving ${d} failed" + done + fi +} + +toolchain-glibc_src_unpack() { + setup_env + + toolchain-glibc_do_src_unpack + [[ ${EAPI:-0} == [01] ]] && cd "${S}" && toolchain-glibc_src_prepare +} + +toolchain-glibc_src_prepare() { + # XXX: We should do the branchupdate, before extracting the manpages and + # infopages else it does not help much (mtimes change if there is a change + # to them with branchupdate) + if [[ -n ${BRANCH_UPDATE} ]] ; then + epatch "${DISTDIR}"/glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2 + + # Snapshot date patch + einfo "Patching version to display snapshot date ..." + sed -i -e "s:\(#define RELEASE\).*:\1 \"${BRANCH_UPDATE}\":" version.h + fi + + # tag, glibc is it + if ! version_is_at_least 2.17 ; then + [[ -e csu/Banner ]] && die "need new banner location" + glibc_banner > csu/Banner + fi + if [[ -n ${PATCH_VER} ]] && ! use vanilla ; then + EPATCH_MULTI_MSG="Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER} ..." \ + EPATCH_EXCLUDE=${GLIBC_PATCH_EXCLUDE} \ + EPATCH_SUFFIX="patch" \ + ARCH=$(tc-arch) \ + epatch "${WORKDIR}"/patches + fi + + if just_headers ; then + if [[ -e ports/sysdeps/mips/preconfigure ]] ; then + # mips peeps like to screw with us. if building headers, + # we don't have a real compiler, so we can't let them + # insert -mabi on us. + sed -i '/CPPFLAGS=.*-mabi/s|.*|:|' ports/sysdeps/mips/preconfigure || die + find ports/sysdeps/mips/ -name Makefile -exec sed -i '/^CC.*-mabi=/s:-mabi=.*:-D_MIPS_SZPTR=32:' {} + + fi + fi + + epatch_user + + gnuconfig_update + + # Glibc is stupid sometimes, and doesn't realize that with a + # static C-Only gcc, -lgcc_eh doesn't exist. + # https://sourceware.org/ml/libc-alpha/2003-09/msg00100.html + # https://sourceware.org/ml/libc-alpha/2005-02/msg00042.html + # But! Finally fixed in recent versions: + # https://sourceware.org/ml/libc-alpha/2012-05/msg01865.html + if ! version_is_at_least 2.16 ; then + echo 'int main(){}' > "${T}"/gcc_eh_test.c + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/gcc_eh_test.c -lgcc_eh 2>/dev/null ; then + sed -i -e 's:-lgcc_eh::' Makeconfig || die "sed gcc_eh" + fi + fi + + cd "${WORKDIR}" + find . -type f '(' -size 0 -o -name "*.orig" ')' -delete + find . -name configure -exec touch {} + + + eprefixify extra/locale/locale-gen + + # Fix permissions on some of the scripts. + chmod u+x "${S}"/scripts/*.sh +} +dump_toolchain_settings() { + echo + + einfo "$*" + + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC LD {AS,C,CPP,CXX,LD}FLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + + # The glibc configure script doesn't properly use LDFLAGS all the time. + export CC="$(tc-getCC ${CTARGET}) ${LDFLAGS}" + einfo " $(printf '%15s' 'Manual CC:') ${CC}" + echo +} + +glibc_do_configure() { + # Glibc does not work with gold (for various reasons) #269274. + tc-ld-disable-gold + + dump_toolchain_settings "Configuring glibc for $1" + + local myconf=() + + # set addons + pushd "${S}" > /dev/null + local addons=$(echo */configure | sed \ + -e 's:/configure::g' \ + -e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \ + -e 's: \+$::' \ + -e 's! !,!g' \ + -e 's!^!,!' \ + -e '/^,\*$/d') + [[ -d ports ]] && addons+=",ports" + popd > /dev/null + + myconf+=( $(use_enable hardened stackguard-randomization) ) + if has_version ' "${T}"/test.c + if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then + sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die + mkdir -p sunrpc + cp $(which rpcgen) sunrpc/cross-rpcgen || die + touch -t 202001010101 sunrpc/cross-rpcgen || die + fi + fi +} + +toolchain-glibc_headers_configure() { + export ABI=default + + local builddir=$(builddir "headers") + mkdir -p "${builddir}" + cd "${builddir}" + + # if we don't have a compiler yet, we cant really test it now ... + # hopefully they don't affect header geneation, so let's hope for + # the best here ... + local v vars=( + ac_cv_header_cpuid_h=yes + libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes + libc_cv_asm_cfi_directives=yes + libc_cv_broken_visibility_attribute=no + libc_cv_c_cleanup=yes + libc_cv_forced_unwind=yes + libc_cv_gcc___thread=yes + libc_cv_mlong_double_128=yes + libc_cv_mlong_double_128ibm=yes + libc_cv_ppc_machine=yes + libc_cv_ppc_rel16=yes + libc_cv_predef_{fortify_source,stack_protector}=no + libc_cv_visibility_attribute=yes + libc_cv_z_combreloc=yes + libc_cv_z_execstack=yes + libc_cv_z_initfirst=yes + libc_cv_z_nodelete=yes + libc_cv_z_nodlopen=yes + libc_cv_z_relro=yes + libc_mips_abi=${ABI} + libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) + # These libs don't have configure flags. + ac_cv_lib_audit_audit_log_user_avc_message=no + ac_cv_lib_cap_cap_init=no + ) + einfo "Forcing cached settings:" + for v in "${vars[@]}" ; do + einfo " ${v}" + export ${v} + done + + # Blow away some random CC settings that screw things up. #550192 + if [[ -d ${S}/sysdeps/mips ]]; then + pushd "${S}"/sysdeps/mips >/dev/null + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die + sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die + if version_is_at_least 2.21 ; then + # Force the mips ABI to the default. This is OK because the set of + # installed headers in this phase is the same between the 3 ABIs. + # If this ever changes, this hack will break, but that's unlikely + # as glibc discourages that behavior. + # https://crbug.com/647033 + sed -i -e 's:abiflag=.*:abiflag=_ABIO32:' preconfigure || die + fi + popd >/dev/null + fi + + local myconf=() + myconf+=( + --disable-sanity-checks + --enable-hacker-mode + --without-cvs + --disable-werror + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers=$(alt_build_headers) + --prefix="${EPREFIX}/usr" + ${EXTRA_ECONF} + ) + + local addons + [[ -d ${S}/ports ]] && addons+=",ports" + # Newer versions require nptl, so there is no addon for it. + version_is_at_least 2.20 || addons+=",nptl" + myconf+=( --enable-add-ons="${addons#,}" ) + + # Nothing is compiled here which would affect the headers for the target. + # So forcing CC/CFLAGS is sane. + set -- "${S}"/configure "${myconf[@]}" + echo "$@" + CC="$(tc-getBUILD_CC)" \ + CFLAGS="-O1 -pipe" \ + CPPFLAGS="-U_FORTIFY_SOURCE" \ + LDFLAGS="" \ + "$@" || die "failed to configure glibc" +} + +toolchain-glibc_do_src_configure() { + if just_headers ; then + toolchain-glibc_headers_configure + else + want_linuxthreads && glibc_do_configure linuxthreads + want_nptl && glibc_do_configure nptl + fi +} + +toolchain-glibc_src_configure() { + foreach_abi toolchain-glibc_do_src_configure +} + +toolchain-glibc_do_src_compile() { + local t + for t in linuxthreads nptl ; do + if want_${t} ; then + [[ ${EAPI:-0} == [01] ]] && glibc_do_configure ${t} + emake -C "$(builddir ${t})" || die "make ${t} for ${ABI} failed" + fi + done +} + +toolchain-glibc_src_compile() { + if just_headers ; then + [[ ${EAPI:-0} == [01] ]] && toolchain-glibc_headers_configure + return + fi + + foreach_abi toolchain-glibc_do_src_compile +} + +glibc_src_test() { + cd "$(builddir $1)" + nonfatal emake -j1 check && return 0 + einfo "make check failed - re-running with --keep-going to get the rest of the results" + nonfatal emake -j1 -k check + ewarn "make check failed for ${ABI}-${CTARGET}-$1" + return 1 +} + +toolchain-glibc_do_src_test() { + local ret=0 t + for t in linuxthreads nptl ; do + if want_${t} ; then + glibc_src_test ${t} + : $(( ret |= $? )) + fi + done + return ${ret} +} + +toolchain-glibc_src_test() { + # Give tests more time to complete. + export TIMEOUTFACTOR=5 + + foreach_abi toolchain-glibc_do_src_test || die "tests failed" +} + +toolchain-glibc_do_src_install() { + local builddir=$(builddir $(want_linuxthreads && echo linuxthreads || echo nptl)) + cd "${builddir}" + + emake install_root="${D}$(alt_prefix)" install || die + + if want_linuxthreads && want_nptl ; then + einfo "Installing NPTL to $(alt_libdir)/tls/..." + cd "$(builddir nptl)" + dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl + + local l src_lib + for l in libc libm librt libpthread libthread_db ; do + # take care of shared lib first ... + l=${l}.so + if [[ -e ${l} ]] ; then + src_lib=${l} + else + src_lib=$(eval echo */${l}) + fi + cp -a ${src_lib} "${ED}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}" + fperms a+rx $(alt_libdir)/tls/${l} + dosym ${l} $(alt_libdir)/tls/$(scanelf -qSF'%S#F' ${src_lib}) + + # then grab the linker script or the symlink ... + if [[ -L ${ED}$(alt_usrlibdir)/${l} ]] ; then + dosym $(alt_libdir)/tls/${l} $(alt_usrlibdir)/nptl/${l} + else + sed \ + -e "s:/${l}:/tls/${l}:g" \ + -e "s:/${l/%.so/_nonshared.a}:/nptl/${l/%.so/_nonshared.a}:g" \ + "${ED}"$(alt_usrlibdir)/${l} > "${ED}"$(alt_usrlibdir)/nptl/${l} + fi + + # then grab the static lib ... + src_lib=${src_lib/%.so/.a} + [[ ! -e ${src_lib} ]] && src_lib=${src_lib/%.a/_pic.a} + cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" + src_lib=${src_lib/%.a/_nonshared.a} + if [[ -e ${src_lib} ]] ; then + cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" + fi + done + + # use the nptl linker instead of the linuxthreads one as the linuxthreads + # one may lack TLS support and that can be really bad for business + cp -a elf/ld.so "${ED}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp" + fi + + # Newer versions get fancy with libm linkage to include vectorized support. + # While we don't really need a ldscript here, portage QA checks get upset. + if [[ -e ${ED}$(alt_usrlibdir)/libm-${PV}.a ]] ; then + dosym ../../$(get_libdir)/libm-${PV}.so $(alt_usrlibdir)/libm-${PV}.so + fi + + # We'll take care of the cache ourselves + rm -f "${ED}"/etc/ld.so.cache + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems even + # if the main library set isn't installed into the right place. Maybe + # we should query the active gcc for info instead of hardcoding it ? + local i ldso_abi ldso_name + local ldso_abi_list=( + # x86 + amd64 /lib64/ld-linux-x86-64.so.2 + x32 /libx32/ld-linux-x32.so.2 + x86 /lib/ld-linux.so.2 + # mips + o32 /lib/ld.so.1 + n32 /lib32/ld.so.1 + n64 /lib64/ld.so.1 + # powerpc + ppc /lib/ld.so.1 + ppc64 /lib64/ld64.so.1 + # s390 + s390 /lib/ld.so.1 + s390x /lib/ld64.so.1 + # sparc + sparc32 /lib/ld-linux.so.2 + sparc64 /lib64/ld-linux.so.2 + ) + case $(tc-endian) in + little) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64.so.1 + ) + ;; + big) + ldso_abi_list+=( + # arm + arm64 /lib/ld-linux-aarch64_be.so.1 + ) + ;; + esac + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib + fi + for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do + ldso_abi=${ldso_abi_list[i]} + has ${ldso_abi} $(get_install_abis) || continue + + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then + dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} + fi + done + + # With devpts under Linux mounted properly, we do not need the pt_chown + # binary to be setuid. This is because the default owners/perms will be + # exactly what we want. + if in_iuse suid && ! use suid ; then + find "${ED}" -name pt_chown -exec chmod -s {} + + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + # We need to make sure that /lib and /usr/lib always exists. + # gcc likes to use relative paths to get to its multilibs like + # /usr/lib/../lib64/. So while we don't install any files into + # /usr/lib/, we do need it to exist. + cd "${ED}"$(alt_libdir)/.. + [[ -e lib ]] || mkdir lib + cd "${ED}"$(alt_usrlibdir)/.. + [[ -e lib ]] || mkdir lib + + dosym usr/include $(alt_prefix)/sys-include + return 0 + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + cd "${WORKDIR}"/extra/locale + dosbin locale-gen || die + doman *.[0-8] + insinto /etc + doins locale.gen || die + + # Make sure all the ABI's can find the locales and so we only + # have to generate one set + local a + keepdir /usr/$(get_libdir)/locale + for a in $(get_install_abis) ; do + if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then + dosym /usr/$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale + fi + done + + cd "${S}" + + # Install misc network config files + insinto /etc + doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf || die + doins "${WORKDIR}"/extra/etc/*.conf || die + + if ! in_iuse nscd || use nscd ; then + doinitd "${WORKDIR}"/extra/etc/nscd || die + + local nscd_args=( + -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" + ) + version_is_at_least 2.16 || nscd_args+=( -e 's: --foreground : :' ) + sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd + + # Newer versions of glibc include the nscd.service themselves. + # TODO: Drop the $FILESDIR copy once 2.19 goes stable. + if version_is_at_least 2.19 ; then + systemd_dounit nscd/nscd.service || die + systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf || die + else + systemd_dounit "${FILESDIR}"/nscd.service || die + systemd_newtmpfilesd "${FILESDIR}"/nscd.tmpfilesd nscd.conf || die + fi + else + # Do this since extra/etc/*.conf above might have nscd.conf. + rm -f "${ED}"/etc/nscd.conf + fi + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc || die + + for d in BUGS ChangeLog* CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do + [[ -s ${d} ]] && dodoc ${d} + done + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${ED}"/etc/localtime +} + +toolchain-glibc_headers_install() { + local builddir=$(builddir "headers") + cd "${builddir}" + emake install_root="${D}$(alt_prefix)" install-headers || die + if ! version_is_at_least 2.16 ; then + insinto $(alt_headers)/bits + doins bits/stdio_lim.h || die + fi + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h || die "doins include gnu" + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include $(alt_prefix)/sys-include +} + +src_strip() { + # gdb is lame and requires some debugging information to remain in + # libpthread, so we need to strip it by hand. libthread_db makes no + # sense stripped as it is only used when debugging. + local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") + env \ + -uRESTRICT \ + CHOST=${CTARGET} \ + STRIP_MASK="/*/{,tls/}${pthread}*" \ + prepallstrip + # if user has stripping enabled and does not have split debug turned on, + # then leave the debugging sections in libpthread. + if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then + ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"/*/libpthread-*.so + fi +} + +toolchain-glibc_src_install() { + if just_headers ; then + export ABI=default + toolchain-glibc_headers_install + return + fi + + foreach_abi toolchain-glibc_do_src_install + src_strip +} + +# Simple test to make sure our new glibc isnt completely broken. +# Make sure we don't test with statically built binaries since +# they will fail. Also, skip if this glibc is a cross compiler. +# +# If coreutils is built with USE=multicall, some of these files +# will just be wrapper scripts, not actual ELFs we can test. +glibc_sanity_check() { + cd / #228809 + + # We enter ${ED} so to avoid trouble if the path contains + # special characters; for instance if the path contains the + # colon character (:), then the linker will try to split it + # and look for the libraries in an unexpected place. This can + # lead to unsafe code execution if the generated prefix is + # within a world-writable directory. + # (e.g. /var/tmp/portage:${HOSTNAME}) + pushd "${ED}"/$(get_libdir) >/dev/null + + local x striptest + for x in cal date env free ls true uname uptime ; do + x=$(type -p ${x}) + [[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue + striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue + case ${striptest} in + *"statically linked"*) continue;; + *"ASCII text"*) continue;; + esac + # We need to clear the locale settings as the upgrade might want + # incompatible locale data. This test is not for verifying that. + LC_ALL=C \ + ./ld-*.so --library-path . ${x} > /dev/null \ + || die "simple run test (${x}) failed" + done + + popd >/dev/null +} + +toolchain-glibc_pkg_preinst() { + # nothing to do if just installing headers + just_headers && return + + # prepare /etc/ld.so.conf.d/ for files + mkdir -p "${EROOT}"/etc/ld.so.conf.d + + # Default /etc/hosts.conf:multi to on for systems with small dbs. + if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then + sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf + elog "Defaulting /etc/host.conf:multi to on" + fi + + [[ ${ROOT} != "/" ]] && return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 + [[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check + + # For newer EAPIs, this was run in pkg_pretend. + if [[ ${EAPI:-0} == [0123] ]] ; then + check_devpts + fi +} + +toolchain-glibc_pkg_postinst() { + # nothing to do if just installing headers + just_headers && return + + if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then + # Generate fastloading iconv module configuration file. + "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}" + fi + + if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then + # Reload init ... if in a chroot or a diff init package, ignore + # errors from this step #253697 + /sbin/telinit U 2>/dev/null + + # if the host locales.gen contains no entries, we'll install everything + local locale_list="${EROOT}etc/locale.gen" + if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then + ewarn "Generating all locales; edit /etc/locale.gen to save time/space" + locale_list="${EROOT}usr/share/i18n/SUPPORTED" + fi + locale-gen -j $(makeopts_jobs) --config "${locale_list}" + fi +} + +_TOOLCHAIN_GLIBC_ECLASS=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass index 0203a220f8..77e807af3a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Maintainer: Toolchain Ninjas diff --git a/sdk_container/src/third_party/portage-stable/eclass/twisted-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/twisted-r1.eclass index d8c9b30894..5c86d1644a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/twisted-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/twisted-r1.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: twisted-r1.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/udev.eclass b/sdk_container/src/third_party/portage-stable/eclass/udev.eclass index 0968559100..5e5df07388 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/udev.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/udev.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: udev.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass b/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass index 610765fbca..6e99612064 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/unpacker.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: unpacker.eclass # @MAINTAINER: @@ -219,30 +218,30 @@ unpack_makeself() { debug-print "Detected Makeself version ${ver} ... using ${skip} as offset" fi case ${exe} in - tail) exe="tail -n +${skip} '${src}'";; - dd) exe="dd ibs=${skip} skip=1 if='${src}'";; + tail) exe=( tail -n +${skip} "${src}" );; + dd) exe=( dd ibs=${skip} skip=1 if="${src}" );; *) die "makeself cant handle exe '${exe}'" esac # lets grab the first few bytes of the file to figure out what kind of archive it is local filetype tmpfile="${T}/${FUNCNAME}" - eval ${exe} 2>/dev/null | head -c 512 > "${tmpfile}" + "${exe[@]}" 2>/dev/null | head -c 512 > "${tmpfile}" filetype=$(file -b "${tmpfile}") || die case ${filetype} in *tar\ archive*) - eval ${exe} | tar --no-same-owner -xf - + "${exe[@]}" | tar --no-same-owner -xf - ;; bzip2*) - eval ${exe} | bzip2 -dc | tar --no-same-owner -xf - + "${exe[@]}" | bzip2 -dc | tar --no-same-owner -xf - ;; gzip*) - eval ${exe} | tar --no-same-owner -xzf - + "${exe[@]}" | tar --no-same-owner -xzf - ;; compress*) - eval ${exe} | gunzip | tar --no-same-owner -xf - + "${exe[@]}" | gunzip | tar --no-same-owner -xf - ;; XZ*) - eval ${exe} | unxz | tar --no-same-owner -xf - + "${exe[@]}" | unxz | tar --no-same-owner -xf - ;; *) eerror "Unknown filetype \"${filetype}\" ?" diff --git a/sdk_container/src/third_party/portage-stable/eclass/user.eclass b/sdk_container/src/third_party/portage-stable/eclass/user.eclass index 9c27647d50..86bcd28247 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/user.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/user.eclass @@ -1,12 +1,9 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: user.eclass # @MAINTAINER: # base-system@gentoo.org (Linux) -# usata@gentoo.org (OS X) -# Aaron Walker (FreeBSD) # @BLURB: user management in ebuilds # @DESCRIPTION: # The user eclass contains a suite of functions that allow ebuilds diff --git a/sdk_container/src/third_party/portage-stable/eclass/vala.eclass b/sdk_container/src/third_party/portage-stable/eclass/vala.eclass index 323ad2dc37..1f1df82a15 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vala.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vala.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: vala.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass b/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass index 05c2d586cb..3eff6995fa 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vcs-snapshot.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: vcs-snapshot.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin-2.eclass index f5824bd3a1..cb822f23e7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: vdr-plugin-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass b/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass index 74e676ee4e..7c03c1e1b2 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/versionator.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: versionator.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/vim-doc.eclass b/sdk_container/src/third_party/portage-stable/eclass/vim-doc.eclass index bad18833cc..5f281eba25 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vim-doc.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vim-doc.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # This eclass is used by vim.eclass and vim-plugin.eclass to update # the documentation tags. This is necessary since vim doesn't look in diff --git a/sdk_container/src/third_party/portage-stable/eclass/vim-plugin.eclass b/sdk_container/src/third_party/portage-stable/eclass/vim-plugin.eclass index d684c4e635..cdc24a15cf 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vim-plugin.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vim-plugin.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: vim-plugin.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/vim-spell.eclass b/sdk_container/src/third_party/portage-stable/eclass/vim-spell.eclass index 804f17fdba..0a3ef952a8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vim-spell.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vim-spell.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Original Author: Ciaran McCreesh diff --git a/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass b/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass index 9303fbb479..d66149b70b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: virtualx.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass b/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass index 3b019e9ecc..6f72028c2f 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vmware-bundle.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: vmware-bundle.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass index df5de245e8..7acc97b103 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/waf-utils.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: waf-utils.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/webapp.eclass b/sdk_container/src/third_party/portage-stable/eclass/webapp.eclass index d14d922f41..c80674d3b1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/webapp.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/webapp.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: webapp.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/wxwidgets.eclass b/sdk_container/src/third_party/portage-stable/eclass/wxwidgets.eclass index db72f6dafa..63e8e22e64 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/wxwidgets.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/wxwidgets.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: wxwidgets.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/x-modular.eclass b/sdk_container/src/third_party/portage-stable/eclass/x-modular.eclass index 2b68d9490d..1d3968c41e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/x-modular.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/x-modular.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # DEPRECATED # This eclass has been superseded by xorg-2 diff --git a/sdk_container/src/third_party/portage-stable/eclass/xdg-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/xdg-utils.eclass index 61d5e9d806..1f5d4b0b4c 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xdg-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xdg-utils.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: xdg-utils.eclass # @MAINTAINER: @@ -35,7 +34,7 @@ esac # @ECLASS-VARIABLE: MIMEINFO_DATABASE_UPDATE_BIN # @INTERNAL # @DESCRIPTION: -# Path to update-desktop-database +# Path to update-mime-database : ${MIMEINFO_DATABASE_UPDATE_BIN:="/usr/bin/update-mime-database"} # @ECLASS-VARIABLE: MIMEINFO_DATABASE_DIR diff --git a/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass b/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass index 9f10932182..fd4816b844 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xdg.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: xdg.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp-common.eclass index 67ca772bac..5f8fec40d4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp-common.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp-common.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Copyright 2007-2011 Hans de Graaff # diff --git a/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp.eclass b/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp.eclass index 1b08e5c481..45546fb0ad 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xemacs-elisp.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # # Copyright 2007-2011 Hans de Graaff # diff --git a/sdk_container/src/third_party/portage-stable/eclass/xemacs-packages.eclass b/sdk_container/src/third_party/portage-stable/eclass/xemacs-packages.eclass index 2d453fc624..a40487bae7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xemacs-packages.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xemacs-packages.eclass @@ -1,6 +1,5 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: xemacs-packages.eclass # @MAINTAINER: @@ -9,35 +8,13 @@ # @DESCRIPTION: # This eclass supports ebuilds for packages distributed by XEmacs. -EXPORT_FUNCTIONS src_unpack src_compile src_install - -RDEPEND="${RDEPEND} app-editors/xemacs" -DEPEND="${DEPEND}" - -[ -z "$HOMEPAGE" ] && HOMEPAGE="http://xemacs.org/" -[ -z "$LICENSE" ] && LICENSE="GPL-2" - -# @ECLASS-VARIABLE: PKG_CAT +# @ECLASS-VARIABLE: XEMACS_PKG_CAT # @REQUIRED # @DESCRIPTION: # The package category that the package is in. Can be either standard, # mule, or contrib. -case "${PKG_CAT}" in - "standard" ) - MY_INSTALL_DIR="/usr/lib/xemacs/xemacs-packages" ;; - - "mule" ) - MY_INSTALL_DIR="/usr/lib/xemacs/mule-packages" ;; - - "contrib" ) - MY_INSTALL_DIR="/usr/lib/xemacs/site-packages" ;; - *) - die "Unsupported package category in PKG_CAT (or unset)" ;; -esac -[ -n "$DEBUG" ] && einfo "MY_INSTALL_DIR is ${MY_INSTALL_DIR}" - -# @ECLASS-VARIABLE: EXPERIMENTAL +# @ECLASS-VARIABLE: XEMACS_EXPERIMENTAL # @DEFAULT_UNSET # @DESCRIPTION: # If set then the package is downloaded from the experimental packages @@ -45,24 +22,38 @@ esac # in the experimental repository are auto-generated from XEmacs VCS, so # they may not be well-tested. -if [ -n "$EXPERIMENTAL" ] -then - [ -z "$SRC_URI" ] && SRC_URI="http://ftp.xemacs.org/pub/xemacs/beta/experimental/packages/${P}-pkg.tar.gz" +EXPORT_FUNCTIONS src_unpack src_install + +RDEPEND="app-editors/xemacs" +S="${WORKDIR}" + +: ${HOMEPAGE:="http://xemacs.org/"} +: ${LICENSE:="GPL-2+"} + +# Backwards compatibility code, to be removed after 2017-05-03 +: ${XEMACS_PKG_CAT:=${PKG_CAT}} +: ${XEMACS_EXPERIMENTAL:=${EXPERIMENTAL}} + +if [[ -n ${XEMACS_EXPERIMENTAL} ]]; then + : ${SRC_URI:="http://ftp.xemacs.org/pub/xemacs/beta/experimental/packages/${P}-pkg.tar.gz"} else - [ -z "$SRC_URI" ] && SRC_URI="http://ftp.xemacs.org/pub/xemacs/packages/${P}-pkg.tar.gz" + : ${SRC_URI:="http://ftp.xemacs.org/pub/xemacs/packages/${P}-pkg.tar.gz"} fi -[ -n "$DEBUG" ] && einfo "SRC_URI is ${SRC_URI}" -xemacs-packages_src_unpack() { - return 0 -} - -xemacs-packages_src_compile() { - einfo "Nothing to compile" -} +xemacs-packages_src_unpack() { :; } xemacs-packages_src_install() { - dodir ${MY_INSTALL_DIR} - cd "${D}${MY_INSTALL_DIR}" + local install_dir + + case ${XEMACS_PKG_CAT} in + standard) install_dir="/usr/lib/xemacs/xemacs-packages" ;; + mule) install_dir="/usr/lib/xemacs/mule-packages" ;; + contrib) install_dir="/usr/lib/xemacs/site-packages" ;; + *) die "Unsupported package category in XEMACS_PKG_CAT (or unset)" ;; + esac + debug-print "install_dir is ${install_dir}" + + dodir "${install_dir}" + cd "${D}${EPREFIX}${install_dir}" || die unpack ${A} } diff --git a/sdk_container/src/third_party/portage-stable/eclass/xfconf.eclass b/sdk_container/src/third_party/portage-stable/eclass/xfconf.eclass index b359644957..b91d0fe1ed 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xfconf.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xfconf.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: xfconf.eclass # @MAINTAINER: @@ -140,7 +139,9 @@ xfconf_pkg_postinst() { debug-print-function ${FUNCNAME} "$@" fdo-mime_desktop_database_update fdo-mime_mime_database_update - gnome2_icon_cache_update + if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then + gnome2_icon_cache_update + fi } # @FUNCTION: xfconf_pkg_postrm diff --git a/sdk_container/src/third_party/portage-stable/eclass/xorg-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/xorg-2.eclass index 9a1abb1b0c..1af1705f71 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/xorg-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/xorg-2.eclass @@ -1,6 +1,5 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # @ECLASS: xorg-2.eclass # @MAINTAINER: diff --git a/sdk_container/src/third_party/portage-stable/licenses/ACML b/sdk_container/src/third_party/portage-stable/licenses/ACML deleted file mode 100644 index cdc214d74b..0000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/ACML +++ /dev/null @@ -1,186 +0,0 @@ -LICENSE AGREEMENT -AMD CORE MATH LIBRARY - -IMPORTANT: This is a legal agreement ("Agreement") between you, either -as an individual or an entity, (the "USER") and Advanced Micro Devices, -Inc. ("AMD"). By loading the software or any portion thereof -("Software"), and any related documentation ("Documentation"), USER -agrees to all of the terms of this Agreement. Additionally, USER -remains subject to the original terms and conditions of any other -software license agreements entered into by USER and a third party. -USER is responsible for ensuring that use of the Software provided by -AMD is not in violation of any such agreement. - -DO NOT LOAD THIS SOFTWARE UNTIL YOU HAVE CAREFULLY READ -AND AGREED TO THE FOLLOWING TERMS AND CONDITIONS. -LOADING OR OTHERWISE USING THE SOFTWARE OR DOCUMENTATION -CONSTITUTES ACCEPTANCE OF THE TERMS AND CONDITIONS SET -FORTH IN THIS AGREEMENT. IF YOU DO NOT AGREE TO THE -TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS -SOFTWARE, DOCUMENTATION OR ANY PORTION THEREOF. - -NOW THEREFORE, the parties hereto agree as follows: - -1. Definitions. - a. "Updates" shall mean updated versions of the Software or - Documentation that AMD may provide, in its sole discretion, to USER - from time to time under the terms and conditions of this Agreement. - b. "Executable Code" shall mean all software in a machine-readable, - binary or executable form. - c. "Source Code" shall mean all software in human-readable or source form. - d. "Licensed Materials" shall mean the Source Code and Executable Code - of the Software as provided to USER by AMD, including Documentation and - Updates. - e. "Effective Date" shall mean a date upon which USER uses the Software - or accesses the Documentation. - -2. License. - a. Subject to the terms of this Agreement, AMD hereby grants to - USER a limited, non-exclusive, non-transferable, royalty-free - copyright license to only use the Licensed Materials for the - purpose of executing software on AMD64 processor-based computer - systems and for evaluating the performance of such software on - AMD64 processor-based computer systems. Except for the limited - licenses granted in this Section 2.a., USER shall have no other - rights in the Licensed Materials, whether express, implied, - arising by estoppel or otherwise. If USER desires to distribute - any of the Licensed Materials, USER shall enter into a separate - written agreement with AMD. - b. Without limiting Section 2.a. above, USER does NOT have the right: - (i) to modify, adapt, translate, or create derivative works based - upon the Licensed Materials or any part thereof; or - (ii) to modify, disassemble, reverse engineer, decompile, or otherwise - reduce to source code or any human perceivable form any part of the - Software or Updates thereto that are not already Source Code; or - (iii) to remove proprietary legends in the Licensed Materials, including - but not limited to legends that protect AMD's patent, trade secret, - copyright and other proprietary rights in the Licensed Materials. - -3. Ownership and Copyright of Material. - The Licensed Materials are owned by AMD and its licensors and are - protected by United States intellectual property laws and international - treaty provisions. Except as expressly provided herein, AMD does not - grant any express or implied right to USER under AMD patents, - copyrights, trademarks, or trade secret information. - -4. Obligations of the Parties. - a. Licensed Materials. - USER may use the Licensed Materials only in accordance with the terms - and conditions of this Agreement. - b. Feedback. - During the term of this Agreement, USER may inform AMD of all errors, - difficulties or other problems with the Licensed Materials, collectively - referred to as "feedback". AMD may use for any purpose whatsoever, any - feedback USER provides regarding the Licensed Materials, including, but - not limited to, usability, bug reports and test reports. - c. Issuance of Software. - AMD shall not be obligated to make the Licensed Materials publicly - available, in whole or in part. - d. Support. - AMD may, in its sole discretion, provide to USER Updates to the Software - and Documentation, and such Updates will be covered under this - Agreement. AMD is under no obligation to provide USER with any Updates, - support, or maintenance of the Software or Documentation. - -5. Disclaimer of Warranty. - AMD MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE - PERFORMANCE OF THE LICENSED MATERIALS IN ANY WAY. - FURTHERMORE, NO WARRANTIES, EXPRESS OR IMPLIED, ARE MADE - WITH RESPECT TO THE LICENSED MATERIALS, INCLUDING BUT NOT - LIMITED TO, MERCHANTABILITY OR FITNESS FOR A PARTICULAR - PURPOSE, ANY WARRANTIES THAT MAY ARISE FROM USAGE OF - TRADE OR COURSE OF DEALING, AND ANY IMPLIED WARRANTIES OF - TITLE OR NON-INFRINGEMENT. IN NO EVENT SHALL AMD BE - LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, INCIDENTAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES, EXPENSES, LOST - PROFITS, LOST SAVINGS, BUSINESS INTERRUPTION, LOST - BUSINESS INFORMATION, OR ANY OTHER DAMAGES ARISING OUT OF - THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF AMD HAS - BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. USER - acknowledges that its use of the Software without charge - reflects this allocation of risk. Some states or - jurisdictions do not allow the exclusion or limitation of - incidental, consequential or special damages, or the - exclusion or implied warranties, and therefore, the above - limitations might not apply to USER. In addition to the - disclaimer of warranties set forth above, it is - understood that AMD makes no representations concerning - the completeness, accuracy or operation of the Licensed - Materials. Furthermore, USER shall have the sole - responsibility for adequate protection and backup of its - data used in connection with the licensed materials, and - USER shall not make any claim against AMD for lost data, - re-run time, inaccurate input, work delays or lost - profits resulting from the use of the Licensed Materials. - -6. Limitation of Liability. - If, notwithstanding the provisions of this Agreement, AMD shall at any - time have any liability arising from or by virtue of this Agreement, - whether due to AMD's gross negligence, AMD's breach of its obligations - under this Agreement, or otherwise, USER agrees that in no event will - the total aggregate liability of AMD for any claims, losses, or - damages exceed $10,000. This limitation of liability is complete and - exclusive, shall apply even if AMD has been advised of the possibility - of such potential claims, losses, or damages, and shall apply - regardless of the success or effectiveness of any other remedies - possessed by USER, USER's customers, or any third parties. This - limitation of liability reflects an agreed upon allocation of risk - between AMD and USER in view of the nature of this transaction. AMD - assumes no liability that may arise out of the use or possession of - the Licensed Materials. - -7. Termination. - This Agreement shall expire in one (1) year or within five (5) - business days of written notice by AMD. If USER fails to comply with - any of its obligations hereunder, AMD shall have the right, at any - time, to terminate the Agreement, and within five (5) days after - termination of the Agreement for any reason other than the Licensed - Materials being released as a standard AMD product, USER will remove - or certify to the destruction of, the Licensed Materials from its - computer systems and return to AMD the Licensed Materials in the form - provided by AMD. - -8. General - a. Entire Agreement. - This Agreement constitutes the entire agreement between the parties - and supersedes all prior agreements concerning the subject matter - herein and may not be changed or terminated except by a written - communication signed by the party against whom the same is sought to - be enforced. - b. Severability. - If any of the provisions of this Agreement are invalid under any - applicable statute or rule of law, such provisions or portions thereof - are to that extent deemed to be omitted. The waiver or failure of - either party to exercise in any respect any right provided for herein - shall not be deemed a waiver of any further right hereunder. The - USER's remedies in this Agreement are exclusive. - c. Governing Law, Venue. - This Agreement shall be governed by the laws of the State of - California. Each party hereto submits to the jurisdiction of the - state and federal courts of Santa Clara County and the Northern - District of California for the purposes of all legal proceedings - arising out of or relating to this Agreement or the subject matter - hereof. Each party waives any objection which it may have to contest - such forum. - d. Export. - USER shall comply with any applicable laws regarding the use, export - or re-export of the Licensed Materials and any other information - contained herein, including all applicable regulations of the - U.S. Department of Commerce and/or the U.S. State Department. - e. Government Users. - If USER is a U.S. Government USER, then the Software is provided with - "RESTRICTED RIGHTS" as set forth in subparagraphs (c) (1) and (2) of - the Commercial Computer Software-Restricted Rights clause at FAR - 52.227-14 or subparagraph (c) (1)(ii) of the Rights in Technical Data - and Computer Software clause at DFARS 252.277-7013, as applicable. - f. No waiver. - The failure of AMD to enforce any rights granted hereunder or to take - action against USER in the event of any breach hereunder shall not be - deemed a waiver by AMD as to subsequent enforcement of rights or - subsequent actions in the event of future breaches. - -If you agree to abide by the terms and conditions of this Agreement, -please click "Accept." IF YOU DO NOT AGREE TO ABIDE BY THE TERMS -AND CONDITIONS OF THIS AGREEMENT AND CLICK "DECLINE," YOU MAY NOT -USE THE LICENSED MATERIALS AND MUST DESTROY THEM OR RETURN THEM -TO AMD IMMEDIATELY. diff --git a/sdk_container/src/third_party/portage-stable/licenses/AMD b/sdk_container/src/third_party/portage-stable/licenses/AMD deleted file mode 100644 index c1ab25ebf0..0000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/AMD +++ /dev/null @@ -1,188 +0,0 @@ - -AMD Software End User License Agreement - -PLEASE READ THIS LICENSE CAREFULLY BEFORE USING THE SOFTWARE. BY -DOWNLOADING, INSTALLING, COPYING OR USING THE SOFTWARE, YOU ARE AGREEING TO -BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING THE SOFTWARE -ELECTRONICALLY, SIGNIFY YOUR AGREEMENT BY CLICKING THE "AGREE/ACCEPT" -BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, PROMPTLY RETURN -THE SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT AND (IF APPLICABLE) YOUR -MONEY WILL BE REFUNDED OR IF THE SOFTWARE WAS ACCESSED ELECTRONICALLY CLICK -"DISAGREE/DECLINE". - -1. License. Advanced Micro Devices, Inc., on behalf of itself, its -subsidiaries and licensors (referred collectively as "AMD") grants to you -the following non-exclusive, right to use the software accompanying -this License (hereinafter "Software") subject to the following terms and -limitations: - - -(a) Regardless of the media upon which it is distributed, the Software is -licensed to you for use solely in conjunction with AMD hardware products to -which the Software relates ("AMD Hardware"). - -(b) You own the medium on which the Software is recorded, but AMD and, if -applicable, its licensors retain title to the Software and related -documentation. - -(c) You may: - - i) use the Software solely in connection with the AMD Hardware on a - single computer; - - ii) make one copy of the Software in machine-readable form for backup - purposes only. You must reproduce on such copy AMD's copyright notice and - any other proprietary legends that were on the original copy of the - Software; - - iii) transfer all your license rights in the Software provided you must - also transfer a copy of this License, the backup copy of the Software, - the AMD Hardware and the related documentation and provided the other - party reads and agrees to accept the terms and conditions of this - License. Upon such transfer your license rights are then terminated. - -(d) In addition to the license terms above, with respect to portions of -the Software in source code or binary form designed exclusively for use -with the Linux operating system ("AMD Linux Code"), you may use, display, -modify, copy, distribute, allow others to re-distribute, package and re- -package such AMD Linux Code for commercial and non-commercial purposes, -provided that: - - i) all binary components of the AMD Linux Code are not modified in any - way; - - ii) the AMD Linux Code is only used as part of the Software and in - connection with AMD Hardware; - - iii) all copyright notices of AMD are reproduced and you refer to these - license terms; - - iv) you may not offer or impose any terms on the use of AMD Linux - Code that alter or restrict this License; and - - v) if you have modified the AMD Linux Code, such modifications will be - made publicly available and are licensed under the same terms provided - herein to AMD or any other third party without further restriction, - royalty or any other license requirement; - - vi) to the extent there is any AMD sample or control panel source - code included in the AMD Linux Code, no rights are granted to modify such - code except for portions thereof that may be subject to third party - license terms that grant such rights; - - vii) no rights are granted to distribute the binary form of the AMD Linux - Kernel Module made by linking the AMD Proprietary Kernel Library and the - AMD Kernel Compatibility Layer binary compiled using Linux kernel - headers; - - viii) AMD is not obligated to provide any maintenance or technical - support for any code resulting from AMD Linux Code. - -2. Restrictions. The Software contains copyrighted and patented material, -trade secrets and other proprietary material. In order to protect them, -and except as permitted by this license or applicable legislation, you may -not: - - a) decompile, reverse engineer, disassemble or otherwise reduce the - Software to a human-perceivable form; - - b) modify, network, rent, lend, loan, distribute or create derivative - works based upon the Software in whole or in part; or - - c) electronically transmit the Software from one computer to another or - over a network or otherwise transfer the Software except as permitted by - this License. - -3. Termination. This License is effective until terminated. You may -terminate this License at any time by destroying the Software, related -documentation and all copies thereof. This License will terminate -immediately without notice from AMD if you fail to comply with any -provision of this License. Upon termination you must destroy the Software, -related documentation and all copies thereof. - -4. Government End Users. If you are acquiring the Software on behalf of -any unit or agency of the United States Government, the following -provisions apply. The Government agrees the Software and documentation -were developed at private expense and are provided with "RESTRICTED -RIGHTS". Use, duplication, or disclosure by the Government is subject to -restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), -DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227- -19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time -to time. In the event that this License, or any part thereof, is deemed -inconsistent with the minimum rights identified in the Restricted Rights -provisions, the minimum rights shall prevail. - -5. No Other License. No rights or licenses are granted by AMD under this -License, expressly or by implication, with respect to any proprietary -information or patent, copyright, trade secret or other intellectual -property right owned or controlled by AMD, except as expressly provided in -this License. - -6. Additional Licenses. DISTRIBUTION OR USE OF THE SOFTWARE WITH AN -OPERATING SYSTEM MAY REQUIRE ADDITIONAL LICENSES FROM THE OPERATING SYSTEM -VENDOR. - -7. Disclaimer of Warranty on Software. You expressly acknowledge and -agree that use of the Software is at your sole risk. The Software and -related documentation are provided "AS IS" and without warranty of any kind -and AMD EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FORA PARTICULAR PURPOSE, OF QUALITY, OF QUIET ENJOYMENT AND OF NON- -INFRINGEMENT OF THIRD PARTY RIGHTS. AMD DOES NOT WARRANT THAT THE -FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT -THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT -DEFECTS IN THE SOFTWARE WILL BE CORRECTED. THE ENTIRE RISK AS TO THE -RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE, -AMD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE ORTHE -RESULTS OF THE USE OF THE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF -THEIR CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. NO -ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY AMD OR AMD'S AUTHORIZED -REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF -THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT AMD OR -AMD'S AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL NECESSARY -SERVICING, REPAIR OR CORRECTION. THE SOFTWARE IS NOT INTENDED FOR USE IN -MEDICAL, LIFE SAVING OR LIFE SUSTAINING APPLICATIONS. SOME JURISDICTIONS -DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION -MAY NOT APPLY TO YOU. - -8. Limitation of Liability. TO THE MAXIMUM EXTENT PERMITTED BY LAW, UNDER -NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL AMD, OR ITS DIRECTORS, -OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR ANY INCIDENTAL, -INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF -BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND -THE LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE -OR RELATED DOCUMENTATION, BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM -INFRINGEMENT OR ALLEGED INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR -OTHER INTELLECTUAL PROPERTY RIGHT, BY AMD, EVEN IF AMD OR AMD'S AUTHORIZED -REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME -JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR -INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION -MAY NOT APPLY TO YOU. AMD will not be liable for 1) loss of, or damage to, -your records or data or 2) any damages claimed by you based on any third -party claim. In no event shall AMD's total liability to you for all -damages, losses, and causes of action (whether in contract, tort (including -negligence) or otherwise) exceed the amount paid by you for the Software. -The foregoing limitations will apply even if the above stated limitation -fails of its essential purpose. - -9. Controlling Law and Severability. This License shall be governed by -and construed under the laws of the Province of Ontario, Canada without -reference to its conflict of law principles. Any dispute related hereto -will be brought only in the courts in Toronto, Ontario, Canada and such -courts are agreed to be the convenient forum. In the event of any -conflicts between foreign law, rules, and regulations, and Canadian law, -rules, and regulations, Canadian law, rules and regulations shall prevail -and govern. The United Nations Convention on Contracts for the -International Sale of Goods shall not apply to this License. If for any -reason a court of competent jurisdiction finds any provision of this -License or portion thereof, to be unenforceable, that provision of the -License shall be enforced to the maximum extent permissible so as to effect -the intent of the parties, and the remainder of this License shall continue -in full force and effect. - -10. Complete Agreement. This License constitutes the entire agreement -between the parties with respect to the use of the Software and the related -documentation, and supersedes all prior or contemporaneous understandings -or agreements, written or oral, regarding such subject matter. No -amendment to or modification of this License will be binding unless in -writing and signed by a duly authorized representative of AMD. diff --git a/sdk_container/src/third_party/portage-stable/licenses/AMD-ADL b/sdk_container/src/third_party/portage-stable/licenses/AMD-ADL deleted file mode 100644 index 6bbf4bac40..0000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/AMD-ADL +++ /dev/null @@ -1,65 +0,0 @@ - SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT - (ADL SDK) - -IMPORTANT—READ CAREFULLY: This is a legal agreement ("Agreement") between you and Advanced Micro Devices, Inc. ("AMD"). Your use of this AMD Software Development Kit, (the "SDK") and related documentation (the "Documentation") the contents of which are listed in Schedule A, are subject to the following terms and conditions. Do not use this SDK and Documentation until you have carefully read and agreed to the following terms and conditions. By downloading or using the SDK or Documentation obtained herewith, you are expressly agreeing to all of the following terms: -WARRANTIES, SUPPORT, RIGHTS, AND DAMAGES ARE DISCLAIMED AND/OR LIMITED BELOW, PLEASE READ ENTIRELY AND CAREFULLY. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT ACCEPT THIS AGREEMENT OR USE THIS SDK, DOCUMENATION OR ANY PORTION THEREOF. -1. Deliverables. If you accept these terms and conditions, AMD will provide you with the SDK and Documentation. The SDK contains: (a) machine readable computer programming code files ("Object Code") and; (b) human readable form computer programming code and related system level documentation, including all comments, symbols and any procedural code such as job control language ("Source Code"). The SDK and Documentation is licensed, not sold, to you by AMD and its licensors (collectively referred to as "AMD") on the terms set out herein. AMD retains ownership of the SDK, Documentation and any derivative works thereof. -2. Purpose. AMD is agreeing to provide you with the SDK and Documentation solely for the purpose of developing and distributing software that operates with AMD products (the "Licensed Purpose"). The software that you distribute that includes all or a portion of the SDK is hereinafter referred to as the ("Distributed Software"). -3. License. Subject to the terms and conditions of this Agreement, AMD hereby grants you a non-exclusive, royalty-free, revocable, non-transferable, non-assignable, limited license to: -(a) use and reproduce copies of the SDK and Documentation that are reasonably required solely to carry out the Licensed Purpose; -(b) install and use a reasonable number of copies of the Source Code of the SDK internally at your site(s) solely to carry out the Licensed Purpose; -(c) modify and create derivative works of the Source Code of the SDK solely for the Licensed Purpose; and -(d) distribute, in object code form the Distributed Software, solely to carry out the licensed purpose. -Except as expressly provided in this Section 3, AMD does not grant, by implication, estoppels or otherwise under any patents, trademarks, copyrights, mask works, trade secret information, intellectual property, license or similar material. You acknowledge that all licenses granted herein are conditioned upon the use of the SDK and Documentation for the Licensed Purpose. Title to and ownership of the Materials, derivatives of the Materials (regardless of who made such derivatives), and all copies thereof shall be and/or at all times remain in AMD. -4. Requirements. With respect to all Distributed Software, you must: -a) require all distributors and any/or third party end users to agree to use the Distributed Software in accordance with terms and conditions that are substantially similar to the terms and conditions contained in Schedule B hereof. You may include these terms in your standard form agreement; -b) reproduce all AMD trademark and/or copyright notices on any copy of Distributed Software that you distribute; -5. Restrictions. Restrictions regarding your use of the SDK are as follows, you may not: -a) decompile, disassemble, reverse engineer, disassemble or otherwise reduce the software contained in the SDK to a human-perceivable form, except as otherwise contemplated herein; -b) alter any copyright, trademark or patent notice in the SDK; -c) use AMD’s trademarks in your programs’ names or in a way that suggests the Distributed Software comes from or is endorsed by AMD; -d) include contents in malicious, deceptive or unlawful programs; -e) modify or distribute the Source Code of any of the Distributed Software so that any part of it becomes subject to an Excluded license. An "Excluded License" is one that requires, as a condition of use, modification or distribution, that code be disclosed or distributed in source code form; or that others have the right to modify it; -f) publish the SDK or Documentation for others to use or copy; or -g) rent, lease or lend the SDK or Documentation or transfer the SDK or Documentation to any third party. -6. No Support. AMD is under no obligation to provide any kind of technical, development or end-user support for the SDK or any Distributed Software made from or by reference to the SDK. -7. Disclaimer of Warranty. You expressly acknowledge and agree that use of the SDK is at your sole risk. The SDK and Documentation is provided "AS IS" AND WITHOUT WARRANTY OF ANY KIND AND AMD EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. AMD DOES NOT WARRANT THAT THE CONTENTS OF THE SDK OR DOCUMENTATION WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SDK OR DOCUMENTATION WILL BE UNINTERRUPTED OR ERROR-FREE. THE ENTIRE RISK ASSOCIATED WITH THE USE OF THE SDK AND DOCUMENTATION IS ASSUMED BY YOU. FURTHERMORE, AMD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE SDK OR DOCUMENTATION IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. SHOULD THE CONTENTS OF THE SDK OR DOCUMENTATION PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. -8. Limitation of Liability. UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL AMD, OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO LICENSEE FOR ANY INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE DELIVERABLES OR RELATED DOCUMENTATION, BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM INFRINGEMENT OR ALLEGED INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT, BY AMD, EVEN IF AMD, ITS AUTHORIZED REPRESENTATIVES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD will not be liable for loss of, or damage to, your equipment, records or data or any damages claimed by you based on any third party claim. In no event shall AMD's total liability to you for all damages, losses, and causes of action (whether in contract, tort (including negligence) or otherwise) exceed the amount of $10 USD. -9. Indemnification. You will indemnify, defend, and hold AMD, its subsidiaries, successors, officers, suppliers, directors and employees harmless from any and all actions, causes of action, claims, demands, costs, liabilities, expenses and damages, including reasonable attorneys' fees, arising out of or in connection with your use of the SDK, the Distributed Software and/or any breach of your obligations under this Agreement. -10. Termination. This agreement is effective until terminated. You can terminate this agreement at any time by destroying the SDK and Documentation, and all copies you have made. This agreement will terminate immediately without notice from AMD if you fail to comply with any provision of this agreement. Upon termination you must destroy the SDK, related documentation and all copies you have made. -11. Government End Users. If you are acquiring the SDK on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees the Software and documentation were developed at private expense and are provided with "RESTRICTED RIGHTS". Use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227-19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time to time. In the event that this agreement, or any part thereof, is deemed inconsistent with the minimum rights identified in the Restricted Rights provisions, the minimum rights shall prevail. -12. Export Restrictions. The SDK and Documentation is subject to United States export laws and regulations. You agree to comply with all domestic and international export laws and regulations that apply to the SDK and Documentation, including but not limited to the Export Administration Regulations administered by the U.S. Department of Commerce and International Traffic in Arm Regulations administered by the U.S. Department of State. These laws include restrictions on destinations, end users and end use. -13. Controlling Law and Severability. This agreement is governed by and construed under the laws of the state of California without reference to its conflict of law principles. If for any reason a court of competent jurisdiction finds any provision of this agreement or portion thereof, to be unenforceable, that provision of the agreement shall be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this License shall continue in full force and effect. -14. Complete Agreement. Nothing in his agreement shall be construed to constitute either party as the agent, employee or representative of the other party This agreement constitutes the entire agreement between the parties with respect to the use of the SDK and Documentation, and supersedes all prior or contemporaneous understandings or agreements, written or oral, regarding such subject matter. No amendment to or modification of this agreement will be binding unless in writing and signed by a duly authorized representative of AMD. The waiver by either party of any breach of any provision of this agreement shall not operate or be construed as a waiver of any other or a subsequent breach of the same or different provision. No failure or delay by either party in exercising any right or remedy under this Agreement, except as provided herein, will operate as a waiver. - -If you agree to abide by the terms and conditions of this Agreement, please press "Accept." If you do not agree to abide by the terms and conditions of this Agreement, press "Decline" and you may not use or access the Materials. - -SCHEDULE A -Description of SDK and Documentation -ADL SDK - Libraries and header files (may be built into your software and distributed only as object code): -* Example application source code -* API header files -Tools and documentation (no redistribution of any kind): -* README file -* API documentation in HTML format - -Schedule B -END USER LICENSE AGREEMENT -PLEASE READ THIS LICENSE CAREFULLY BEFORE USING THE SOFTWARE. BY USING THE SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE. -1. License. The software accompanying this License (hereinafter "Software"), regardless of the media on which it is distributed, are licensed to you by Advanced Micro Devices, Inc. ("AMD") for use solely in conjunction with AMD products ("AMD Products"). You own the medium on which the Software is recorded, but AMD and AMD's Licensors (referred to collectively as "AMD") retain title to the Software and related documentation. You may: -a) use the Software solely in conjunction with the AMD Products; -b) you must reproduce on such copy AMD's copyright notice and any other proprietary legends that were on the original copy of the Software; -c) transfer all your license rights in the Software provided you must also transfer a copy of this License, the AMD Products and the related documentation and provided the other party reads and agrees to accept the terms and conditions of this License. Upon such transfer your license is then terminated. -2. Restrictions. The Software contains copyrighted and patented material, trade secrets and other proprietary material. In order to protect them, and except as permitted by applicable legislation, you may not: -a) decompile, reverse engineer, disassemble or otherwise reduce the Software to a human-perceivable form; -b) modify, network, rent, lend, loan, distribute or create derivative works based upon the Software in whole or in part; or -3. Termination. This License is effective until terminated. You may terminate this License at any time by destroying the Software, related documentation and all copies thereof. This License will terminate immediately without notice from AMD if you fail to comply with any provision of this License. Upon termination you must destroy the Software, related documentation and all copies thereof. -4. Government End Users. If you are acquiring the Software on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees the Software and documentation were developed at private expense and are provided with "RESTRICTED RIGHTS". Use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227-19, (June 1987) or FAR 52.227-14(ALT III) (June 1987), as amended from time to time. In the event that this License, or any part thereof, is deemed inconsistent with the minimum rights identified in the Restricted Rights provisions, the minimum rights shall prevail. -5. No Other License. No rights or licenses are granted by AMD under this License, expressly or by implication, with respect to any proprietary information or patent, copyright, trade secret or other intellectual property right owned or controlled by AMD, except as expressly provided in this License. -6. Additional Licenses. DISTRIBUTION OR USE OF THE SOFTWARE WITH AN OPERATING SYSTEM MAY REQUIRE ADDITIONAL LICENSES FROM THE OPERATING SYSTEM VENDOR. -7. Disclaimer of Warranty on Software. You expressly acknowledge and agree that use of the Software is at your sole risk. The Software and related documentation are provided "AS IS" and without warranty of any kind and AMD EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. AMD DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE SOFTWARE WILL BE CORRECTED. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE, AMD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF THE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY AMD OR AMD'S AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT AMD OR AMD'S AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE SOFTWARE IS NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING OR LIFE SUSTAINING APPLICATIONS. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. -8. Limitation of Liability. UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL AMD, OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR ANY INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE OR RELATED DOCUMENTATION, BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM INFRINGEMENT OR ALLEGED INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT, BY AMD, EVEN IF AMD OR AMD'S AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. AMD will not be liable for 1)loss of, or damage to, your records or data or 2) any damages claimed by you based on any third party claim. In no event shall AMD's total liability to you for all damages, losses, and causes of action (whether in contract, tort (including negligence) or otherwise) exceed the amount paid by you for the Software. -9. Export Restrictions. Recipient shall adhere to all U.S. and other applicable export laws, including but not limited to the U.S. Export Administration Regulations (EAR), currently found at 15 C.F.R. Sections 730 through 744. Further, pursuant to 15 C.F.R Section 740.6, Recipient hereby certifies that, except pursuant to a license granted by the United States Department of Commerce Bureau of Industry and Security or as otherwise permitted pursuant to a License Exception under the U.S. Export Administration Regulations ("EAR"), Recipient will not (1) export, re-export or release to a national of a country in Country Groups D:1 or E:2 any restricted technology, software, or source code it receives from AMD, or (2) export to Country Groups D:1 or E:2 the direct product of such technology or software, if such foreign produced direct product is subject to national security controls as identified on the Commerce Control List (currently found in Supplement 1 to Part 774 of EAR). For the most current Country Group listings, or for additional information about the EAR or Recipient’s obligations under those regulations, please refer to the U.S. Bureau of Industry and Security’s website at http://www.bis.doc.gov/. These export requirements shall survive any expiration or termination of this Agreement. -10. Controlling Law and Severability. This Agreement will be governed by and construed under the laws of the State of California without reference to its conflicts of law principles. The rights and obligations under this Agreement shall not be governed by the United Nations Convention on Contracts or the International Sale of Goods, the application of which is expressly excluded. Each party hereto submits to the jurisdiction of the state and federal courts of Santa Clara County and the Northern District of California for the purpose of all legal proceedings arising out of or relating to this Agreement or the subject matter hereof. Each party waives any objection which it may have to contest such forum. -11. Complete Agreement. This License constitutes the entire agreement between the parties with respect to the use of the Software and the related documentation, and supersedes all prior or contemporaneous understandings or agreements, written or oral, regarding such subject matter. No amendment to or modification of this License will be binding unless in writing and signed by a duly authorized representative of AMD. diff --git a/sdk_container/src/third_party/portage-stable/licenses/Apache-1.0 b/sdk_container/src/third_party/portage-stable/licenses/Apache-1.0 new file mode 100644 index 0000000000..48cfbaeb26 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Apache-1.0 @@ -0,0 +1,53 @@ +Copyright (c) 1995-1999 The Apache Group. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the Apache Group + for use in the Apache HTTP server project (http://www.apache.org/)." + +4. The names "Apache Server" and "Apache Group" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + apache@apache.org. + +5. Products derived from this software may not be called "Apache" + nor may "Apache" appear in their names without prior written + permission of the Apache Group. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the Apache Group + for use in the Apache HTTP server project (http://www.apache.org/)." + +THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +==================================================================== + +This software consists of voluntary contributions made by many +individuals on behalf of the Apache Group and was originally based +on public domain software written at the National Center for +Supercomputing Applications, University of Illinois, Urbana-Champaign. +For more information on the Apache Group and the Apache HTTP server +project, please see . diff --git a/sdk_container/src/third_party/portage-stable/licenses/CAOSL b/sdk_container/src/third_party/portage-stable/licenses/CAOSL index f612af7927..031397ee6e 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/CAOSL +++ b/sdk_container/src/third_party/portage-stable/licenses/CAOSL @@ -1,32 +1,41 @@ -Version 1.0 +CA Open Source Licence Version 1.0 +================================== -Copyright (c) 2002 Computer Associates. All rights reserved. +Copyright (c) 2003 Computer Associates. All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that -the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the -following disclaimer. +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the -following disclaimer in the documentation and/or other materials provided with the distribution. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. -3. The end-user documentation included with the redistribution, if any, must include the following -acknowledgment: -"This product includes software developed by Computer Associates (http://www.ca.com/)." -Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party -acknowledgments normally appear. +3. The end-user documentation included with the redistribution, if any, +must include the following acknowledgment: -4. The name "Computer Associates" must not be used to endorse or promote products derived from this software -without prior written permission. + "This product includes software developed by + Computer Associates (http://www.ca.com/)." -5. Products may not include "Computer Associates" their name, without prior written permission of the Computer -Associates. +Alternately, this acknowledgment may appear in the software itself, if and +wherever such third-party acknowledgments normally appear. -THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -COMPUTER ASSOCIATES OR CONTRIBUTORS TO THE JXPLORER OPEN SOURCE PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +4. The name "Computer Associates" must not be used to endorse or promote +products derived from this software without prior written permission. + +5. Products may not include "Computer Associates" in their name, without prior +written permission of the Computer Associates. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +COMPUTER ASSOCIATES OR CONTRIBUTORS TO THE JXPLORER OPEN SOURCE PROJECT BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/sdk_container/src/third_party/portage-stable/licenses/DXX-Rebirth b/sdk_container/src/third_party/portage-stable/licenses/DXX-Rebirth new file mode 100644 index 0000000000..69e2e7dd43 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/DXX-Rebirth @@ -0,0 +1,72 @@ +DXX-REBIRTH LICENSE +==================== +The original Descent source release is copyright by Parallax and subject +to the Parallax license below. Contributions from the D1X/D2X ("DXX") +and D1X-Rebirth/D2X-Rebirth ("Rebirth") projects are copyright their +respective contributors. The DXX and Rebirth contributors grant you +permission to convey their work, with or without modifications, pursuant +to the terms of the GNU General Public License, version 3 ("GPLv3"). As +a special exception, in recognition of the restrictions imposed by the +original Parallax license, you are excused from GPLv3 requirements that +conflict with the restrictions of the original Parallax license, but +only to the extent that such excuse is required to prevent a conflict +between the terms of the original Parallax license and the GNU General +Public License v3. This special exception is an "Additional permission" +as defined by section 7 of the GNU General Public License v3. All +provisions of the GPLv3 that can be satisfied without violating the +original Parallax license must be satisfied to the greatest extent +possible without violating the original Parallax license. Failure to +satisfy any non-excused GPLv3 provision is expressly prohibited under +this license, and is therefore void and is handled pursuant to GPLv3 +section 8 "Termination.", exactly as would occur for a non-permitted +propagation or modification of a GPLv3 covered work that had no special +exceptions. + +For purposes of this document, "copyright by Parallax" shall include any +subsequent entities to which some or all of the Parallax copyrights were +transferred, without regard to how the transfer occurred. In the event +that you are permitted to convey the material originally copyright by +Parallax under terms other than the original Parallax license below, +whether due to a general relicensing by the appropriate copyright +holders, due to special permission from the appropriate copyright +holders, or any other circumstance, the contributions from the DXX and +Rebirth projects remain subject to the GNU General Public License, +version 3. The special exception described in the preceding paragraph +excuses only conflicts with the original Parallax license. If a +subsequent license to the Parallax work conflicts with the GPLv3 in any +way that the original Parallax license did not conflict, then such new +conflicts are not excused. As detailed in GPLv3 section 12 "No +Surrender of Others' Freedom.", if you cannot simultaneously satisfy the +non-excused terms of the GPLv3 and all other conditions imposed on you, +then you may not convey the GPLv3 covered work at all. + +Additionally, if you are permitted to convey the material originally +copyright by Parallax under terms other than the original Parallax +license, and such new permission allows you to comply with the GPLv3 to +a greater extent than the original Parallax license allowed, and you +convey the covered work or a portion thereof, then such conveyance must +comply with all GPLv3 terms which can be satisfied without violating the +permission under which you convey the material originally copyright by +Parallax. + + +See GPL-3.txt for further details on the GPLv3. +For project history and its contributors, please visit the +DXX-Rebirth GIT repository at https://github.com/dxx-rebirth/dxx-rebirth/ + + + +PARALLAX LICENSE +================ +THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX +SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO +END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A +ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS +IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS +SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE +FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE +CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS +AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. +COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. + +We make no warranties as to the usability or correctness of this code. \ No newline at end of file diff --git a/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-MySQL-FLOSS-exception b/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-MySQL-FLOSS-exception index 3bc909329b..b8a930ae2b 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-MySQL-FLOSS-exception +++ b/sdk_container/src/third_party/portage-stable/licenses/GPL-2-with-MySQL-FLOSS-exception @@ -8,7 +8,7 @@ Exception Intent We want specified Free/Libre and Open Source Software ("FLOSS") applications to be able to use specified GPL-licensed MySQL client libraries (the "Program") despite the fact that not all FLOSS licenses are compatible with -version 2 of the GNU General Public License (the "GPL"). +version 2 of the GNU General Public License (the "GPL"). Legal Terms and Conditions @@ -22,7 +22,7 @@ GPL: a. You obey the GPL in all respects for the Program and the Derivative Work, except for identifiable sections of the Derivative Work which are not derived from the Program, and which can reasonably be - considered independent and separate works in themselves, + considered independent and separate works in themselves, b. all identifiable sections of the Derivative Work which are not derived from the Program, and which can reasonably be considered @@ -30,7 +30,7 @@ GPL: (i) are distributed subject to one of the FLOSS licenses listed below, and - + (ii) the object code or executable form of those sections are accompanied by the complete corresponding machine-readable source code for those sections on the same medium and under the @@ -94,9 +94,9 @@ the FLOSS Exception notice from that work and comply with the GPL in all respects, including by retaining all GPL notices. You may choose to redistribute a copy of the Program exclusively under the terms of the GPL by removing the FLOSS Exception notice from that copy of the Program, provided -that the copy has never been modified by you or any third party. +that the copy has never been modified by you or any third party. -$Id$ +$Id: FLOSS-exception.txt,v 1.5 2004/07/15 15:24:19 z Exp $ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 @@ -438,5 +438,3 @@ proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. - - diff --git a/sdk_container/src/third_party/portage-stable/licenses/Geogebra b/sdk_container/src/third_party/portage-stable/licenses/Geogebra new file mode 100644 index 0000000000..acce73a4ff --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Geogebra @@ -0,0 +1,141 @@ + LICENSE + + GeoGebra Non-Commercial License Agreement + +The International GeoGebra Institute is a non-profit organization +registered in Austria and having its office in Linz, Austria ("we", +"our" or "us"). We develop and support the GeoGebra dynamic mathematics +software application, including its source code, installers, web +applications and services, language files and associated documentation +("GeoGebra" or "the Software"). We operate GeoGebra (and publish its +related resources) through our websites located at +http://www.geogebra.org/ and http://www.geogebratube.org. + +The terms of this License form a binding agreement between you, an +individual user or non-commercial organization ("you" or "your"), and us +regarding your non-commercial use of GeoGebra. By downloading, accessing +or otherwise using GeoGebra you indicate your agreement to be bound by +these License terms. + +PLEASE NOTE THAT THIS LICENSE IS INTENDED FOR NON-COMMERCIAL USE OF +GEOGEBRA ONLY. IF YOU INTEND TO USE GEOGEBRA FOR A COMMERCIAL PURPOSE, +PLEASE CONTACT office@geogebra.org TO ARRANGE A COLLABORATION AGREEMENT +WITH US BASED ON OUR COMMERCIAL LICENSE TERMS. + +If you would like to help with developing GeoGebra please find all +details on how to get involved (including GeoGebra's source code) via +this link: http://dev.geogebra.org. + +Non-commercial License Terms + +1. This License incorporates (by reference) additional license terms +published by the Free Software Foundation and the Creative Commons +Corporation. In the event of any conflict between those additional terms +and the terms of this License, the latter shall prevail. + +2. The GeoGebra installers, web services and various copyright materials, +graphics and resources made available are licensed to you on a limited, +non-exclusive, personal, non-transferable and royalty-free license under +which you are free to use, copy, distribute, modify and transmit the GeoGebra +installers, web services and the copyright materials PROVIDED THAT you only +do so for non-commercial purposes (without charging a fee to any third party) +and PROVIDED THAT you attribute the work to us by (at least) mentioning our +name, including an appropriate copyright notice and providing a link to our +website located at http://www.geogebra.org + +3. The GeoGebra source code is licensed to you under the terms of the +GNU General Public License (version 3 or later) as published by the Free +Software Foundation, the current text of which can be found via this +link: http://www.gnu.org/licenses/gpl.html ("GPL"). Attribution (as +required by the GPL) should take the form of (at least) a mention of our +name, an appropriate copyright notice and a link to our website located +at http://www.geogebra.org. + +4. The GeoGebra language files (including all user interface "translation" +files in the GeoGebra application and applets), all GeoGebra documentation +(including "GeoGebra Help", "GeoGebra Quickstart" and all other +documentation files found on the GeoGebra webservers) and all GeoGebra +user interface image and style files (including logos, icons and style +sheets) are licensed to you under the terms of the Creative Commons +Attribution-NonCommercial-ShareAlike licence (version 3.0 or later), the +current text of which can be found via this link: +http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode. Attribution +(as required by that Creative Commons license) should take the form of (at +least) a mention of our name, an appropriate copyright notice and a link +to our website located at http://www.geogebra.org. + +5. The Software (and all related materials and resources) are licensed +to you WITHOUT ANY WARRANTY and on an AS IS basis including without +limitation the implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. We accept no liability for your use of the Software +(save to the extent such liability cannot be excluded as a matter of +law). + +6. The Software (and all related materials and resources) are licensed +to you without any offer or promise of support or future development by +the International GeoGebra Institute or any third party. Please note +that support services are available under the terms of our Collaboration +Agreement – please contact office@geogebra.org for more information. + +7. You may install GeoGebra on multiple devices in multiple locations +PROVIDED THAT you always use the Software for non-commercial purposes +and otherwise in accordance with these License terms. + +8. The copyright and other intellectual property rights (including any +trade marks) of whatever nature (arising anywhere in the world) in the +GeoGebra software (and all related resources) are and will remain our +property (or in the case of third party materials (including software +libraries) which we have the right of use, the property of the third +party licensor), and we reserve the right to grant licenses to use the +GeoGebra software (and all related resources) to third parties. + +9. An "appropriate copyright notice" for the purposes of this License +shall take the following form: +Copyright (C) International GeoGebra Institute, 2013 + +10. This License is personal to you and you must not assign it to a +third party or permit any third party to benefit from it without our +prior written consent. + +11. You will notify us immediately if you become aware of any +unauthorised use of the whole or any part of the GeoGebra software (and +all related resources). + +12. If any of the provisions of this License (including the additional +terms incorporated by reference) are held to be invalid or unenforceable +under any applicable statute or rule of law, it is to that extent to be +deemed omitted from the License. Such an omission will not affect the +validity of the remaining provisions of the License, which will remain +in full force and effect. + +13. This License shall be governed by and interpreted in accordance with +Austrian law. + +These License terms were last updated in December 2014. + +------------------------------------------------------------------------ +Libraries used by GeoGebra: + * The Apache Commons Mathematics Library, + http://commons.apache.org/math/ (Apache Software License) + * EPS Graphics, http://epsgraphics.sf.net (GPL) + * FreeHEP Java Libraries, http://java.freehep.org (LGPL) + * Giac, http://www-fourier.ujf-grenoble.fr/~parisse/giac.html (GPL3) + * Gluegen, http://java.net/projects/gluegen/sources/svn/show and + http://kenai.com/projects/gluegen/sources/gluegen-git/show (BSD) + * JFugue 2.1 (LGPL), http://www.jfugue.org/jfugue-2.1.zip (LGPL) + * JLaTeXMath, http://forge.scilab.org/index.php/p/jlatexmath/ (GPL) + * JOGL 2, https://github.com/sgothel/jogl (BSD), + * JUNG, http://jung.sourceforge.net (BSD) + * OpenCSV, http://opencsv.sourceforge.net/ (Apache 2.0) + * OpenGeoProver, http://code.google.com/p/open-geo-prover/ (GPL3) + * SVG Salamander, http://svgsalamander.java.net/ (LGPL / BSD) + * Tango Icon Gallery, http://tango.freedesktop.org (Public Domain) + * zip.js, http://gildas-lormeau.github.com/zip.js/ (BSD) + +For other tools used for running or building GeoGebra please see +http://dev.geogebra.org/trac/wiki/SourcesForUsedLibraries + +------------------------------------------------------------------------ +International GeoGebra Institute +Wolfauerstr 90, 4040 Linz, Austria +office@geogebra.org diff --git a/sdk_container/src/third_party/portage-stable/licenses/Opendylan b/sdk_container/src/third_party/portage-stable/licenses/Opendylan index 8416fb0a53..5e4ffa102b 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/Opendylan +++ b/sdk_container/src/third_party/portage-stable/licenses/Opendylan @@ -53,7 +53,7 @@ accompanying software that uses this software. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, -complete source code means the source code for all modules it contains. +complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs. @@ -72,5 +72,4 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- -$Id$ - +$Id: //info.ravenbrook.com/project/mps/master/license.txt#2 $ diff --git a/sdk_container/src/third_party/portage-stable/licenses/Sendmail b/sdk_container/src/third_party/portage-stable/licenses/Sendmail index 74020c0af3..e466568a22 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/Sendmail +++ b/sdk_container/src/third_party/portage-stable/licenses/Sendmail @@ -76,4 +76,4 @@ each of the following conditions is met: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -$Revision: 1.1 $, Last updated $Date: 2002/06/09 19:10:13 $ +$Revision: 8.11 $, Last updated $Date: 2002/04/24 22:26:56 $ diff --git a/sdk_container/src/third_party/portage-stable/licenses/Sendmail-Open-Source b/sdk_container/src/third_party/portage-stable/licenses/Sendmail-Open-Source index 9f38e3f36b..81fc539256 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/Sendmail-Open-Source +++ b/sdk_container/src/third_party/portage-stable/licenses/Sendmail-Open-Source @@ -51,12 +51,12 @@ permitted only if each of the following conditions of 1-6 are met: The name "sendmail" is a registered trademark and service mark of Sendmail, Inc. -5. We reserve the right to cancel this license if you do not comply with - the terms. This license is governed by California law and both of us - agree that for any dispute arising out of or relating to this Software, - that jurisdiction and venue is proper in San Francisco or Alameda - counties. These license terms and conditions reflect the complete - agreement for the license of the Software (which means this supercedes +5. We reserve the right to cancel this license if you do not comply with + the terms. This license is governed by California law and both of us + agree that for any dispute arising out of or relating to this Software, + that jurisdiction and venue is proper in San Francisco or Alameda + counties. These license terms and conditions reflect the complete + agreement for the license of the Software (which means this supercedes prior or contemporaneous agreements or representations). If any term or condition under this license is found to be invalid, the remaining terms and conditions still apply. @@ -74,4 +74,4 @@ permitted only if each of the following conditions of 1-6 are met: WITHOUT LIMITATION NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -$Revision: 1.1 $ $Date: 2006/07/15 21:16:12 $ +$Revision: 1.1 $ $Date: 2004/06/01 18:16:20 $ diff --git a/sdk_container/src/third_party/portage-stable/licenses/Stuffit b/sdk_container/src/third_party/portage-stable/licenses/Stuffit index 0bdcf84930..aa2fab9a3c 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/Stuffit +++ b/sdk_container/src/third_party/portage-stable/licenses/Stuffit @@ -56,5 +56,4 @@ Server, multiple user and site licenses are available, please visit: or contact: sales@aladdinsys.com -$Id$ - +$Id: LICENSE,v 1.6 2001/06/28 22:37:33 serge Exp $ diff --git a/sdk_container/src/third_party/portage-stable/licenses/TermReadKey b/sdk_container/src/third_party/portage-stable/licenses/TermReadKey deleted file mode 100644 index 73d3cc700d..0000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/TermReadKey +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (C) 1994-1999 Kenneth Albanowski. - 2001-2005 Jonathan Stowe and others - -Unlimited distribution and/or modification is allowed as long as this -copyright notice remains intact. diff --git a/sdk_container/src/third_party/portage-stable/licenses/Toyoda b/sdk_container/src/third_party/portage-stable/licenses/Toyoda new file mode 100644 index 0000000000..6d2216ef65 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Toyoda @@ -0,0 +1,11 @@ +Copyright 1993,1998,2014 Toyoda Masashi (mtoyoda@acm.org) + +Everyone is permitted to do anything on this program including copying, +modifying, and improving, unless you try to pretend that you wrote it. +i.e., the above copyright notice has to appear in all copies. +THE AUTHOR DISCLAIMS ANY RESPONSIBILITY WITH REGARD TO THIS SOFTWARE. + +--- + +Gentoo license note: The author has confirmed that this license allows +distribution of modified code: https://github.com/mtoyoda/sl/issues/52 diff --git a/sdk_container/src/third_party/portage-stable/licenses/URI b/sdk_container/src/third_party/portage-stable/licenses/URI index a368e51e95..7580200ae4 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/URI +++ b/sdk_container/src/third_party/portage-stable/licenses/URI @@ -1,5 +1,5 @@ - $Id$ + $Id: COPYRIGHT_URI 11906 2005-08-08 19:51:43Z root $ (c) Copyright 1994-2000 by The University of Rhode Island and The Massachusetts Institute of Technology diff --git a/sdk_container/src/third_party/portage-stable/licenses/W3C-document b/sdk_container/src/third_party/portage-stable/licenses/W3C-document index 1b1879149e..e052490b77 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/W3C-document +++ b/sdk_container/src/third_party/portage-stable/licenses/W3C-document @@ -1,66 +1,66 @@ W3C® DOCUMENT LICENSE http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231 -Public documents on the W3C site are provided by the copyright holders under the -following license. By using and/or copying this document, or the W3C document -from which this statement is linked, you (the licensee) agree that you have +Public documents on the W3C site are provided by the copyright holders under the +following license. By using and/or copying this document, or the W3C document +from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: -Permission to copy, and distribute the contents of this document, or the W3C -document from which this statement is linked, in any medium for any purpose and -without fee or royalty is hereby granted, provided that you include the +Permission to copy, and distribute the contents of this document, or the W3C +document from which this statement is linked, in any medium for any purpose and +without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: 1. A link or URL to the original W3C document. - 2. The pre-existing copyright notice of the original author, or if it doesn't -exist, a notice (hypertext is preferred, but a textual representation is -permitted) of the form: "Copyright © [$date-of-document] World Wide Web -Consortium, (Massachusetts Institute of Technology, European Research Consortium -for Informatics and Mathematics, Keio University). All Rights Reserved. + 2. The pre-existing copyright notice of the original author, or if it doesn't +exist, a notice (hypertext is preferred, but a textual representation is +permitted) of the form: "Copyright © [$date-of-document] World Wide Web +Consortium, (Massachusetts Institute of Technology, European Research Consortium +for Informatics and Mathematics, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231" 3. If it exists, the STATUS of the W3C document. -When space permits, inclusion of the full text of this NOTICE should be -provided. We request that authorship attribution be provided in any software, -documents, or other items or products that you create pursuant to the +When space permits, inclusion of the full text of this NOTICE should be +provided. We request that authorship attribution be provided in any software, +documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. -No right to create modifications or derivatives of W3C documents is granted -pursuant to this license. However, if additional requirements (documented in the -Copyright FAQ) are satisfied, the right to create modifications or derivatives -is sometimes granted by the W3C to individuals complying with those +No right to create modifications or derivatives of W3C documents is granted +pursuant to this license. However, if additional requirements (documented in the +Copyright FAQ) are satisfied, the right to create modifications or derivatives +is sometimes granted by the W3C to individuals complying with those requirements. -THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS -OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; -THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE -IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, +THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS +OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; +THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to this document or its contents without specific, written -prior permission. Title to copyright in this document will at all times remain +The name and trademarks of copyright holders may NOT be used in advertising or +publicity pertaining to this document or its contents without specific, written +prior permission. Title to copyright in this document will at all times remain with copyright holders. ---------------------------------------------------------------------------- -This formulation of W3C's notice and license became active on December 31 2002. -This version removes the copyright ownership notice such that this license can -be used with materials other than those owned by the W3C, moves information on -style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM is now -a host of the W3C, includes references to this specific dated version of the -license, and removes the ambiguous grant of "use". See the older formulation for -the policy prior to this date. Please see our Copyright FAQ for common questions -about using materials from our site, such as the translating or annotating -specifications. Other questions about this notice can be directed to +This formulation of W3C's notice and license became active on December 31 2002. +This version removes the copyright ownership notice such that this license can +be used with materials other than those owned by the W3C, moves information on +style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM is now +a host of the W3C, includes references to this specific dated version of the +license, and removes the ambiguous grant of "use". See the older formulation for +the policy prior to this date. Please see our Copyright FAQ for common questions +about using materials from our site, such as the translating or annotating +specifications. Other questions about this notice can be directed to site-policy@w3.org. Joseph Reagle -Last revised $Id$ -slesch Exp $ +Last revised +$Id: copyright-documents-20021231.html,v 1.6 2004/07/06 16:02:49 slesch Exp $ diff --git a/sdk_container/src/third_party/portage-stable/licenses/Xerox b/sdk_container/src/third_party/portage-stable/licenses/Xerox new file mode 100644 index 0000000000..9460a3262a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/Xerox @@ -0,0 +1,39 @@ +IMPORTANT PLEASE READ CAREFULLY BEFORE USING THIS PRODUCT: THIS SOFTWARE LICENSE AGREEMENT ("Agreement") CONTAINS THE LICENSE TERMS AND CONDITIONS FOR THE XEROX SOFTWARE AND RELATED DOCUMENTATION (collectively "Software"). + +IF YOU DOWNLOAD, INSTALL OR USE THE SOFTWARE, YOU AGREE TO BE LEGALLY BOUND BY THE FOLLOWING TERMS AND CONDITIONS. IF YOU DO NOT ACCEPT THESE LICENSE TERMS YOU MAY NOT DOWNLOAD, INSTALL OR USE THE SOFTWARE AND YOU MUST DELETE ANY SOFTWARE FILES ACCESSED BY YOU OR A THIRD PARTY ON YOUR BEHALF FROM ANY AND ALL COMPUTER MEMORY INTO WHICH SUCH SOFTWARE HAS BEEN LOADED OR STORED. + +When used in this agreement the term "Xerox" shall mean Xerox Corporation, its operating companies, subsidiaries and affiliates. + +If you are installing the Software on behalf of the end user you must agree that you are acting as an agent of the end user customer before proceeding. As agent for the end user you hereby agree that you have either; 1) read and agree to the terms of this Agreement as authorized by the end user, or 2) you have made the end user aware of the license terms and the end user has explicitly accepted them. + +1. LICENSE GRANT. +a. Xerox grants to you a non-exclusive, non-transferable license to use the Software on the Xerox-brand equipment ("Equipment") on which it was delivered or, if delivered separately, on a single item of equipment. You have no other rights to the Software and may not: (1) distribute, copy, modify, create derivatives of, decompile, or reverse engineer Software; (2) activate Software delivered in an inactivated state; or (3) allow others to engage in same. You may make archival or back-up copies of the Software, provided each copy contains all of the copyright and other proprietary notices contained on the original Software and such copies and is used only for back-up purposes. Title to, and all intellectual property rights in, Software will reside solely with Xerox and/or its licensors who will be considered third-party beneficiaries of this Agreement with rights of enforcement. +b. Software may include or incorporate software provided by Microsoft Corporation ("Microsoft Software"). In addition to all other terms and conditions of this Agreement, the following applies to Your installation and use of Microsoft Software. You may not: (i) sell, lease, loan, sublicense, or use the Microsoft Software for commercial software hosting services; (ii) publish any benchmark results for the Microsoft Software; (iii) work around any technical limitations in the Microsoft Software; or (iv) separate components of the Microsoft Software and install them on different pieces of equipment. + +2. THIRD PARTY SOFTWARE. The Software may include code developed by one or more third parties ("Third Party Software"). Some Third Party Software may be subject to other terms and conditions that may be found in an open source software disclosure package provided with the Software or available for download with the product documentation. Notwithstanding the terms and conditions of this Agreement, the Third Party Software is licensed to you subject to the terms and conditions of the software license agreement identified in the open source software disclosure. If the third party terms and conditions include licenses that provide for the availability of source code (such as the GNU General Public License), the open source software disclosure or the media on which the Software may be delivered will contain the source code or provide instructions where a copy of such source code can be obtained. + +3. DISCLAIMER OF WARRANTY. +a. YOU ACKNOWLEDGE AND AGREE THAT THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND BY XEROX OR ITS LICENSORS. XEROX AND ITS LICENSORS EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, WHETHER CREATED BY STATUTE OR OTHERWISE, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT OF THIRD-PARTY RIGHTS. XEROX AND ITS LICENSORS DO NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR PARTICULAR REQUIREMENTS, THAT IT WILL OPERATE UNINTERRUPTED OR ERROR FREE, OR THAT DEFECTS IN THE SOFTWARE CAN OR WILL BE CORRECTED. ALL WARRANTIES AND REPRESENTATIONS MADE BY PERSONS OTHER THAN XEROX, INCLUDING, BUT NOT LIMITED TO, YOUR AUTHORIZED SERVICE PROVIDER, DISTRIBUTORS, DEALERS, CONCESSIONAIRES AND OTHER RESELLERS OF XEROX, ARE ALSO DISCLAIMED. THE WARRANTY DISCLAIMERS SET FORTH HEREIN MAY NOT APPLY IN CERTAIN JURISDICTIONS, IN WHICH CASE THE WARRANTEES HEREUNDER SHALL BE THE MINIMUM REQUIRED BY LAW. +b. Software may contain, or be modified to contain, computer code capable of automatically disabling proper operation or functioning of Software and/or the system upon which it is installed. Such disabling code may be activated (a) if Xerox is denied access to the Software and/or the system as provided herein, (b) you otherwise breach any term of this Agreement, or (c) such license is terminated or expires. + +4. INDEMNIFICATION. Xerox will pay any settlement agreed to by Xerox or any final judgment for, any claim that Software infringes a third party's valid United States patent or copyright, provided that you promptly notify Xerox in writing of any alleged infringement, allow Xerox to direct the defense, and fully cooperate with Xerox. Xerox is not responsible for any non-Xerox litigation expenses or settlements unless Xerox agrees to them in writing. To avoid infringement, even if not alleged, Xerox may, at its option, and at no charge to you, either obtain a license, provide a replacement for the Software or remove or request that you remove the Software. Xerox's obligations under this section are further conditioned on you immediately removing and ceasing use of the Software in the event that Xerox requests that you remove the Software and/or provides a replacement. Xerox will not be liable for any infringement-related liability outside the scope of this section, including, without limitation, infringement based upon the Software being modified to your specifications or due to the Software being used in combination with equipment, software or supplies not provided by Xerox. + +5. LIMITATION OF LIABILITY. Notwithstanding any damages that you might incur, the entire liability of Xerox and its licensors under this Agreement and your exclusive remedy will be limited to the greater of the amount actually paid by you for the Software or U.S. $10.00. IN NO EVENT WILL XEROX OR ITS LICENSORS BE LIABLE TO YOU FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCUDING BUT NOT LIMITED TO DAMAGES RELATED TO DATA LOSS, LOST PROFITS OR BUSINESS INTERRUPTION) IN ANY WAY ARISING OUT OF OR RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT, EVEN IF XEROX OR ITS LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND EVEN IF THE ABOVE REMEDY FAILS OF ITS ESSENTIAL PURPOSE. THE LIMITATIONS OF LIABILITY SET FORTH HEREIN MAY NOT APPLY IN CERTAIN JURISDICTIONS AND THUS MAY NOT APPLY TO YOU; IN SUCH CASES, XEROX'S AND ITS LICENSORS' LIABILITY HEREUNDER SHALL BE THE MINIMUM REQUIRED BY LAW. + +6. TERMINATION. Xerox may terminate your license for the Software (i) immediately if you no longer use or possess the equipment with which the Software was provided or are a lessor of the equipment with which the Software was provided and your first lessee no longer uses or possesses it, (ii) upon the termination of any agreement under which you have rented or leased the equipment with which the Software was provided, or (iii) immediately in the event of a breach by you. If terminated as provided above, you shall return to Xerox all copies of the Software, and remove same from all equipment into which such Software may have been loaded by you. + +7. The Software is provided with Restricted Rights. You agree to meet all requirements necessary to ensure that the Federal Government will honor such rights. Disclosure, use or reproduction of the Software and accompanying documentation are subject to restrictions set forth in the Commercial Computer-Restricted Rights clause at Federal Acquisition Regulation 52.227-19, when applicable, or in the Department of Defense Federal Acquisition Regulations Supplement 252.227-7013. + +8. SEVERABLILITY. If any provision of this Agreement is held invalid by any law, rule, order or regulation of any government, or by the final determination of any state or federal court, such invalidity will not affect the enforceability of any other provisions not held to be invalid. In the event any provision hereof is declared by competent authority to be invalid, illegal or unenforceable under any applicable law, to the extent permissible under applicable law, any such invalid, illegal or unenforceable provision shall be deemed amended lawfully to conform to the intent of the Parties. + +9. NO WAIVER. Any delay or omission by either party to exercise any right or remedy under this Agreement will not be construed to be a waiver of any such right or remedy or any other right or remedy. All of the rights of either party under this Agreement will be cumulative and may be exercised separately or concurrently. + +10. GOVERNING LAW. This Agreement shall be construed in accordance with the laws of the State of New York, without regard to its choice of laws provisions, and disputes shall be adjudicated or otherwise decided in the forums therefor located in the State of New York. The United Nation Convention on Contracts for International Sales of Goods shall not apply to this Agreement. Local law may require that certain laws of your country of residence apply to some sections of this Agreement, including but not limited to, requiring this Agreement to be governed by the laws of your country of residence. + +11. EXPORT. You will not export or re-export the Software without appropriate United States or foreign government licenses or for any purpose prohibited by any applicable export control laws. + +12. ENTIRE AGREEMENT. This Agreement constitutes the entire agreement between the parties in connection with the subject matter hereof, and supersedes all prior agreements, understandings, negotiations and discussions, whether oral or written, between the parties. No amendment to or modification of this Agreement will be binding unless it is in writing and signed by a duly authorized representative of each of the parties. + +13. REMOTE SERVICES. Certain models of Equipment are supported and serviced using data that is automatically collected by Xerox or transmitted to or from Xerox by the Equipment connected to Customer's network ("Remote Data") via electronic transmission to a secure off-site location ("Remote Data Access"). Remote Data Access also enables Xerox to transmit to Customer Releases for Software and to remotely diagnose and modify Equipment to repair and correct malfunctions. Examples of Remote Data include product registration, meter read, supply level, Equipment configuration and settings, software version, and problem/fault code data. Remote Data may be used by Xerox for billing, report generation, supplies replenishment, support services, recommending additional products and services, and product improvement/development purposes. Remote Data will be transmitted to and from Customer in a secure manner specified by Xerox. Remote Data Access will not allow Xerox to read, view or download the content of any Customer documents or other information residing on or passing through the Equipment or Customer's information management systems. Customer grants the right to Xerox, without charge, to conduct Remote Data Access for the purposes described above. Upon Xerox's request, Customer will provide contact information for Equipment such as name and address of Customer contact and IP and physical addresses/locations of Equipment. Customer will enable Remote Data Access via a method prescribed by Xerox, and Customer will provide reasonable assistance to allow Xerox to provide Remote Data Access. Unless Xerox deems Equipment incapable of Remote Data Access, Customer will ensure that Remote Data Access is maintained at all times maintenance or support services are being provided. + +14. DIAGNOSTIC SOFTWARE. Software used to evaluate or maintain Xerox equipment ("Diagnostic Software") may be embedded in, reside on, or may be loaded onto Xerox equipment. The Diagnostic Software and method of entry or access to it constitute valuable trade secrets of Xerox. Title to Diagnostic Software shall at all times remain solely with Xerox and/or its licensors. You agree that (a) your acquisition of the equipment does not grant you a license or right to use Diagnostic Software in any manner, and (b) that unless separately licensed by Xerox to do so, you will not access, use, reproduce, distribute, or disclose Diagnostic Software for any purpose (or allow third parties to do so). You agree at all times to allow Xerox to access, monitor, and otherwise take steps to prevent unauthorized use or reproduction of Diagnostic Software and to remove or disable Diagnostic Software. diff --git a/sdk_container/src/third_party/portage-stable/licenses/codehaus-classworlds b/sdk_container/src/third_party/portage-stable/licenses/codehaus-classworlds index a8e9a986f6..c1db5a79e1 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/codehaus-classworlds +++ b/sdk_container/src/third_party/portage-stable/licenses/codehaus-classworlds @@ -1,10 +1,10 @@ /* - $Id$ + $Id: LICENSE.txt,v 1.1.1.1 2003/07/29 04:37:59 bob Exp $ Copyright 2002 (C) The Codehaus. All Rights Reserved. - + Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: @@ -12,25 +12,25 @@ 1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document. - + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - + 3. The name "classworlds" must not be used to endorse or promote products derived from this Software without prior written - permission of The Codehaus. For written permission, please + permission of The Codehaus. For written permission, please contact bob@codehaus.org. - + 4. Products derived from this Software may not be called "classworlds" nor may "classworlds" appear in their names without prior written permission of The Codehaus. "classworlds" is a registered trademark of The Codehaus. - + 5. Due credit should be given to The Codehaus. (http://classworlds.codehaus.org/). - + THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND @@ -43,5 +43,5 @@ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - + */ diff --git a/sdk_container/src/third_party/portage-stable/licenses/comi b/sdk_container/src/third_party/portage-stable/licenses/comi new file mode 100644 index 0000000000..da90041f0f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/comi @@ -0,0 +1,93 @@ +SOFTWARE LICENSE AND LIMITED WARRANTY + +PLEASE READ THIS LICENSE CAREFULLY BEFORE INSTALLING OR USING +THE SOFTWARE. BY USING THE SOFTWARE, YOU ARE AGREEING TO BE +BOUND BY THE TERMS OF THIS LICENSE. IF YOU DO NOT AGREE TO THE +TERMS OF THIS LICENSE, DO NOT INSTALL OR USE THE SOFTWARE, +DELETE THE SOFTWARE AND ALL RELATED FILES FROM YOUR COMPUTER, +AND PROMPTLY RETURN THIS PACKAGE AND ITS CONTENTS TO THE PLACE +OF PURCHASE FOR REFUND OF THE AMOUNT YOU PAID. + +The software, artwork, music, and other components included in +this computer program (the "Software") are the copyrighted +property of LucasArts Entertainment Company LLC and its +licensors (collectively referred to as "LEC"). The Software is +licensed (not sold) to you, and LEC owns all copyright, trade +secret, patent and other proprietary rights in the Software. +You may use the Software on a single computer. You may not: +(1) copy (other than once for back-up purposes), distribute, +rent, lease or sublicense all or any portion of the Software; +(2) modify or prepare derivative works of the Software; +(3) transmit the Software over a network, by telephone, or +electronically using any means, except in the course of your +network multi-player play of the Software; or (4) reverse +engineer, decompile or disassemble the Software. You may +transfer the Software, but only if the recipient agrees to +accept the terms and conditions of this Agreement. If you +transfer the Software, you must transfer all components and +documentation and erase any copies residing on computer equip- +ment. Your license is automatically terminated if you transfer +the Software. + +LEC warrants to the original consumer purchaser that the media +furnished in this product will be free from defects in +materials and workmanship under normal use for a period of +ninety (90) days from the date of purchase (as evidenced by +your receipt). If the media supplied as part of this product +proves to be defective, and provided that the consumer +purchaser returns the media to LEC in accordance with the +instructions in this paragraph, LEC will replace the defective +media: (a) free of charge to the consumer purchaser, if the +media proves to be defective within the ninety (90) day period +following the date of purchase, and (b) if the media proves to +be defective after the expiration of the ninety (90) day +warranty period, LEC will replace the defective media for a fee +of $5.00 per Compact Disc. To obtain a replacement CD, please +return the CD only, postage prepaid, to LEC, at the address +below, accompanied by proof of date of purchase, a description +of the defect, and your name and return address. To replace +defective media after expiration of the warranty period, send +the CD only, postage prepaid, to LEC at the address below, +enclosing proof of purchase, a description of the defect, your +name and return address, and a check for $5.00 per Compact +Disc. LEC will mail a replacement to you. + +You expressly acknowledge and agree that use of the Software is + at your sole risk. Except for the limited ninety (90) day +warranty on the media set forth above, the Software and any +related documentation or materials are provided "AS IS" and +without warranty of any kind. LEC EXPRESSLY DISCLAIMS ALL +WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. LEC DOES NOT WARRANT +THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR +REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE +UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE SOFTWARE +WILL BE CORRECTED. THE ENTIRE RISK AS TO THE RESULTS AND +PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. SOME +JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, +SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. + +UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE SHALL LEC, OR ITS +DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR +ANY INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES +(INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS +INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE LIKE) +ARISING OUT OF THE POSSESSION, USE, OR MALFUNCTION OF THIS +PRODUCT, INCLUDING WITHOUT LIMITATION, DAMAGE TO PROPERTY AND, +TO THE EXTENT PERMITTED BY LAW, DAMAGES FOR PERSONAL INJURY, +EVEN IF LEC HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH +DAMAGES OR LOSS, AND EVEN IF LEC OR AN LEC AUTHORIZED +REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR +EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, +SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. + +THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY HAVE +OTHER RIGHTS DEPENDING ON THE LAWS IN YOUR STATE. YOU AGREE +THAT THE LIABILITY OF LEC ARISING OUT OF ANY KIND OF LEGAL +CLAIM (WHETHER IN CONTRACT, TORT, OR OTHERWISE) WILL NOT EXCEED +THE AMOUNT YOU ORIGINALLY PAID FOR THE USE OF THIS PRODUCT. + +© LucasArts Entertainment Company LLC. All rights reserved. +iMUSE U.S. Patent number 5,315,057. diff --git a/sdk_container/src/third_party/portage-stable/licenses/creduce b/sdk_container/src/third_party/portage-stable/licenses/creduce deleted file mode 100644 index 434275af8d..0000000000 --- a/sdk_container/src/third_party/portage-stable/licenses/creduce +++ /dev/null @@ -1,32 +0,0 @@ --*- mode: Text -*- - -C-Reduce is Copyright (c) 2011-2012 The University of Utah. - -C-Reduce is distributed under the following license, which is often called -the "University of Illinois Open Source License." - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal with the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimers. -// -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimers in the -// documentation and/or other materials provided with the distribution. -// -// * Neither the names of the University of Utah nor the names of its -// contributors may be used to endorse or promote products derived from -// this Software without specific prior written permission. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// WITH THE SOFTWARE. diff --git a/sdk_container/src/third_party/portage-stable/licenses/descent2-data b/sdk_container/src/third_party/portage-stable/licenses/descent-data similarity index 94% rename from sdk_container/src/third_party/portage-stable/licenses/descent2-data rename to sdk_container/src/third_party/portage-stable/licenses/descent-data index 60b733c186..dc0dad417a 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/descent2-data +++ b/sdk_container/src/third_party/portage-stable/licenses/descent-data @@ -12,7 +12,7 @@ or anything incorporated therein or permit or encourage any third party to do so. - DESCENT COPYRIGHT (C) 1996 PARALLAX SOFTWARE CORPORATION + DESCENT COPYRIGHT (C) 1994-1998 PARALLAX SOFTWARE CORPORATION ALL RIGHTS RESERVED ALL TRADEMARKS ARE PROPERTY OF INTERPLAY PRODUCTIONS, INC. diff --git a/sdk_container/src/third_party/portage-stable/licenses/dotnet-eula b/sdk_container/src/third_party/portage-stable/licenses/dotnet-eula new file mode 100644 index 0000000000..d7a4344ed4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/dotnet-eula @@ -0,0 +1,128 @@ +MICROSOFT SOFTWARE LICENSE TERMS +MICROSOFT .NET PORTABLE CLASS LIBRARY REFERENCE ASSEMBLIES – 4.6 +These license terms are an agreement between Microsoft Corporation (or +based on where you live, one of its affiliates) and you. Please read +them. They apply to the software named above. The terms also apply to +any Microsoft +• updates, +• supplements, +• Internet-based services, and +• support services +for this software, unless other terms accompany those items. If so, +those terms apply. +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT +THEM, DO NOT USE THE SOFTWARE. +IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS +BELOW. +1. INSTALLATION AND USE RIGHTS. You may install and use any number of +copies of the software to design, develop and test your programs. +2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. +a. Distributable Code. You may distribute the software in developer +tool programs you develop, to enable customers of your programs to +develop portable libraries for use with any device or operating system, +if you comply with the terms below. +i. Right to Use and Distribute. The software is “Distributable Code.” +• Distributable Code. You may copy and distribute the object code form +of the software. +• Third Party Distribution. You may permit distributors of your +programs to copy and distribute the Distributable Code as part of those +programs. +ii. Distribution Requirements. For any Distributable Code you +distribute, you must +• add significant primary functionality to it in your programs; +• require distributors and your customers to agree to terms that +protect it at least as much as this agreement; +• display your valid copyright notice on your programs; and +• indemnify, defend, and hold harmless Microsoft from any claims, +including attorneys’ fees, related to the distribution or use of your +programs. +iii. Distribution Restrictions. You may not +• alter any copyright, trademark or patent notice in the Distributable +Code; +• use Microsoft’s trademarks in your programs’ names or in a way that +suggests your programs come from or are endorsed by Microsoft; +• include Distributable Code in malicious, deceptive or unlawful +programs; or +• modify or distribute the Distributable Code so that any part of it +becomes subject to an Excluded License. An Excluded License is one that +requires, as a condition of use, modification or distribution, that +• the code be disclosed or distributed in source code form; or +• others have the right to modify it. +3. SCOPE OF LICENSE. The software is licensed, not sold. This +agreement only gives you some rights to use the software. Microsoft +reserves all other rights. Unless applicable law gives you more rights +despite this limitation, you may use the software only as expressly +permitted in this agreement. In doing so, you must comply with any +technical limitations in the software that only allow you to use it in +certain ways. You may not +• work around any technical limitations in the software; +• reverse engineer, decompile or disassemble the software, except and +only to the extent that applicable law expressly permits, despite this +limitation; +• publish the software for others to copy; or +• rent, lease or lend the software. +4. FEEDBACK. You may provide feedback about the software. If you give +feedback about the software to Microsoft, you give to Microsoft, without +charge, the right to use, share and commercialize your feedback in any +way and for any purpose. You also give to third parties, without charge, +any patent rights needed for their products, technologies and services +to use or interface with any specific parts of a Microsoft software or +service that includes the feedback. You will not give feedback that is +subject to a license that requires Microsoft to license its software or +documentation to third parties because we include your feedback in +them. These rights survive this agreement. +5. TRANSFER TO A THIRD PARTY. The first user of the software may +transfer it, and this agreement, directly to a third party. Before the +transfer, that party must agree that this agreement applies to the +transfer and use of the software. The first user must uninstall the +software before transferring it separately from the device. The first +user may not retain any copies. +6. EXPORT RESTRICTIONS. The software is subject to United States +export laws and regulations. You must comply with all domestic and +international export laws and regulations that apply to the software. +These laws include restrictions on destinations, end users and end use. +For additional information, see www.microsoft.com/exporting. +7. SUPPORT SERVICES. Because this software is “as is,” we may not +provide support services for it. +8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, +updates, Internet-based services and support services that you use, are +the entire agreement for the software and any support services we +provide. +9. APPLICABLE LAW. +a. United States. If you acquired the software in the United States, +Washington state law governs the interpretation of this agreement and +applies to claims for breach of it, regardless of conflict of laws +principles. The laws of the state where you live govern all other +claims, including claims under state consumer protection laws, unfair +competition laws, and in tort. +b. Outside the United States. If you acquired the software in any +other country, the laws of that country apply. +10. LEGAL EFFECT. This agreement describes certain legal rights. You +may have other rights under the laws of your country. You may also have +rights with respect to the party from whom you acquired the software. +This agreement does not change your rights under the laws of your +country if the laws of your country do not permit it to do so. +11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR +THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES +OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY +GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. +TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +AND NON-INFRINGEMENT. +FOR AUSTRALIA – YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN +CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE +RIGHTS. +12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN +RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. +$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, +LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. +This limitation applies to +• anything related to the software, services, content (including code) +on third party Internet sites, or third party programs; and +• claims for breach of contract, breach of warranty, guarantee or +condition, strict liability, negligence, or other tort to the extent +permitted by applicable law. +It also applies even if Microsoft knew or should have known about the +possibility of the damages. The above limitation or exclusion may not +apply to you because your country may not allow the exclusion or +limitation of incidental, consequential or other damages. diff --git a/sdk_container/src/third_party/portage-stable/licenses/gitter b/sdk_container/src/third_party/portage-stable/licenses/gitter new file mode 100644 index 0000000000..48951f46ac --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/gitter @@ -0,0 +1,161 @@ +This terms of use agreement (this “agreement”) (together with the documents referred to in it) is a legal agreement between you and Troupe Technology Limited incorporated and registered in England and Wales with company number 08293148 and whose registered office is at 18 Mitchell Road, West Malling, Kent ME19 4RF, United Kingdom (“we”, “us” or “our”) for the use of our Gitter platform (“Gitter”). + +By using and/or registering to use Gitter (whether as a free user or a paid user), you must read, agree with and accept all of the terms and conditions contained in this agreement. This agreement is provided to you and concluded in English. You agree that any use by you of Gitter shall constitute your acceptance of the agreement. We recommend that you store or print-off a copy of the agreement (including all policies) for your records. + +If you do not agree to the terms of this agreement, please refrain from using Gitter. + +1. Applicable terms + +1. This agreement refers to the following additional terms, which also apply to your use of Gitter: +a. our acceptable use policy, which sets out the permitted and prohibited uses of Gitter. When using Gitter, you must comply with this acceptable use policy; +b. our privacy policy, which sets out the terms on which we process any personal data we collect from you, or that you provide to us. By using Gitter, you consent to such processing and you warrant that all data provided by you is accurate; +c. our cookie policy, which sets out information about the cookies on Gitter; and +d. a Creative Commons licence, which sets out the terms on which public conversations may be used and shared. +2. Gitter is built on top of GitHub. You must, therefore, comply with GitHub’s terms and conditions. You acknowledge that we have no control over GitHub’s terms and conditions. +3. If you subscribe for any of our other services you will also have to agree to the terms that govern the service you have subscribed for. + +2. Accessing Gitter + +1. We have developed Gitter to enable better communication between people and teams. You may use Gitter as either a free user or as a paid user. +2. In consideration of you agreeing to abide by the terms of this agreement, we hereby grant to you a non-exclusive, non-transferable, licence to use Gitter on the terms of this agreement. +3. Access to Gitter is permitted on a temporary basis and we reserve the right to withdraw or amend the services or functionality that we provide on Gitter without notice. We will not be liable if for any reason Gitter is unavailable at any time or for any period. +4. From time to time, we may restrict access to some parts of Gitter, or the entire Gitter platform, to users who have registered with us. We will use reasonable endeavours to fix issues and bugs in Gitter as quickly as we can. +5. If you choose, or you are provided with, a user identification code, password or any other piece of information as part of our security procedures, you must treat such information as confidential, and you must not disclose it to any third party. We have the right to disable any user identification code or password, whether chosen by you or allocated by us, at any time, if in our opinion you have failed to comply with any of the provisions of this agreement. +6. You must not misuse Gitter by knowingly introducing viruses, Trojans, worms, logic bombs or other material which is malicious or technologically harmful. You must not attempt to gain unauthorised access to Gitter, the server on which Gitter is stored or any server, computer or database connected to Gitter. You must not attack Gitter via a denial-of-service attack or a distributed denial-of service attack. +7. If you breach clause 2.6, you will be committing a criminal offence under the Computer Misuse Act 1990. We will report any such breach to the relevant law enforcement authorities and we will co-operate with those authorities by disclosing your identity to them. In the event of such a breach, we reserve the right to immediately cease your right to use Gitter. + +3. Public and private messaging + +1. Gitter allows users to communicate with each other, including the ability to send, receive or view public messages (for example, messages in Github public repositories or public Gitter channels) or private messages (whether one-on-one private conversations, group private conversations or messages on Github private repositories (together “private messages”)). You acknowledge and agree that you shall not misuse this functionality and will comply with the terms of this agreement and our Acceptable Use Policy at all times. +2. You acknowledge and agree that private messages: +a. are permanently stored by us; +b. are available and accessible for a limited or unlimited period of time depending on your subscription level; +c. are not completely private and shall be stored, and will be accessible by, us and its employees, agents and representatives; and +d. may be disclosed by us if required by law or any order of the court or any relevant regulatory body. +3. You acknowledge and agree that public messages and other user generated content: +a. can be viewed by all users and are indexed by search engines; +b. are accessible for an unlimited period of time; and +c. are subject to the Creative Commons licence: Attribution + Noncommercial + ShareAlike (BY-NC-SA). + +4. Payment, upgrading and downgrading + +1. If you wish to subscribe for a paid account, you: +a. must pay to us the relevant [monthly] fee as set out on our pricing page; +b. agree and undertake to pay to us (without any deduction) the relevant monthly fee in advance in full (in USD) and authorise us to collect the full fee from you each month until you cancel your subscription. All fees and charges will be exclusive of VAT (or other sales taxes). You shall be responsible for, and shall pay, any fees charged by your bank or credit or debit card provider; +c. acknowledge, subject to clause 5, that the relevant monthly fees are non-refundable. +2. If you upgrade from a free account to a paid account, or upgrade to a higher level paid account from a paid account, we will immediately bill you and you agree to pay to us (without any deduction) the relevant monthly fee in full (in USD). +3. You may downgrade your account level at any time but doing so may cause the loss of features and functionality. We do not accept any liability for such loss. +4. We reserve our rights to amend the fees at any time. + +5. Cancelation and refunds + +Cooling off period + +1. If you are a consumer, you have a legal right to cancel a contract under the Consumer Contracts (Information, Cancellation and Additional Charges) Regulations 2013 during the period set out below in clause 5.2. This means that during the relevant period if you change your mind or for any other reason you decide you do not want to use Gitter, you can notify us of your decision to cancel this agreement and receive a refund. +2. Your legal right to cancel this agreement starts from the date you receive confirmation of subscription from us, which is when this agreement between us is formed. You then have a period of fourteen (14) working days in which you may cancel (“cooling-off period”). Working days means that Saturdays, Sundays or public holidays in England are not included in this period. +3. To cancel this agreement during the cooling-off period, please contact us in writing to tell us by sending an e-mail to support@gitter.im. You may wish to keep a copy of your cancellation notification for your own records. If you send us your cancellation notice by e-mail or by post, then your cancellation is effective from the date you sent us the e-mail or posted the letter to us. + +Cancellation after the cooling off period + +4. After the expiry of the cooling-off period set out in clause 5.2, you may cancel your account at any time by [clicking on the ‘Cancel your Account’ link on your account settings page]. You are solely responsible for properly cancelling your account. +5. If you cancel your Gitter account before the end of your current paid up month, your cancellation will take effect immediately and you will not be charged again. You will not, however, receive a refund in respect of the remaining dates in the paid up month. + +6. Your indemnities and undertakings + +1. You agree that when using Gitter you will comply with all applicable laws and this agreement. In particular, but without limitation, you agree not to: +a. use Gitter in any unlawful manner or in a manner which promotes or encourages illegal activity; or +b. breach any law, statute, contract, or regulation; +c. act in a manner that is obscene, defamatory, libelous, unlawfully threatening or unlawfully harassing; +d. provide false, inaccurate or misleading information; +e. use an anonymising proxy; or +f. attempt to gain unauthorised access to Gitter or any networks, servers or computer systems connected to Gitter. +2. (together the “Restricted Activities”) +3. Except as expressly set out in this agreement or as permitted by any local law, you undertake: +a. not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify Gitter or your access to Gitter; +b. not to engage in any of the Restricted Activities, nor control an account that is linked to any of the Restricted Activities; +c. not to make alterations to, or modifications of, the whole or any part of Gitter nor permit Gitter or any part of it to be combined with, or become incorporated in, any other programs or websites; +d. not to disassemble, de-compile, reverse engineer or create derivative works based on the whole or any part of Gitter, except those parts of Gitter that are published under open-source licences; +e. to include our copyright notice on all entire and partial copies of Gitter in any form; or +f. not to provide, or otherwise make available, Gitter in any form, in whole or in part (including, but not limited to, program listings, object and source program listings, object code and source code) to any person without prior written consent from us, except those parts of Gitter that are published under open-source licences. +4. Notwithstanding clause 6.1 and 6.2, you agree to indemnify us in full and on demand from and against any loss, damage, costs or expenses which we suffer or incur directly or indirectly as a result of your use of Gitter otherwise than in accordance with this agreement or any applicable laws. +5. You warrant to us that all the information you provide to us is true and accurate to the best of your knowledge. + +7. Intellectual property rights + +1. We are the owner or the licensee of all intellectual property rights in Gitter, and in the material published on it. Those works are protected by copyright laws and treaties around the world. All such rights are reserved. +2. The trade marks, service marks, and logos (“Trade Marks”) contained on Gitter are owned by us, our group companies or third party partners of us. You cannot use, copy, edit, vary, reproduce, publish, display, distribute, store, transmit, commercially exploit or disseminate the Trade Marks without the prior written consent of us, the relevant group company or the relevant third party partner of us. +3. Subject to the terms of the Creative Commons licence which governs user generated content: +a. you must not modify the paper or digital copies of any materials you have printed off or downloaded in any way, and you must not use any illustrations, photographs, video or audio sequences or any graphics separately from any accompanying text; +b. our status (and that of any identified contributors) as the authors of content on Gitter must always be acknowledged. +c. you must not use any part of the content on Gitter for commercial purposes without obtaining a licence to do so from us or our licensors. +d. if you print off, copy or download any part of Gitter in breach of this agreement, your right to use Gitter will cease immediately and you must, at our option, return or destroy any copies of the materials you have made. + +8. Uploading content to Gitter + +1. Whenever you make use of a feature that allows you to upload content to Gitter, or to make contact with other users of Gitter, you must comply with the content standards set out in our Acceptable Use Policy. +2. You warrant that any such contribution does comply with those standards, and you will be liable to us and indemnify us for any breach of that warranty. +3. Any content you upload to Gitter in a public message will be considered non-confidential and non-proprietary. To the extent it is necessary in order to complete your requests, you grant to us a perpetual, worldwide, non-exclusive, royalty free and fully paid licence to, without limitation, use, sublicence, copy, repost, transmit or otherwise distribute, publicly display, publicly perform, adapt, prepare derivative works of, compile, make available and otherwise communicate to the public the content +4. We also have the right to disclose your identity to any third party who is claiming that any content posted or uploaded by you to Gitter constitutes a violation of their intellectual property rights, or of their right to privacy. +5. We have the right to remove any posting you make on Gitter if, in our opinion, your post does not comply with the content standards set out in our Acceptable Use Policy. +6. You acknowledge and agree that Gitter acts merely as a passive conduit and/or host for the uploading storage and distribution of such content. The views expressed by other users on Gitter do not represent our views or values. We cannot and do not review the Content created or uploaded by its users, and neither we nor our subsidiaries, affiliates, successors, assigns, employees, agents, directors, officers and shareholders has any obligation, and does not undertake or assume any duty, to monitor Gitter for content that is inappropriate, that does not or might infringe any third party rights, or has otherwise been uploaded in breach of this agreement or applicable law. +7. You are solely responsible for all of the content that you upload, post or distribute to, on or through Gitter, and to the extent permissible by law, we exclude all liability with respect to content and the activities of users. + +9. Changes to these terms + +We may revise this agreement (or any of the documents referred to in this agreement) at any time by amending this page. Please check this page from time to time to take notice of any changes we made, as they are binding on you. + +10. Duplicate accounts + +We reserve the right to refuse the creation of duplicate accounts for the same user. In a case where duplicate accounts are detected, we reserve the right to close or merge these duplicate accounts without notification. + +11. Eligibility + +1. To be eligible for Gitter, you must (a) be at least 13 years old; (b) be a registered member of GitHub; and (c) agree to the terms of this agreement. +2. You further represent and warrant to us that if you are an individual and you open an account with us that you are not acting on behalf of an undisclosed principal or a third party beneficiary. +3. You undertake that your login may only be used by you and a login shared by multiple people is not permitted. + +12. No warranty + +1. Use of Gitter is at your own risk. Gitter is provided on an “as is” basis. We do not warrant or guarantee that Gitter and all or part of its contents will be always available or that its use will not be interrupted. +2. You acknowledge that Gitter may not be free of bugs or errors and you agree that the existence of any minor errors shall not constitute a breach of this agreement. + +13. Our liability + +1. Nothing in this agreement excludes or limits our liability for death or personal injury arising from our negligence, or our fraud or fraudulent misrepresentation, or any other liability that cannot be excluded or limited by English law. +2. To the extent permitted by law, we exclude all conditions, warranties, representations or other terms which may apply to Gitter or any content on it, whether express or implied. +3. Subject to clause 13.1, we will not be liable to any user for any loss or damage, whether in contract, tort (including negligence), breach of statutory duty, or otherwise, even if foreseeable, arising under or in connection with: +a. use of, or inability to use, Gitter; or +b. use of or reliance on any content displayed on Gitter. +4. We will not be liable for any loss or damage caused by a virus, distributed denial-of-service attack, or other technologically harmful material that may infect your computer equipment, computer programs, data or other proprietary material due to your use of Gitter or to your downloading of any content on it, or on any website linked to it. +5. We assume no responsibility for the content of websites linked on Gitter. Such links should not be interpreted as endorsement by us of those linked websites. We will not be liable for any loss or damage that may arise from your use of them. +6. Subject to clause 13.1, our maximum aggregate liability under or in connection with this agreement, or any collateral contract, whether in contract, tort (including negligence) or otherwise, shall in all circumstances be limited to a sum equal to US$100 or the amount you paid to us in fees in the previous 12 calendar months, whichever is greater. + +14. Termination + +1. Either party may terminate this agreement immediately and without notice to the other party. You may terminate this agreement by deleting your account and refraining to use Gitter. +2. Upon termination or expiry for any reason: +a. all rights granted to you under this agreement shall cease; +b. you must cease all activities authorised by this agreement; +c. we will not delete the content you have posted on Gitter; and +d. you must immediately delete your account and cease using Gitter and certify to us that you have done so. +3. Any provision of this agreement that expressly or by implication is intended to come into or continue in force on or after termination or expiry of this agreement shall remain in full force and effect. + +15. Transfer of rights and obligations + +1. This agreement is binding on you and us and on our respective successors and assignees. +2. You may not transfer, assign, charge or otherwise dispose of this agreement, or any of your rights or obligations arising under it, without our prior written consent. +3. We may assign, charge, novate or otherwise dispose of this agreement without our prior written consent. + +16. General Terms + +Communications +1. We are required to provide certain information to you in writing. By accepting this agreement, you agree that we can communicate with you electronically either by email or by posting notices on Gitter. +Entire Agreement +2. This agreement and any document expressly referred to in it constitutes the whole agreement between us and supersedes any previous discussions, correspondence, arrangements or understandings between us. +Law and Jurisdiction +2. This agreement and any dispute or claim arising out of or in connection with it or its subject matter or formation (including non-contractual disputes or claims) shall be governed by and construed in accordance with the law of England and Wales. +4. Any dispute or claim arising out of or in connection with this agreement will be subject to the exclusive jurisdiction of the courts of England and Wales. +Contact us +5. To contact us, please email support@gitter.im. + +PLEASE NOTE: The ‘in summary’ section is for information only and has been provided to help you to understand our legal terms and policies. The ‘in summary’ section does not replace our terms and conditions of use and you must still read, agree with and accept all of our legal terms and policies before you can use Gitter. In the event of conflict between the ‘in summary’ section and any of the terms of our legal agreements or policies, our legal agreements and/or policies shall prevail. diff --git a/sdk_container/src/third_party/portage-stable/licenses/lcc b/sdk_container/src/third_party/portage-stable/licenses/lcc index 0a79cb8533..5296699082 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/lcc +++ b/sdk_container/src/third_party/portage-stable/licenses/lcc @@ -51,12 +51,11 @@ with Addison-Wesley. Per-copy and unlimited use licenses are available; for more information, contact J. Carter Shanklin - Addison Wesley Longman, Inc. + Addison Wesley Longman, Inc. 2725 Sand Hill Rd. Menlo Park, CA 94025 650/854-0300 x2478 FAX: 650/614-2930 jcs@awl.com ----- Chris Fraser / cwfraser@microsoft.com David Hanson / drh@microsoft.com -$Revision: 1.1 $ $Date: 2013/04/28 22:21:08 $ - +$Revision: 145 $ $Date: 2001-10-17 16:53:10 -0500 (Wed, 17 Oct 2001) $ diff --git a/sdk_container/src/third_party/portage-stable/licenses/linux-firmware b/sdk_container/src/third_party/portage-stable/licenses/linux-firmware new file mode 100644 index 0000000000..86d810891a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/linux-firmware @@ -0,0 +1,7 @@ +Gentoo license note: + +Linux firmware images are distributed under a variety of licenses, +many of them being non-free. Most likely, upstream redistribution of +some firmware images may conflict with the licenses or lack thereof on +the images. You will need to check the WHENCE and LICEN[CS]E.* files +in the package for specific licensing terms. diff --git a/sdk_container/src/third_party/portage-stable/licenses/repoze b/sdk_container/src/third_party/portage-stable/licenses/repoze index 909232a153..596270b527 100644 --- a/sdk_container/src/third_party/portage-stable/licenses/repoze +++ b/sdk_container/src/third_party/portage-stable/licenses/repoze @@ -1,42 +1,40 @@ License - License + A copyright notice accompanies this license document that identifies + the copyright holders. - A copyright notice accompanies this license document that identifies - the copyright holders. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: + 1. Redistributions in source code must retain the accompanying + copyright notice, this list of conditions, and the following + disclaimer. - 1. Redistributions in source code must retain the accompanying - copyright notice, this list of conditions, and the following - disclaimer. + 2. Redistributions in binary form must reproduce the accompanying + copyright notice, this list of conditions, and the following + disclaimer in the documentation and/or other materials provided + with the distribution. - 2. Redistributions in binary form must reproduce the accompanying - copyright notice, this list of conditions, and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + 3. Names of the copyright holders must not be used to endorse or + promote products derived from this software without prior + written permission from the copyright holders. - 3. Names of the copyright holders must not be used to endorse or - promote products derived from this software without prior - written permission from the copyright holders. + 4. If any files are modified, you must cause the modified files to + carry prominent notices stating that you changed the files and + the date of any change. - 4. If any files are modified, you must cause the modified files to - carry prominent notices stating that you changed the files and - the date of any change. + Disclaimer - Disclaimer - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND - ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND + ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. diff --git a/sdk_container/src/third_party/portage-stable/licenses/symlinks b/sdk_container/src/third_party/portage-stable/licenses/symlinks new file mode 100644 index 0000000000..9730a54581 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/symlinks @@ -0,0 +1,23 @@ +From: Mark Lord +To: 273338@bugs.debian.org +Subject: symlinks utility: license policy +Date: Mon, 14 Mar 2005 08:54:57 -0500 + +Hi, + +My "symlinks" utility pre-dates the "open source licensing" fad +by a number of years. Just to clarify, this is 100% freeware, +written entirely by myself. The intent is to use it to detect +missing/obsolete symlink targets on an installed distro, before +creating the "gold" (or "final") release discs. + +Use and distribute and modify as you (or anyone else) sees fit. +There have no formal restrictions or requirements whatsoever +regarding distribution of either binaries or source code, +whether modified or original. + +Cheers +-- +Mark Lord +Real-Time Remedies Inc. +mlord@pobox.com diff --git a/sdk_container/src/third_party/portage-stable/licenses/zi-labone b/sdk_container/src/third_party/portage-stable/licenses/zi-labone new file mode 100644 index 0000000000..c1e4db4514 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/licenses/zi-labone @@ -0,0 +1,69 @@ +SOFTWARE LICENSE AGREEMENT + +This is a legal agreement ("Agreement") between you, the end user +("User"), and Zurich Instruments ("ZI"), Zurich, Switzerland. By +installing this software ("Software") you are agreeing to be bound by +the terms of this agreement. If you do not agree to the terms of this +agreement, immediately stop with the installation of this software on +your computer. + +1. LICENSE GRANT. Zurich Instruments grants you a non-exclusive +license to install and use the executable code of this Software. The +intended use of this Software is in combination with an HF2, UHF or MF +Series Instrument from Zurich Instruments. The use of this Software +together with a different instrumentation is not covered by this +grant. This Agreement will also govern any software upgrades provided +by Zurich Instruments that replace and/or supplement the original +Software, unless such upgrades are accompanied by a separate license, +in which case the terms of that license will govern. The Software is +licensed, not sold. + +2. RESTRICTIONS. The User shall not modify, alter, distribute, rent, +lease, reverse-engineer, reverse-compile, license or sublicense, or +re-sale the Software or any portions of it. + +3. TERMINATION. The license is effective until terminated. You may +terminate it at any other time by deleting (de-installing) the +Software and the related documentation from your computer. It will +also terminate upon conditions set forth elsewhere in this Agreement +or if you fail to comply with any term or condition of this Agreement. +You agree upon such termination to delete the Software together with +the related documentation. + +4. PROPRIETARY RIGHTS. This Product is owned by Zurich Instruments and +is protected by Switzerland Laws and International Treaty provisions. +Therefore, you must treat the software like any other copyrighted +material (e.g. a book or musical recording) EXCEPT that you may make +copies and install the software on any computer belonging to the same +company, institution, or governement agency ("multiple-user license +grant"). + +5. LIMITED WARRANTY. The Software is provided by Zurich Instruments +"as is". ZI warrants that the Software will perform substantially in +accordance with the accompanying written documentation. These +warranties do not guarantee that the Software will perform error-free +or uninterrupted, or that all errors in the Software and documentation +will be corrected. These warranties are exclusive and take the place +of all other express or implied warranties or conditions including +warranties or conditions of merchantability, satisfactory quality, and +fitness for a particular purpose. ZI will provide updates +(functionality extension and bug fixes) to the Software licensed +hereunder in accordance with the internal release schedule. Neither +party shall be liable for any indirect, incidental, special, punitive, +or consequential damages, or any loss of profits, revenue, data, or +data use deriving from the installation and use of this Software. This +also holds if Zurich Instruments has been advised of the possibility +of such damages. + +6. GENERAL. If any provision of this Agreement is declared void or +unenforceable by any judicial authority, this shall not nullify the +remaining provisions of the Agreement which shall remain in full force +and effect. + +Copyright © Zurich Instruments AG +Technoparkstrasse 1 +8005 Zurich +Switzerland + +phone: +41-44-5150410 +web: www.zhinst.com diff --git a/sdk_container/src/third_party/portage-stable/scripts/bootstrap.sh b/sdk_container/src/third_party/portage-stable/scripts/bootstrap.sh index b8512d2e48..3fd1c5a040 100755 --- a/sdk_container/src/third_party/portage-stable/scripts/bootstrap.sh +++ b/sdk_container/src/third_party/portage-stable/scripts/bootstrap.sh @@ -1,7 +1,6 @@ #!/bin/bash # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # people who were here: # (drobbins, 06 Jun 2003) @@ -56,7 +55,7 @@ v_echo() { env "$@" } -cvsver="$Id$" +cvsver="$Id$" # TODO: FIXME for Git era cvsver=${cvsver##*,v } cvsver=${cvsver%%Exp*} cvsyear=${cvsver#* } @@ -189,7 +188,7 @@ export ORIGUSE=$(portageq envvar USE) # Check for 'build' or 'bootstrap' in USE ... INVALID_USE=$(gawk -v ORIGUSE="${ORIGUSE}" ' - BEGIN { + BEGIN { if (ORIGUSE ~ /[[:space:]](build|bootstrap)[[:space:]]/) print "yes" }') @@ -273,7 +272,7 @@ for atom in portage.settings.packages: [[ -z ${myBINUTILS} ]] && myBINUTILS="binutils" [[ -z ${myGCC} ]] && myGCC="gcc" [[ -z ${myGETTEXT} ]] && myGETTEXT="gettext" -[[ -z ${myLIBC} ]] && myLIBC="virtual/libc" +[[ -z ${myLIBC} ]] && myLIBC="$(portageq expand_virtual / virtual/libc)" [[ -z ${myTEXINFO} ]] && myTEXINFO="sys-apps/texinfo" [[ -z ${myZLIB} ]] && myZLIB="zlib" [[ -z ${myNCURSES} ]] && myNCURSES="ncurses" @@ -327,7 +326,7 @@ export USE="-* bootstrap ${ALLOWED_USE} ${BOOTSTRAP_USE}" # We can't unmerge headers which may or may not exist yet. If your # trying to use nptl, it may be needed to flush out any old headers -# before fully bootstrapping. +# before fully bootstrapping. if [ ${BOOTSTRAP_STAGE} -le 2 ] ; then show_status 3 Emerging packages if [[ ${RESUME} -eq 1 ]] ; then