diff --git a/sdk_container/src/third_party/portage-stable/eclass/ChangeLog b/sdk_container/src/third_party/portage-stable/eclass/ChangeLog index 5d672dc008..31c262abc1 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ChangeLog +++ b/sdk_container/src/third_party/portage-stable/eclass/ChangeLog @@ -1,6 +1,1106 @@ # ChangeLog for eclass directory # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.658 2013/02/01 21:39:50 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.973 2013/09/17 17:33:39 mgorny Exp $ + + 17 Sep 2013; Michał Górny distutils-r1.eclass: + Use einstalldocs. + + 17 Sep 2013; Michał Górny python-utils-r1.eclass: + Rename variables in _python_ln_rel to make it less confusing. + + 17 Sep 2013; Michał Górny distutils-r1.eclass, + python-r1.eclass, python-single-r1.eclass, python-utils-r1.eclass: + Support python-exec:2. + + 17 Sep 2013; Thomas Sachau (Tommy[D]) + multilib-build.eclass: + Add eclass doc for multilib_build_binaries + + 17 Sep 2013; Michał Górny python-utils-r1.eclass, + tests/python-utils-r1.sh: + Introduce PYTHON_SCRIPTDIR for python-exec:2 script location. + + 17 Sep 2013; Michał Górny distutils-r1.eclass, + python-r1.eclass, python-utils-r1.eclass: + Clean up Python script install/wrapping functions. + + 17 Sep 2013; Thomas Sachau (Tommy[D]) + multilib-build.eclass: + Add multilib_build_binaries function to multilib-build eclass + + 16 Sep 2013; Michał Górny python-utils-r1.eclass: + Deprecate python_get_PYTHON and python_get_EPYTHON. + + 15 Sep 2013; Pacho Ramos gnome2-utils.eclass: + Support gtk+-2.24.20 query immodules (#476100) + + 14 Sep 2013; Michał Górny eutils.eclass: + Support EAPIs < 4 in einstalldocs properly. + + 13 Sep 2013; Michał Górny git-r3.eclass: + Fail early on unreachable URLs. If ls-remote fails due to server being + unreachable, there is no point in attempting to fetch. + + 13 Sep 2013; Michał Górny git-r3.eclass: + Do not leak EGIT_NONSHALLOW over loop iterations. Failing URL may cause + non-shallow attempt to be made. When attempting next URL in the list, we + should try shallow again. + + 13 Sep 2013; Michał Górny eutils.eclass: + Commit the version of einstalldocs() Council agreed upon. + + 12 Sep 2013; Michał Górny python-r1.eclass, + python-single-r1.eclass: + Depend on SLOT 0 of python-exec, for future compatibility. + + 12 Sep 2013; Michał Górny systemd.eclass: + Introduce systemd_install_serviced() to install foo.service.d/00gentoo.conf + files. + + 11 Sep 2013; Michał Górny systemd.eclass: + Change @USAGE style. + + 11 Sep 2013; Michał Górny systemd.eclass: + Deprecate systemd_to_myeconfargs(). It's redundant and unnecessarily + confusing. + + 11 Sep 2013; Michał Górny systemd.eclass: + Use subshells instead of "local INSDESTTREE" for doins/newins since that + confuses people less. + + 10 Sep 2013; Michał Górny multibuild.eclass: + Add new enough coreutils dep wrt bug #484454. + + 09 Sep 2013; Michał Górny git-r3.eclass: + Introduce smart switching between "git fetch" and "git fetch --depth 1" to + save bandwidth. + + 08 Sep 2013; Michał Górny git-2.eclass: + Inherit git-r3 unconditionally to avoid metadata variancy. The eclass is + properly namespaced, does not touch variables in global scope and exports + only src_unpack() that git-2 overrides anyway. + + 08 Sep 2013; Michał Górny python-utils-r1.eclass: + Fix PYTHON_SITEDIR for Jython. + + 08 Sep 2013; Michał Górny python-utils-r1.eclass: + Do not export PYTHON_INCLUDEDIR on Jython, since it does not install headers. + + 06 Sep 2013; Ian Stakenvicius cmake-multilib.eclass: + added multilib_*_wrappers calls to cmake-multilib.eclass + + 05 Sep 2013; Michał Górny git-r3.eclass: + Do not pass --depth when updating a branch, it trrigers issues in git. + Instead, use it for the first fetch only. + + 05 Sep 2013; Michał Górny git-2.eclass: + Support using git-r3 backend in git-2. + + 05 Sep 2013; Michał Górny +git-r3.eclass: + Introduce the new git eclass. + + 05 Sep 2013; Tom Wijsman kernel-2.eclass: + Added support for experimental genpatches. + + 05 Sep 2013; Michał Górny python-utils-r1.eclass: + Disable Python 2.5, 3.1 and PyPy 1.9 in the eclass. + + 04 Sep 2013; Ulrich Müller elisp-common.eclass: + Add proper @CODE tags in comments. + + 03 Sep 2013; Gilles Dartiguelongue gnome2-utils.eclass, + gnome2.eclass: + Add gdk-pixbuf cache handling functions. + + 31 Aug 2013; Thomas Sachau (Tommy[D]) + enlightenment.eclass: + Add git support for live packages using enlightenment.eclass + + 28 Aug 2013; Michał Górny python-utils-r1.eclass: + Introduce python_is_python3() to replace the common checks. + + 28 Aug 2013; Tom Wijsman ant-tasks.eclass: + Made ant-tasks.eclass support newer versions of the 1.9 branch. + + 28 Aug 2013; Ian Stakenvicius mozconfig-3.eclass: + pegged virtual/jpeg at slot 0 in mozconfig-3.eclass + + 27 Aug 2013; Michał Górny python-r1.eclass: + Enable EAPI=4 on python-r1. + + 27 Aug 2013; Tim Harder java-utils-2.eclass: + Don't add subslots to JAVA_PKG_NAME (bug #482270 by chutzpah). + + 26 Aug 2013; mozcoreconf-2.eclass: + Fix bug #415805, unset MOZCONFIG + + 25 Aug 2013; Michał Górny distutils-r1.eclass: + Mark _copy-egg-info as internal. + + 25 Aug 2013; Michał Górny distutils-r1.eclass: + Copy bundled egg-info files for reuse in python_compile(). This solves issues + that caused some of the files not to be installed in broken packages. + + 25 Aug 2013; Michał Górny distutils-r1.eclass: + Namespace, clean up and describe _disable_ez_setup. + + 25 Aug 2013; Gilles Dartiguelongue gnome-games.eclass: + Fix indentation and trailing whitespaces. + + 21 Aug 2013; Michael Palimaka kde4-meta.eclass: + Improve automagic dependency reduction, fixing bug #481996. + + 16 Aug 2013; Benda Xu wxwidgets.eclass: + Prefix support for wxwidgets, bug #481093 + + 15 Aug 2013; Michael Palimaka kde4-base.eclass, + kde4-meta.eclass: + Fixes for KDE 4.11 and other small improvements. + + 15 Aug 2013; Michael Palimaka kde4-base.eclass, + kde4-meta.eclass: + Remove dependencies and actions that are now handled in individual ebuilds. + + 15 Aug 2013; Michael Palimaka kde4-base.eclass, + kde4-functions.eclass, kde4-meta.eclass: + Remove old, unused code. + + 15 Aug 2013; Michael Palimaka kde4-base.eclass, + kde4-functions.eclass: + Remove EAPI 3 support. + + 15 Aug 2013; Ryan Hill toolchain.eclass: + alpha not only needs -Wl,--norelax for 4.6 to build itself, but also for it + to build other versions. So let's just always enable it (bug #481006). + + 13 Aug 2013; Davide Pesavento qt4-build.eclass: + Filter -fgraphite-identity on gcc 4.7 (bug 417105). + + 13 Aug 2013; Davide Pesavento qt4-build.eclass: + Remove workarounds for very old and unsupported gcc-3 versions. Warn if + trying to use gcc < 4.4 and USE=c++0x. + + 11 Aug 2013; Justin Lecher cuda.eclass: + Add compatibility to latest cuda compiler; respect LDFLAGS + + 11 Aug 2013; Mike Gilbert chromium.eclass: + Don't call EXPORT_FUNCTONS if CHROMIUM_EXPORT_PHASES is set to 'no'. + + 10 Aug 2013; Ryan Hill toolchain.eclass: + Clean up gcc_do_filter_flags a bit more. Drop ppc64 workaround for 3.2/3.3 + as neither is keyworded. Also stop replacing -march=i686 with x86-64 (?!) for + those versions. + + 10 Aug 2013; Ryan Hill toolchain.eclass: + Append -Wl,--no-relax to LDFLAGS on alpha for 4.6 (bug #454426 again). + + 08 Aug 2013; Michał Górny +twisted-r1.eclass: + Introduce a twisted-r1.eclass to join the python-r1 suite and replace + twisted.eclass. + + 08 Aug 2013; Michał Górny multilib-build.eclass: + Allow wrapping headers that are installed only for some of the ABIs. + + 07 Aug 2013; Mike Gilbert python-r1.eclass, + python-single-r1.eclass: + Mention that PYTHON_REQ_USE should be set before calling inherit. + + 04 Aug 2013; Michał Górny python-r1.eclass: + Drop the old PYTHON_COMPAT hack for python-exec. + + 03 Aug 2013; Patrick Lauer distutils.eclass: + Migrate twisted deps in distutils eclass + + 02 Aug 2013; Ulrich Müller elisp-common.eclass: + Sync from Emacs overlay: Make elisp-emacs-version() more robust. + + 02 Aug 2013; Michał Górny git.eclass: + Mark git.eclass @DEAD. + + 01 Aug 2013; Michał Górny distutils-r1.eclass: + Shout QA warnings when _all() phases do not call the default impls. + Bug #478804. + + 01 Aug 2013; Michał Górny python-any-r1.eclass: + python-any-r1: bail out on invalid PYTHON_COMPAT. Bug #478442. + + 31 Jul 2013; Julian Ospald kernel-2.eclass: + reword security-deblob-thing acked by keytoaster + + 31 Jul 2013; Matt Turner perl-module.eclass: + Allow using >=dev-lang/perl-5.16 without 'build' in IUSE. + + 30 Jul 2013; Michał Górny xorg-2.eclass: + Update the emul-linux blocker to support abi_x86_32 flag on emul-linux. + + 30 Jul 2013; Matt Turner multilib-build.eclass: + Add MIPS support to multilib-build.eclass. + + 29 Jul 2013; Sergei Trofimovich haskell-cabal.eclass: + ask user to run haskell-updater for old packages (like in bug + http://bugs.gentoo.org/474840) + + 29 Jul 2013; Justin Lecher fortran-2.eclass: + Fortran-2.eclass: enhance support for binary packages, #477070 + + 29 Jul 2013; Justin Lecher intel-sdp.eclass: + Intel-sdp.eclass: Allow single package downloads, custom suffix, full + specified rpm target location + + 27 Jul 2013; Davide Pesavento qt4-build.eclass: + Rewrite sed expression in qt_nolibx11() to work on both 4.8.4 and 4.8.5. + Fixes bug 478018. + + 27 Jul 2013; Pacho Ramos go-mono.eclass: + Don't block mono-3 + + 27 Jul 2013; Michał Górny python.eclass, + python-distutils-ng.eclass, python-utils-r1.eclass: + Switch eclasses to use virtual/pypy (and therefore support pypy-bin). + + 27 Jul 2013; Michał Górny python-any-r1.eclass: + Use PYTHON_PKG_DEP for generating deps. + + 27 Jul 2013; Michał Górny systemd.eclass: + Introduce systemd_is_booted() to allow ebuilds to warn consistently for + things that require systemd. Bug #478342. + + 27 Jul 2013; Michał Górny subversion.eclass: + Export working copy information after the update rather than in + pkg_preinst(). This makes it possible for ebuild to reference e.g. + ESVN_WC_REVISION properly. Bug #282486. + + 25 Jul 2013; Peter Volkov font.eclass: + Droped media-libs/fontconfig dependency, bug 446012. + + 25 Jul 2013; Michał Górny vcs-snapshot.eclass: + Add some debug. + + 24 Jul 2013; Tomáš Chvátal cmake-utils.eclass: + Fix function desc to match reality. + + 24 Jul 2013; Ryan Hill toolchain.eclass: + Add back LICENSE (bug #477836). + + 23 Jul 2013; Johannes Huber kde4-base.eclass: + Handle dev-qt/desinger split from dev-qt/gui, see bug #477934. + + 23 Jul 2013; Michał Górny bash-completion-r1.eclass: + Fix typo. + + 22 Jul 2013; Fabian Groffen bash-completion-r1.eclass: + Another attempt at fixing bash-completion for Prefix, bug #477692#c9 + + 22 Jul 2013; Samuli Suominen + bash-completion-r1.eclass: + Remove use of EPREFIX wrt #477692 to avoid collision with Portage helpers + + 21 Jul 2013; Michał Górny distutils-r1.eclass: + Replace local+export with "local -x". + + 21 Jul 2013; Pacho Ramos db.eclass, db-use.eclass: + Cleanup due #231248 + + 19 Jul 2013; Justin Lecher intel-sdp.eclass: + Support different tarball extentions + + 18 Jul 2013; Ryan Hill toolchain.eclass: + libffi installation was fixed in 4.8. + + 18 Jul 2013; Justin Lecher fortran-2.eclass: + Wrap lines at 80 char + + 15 Jul 2013; Samuli Suominen + bash-completion-r1.eclass: + Support pkg-config and the new upstream completions directory structure wrt + #472938 and introduce new get_bashhelpersdir function to obtain the + helpersdir="" value. + + 15 Jul 2013; Samuli Suominen kernel-2.eclass: + Deprecate media-sound/alsa-headers by letting sys-kernel/linux-headers + install the required sound/ headers wrt #468712#c6 + + 14 Jul 2013; Julian Ospald cmake-utils.eclass: + add CMAKE_WARN_UNUSED_CLI + + 11 Jul 2013; Ulrich Müller bzr.eclass: + New variable EBZR_UNPACK_DIR. + + 11 Jul 2013; Michał Górny python-utils-r1.eclass: + Add a safety check for using python_optimize() in pkg_*. + + 11 Jul 2013; Michał Górny python-utils-r1.eclass: + Fix typo in compileall call. + + 11 Jul 2013; Michał Górny multilib-build.eclass: + Add multilib_is_native_abi helper. + + 10 Jul 2013; Robin H. Johnson db.eclass: + Additional change to run tests successfully on newer versions of db + + 09 Jul 2013; Mike Gilbert distutils-r1.eclass: + Stub-out ez_setup.py and distribute_setup.py to prevent packages from + downloading their own copy of setuptools. + + 06 Jul 2013; Davide Pesavento qt4-build.eclass: + Update SRC_URI. Drop support for EAPI 3. + + 05 Jul 2013; Tom Wijsman ant-tasks.eclass: + Update ant-tasks for 1.9.1 version bump, needs 1.5 as minimal JDK / JRE version. + + 03 Jul 2013; Michael Palimaka kde4-functions.eclass: + Deprecate EAPI 3. + + 02 Jul 2013; Michael Palimaka cmake-utils.eclass: + Correct src_prepare description. + + 30 Jun 2013; Pacho Ramos +gnome-games.eclass: + Add eclass to be used by all now splitted gnome-games + + 29 Jun 2013; Michał Górny autotools-utils.eclass: + Respect arguments when checking for test targets. This becomes helpful if one + of the arguments is -C. + + 28 Jun 2013; Michał Górny autotools-multilib.eclass, + multilib-minimal.eclass: + Disable trying (and failing) to wrap headers when multilib is disabled, bug + #474920. + + 28 Jun 2013; Michał Górny multilib-build.eclass: + Fix redundant slashes in header-wrapping include paths, bug #475046. Thanks + to Arfrever for the patch. + + 23 Jun 2013; Michael Weber +netsurf.eclass: + Add netsurf.eclass + + 23 Jun 2013; Hans de Graaff ruby-ng.eclass: + Add support for ruby20. + + 22 Jun 2013; Justin Lecher cuda.eclass: + Add debug print + + 21 Jun 2013; Michał Górny multibuild.eclass: + Enable EAPI 4 per bug #474000. + + 18 Jun 2013; Christoph Junghans cvs.eclass: + fixed use of proxy variables + + 17 Jun 2013; Pacho Ramos multilib-minimal.eclass: + Allow eapi4 (#473610) + + 17 Jun 2013; Tim Harder vim-plugin.eclass: + Update default VIM_PLUGIN_VIM_VERSION to 7.3. + + 16 Jun 2013; Pacho Ramos mono-env.eclass: + Set a default SRC_URI + + 13 Jun 2013; Michał Górny bash-completion-r1.eclass: + Introduce get_bashcompdir(), wrt bug #469858. + + 11 Jun 2013; Tim Harder vim.eclass: + Remove old VIMRUNTIME warning. + + 09 Jun 2013; Tim Harder vim.eclass: + Replace backticks with $(...). + + 09 Jun 2013; Tim Harder vim.eclass: + Remove old runtime and netrw snapshot unpacking support. + + 09 Jun 2013; Luca Barbato font.eclass: + Do not require fontconfig at runtime, it isn't necessary for many purposes, + thanks to Nikoli for the original patch + + 07 Jun 2013; Mike Gilbert autotools-utils.eclass: + Convert econfargs from an ECLASS-VARIABLE to a function-specifc VARIABLE for + autotools-utils_src_configure. + + 07 Jun 2013; Mike Gilbert python-utils-r1.eclass: + Improve docs for PYTHON and EPYTHON. + + 03 Jun 2013; Davide Pesavento qt4-r2.eclass: + Add support for EQMAKE4_EXCLUDE. + + 01 Jun 2013; Robin H. Johnson php-ext-source-r2.eclass: + Fix REQUIRED_USE with PHP_EXT_OPTIONAL_USE set. Fixes REQUIRED_USE + unsatisfied constraints triggered by "USE=-php PHP_TARGETS= emerge + media-libs/ming". + + 01 Jun 2013; Hans de Graaff ruby-fakegem.eclass: + Quote DISTDIR. + + 01 Jun 2013; Tim Harder vim-plugin.eclass: + Remove unnecessary blank IUSE. + + 01 Jun 2013; Tim Harder vim-plugin.eclass: + Don't set SRC_URI for live ebuilds. + + 31 May 2013; Michał Górny multilib-build.eclass, + python-utils-r1.eclass: + Remove here-doc write failure handlers due to bug #471926. + + 31 May 2013; Michał Górny python-utils-r1.eclass: + Use cat rather than echo for heredoc output :). + + 30 May 2013; Tim Harder vim.eclass: + Add PYTHON_REQUIRED_USE for python-single-r1. + + 28 May 2013; mozextension.eclass, nsplugins.eclass: + Ensure plugins/extensions are in correct place for >=firefox{-bin}-21.0 + + 26 May 2013; Pacho Ramos gnome2.eclass: + Pass --enable-compile-warnings=minimum as we don't want -Werror* flags, bug + #471336 + + 24 May 2013; Pacho Ramos +mono-env.eclass: + Add mono-env.eclass to start a migration to simpler dotnet related eclasses, + http://www.gossamer-threads.com/lists/gentoo/dev/270881 + + 24 May 2013; Pacho Ramos readme.gentoo.eclass: + Reword sentences a bit + + 24 May 2013; Michał Górny multibuild.eclass: + Fix the race condition in locking code by using $BASHPID instead of $$. + + 23 May 2013; Michał Górny multibuild.eclass: + Use portable locking code from Fabian Groffen. Bug #466554. + + 22 May 2013; Michał Górny eutils.eclass: + Fix the libtool check, bug #470938. + + 21 May 2013; Michał Górny eutils.eclass: + Replace the .la sanity check by one used in libtool itself. Fixes removing + qmake-generated .la files, bug #470206. + + 21 May 2013; Mike Gilbert distutils-r1.eclass, + python-r1.eclass, python-single-r1.eclass: + Set PYTHON_REQUIRED_USE, and add it to REQUIRED_USE in distutils-r1. + + 18 May 2013; Pacho Ramos readme.gentoo.eclass: + Add a note informing people a file is being installed for future reference, + http://www.mail-archive.com/gentoo-dev@lists.gentoo.org/msg58207.html + + 17 May 2013; Tomáš Chvátal -php-ext-pecl-r1.eclass, + -php-ext-source-r1.eclass, -tla.eclass: + Remove eclasses marked as dead for quite some time. + + 17 May 2013; Tomáš Chvátal office-ext.eclass: + Mark eclass as dead to be removed in 30 days. + + 17 May 2013; Jeff Horelick nsplugins.eclass: + Support new plugins directory on Firefox >= 21.0 (bug #469932) + + 17 May 2013; Tim Harder vim.eclass: + Remove unused src_unpack function. + + 17 May 2013; Tim Harder vim.eclass: + Migrate from supporting cvs to mercurial for live builds. + + 16 May 2013; Jeroen Roovers nvidia-driver.eclass: + Check for lspci before use. + + 15 May 2013; Michał Górny eutils.eclass: + prune_libtool_files: do not remove .la files which are not libtool files. + Fixes bug #468380. + + 15 May 2013; Ryan Hill toolchain.eclass: + Explicitly disable lto in 4.5 to stop configure from helpfully re-enabling it + when libelf is present. + + 15 May 2013; Ryan Hill toolchain.eclass: + Rename test USE flag to regression-test. + + 15 May 2013; Ryan Hill toolchain.eclass: + Add lto USE flag for all versions that support it. Drop LTO support for 4.5. + + 14 May 2013; Michał Górny autotools-multilib.eclass, + multilib-build.eclass: + Enable EAPI=4 on multilib eclasses. + + 11 May 2013; Sergei Trofimovich ghc-package.eclass, + haskell-cabal.eclass: + Added 'ghc-supports-smp' and 'ghc-supports-dynamic-by-default' helpers. Added + hint for users to run 'haskell-updater' if configure phase failed. + + 11 May 2013; Alexis Ballier libtool.eclass: + use find to get file permissions instead of chmod --reference which is not + portable, bug #468952 + + 10 May 2013; Michał Górny python-any-r1.eclass, + python-r1.eclass, python-single-r1.eclass, python-utils-r1.eclass: + Consistently create ${EPYTHON} subdir for Python wrappers. Fixes conflict + between Python & vala wrappers, bug #469312. + + 09 May 2013; Ryan Hill toolchain.eclass: + Drop support for graphite in 4.4/4.5 due to incompatibilities with newer ppl + versions. Update graphite dependencies for 4.8 based on upstream + recommendations. Also fixes some (harmless) configure flags getting applied + to incorrect versions. + + 08 May 2013; Sergey Popov leechcraft.eclass: + Restict supported EAPIs(due to pkg_pretend), some logic cleanup + + 08 May 2013; Tim Harder vim.eclass: + Fix dangling gvim manpage symlinks (bug #455480, patch by Arfrever). + + 08 May 2013; Tim Harder vim.eclass: + Fix build with sys-libs/ncurses[tinfo] (bug #457564, patch by Ben Longbons). + + 05 May 2013; Michał Górny autotools-utils.eclass: + Support complete EAPI src_test(). + + 04 May 2013; Julian Ospald multilib-minimal.eclass: + improve handling of DOCS variable wrt #468092 + + 03 May 2013; Michał Górny autotools-utils.eclass: + Support disabling .la pruning completely. + + 01 May 2013; Michał Górny autotools-utils.eclass: + Inline src_test and allow passing arguments. + + 30 Apr 2013; Sergey Popov leechcraft.eclass: + Leechcraft changed license since 0.5.95 + + 30 Apr 2013; Michal Gorny distutils-r1.eclass, + python-utils-r1.eclass: + Use bash built-ins rather than external tools. + + 30 Apr 2013; Michal Gorny python-any-r1.eclass: + Support declaring python_check_deps() in ebuilds, to check Python impl for + proper deps. + + 30 Apr 2013; Michal Gorny python-any-r1.eclass: + Report no matching impl properly. + + 30 Apr 2013; Michal Gorny python-any-r1.eclass: + Improve consistency in Python version checks and wrapper setup. + + 29 Apr 2013; Tom Wijsman kernel-2.eclass: + Corrected UNIPATCH_DOCS functionality, this went unnoticed since + dodoc can be called without arguments in Portage. Thanks to the + Paludis user Alexandros Diamantidis in bug #467916 for reporting. + + 28 Apr 2013; Alexandre Rostovtsev autotools.eclass: + Reverting autotools.eclass commit that broke eautoreconf (bug #467772), acked + by multiple people in #gentoo-dev. + + 28 Apr 2013; Zac Medico apache-2.eclass, + haskell-cabal.eclass, mercurial.eclass, perl-module.eclass, + php-common-r1.eclass, qt4-build.eclass, selinux-policy-2.eclass, + subversion.eclass: + Bug #467646 - Refer to /etc/portage/make.conf, not /etc/make.conf. + + 24 Apr 2013; Tim Harder vim.eclass: + Remove old, conditional src_configure call in src_compile. + + 24 Apr 2013; Tim Harder vim.eclass: + Migrate from python-r1 to python-single-r1. + + 21 Apr 2013; Tim Harder vim.eclass: + Use python-r1 in EAPI 5 (patch by mgorny, bug #458794). + + 21 Apr 2013; Tim Harder vim.eclass: + Remove pre-EAPI 2 code blocks (patch by mgorny, bug #458794). + + 21 Apr 2013; Tim Harder vim.eclass: + Disable python.eclass inherit in vim-core (patch by mgorny, bug #458794). + + 21 Apr 2013; Tim Harder vim.eclass: + Move EAPI check earlier (patch by mgorny, bug #458794). + + 20 Apr 2013; Ralph Sennhauser java-ant-2.eclass: + Raise ant-core dep to version 1.8.2. #466558 + + 18 Apr 2013; Michał Górny distutils-r1.eclass: + Fix python_*_all() phases with DISTUTILS_SINGLE_IMPL. + + 17 Apr 2013; Tom Wijsman kernel-2.eclass: + Reverted .tmp_gas_check patch, see bug #336732. + + 17 Apr 2013; Ralph Sennhauser java-utils-2.eclass: + Request package specific emerge --info in death hook. + + 17 Apr 2013; Tom Wijsman kernel-2.eclass: + Added a warning after the variables that modifying other variables in + the eclass is not supported, there is a chance that we will not fix + resulting bugs. Fixes bug #421721. + Clarify the default DESCRIPTION and make it not use versions, a + directory with ebuilds that inherit this eclass may contain multiple + versions and we also don't want to give the impression that a new + directory needs to made if that's not the case. Fixes bug #445110. + Clarified which patch depths are used in the normal output and error + output when applying patches. Fixes bug #436402. + Made sure .tmp_gas_check is created inside the temp folder, it + accidentally created temp.tmp_gas_check instead. Fixes bug #336732. + Make UNIPATCH_DOCS work again, install 0000_README document when + using genpatches. Fixes bug #301478. + + 14 Apr 2013; Ole Markus With php-ext-source-r2.eclass: + Remove support for EAPI 2 and 3 for php-ext-source-r2. Use REQUIRED_USE for + target depends + + 14 Apr 2013; Mike Gilbert python-utils-r1.eclass: + Remove carriage-return from shebang before validating it, bug 465790 by + ikelos. + + 13 Apr 2013; Mike Gilbert systemd.eclass: + Replace basename usage with a shell parameter replacement. + + 13 Apr 2013; Michał Górny systemd.eclass: + Use pkg-config to query systemd directories. + + 13 Apr 2013; Michael Weber cmake-multilib.eclass: + Pass ${@} in phase functions. Approved by author on dev-ml. + + 13 Apr 2013; Joerg Bornkessel vdr-plugin-2.eclass: + spell fix + + 13 Apr 2013; Michał Górny distutils-r1.eclass: + Unmask the egg_info block for further testing. Feel free to comment it out if + you can reproduce the earlier issues. + + 10 Apr 2013; Michał Górny distutils-r1.eclass: + Move the egg_info code into a more realistic location for future testing. + + 10 Apr 2013; Jeroen Roovers nvidia-driver.eclass: + Update documentation URL. + + 10 Apr 2013; Jeroen Roovers nvidia-driver.eclass: + Remove duplicate PCI ID. + + 10 Apr 2013; Jeroen Roovers unpacker.eclass: + Add support for 1.6.0-nv2 (bug #465340). + + 10 Apr 2013; Jory A. Pratt mozconfig-3.eclass: + Disable debug symbols unless debug is enabled. + + 10 Apr 2013; Magnus Granberg pax-utils.eclass: + Make PT default pax marking and change ewarn to elog + + 08 Apr 2013; Ole Markus With php-ext-source-r2.eclass: + Fix for installing ini files in the tree. Bug 464900 + + 08 Apr 2013; Patrick Lauer toolchain.eclass: + Fix for gcc info page installation #464008 + + 07 Apr 2013; Davide Pesavento qt4-build.eclass: + Remove wrong sed on QT_INSTALL_{LIBS,PLUGINS}. See bug 304971 comments 16-18. + + 07 Apr 2013; Michael Palimaka kde4-meta.eclass: + Guard against multiple inheritance. Make KMCOMPILEONLY sed case-insensitive + to avoid file collisions in the future. + + 07 Apr 2013; Michael Palimaka kde4-functions.eclass, + kde4-meta-pkg.eclass: + Guard against multiple inheritance. + + 07 Apr 2013; Michael Palimaka kde4-base.eclass: + Guard against multiple inheritance. Fix fetching for KDE SC 4.11 + pre-releases. Drop old QT_MINIMAL logic. Add a set of base dependencies for + kde-workspace packages to work around bugs like #444438 and #464614. + + 07 Apr 2013; Michael Palimaka cmake-utils.eclass: + Guard against multiple inheritance. Improve cross-compilation support by + always using the correct pkg-config. + + 07 Apr 2013; Michał Górny python-any-r1.eclass, + python-r1.eclass, python-single-r1.eclass, python-utils-r1.eclass: + Create temporary symlinks for executables and pkg-config files, and add them + to $PATH and $PKG_CONFIG_PATH respectively. This makes it easier for broken + build systems to find Python, and gives us the possibility of dropping + python-wrapper. + + 07 Apr 2013; Michał Górny autotools-multilib.eclass, + multilib-build.eclass, multilib-minimal.eclass: + Move header wrapping to multilib-build. Use the new code in + autotools-multilib and multilib-minimal. + + 05 Apr 2013; Mike Gilbert mozextension.eclass, + mozlinguas.eclass: + Fix eclass docs. + + 05 Apr 2013; Michał Górny autotools-utils.eclass: + Fix eclassdoc. + + 05 Apr 2013; Ben de Groot font.eclass: + RDEPEND=$DEPEND to fix bug #446012 + + 05 Apr 2013; Ryan Hill toolchain.eclass: + Work around bootstrap comparison failures on ancient systems (bug #411333). + + 01 Apr 2013; Michał Górny autotools-multilib.eclass: + Fix path handling in header wrapping code. + + 01 Apr 2013; Michał Górny autotools-multilib.eclass: + Support wrapping headers for multilib. + + 01 Apr 2013; Michał Górny distutils-r1.eclass, + multibuild.eclass: + Introduce multibuild_merge_root, as an universal interim-install merging + function. + + 01 Apr 2013; Michał Górny autotools-utils.eclass: + Support setting mode of prune_libtool_files through + AUTOTOOLS_PRUNE_LIBTOOL_FILES. + + 30 Mar 2013; Joerg Bornkessel vdr-plugin-2.eclass: + fixed missing VDRVERSION up from >=vdr-1.7.34 + + 30 Mar 2013; Mike Gilbert python-r1.eclass: + Add note about quoting patterns for python_gen_usedep. + + 29 Mar 2013; Pacho Ramos vala.eclass: + Update VALA_MAX_API_VERSION + + 29 Mar 2013; Tomáš Chvátal office-ext-r1.eclass: + Allow specification of directory where the extensions are. Also allow one + package providing multiple oxts correctly. Wrt bug#463536. + + 28 Mar 2013; Michał Górny python-utils-r1.eclass: + Support obtaining CFLAGS and LIBS for the Python implementation (similarly to + pkg-config or python-config). + + 26 Mar 2013; Tomáš Chvátal obs-service.eclass: + Fix hardcoded libexec suse path in scripts. + + 25 Mar 2013; Jory A. Pratt mozcoreconf-2.eclass: + Fix a typo for svg support in older versions, bug #462994 + + 24 Mar 2013; Jory A. Pratt mozconfig-3.eclass mozcoreconf-2.eclass: + Cleanup of obsolete options, address bug #446662,460592 + + 23 Mar 2013; Julian Ospald unpacker.eclass: + add unpack_zip function to unpacker.eclass wrt #462612 + + 23 Mar 2013; Tomáš Chvátal office-ext-r1.eclass: + Do not use-default here as we enable it by profile variable. + + 23 Mar 2013; Tomáš Chvátal office-ext-r1.eclass: + Fix stupid copy&paste. + + 23 Mar 2013; Tomáš Chvátal +office-ext-r1.eclass: + Add next version of office-ext eclass. This time we can directly deploy + libreoffice exts, but ooo crashes so keep backcompat over crashy uno + interface for them (it is oo bug and they should fix it). + + 20 Mar 2013; Michał Górny python-r1.eclass: + Introduce an ability to override PYTHON_COMPAT for testing. + + 20 Mar 2013; Michał Górny python-r1.eclass: + Reuse multibuild.eclass in python_export_best. + + 20 Mar 2013; Tom Wijsman kernel-2.eclass: + Use UID 0 instead of 'root' to assign permissions to super user, bug #315807. + + 20 Mar 2013; Tom Wijsman kernel-2.eclass: + Added sys-devel/bc as a RDEPEND as per bug #461848. + + 19 Mar 2013; Michał Górny distutils-r1.eclass: + Pass --build-platlib and --build-purelib separately to distutils. This allows + to change them to different locations if necessary (bug #455332). + + 18 Mar 2013; Michał Górny systemd.eclass: + Update the maintainer to systemd@. + + 18 Mar 2013; Michal Hrusecky obs-service.eclass: + Change default path for obs services (bug#446074) + + 16 Mar 2013; Robin H. Johnson mysql.eclass, + mysql-autotools.eclass: + Bug #461026: use append-cppflags for preprocessor flags. + + 16 Mar 2013; Ulrich Müller elisp.eclass, + elisp-common.eclass: + Sync eclasses from Emacs overlay. + elisp-common.eclass: Functions elisp-compile, elisp-make-autoload-file, + elisp-install, and elisp-site-file-install now die on failure. + elisp.eclass: Remove die commands that are no longer necessary because the + called functions die themselves. Call readme.gentoo_create_doc and + readme.gentoo_print_elog from readme.gentoo.eclass if these functions exist. + + 16 Mar 2013; Ryan Hill toolchain.eclass: + Add cloog/isl support for gcc 4.8 (bug # 434816, patch by Kacper Kowalik). + + 15 Mar 2013; Christoph Junghans mercurial.eclass: + default to EHG_QUIET="OFF" (bug #461858) + + 13 Mar 2013; Mike Gilbert distutils-r1.eclass: + Reverse order of $add_args and $@ in esetup.py. Remove duplicate build + command from distutils-r1_python_compile. + + 13 Mar 2013; Justin Lecher fortran-2.eclass: + Fix fortran-2.eclass for bash-3.2 compatibility, #461544 + + 10 Mar 2013; Michał Górny multibuild.eclass: + Make the log output redirection much simpler. Fix bash-3.2 compatibility. + + 10 Mar 2013; Michał Górny multibuild.eclass: + Fix compatibility with bash-4.1 -- it does not support negative array + subscripts. + + 10 Mar 2013; Michał Górny multibuild.eclass: + multibuild_copy_sources: fix outputting variant name. + + 10 Mar 2013; Christoph Junghans vim.eclass: + add sys-apps/gawk dep + + 09 Mar 2013; Robin H. Johnson mysql-autotools.eclass: + Bug #401733: nested configure scripts in MySQL generate unrecognized options + false positives when toplevel configure passes downwards. + + 09 Mar 2013; Tom Wijsman kernel-2.eclass: + Kernel sources and (gen)patches now use xz instead of bz2. Bug #421721. + + 09 Mar 2013; Julian Ospald +multilib-minimal.eclass: + add multilib-minimal.eclass + + 09 Mar 2013; Maxim Koltsov leechcraft.eclass: + Fix leechcraft.eclass to support new category, bug #460958. + + 09 Mar 2013; Michał Górny eutils.eclass: + Disable epunt_cxx warning since epunt_cxx is broken nowadays. + + 09 Mar 2013; Michał Górny eutils.eclass: + Fix epunt_cxx not to subshell. + + 09 Mar 2013; Michał Górny python-r1.eclass: + Clean up redundant USE flag check calls, replace them with a single call in + _python_obtain_impls(). + + 09 Mar 2013; Michał Górny multilib-build.eclass: + Introduce multilib_copy_sources. + + 09 Mar 2013; Michał Górny python-r1.eclass: + Use multibuild_copy_sources for python_copy_sources. + + 09 Mar 2013; Michał Górny multibuild.eclass: + Introduce multibuild_copy_sources as a generic source duplicating function. + + 09 Mar 2013; Michał Górny distutils-r1.eclass: + Use doins instead of dodoc to install examples, due to PMS limitations. Bug + #460516. + + 09 Mar 2013; Sven Vermeulen selinux-policy-2.eclass: + Do not load unconfined module with strict policy + + 08 Mar 2013; Hanno Boeck apache-2.eclass: + Remove re-setting of permissions every time apache gets reinstalled. See bug + #398899. + + 07 Mar 2013; Tim Harder python.eclass: + Add 2.7-jython. + + 07 Mar 2013; Tim Harder python-utils-r1.eclass: + Add jython2_7. + + 05 Mar 2013; Michael Pagano kernel-2.eclass: + Force python 2* for USE=deblob as deblob script does not yet support python3. + Thanks to Arfrever. See bug #458032 + + 05 Mar 2013; Davide Pesavento qt4-r2.eclass: + eqmake4: override also QMAKE_LINK_C, used by packages with + "CONFIG+=use_c_linker". Fixes bug #460420. + + 05 Mar 2013; Joerg Bornkessel vdr-plugin-2.eclass: + vdr-plugin-2.eclass, adapted to the new plugin makefile handling; cleanup for + unusede function 'delete_orphan_plugindb_file'; more unneeded source cleanup + + 04 Mar 2013; Michał Górny multilib-build.eclass: + Introduce multilib_for_best_impl(). + + 04 Mar 2013; Michał Górny multilib-build.eclass: + Convert to use multibuild.eclass. + + 04 Mar 2013; Michał Górny distutils-r1.eclass: + Use multilib_for_best_variant() for the *_all() phases. + + 04 Mar 2013; Michał Górny distutils-r1.eclass, + python-r1.eclass: + Introduce python_parallel_foreach_impl() and reuse it in distutils-r1. + + 04 Mar 2013; Michał Górny python-r1.eclass: + Use multibuild.eclass in python-r1. + + 04 Mar 2013; Michał Górny multibuild.eclass: + Add multibuild_for_best_variant. + + 04 Mar 2013; Michał Górny multibuild.eclass: + Print only the "public" part of commands. + + 04 Mar 2013; Michał Górny multibuild.eclass, + python-r1.eclass: + Move run_in_build_dir() to multibuild.eclass. + + 04 Mar 2013; Michał Górny +multibuild.eclass: + Introduce multibuild.eclass to handle building multiple variants of the same + package in a common manner. + + 04 Mar 2013; Robin H. Johnson mysql-cmake.eclass: + MySQL 5.6 needs to NOT have -fno-implicit-templates, also support + epatch_user. + + 03 Mar 2013; Pacho Ramos readme.gentoo.eclass: + Change formatting tool as discussed with Ulrich Müller in bug #460050, + thanks a lot to him for his help. + + 03 Mar 2013; Davide Pesavento autotools-utils.eclass, + kde4-base.eclass, qt4-build.eclass: + Qt category move. + + 02 Mar 2013; Davide Pesavento qt4-build.eclass: + Remove blockers: portage is perfectly capable of handling our deps correctly + by itself nowadays. + + 02 Mar 2013; Michał Górny multilib-build.eclass: + Improve the no-multilib fallback to respect ${ABI} set by multilib-portage. + + 02 Mar 2013; Michał Górny python.eclass: + Remove deprecation warnings wrt bug #452160. The code will not be removed + anymore since the eclass will be deprecated at some point. + + 02 Mar 2013; Michał Górny distutils-r1.eclass: + Run *_all() phases in best-impl sources, in an in-source build. + + 02 Mar 2013; Michał Górny distutils-r1.eclass: + Override build locations and set PYTHONPATH in in-source builds, to increase + compatibility with out-of-source builds. + + 02 Mar 2013; Michał Górny distutils-r1.eclass: + In-source builds: append "build/" subdir to the BUILD_DIR variable. It can be + used alike in out-of-source builds now. + + 27 Feb 2013; Michał Górny multilib-build.eclass: + Enable x32 ABI support. + + 27 Feb 2013; Michał Górny autotools-multilib.eclass: + Export src_prepare() explicitly rather than implicitly through inherits. + + 27 Feb 2013; Michał Górny autotools-multilib.eclass: + Update description. + + 27 Feb 2013; Michał Górny distutils-r1.eclass, + multilib-build.eclass, python-r1.eclass: + Revert the log teeing changes as they cause unexpected kind of breakage. + + 26 Feb 2013; Michał Górny multilib-build.eclass: + Run header checksumming function only if /usr/include exists (IOW: silence + the warning). + + 26 Feb 2013; Michał Górny multilib-build.eclass: + Enable writing split build logs. + + 26 Feb 2013; Michał Górny eutils.eclass: + prune_libtool_files: support running without pkg-config installed, using sed + fallback. + + 26 Feb 2013; Michał Górny python-r1.eclass: + Re-enable split logs, now directly handled by python*_foreach_impl(). + + 26 Feb 2013; Michał Górny distutils-r1.eclass: + Re-use python_parallel_foreach_impl() in distutils-r1. + + 26 Feb 2013; Michał Górny distutils-r1.eclass, + python-r1.eclass: + Introduce the parallel variant of python_foreach_impl(). + + 26 Feb 2013; Michał Górny python-r1.eclass: + Make python_foreach_impl() non-fatal, expect explicit die inside or outside. + + 25 Feb 2013; Michał Górny xorg-2.eclass: + Bump the emul-linux-x86 blocker to match the new release. + + 24 Feb 2013; Pacho Ramos emul-linux-x86.eclass: + Allow headers installation, bug #458784 + + 24 Feb 2013; Michał Górny xorg-2.eclass: + Introduce multilib support for xlibs. + + 24 Feb 2013; Pacho Ramos emul-linux-x86.eclass: + Drop versionator eclass as it's not needed for a long time, also fixes bug + #458728 that was caused by quoting IUSE. Thanks a lot to mgorny for doing the + work. + + 24 Feb 2013; Hans de Graaff ruby-fakegem.eclass: + Also set the RUBY_FAKEGEM_DOCDIR default for the rake recipe. This fixes a + regression manifested by bug 458506. + + 22 Feb 2013; Michał Górny autotools-multilib.eclass: + Fix passing arguments to phases. + + 21 Feb 2013; Michał Górny distutils-r1.eclass: + Support EXAMPLES to install examples in a consistent manner. + + 18 Feb 2013; Joerg Bornkessel vdr-plugin.eclass: + vdr-plugin.eclass, add eerror to get .eclass depricated + + 14 Feb 2013; Justin Lecher intel-sdp.eclass: + Make it possible to bypass license check from ebuilds + + 14 Feb 2013; Justin Lecher intel-sdp.eclass: + Drop KEYWORDS from eclass, #342185 + + 12 Feb 2013; Michael Haubenwallner + ELT-patches/aixrtl/1.5.0-cmds-c: + Fix typo: extra apostrophe being shell syntax error. + + 11 Feb 2013; Michał Górny autotools-utils.eclass, + distutils-r1.eclass: + Support DOCS=() to disable installing documentation. + + 10 Feb 2013; Michał Górny distutils-r1.eclass: + Temporarily disable egg_info since it causes problems with installing + scripts. + + 10 Feb 2013; Michał Górny +cmake-multilib.eclass: + Introduce cmake-utils wrapper eclass for multilib. + + 10 Feb 2013; Michał Górny autotools-multilib.eclass, + multilib-build.eclass: + Move header checking function into multilib-build for wider reuse. + + 10 Feb 2013; Michał Górny eutils.eclass: + QA-warn if epunt_cxx does not find any checks to punt. + + 10 Feb 2013; Michał Górny distutils-r1.eclass: + Introduce a function to install package for running tests, solving all the + issues with PyPy, setuptools and namespaces. + + 10 Feb 2013; Michał Górny distutils-r1.eclass: + Override egg-info write location in out-of-source builds. + + 10 Feb 2013; Michał Górny distutils-r1.eclass: + Error out if "tests" package is installed. This is a common mistake and a + source of file collisions. + + 08 Feb 2013; Michał Górny vcs-snapshot.eclass: + Document the src_unpack() function. Requested in bug #456160. + + 08 Feb 2013; Michael Palimaka cmake-utils.eclass: + Bump CMake minimum version to latest stable. + + 08 Feb 2013; Patrick Lauer distutils.eclass: + Fixing confusing message in distutils.eclass + + 07 Feb 2013; Michael Palimaka cmake-utils.eclass: + Export src_prepare. Improve support for dev-util/ninja wrt bug #439608. Add + support for CMAKE_DISABLE_FIND_PACKAGE wrt bug #453746. + + 07 Feb 2013; Alexey Shvetsov kde4-base.eclass, + kde4-functions.eclass, kde4-meta.eclass, kde4-meta-pkg.eclass: + Version bump KDE SC 4.10.0 + + 04 Feb 2013; Pacho Ramos readme.gentoo.eclass: + Add a variable to stop autoformatting when not desired, use '-e' option for + echo in the autoformatting way to let people control it with sequences + recognized by it (see man echo), fix it to work ok with prebuilt packages + (#455030 by Brian Harring, Zac Medico and Fabio Erculiani) + + 04 Feb 2013; Michał Górny python-utils-r1.eclass: + Introduce python_get_library_path() to obtain the path to the Python library. + Required by dev-python/shiboken. + + 04 Feb 2013; Michał Górny python-utils-r1.eclass: + Introduce python_newscript(), to install scripts with renaming. Requested in + bug #454640. 01 Feb 2013; Michał Górny autotools-multilib.eclass, +multilib-build.eclass: @@ -773,6 +1873,9 @@ 19 Oct 2012; Patrick Lauer check-reqs.eclass: Fixing units + 19 Oct 2012; Patrick Lauer check-reqs.eclass: + Fixing units + 19 Oct 2012; Patrick Lauer check-reqs.eclass: Fixing binpkg behaviour 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 7155cddd23..0b2d95a33f 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,9 +1,9 @@ # Eclass for building dev-java/ant-* packages # -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # Author Vlastimil Babka -# $Header: /var/cvsroot/gentoo-x86/eclass/ant-tasks.eclass,v 1.13 2012/06/01 12:19:42 sera Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ant-tasks.eclass,v 1.15 2013/08/28 21:28:33 tomwij Exp $ # we set ant-core dep ourselves, restricted JAVA_ANT_DISABLE_ANT_CORE_DEP=true @@ -25,21 +25,21 @@ EXPORT_FUNCTIONS src_unpack src_compile src_install # ----------------------------------------------------------------------------- # @variable-preinherit ANT_TASK_JDKVER -# @variable-default 1.4 +# @variable-default 1.5 # -# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.4, can +# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.5, can # be overriden from ebuild BEFORE inheriting this eclass. # ----------------------------------------------------------------------------- -ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.4} +ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.5} # ----------------------------------------------------------------------------- # @variable-preinherit ANT_TASK_JREVER -# @variable-default 1.4 +# @variable-default 1.5 # -# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.4, can +# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.5, can # be overriden from ebuild BEFORE inheriting this eclass. # ----------------------------------------------------------------------------- -ANT_TASK_JREVER=${ANT_TASK_JREVER-1.4} +ANT_TASK_JREVER=${ANT_TASK_JREVER-1.5} # ----------------------------------------------------------------------------- # @variable-internal ANT_TASK_NAME @@ -90,6 +90,9 @@ else MY_PV=${PV} UPSTREAM_PREFIX="mirror://apache/ant/source" case ${PV} in + 1.9.*) + GENTOO_PREFIX="http://dev.gentoo.org/~tomwij/files/dist" + ;; 1.8.4) GENTOO_PREFIX="http://dev.gentoo.org/~sera/distfiles" ;; @@ -111,7 +114,6 @@ SRC_URI="${UPSTREAM_PREFIX}/${MY_P}-src.tar.bz2 ${GENTOO_PREFIX}/ant-${PV}-gentoo.tar.bz2" LICENSE="Apache-2.0" SLOT="0" -IUSE="" RDEPEND="~dev-java/ant-core-${PV}" DEPEND="${RDEPEND}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/aolserver.eclass b/sdk_container/src/third_party/portage-stable/eclass/aolserver.eclass deleted file mode 100644 index e7fb181f47..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/aolserver.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/aolserver.eclass,v 1.9 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 b4fc37be5c..1019693e39 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/apache-2.eclass,v 1.29 2012/05/23 03:24:44 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/apache-2.eclass,v 1.31 2013/04/28 16:15:33 zmedico Exp $ # @ECLASS: apache-2.eclass # @MAINTAINER: @@ -550,12 +550,6 @@ apache-2_src_install() { # because the default webroot is a copy of the files that exist elsewhere and we # don't want them to be managed/removed by portage when apache is upgraded. apache-2_pkg_postinst() { - # fix previously wrong set permissions Bug#398899 - einfo "Sanitizing directory permissions ..." - for i in /var/lib/dav /var/log/apache2 /var/cache/apache2 ; do - chmod 0750 ${i} - done - if use ssl && [[ ! -e "${ROOT}/etc/ssl/apache2/server.pem" ]]; then SSL_ORGANIZATION="${SSL_ORGANIZATION:-Apache HTTP Server}" install_cert /etc/ssl/apache2/server @@ -575,7 +569,7 @@ apache-2_pkg_postinst() { echo elog "Attention: cgi and cgid modules are now handled via APACHE2_MODULES flags" - elog "in /etc/make.conf. Make sure to enable those in order to compile them." + elog "in make.conf. Make sure to enable those in order to compile them." elog "In general, you should use 'cgid' with threaded MPMs and 'cgi' otherwise." echo 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 c4532d43cd..b0e82e7651 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,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/apache-module.eclass,v 1.25 2011/12/27 17:55:12 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/apache-module.eclass,v 1.26 2013/06/22 00:06:53 vapier Exp $ # @ECLASS: apache-module.eclass # @MAINTAINER: @@ -176,7 +176,7 @@ apache-module_src_install() { debug-print-function $FUNCNAME $* local CD_DIR=$(apache_cd_dir) - cd "${CD_DIR}" || die "cd ${CD_DIR} failed" + pushd "${CD_DIR}" >/dev/null || die "cd ${CD_DIR} failed" local MOD_FILE=$(apache_mod_file) @@ -207,6 +207,8 @@ apache-module_src_install() { [[ -n "${OTHER_DOCS}" ]] && dodoc ${OTHER_DOCS} [[ -n "${HTML_DOCS}" ]] && dohtml ${HTML_DOCS} fi + + popd >/dev/null } # @FUNCTION: apache-module_pkg_postinst 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 97abfe65e0..0984c251d0 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.8 2013/02/01 21:39:50 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.17 2013/06/28 12:42:48 mgorny Exp $ # @ECLASS: autotools-multilib.eclass # @MAINTAINER: @@ -10,18 +10,18 @@ # The autotools-multilib.eclass is an autotools-utils.eclass(5) wrapper # introducing support for building for more than one ABI (multilib). # -# Inheriting this eclass sets IUSE=multilib and exports autotools-utils +# Inheriting this eclass sets the USE flags and exports autotools-utils # phase function wrappers which build the package for each supported ABI -# if the flag is enabled. Otherwise, it works like regular -# autotools-utils. +# when the relevant flag is enabled. Other than that, it works like +# regular autotools-utils. # # Note that the multilib support requires out-of-source builds to be # enabled. Thus, it is impossible to use AUTOTOOLS_IN_SOURCE_BUILD with # it. -# EAPI=5 is required for meaningful MULTILIB_USEDEP. +# EAPI=4 is required for meaningful MULTILIB_USEDEP. case ${EAPI:-0} in - 5) ;; + 4|5) ;; *) die "EAPI=${EAPI} is not supported" ;; esac @@ -31,54 +31,38 @@ fi inherit autotools-utils multilib-build -EXPORT_FUNCTIONS src_configure src_compile src_test src_install +EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install + +autotools-multilib_src_prepare() { + autotools-utils_src_prepare "${@}" +} autotools-multilib_src_configure() { - multilib_parallel_foreach_abi autotools-utils_src_configure + multilib_parallel_foreach_abi autotools-utils_src_configure "${@}" } autotools-multilib_src_compile() { - multilib_foreach_abi autotools-utils_src_compile + multilib_foreach_abi autotools-utils_src_compile "${@}" } autotools-multilib_src_test() { - multilib_foreach_abi autotools-utils_src_test + multilib_foreach_abi autotools-utils_src_test "${@}" } autotools-multilib_src_install() { autotools-multilib_secure_install() { - autotools-utils_src_install + autotools-utils_src_install "${@}" - # Make sure all headers are the same for each ABI. - autotools-multilib_cksum() { - find "${ED}"usr/include -type f \ - -exec cksum {} + | sort -k2 - } - - local cksum=$(autotools-multilib_cksum) - local cksum_file=${T}/.autotools-multilib_cksum - - if [[ -f ${cksum_file} ]]; then - local cksum_prev=$(< "${cksum_file}") - - if [[ ${cksum} != ${cksum_prev} ]]; then - echo "${cksum}" > "${cksum_file}.new" - - eerror "Header files have changed between ABIs." - - if type -p diff &>/dev/null; then - eerror "$(diff -du "${cksum_file}" "${cksum_file}.new")" - else - eerror "Old checksums in: ${cksum_file}" - eerror "New checksums in: ${cksum_file}.new" - fi - - die "Header checksum mismatch, aborting." - fi - else - echo "${cksum}" > "${cksum_file}" + # Do multilib magic only when >1 ABI is used. + if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then + multilib_prepare_wrappers + # Make sure all headers are the same for each ABI. + multilib_check_headers fi } - multilib_foreach_abi autotools-multilib_secure_install + multilib_foreach_abi autotools-multilib_secure_install "${@}" + + # merge the wrappers + multilib_install_wrappers } 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 c952de5ae6..28acb3b4c2 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.61 2012/12/14 08:40:18 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.70 2013/06/29 08:17:06 mgorny Exp $ # @ECLASS: autotools-utils.eclass # @MAINTAINER: @@ -37,8 +37,8 @@ # CDEPEND=" # media-libs/libpng:0 # qt4? ( -# x11-libs/qt-core:4 -# x11-libs/qt-gui:4 +# dev-qt/qtcore:4 +# dev-qt/qtgui:4 # ) # tiff? ( media-libs/tiff:0 ) # " @@ -136,22 +136,6 @@ EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test # @DESCRIPTION: # Specify location of autotools' configure script. By default it uses ${S}. -# @ECLASS-VARIABLE: myeconfargs -# @DEFAULT_UNSET -# @DESCRIPTION: -# Optional econf arguments as Bash array. Should be defined before calling src_configure. -# @CODE -# src_configure() { -# local myeconfargs=( -# --disable-readline -# --with-confdir="/etc/nasty foo confdir/" -# $(use_enable debug cnddebug) -# $(use_enable threads multithreading) -# ) -# autotools-utils_src_configure -# } -# @CODE - # @ECLASS-VARIABLE: DOCS # @DEFAULT_UNSET # @DESCRIPTION: @@ -184,6 +168,26 @@ EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test # PATCHES=( "${FILESDIR}"/${P}-mypatch.patch ) # @CODE +# @ECLASS-VARIABLE: AUTOTOOLS_PRUNE_LIBTOOL_FILES +# @DEFAULT_UNSET +# @DESCRIPTION: +# Sets the mode of pruning libtool files. The values correspond to +# prune_libtool_files parameters, with leading dashes stripped. +# +# Defaults to pruning the libtool files when static libraries are not +# installed or can be linked properly without them. Libtool files +# for modules (plugins) will be kept in case plugin loader needs them. +# +# If set to 'modules', the .la files for modules will be removed +# as well. This is often the preferred option. +# +# If set to 'all', all .la files will be removed unconditionally. This +# option is discouraged and shall be used only if 'modules' does not +# remove the files. +# +# If set to 'none', no .la files will be pruned ever. Use in corner +# cases only. + # Determine using IN or OUT source build _check_build_dir() { : ${ECONF_SOURCE:=${S}} @@ -407,6 +411,22 @@ autotools-utils_src_prepare() { # # IUSE="static-libs" passes --enable-shared and either --disable-static/--enable-static # to econf respectively. + +# @VARIABLE: myeconfargs +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optional econf arguments as Bash array. Should be defined before calling src_configure. +# @CODE +# src_configure() { +# local myeconfargs=( +# --disable-readline +# --with-confdir="/etc/nasty foo confdir/" +# $(use_enable debug cnddebug) +# $(use_enable threads multithreading) +# ) +# autotools-utils_src_configure +# } +# @CODE autotools-utils_src_configure() { debug-print-function ${FUNCNAME} "$@" @@ -486,12 +506,15 @@ autotools-utils_src_install() { fi # XXX: support installing them from builddir as well? - if [[ ${DOCS} ]]; then - if [[ ${EAPI} == [23] ]]; then - dodoc "${DOCS[@]}" || die - else - # dies by itself - dodoc -r "${DOCS[@]}" + if declare -p DOCS &>/dev/null; then + # an empty list == don't install anything + if [[ ${DOCS[@]} ]]; then + if [[ ${EAPI} == [23] ]]; then + dodoc "${DOCS[@]}" || die + else + # dies by itself + dodoc -r "${DOCS[@]}" + fi fi else local f @@ -508,7 +531,10 @@ autotools-utils_src_install() { fi # Remove libtool files and unnecessary static libs - prune_libtool_files + local prune_ltfiles=${AUTOTOOLS_PRUNE_LIBTOOL_FILES} + if [[ ${prune_ltfiles} != none ]]; then + prune_libtool_files ${prune_ltfiles:+--${prune_ltfiles}} + fi } # @FUNCTION: autotools-utils_src_test @@ -519,7 +545,12 @@ autotools-utils_src_test() { _check_build_dir pushd "${BUILD_DIR}" > /dev/null || die - # Run default src_test as defined in ebuild.sh - default_src_test + + if make -n check "${@}" &>/dev/null; then + emake check "${@}" || die 'emake check failed.' + elif make -n test "${@}" &>/dev/null; then + emake test "${@}" || die 'emake test failed.' + fi + popd > /dev/null || die } 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 9ec87d0065..f8d575ad94 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.151 2013/01/28 04:13:00 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.156 2013/04/28 21:55:32 vapier Exp $ # @ECLASS: autotools.eclass # @MAINTAINER: @@ -38,12 +38,15 @@ inherit libtool multiprocessing # @DESCRIPTION: # CONSTANT! # The latest major version/slot of automake available on each arch. #312315 +# We should list both the latest stable, and the latest unstable. #465732 +# This way the stable builds will still work, but the unstable are allowed +# to build & test things for us ahead of time (if they have it installed). # If a newer slot is stable on any arch, and is NOT reflected in this list, # then circular dependencies may arise during emerge @system bootstraps. # Do NOT change this variable in your ebuilds! # If you want to force a newer minor version, you can specify the correct # WANT value by using a colon: : -_LATEST_AUTOMAKE=( 1.11.1:1.11 1.12:1.12 ) +_LATEST_AUTOMAKE=( 1.12:1.12 1.13:1.13 ) _automake_atom="sys-devel/automake" _autoconf_atom="sys-devel/autoconf" @@ -242,7 +245,7 @@ _at_uses_pkg() { egrep -q "${args[@]}" configure.?? fi } -_at_uses_autoheader() { _at_uses_pkg AC_CONFIG_HEADERS; } +_at_uses_autoheader() { _at_uses_pkg A{C,M}_CONFIG_HEADER{S,}; } _at_uses_automake() { _at_uses_pkg AM_INIT_AUTOMAKE; } _at_uses_gettext() { _at_uses_pkg AM_GNU_GETTEXT_VERSION; } _at_uses_glibgettext() { _at_uses_pkg AM_GLIB_GNU_GETTEXT; } @@ -485,8 +488,8 @@ autotools_run_tool() { # Keep a list of all the macros we might use so that we only # have to run the trace code once. Order doesn't matter. ALL_AUTOTOOLS_MACROS=( - AC_PROG_LIBTOOL AM_PROG_LIBTOOL LT_INIT - AC_CONFIG_HEADERS + A{C,M}_PROG_LIBTOOL LT_INIT + A{C,M}_CONFIG_HEADER{S,} AC_CONFIG_SUBDIRS AC_CONFIG_AUX_DIR AC_CONFIG_MACRO_DIR AM_INIT_AUTOMAKE 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 8af46ee160..9676f6b6ae 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion-r1.eclass,v 1.3 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion-r1.eclass,v 1.10 2013/09/10 19:12:17 ssuominen Exp $ # @ECLASS: bash-completion-r1.eclass # @MAINTAINER: @@ -9,7 +9,12 @@ # @EXAMPLE: # # @CODE -# EAPI=4 +# EAPI=5 +# +# src_configure() { +# econf \ +# --with-bash-completion-dir="$(get_bashcompdir)" +# } # # src_install() { # default @@ -18,11 +23,76 @@ # } # @CODE +inherit toolchain-funcs + case ${EAPI:-0} in 0|1|2|3|4|5) ;; *) die "EAPI ${EAPI} unsupported (yet)." esac +# @FUNCTION: _bash-completion-r1_get_bashdir +# @INTERNAL +# @DESCRIPTION: +# First argument is name of the string in bash-completion.pc +# Second argument is the fallback directory if the string is not found +# @EXAMPLE: +# _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions +_bash-completion-r1_get_bashdir() { + debug-print-function ${FUNCNAME} "${@}" + + if $(tc-getPKG_CONFIG) --exists bash-completion; then + local path="$($(tc-getPKG_CONFIG) --variable=$1 bash-completion)" + # we need to return unprefixed, so strip from what pkg-config returns + # to us, bug #477692 + echo "${path#${EPREFIX}}" + else + echo $2 + fi +} + +# @FUNCTION: _bash-completion-r1_get_bashcompdir +# @INTERNAL +# @DESCRIPTION: +# Get unprefixed bash-completion completions directory. +_bash-completion-r1_get_bashcompdir() { + debug-print-function ${FUNCNAME} "${@}" + + if has_version '>=app-shells/bash-completion-2.1-r1'; then + _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions + else + _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion + fi +} + +# @FUNCTION: _bash-completion-r1_get_helpersdir +# @INTERNAL +# @DESCRIPTION: +# Get unprefixed bash-completion helpers directory. +_bash-completion-r1_get_bashhelpersdir() { + debug-print-function ${FUNCNAME} "${@}" + + _bash-completion-r1_get_bashdir helpersdir /usr/share/bash-completion/helpers +} + +# @FUNCTION: get_bashcompdir +# @DESCRIPTION: +# Get the bash-completion completions directory. +get_bashcompdir() { + debug-print-function ${FUNCNAME} "${@}" + + echo "${EPREFIX}$(_bash-completion-r1_get_bashcompdir)" +} + +# @FUNCTION: get_bashhelpersdir +# @INTERNAL +# @DESCRIPTION: +# Get the bash-completion helpers directory. +get_bashhelpersdir() { + debug-print-function ${FUNCNAME} "${@}" + + echo "${EPREFIX}$(_bash-completion-r1_get_bashhelpersdir)" +} + # @FUNCTION: dobashcomp # @USAGE: file [...] # @DESCRIPTION: @@ -32,7 +102,7 @@ dobashcomp() { debug-print-function ${FUNCNAME} "${@}" ( - insinto /usr/share/bash-completion + insinto "$(_bash-completion-r1_get_bashcompdir)" doins "${@}" ) } @@ -46,7 +116,7 @@ newbashcomp() { debug-print-function ${FUNCNAME} "${@}" ( - insinto /usr/share/bash-completion + insinto "$(_bash-completion-r1_get_bashcompdir)" newins "${@}" ) } diff --git a/sdk_container/src/third_party/portage-stable/eclass/bash-completion.eclass b/sdk_container/src/third_party/portage-stable/eclass/bash-completion.eclass index c226878c5f..b74f95ef6d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bash-completion.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bash-completion.eclass @@ -1,8 +1,8 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.28 2011/09/08 19:06:46 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.29 2013/07/05 17:39:10 ulm Exp $ -# @DEPRECATED +# DEPRECATED # This eclass has been superseded by bash-completion-r1 eclass. # Please modify your ebuilds to use that one instead. 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 ef1303fb33..00527f1939 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,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/bsdmk.eclass,v 1.11 2011/12/27 17:55:12 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/bsdmk.eclass,v 1.12 2013/08/09 16:26:59 aballier Exp $ # @ECLASS: bsdmk.eclass # @MAINTAINER: @@ -74,7 +74,7 @@ dummy_mk() { # @DESCRIPTION: # The bsdmk src_compile function, which is exported bsdmk_src_compile() { - mkmake || die "make failed" + mkmake "$@" || die "make failed" } # @FUNCTION: bsdmk_src_install 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 edee2d8f61..c3d33590e5 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/bzr.eclass,v 1.19 2012/09/18 06:41:45 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/bzr.eclass,v 1.20 2013/07/11 18:38:59 ulm Exp $ # # @ECLASS: bzr.eclass # @MAINTAINER: @@ -41,6 +41,11 @@ esac # The directory to store all fetched Bazaar live sources. : ${EBZR_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src} +# @ECLASS-VARIABLE: EBZR_UNPACK_DIR +# @DESCRIPTION: +# The working directory where the sources are copied to. +: ${EBZR_UNPACK_DIR:=${WORKDIR}/${P}} + # @ECLASS-VARIABLE: EBZR_INIT_REPO_CMD # @DESCRIPTION: # The Bazaar command to initialise a shared repository. @@ -261,13 +266,14 @@ bzr_fetch() { if [[ -n ${EBZR_WORKDIR_CHECKOUT} ]]; then einfo "checking out ..." ${EBZR_CHECKOUT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ - . "${WORKDIR}/${P}" || die "${EBZR}: checkout failed" + . "${EBZR_UNPACK_DIR}" || die "${EBZR}: checkout failed" else einfo "exporting ..." ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \ - "${WORKDIR}/${P}" . || die "${EBZR}: export failed" + "${EBZR_UNPACK_DIR}" . || die "${EBZR}: export failed" fi - einfo "revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${WORKDIR}/${P}" + einfo \ + "revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${EBZR_UNPACK_DIR}" popd > /dev/null } diff --git a/sdk_container/src/third_party/portage-stable/eclass/ccc.eclass b/sdk_container/src/third_party/portage-stable/eclass/ccc.eclass deleted file mode 100644 index 703f2fb189..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ccc.eclass +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ccc.eclass,v 1.23 2010/01/11 20:26:53 armin76 Exp $ - -# @DEAD -# To be removed on 2012/01/11 -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" - diff --git a/sdk_container/src/third_party/portage-stable/eclass/check-kernel.eclass b/sdk_container/src/third_party/portage-stable/eclass/check-kernel.eclass deleted file mode 100644 index fcc442f0d9..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/check-kernel.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/check-kernel.eclass,v 1.9 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass b/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass index 1ef8819639..906968ae1a 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/chromium.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/chromium.eclass,v 1.7 2012/09/11 08:15:08 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/chromium.eclass,v 1.8 2013/08/11 02:42:54 floppym Exp $ # @ECLASS: chromium.eclass # @MAINTAINER: @@ -11,7 +11,9 @@ inherit eutils fdo-mime gnome2-utils linux-info -EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm +if [[ ${CHROMIUM_EXPORT_PHASES} != no ]]; then + EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm +fi if [[ ${PN} == chromium ]]; then IUSE+=" custom-cflags" 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 new file mode 100644 index 0000000000..62f7c09137 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass @@ -0,0 +1,58 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/cmake-multilib.eclass,v 1.3 2013/09/06 17:11:52 axs Exp $ + +# @ECLASS: cmake-multilib.eclass +# @MAINTAINER: +# Michał Górny +# @BLURB: cmake-utils wrapper for multilib builds +# @DESCRIPTION: +# The cmake-multilib.eclass is a cmake-utils.eclass(5) wrapper +# introducing support for building for more than one ABI (multilib). +# +# Inheriting this eclass sets IUSE and exports cmake-utils phase +# function wrappers which build the package for each supported ABI +# if the appropriate flag is enabled. +# +# Note that the multilib support requires out-of-source builds to be +# enabled. Thus, it is impossible to use CMAKE_IN_SOURCE_BUILD with +# it. + +# EAPI=5 is required for meaningful MULTILIB_USEDEP. +case ${EAPI:-0} in + 5) ;; + *) die "EAPI=${EAPI} is not supported" ;; +esac + +if [[ ${CMAKE_IN_SOURCE_BUILD} ]]; then + die "${ECLASS}: multilib support requires out-of-source builds." +fi + +inherit cmake-utils multilib-build + +EXPORT_FUNCTIONS src_configure src_compile src_test src_install + +cmake-multilib_src_configure() { + multilib_parallel_foreach_abi cmake-utils_src_configure "${@}" +} + +cmake-multilib_src_compile() { + multilib_foreach_abi cmake-utils_src_compile "${@}" +} + +cmake-multilib_src_test() { + multilib_foreach_abi cmake-utils_src_test "${@}" +} + +cmake-multilib_src_install() { + cmake-multilib_secure_install() { + cmake-utils_src_install "${@}" + + # Make sure all headers are the same for each ABI. + multilib_prepare_wrappers + multilib_check_headers + } + + multilib_foreach_abi cmake-multilib_secure_install "${@}" + multilib_install_wrappers +} 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 cadabe9222..018ce93b6d 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/cmake-utils.eclass,v 1.91 2013/01/17 20:18:28 creffett Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/cmake-utils.eclass,v 1.100 2013/07/24 20:57:38 scarabeus Exp $ # @ECLASS: cmake-utils.eclass # @MAINTAINER: @@ -12,12 +12,14 @@ # Original author: Zephyrus (zephyrus@mirach.it) # @BLURB: common ebuild functions for cmake-based packages # @DESCRIPTION: -# The cmake-utils eclass is base.eclass(5) wrapper that makes creating ebuilds for -# cmake-based packages much easier. +# The cmake-utils eclass makes creating ebuilds for cmake-based packages much easier. # It provides all inherited features (DOCS, HTML_DOCS, PATCHES) along with out-of-source # builds (default), in-source builds and an implementation of the well-known use_enable # and use_with functions for CMake. +if [[ ${___ECLASS_ONCE_CMAKE_UTILS} != "recur -_+^+_- spank" ]] ; then +___ECLASS_ONCE_CMAKE_UTILS="recur -_+^+_- spank" + # @ECLASS-VARIABLE: WANT_CMAKE # @DESCRIPTION: # Specify if cmake-utils eclass should depend on cmake optionaly or not. @@ -28,8 +30,8 @@ WANT_CMAKE="${WANT_CMAKE:-always}" # @ECLASS-VARIABLE: CMAKE_MIN_VERSION # @DESCRIPTION: -# Specify the minimum required CMake version. Default is 2.8.4 -CMAKE_MIN_VERSION="${CMAKE_MIN_VERSION:-2.8.8}" +# Specify the minimum required CMake version. +CMAKE_MIN_VERSION="${CMAKE_MIN_VERSION:-2.8.9}" # @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST # @DESCRIPTION: @@ -44,9 +46,16 @@ CMAKE_REMOVE_MODULES="${CMAKE_REMOVE_MODULES:-yes}" # @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR # @DESCRIPTION: -# Specify a makefile generator to be used by cmake. At this point only "make" -# and "ninja" is supported. -CMAKE_MAKEFILE_GENERATOR="${CMAKE_MAKEFILE_GENERATOR:-make}" +# Specify a makefile generator to be used by cmake. +# At this point only "emake" and "ninja" are supported. +CMAKE_MAKEFILE_GENERATOR="${CMAKE_MAKEFILE_GENERATOR:-emake}" + +# @ECLASS-VARIABLE: CMAKE_WARN_UNUSED_CLI +# @DESCRIPTION: +# Warn about variables that are declared on the command line +# but not used. Might give false-positives. +# "no" to disable (default) or anything else to enable. +CMAKE_WARN_UNUSED_CLI="${CMAKE_WARN_UNUSED_CLI:-no}" CMAKEDEPEND="" case ${WANT_CMAKE} in @@ -57,16 +66,30 @@ case ${WANT_CMAKE} in CMAKEDEPEND+="${WANT_CMAKE}? ( " ;; esac -inherit toolchain-funcs multilib flag-o-matic base +inherit toolchain-funcs multilib flag-o-matic eutils CMAKE_EXPF="src_compile src_test src_install" case ${EAPI:-0} in - 2|3|4|5) CMAKE_EXPF+=" src_configure" ;; - 1|0) ;; - *) die "Unknown EAPI, Bug eclass maintainers." ;; + 2|3|4|5) CMAKE_EXPF+=" src_prepare src_configure" ;; + 1|0) eerror "cmake-utils no longer supports EAPI 0-1." && die + ;; + *) die "Unknown EAPI, bug eclass maintainers." ;; esac EXPORT_FUNCTIONS ${CMAKE_EXPF} +case ${CMAKE_MAKEFILE_GENERATOR} in + emake) + CMAKEDEPEND+=" sys-devel/make" + ;; + ninja) + CMAKEDEPEND+=" dev-util/ninja" + ;; + *) + eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}" + die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported" + ;; +esac + if [[ ${PN} != cmake ]]; then CMAKEDEPEND+=" >=dev-util/cmake-${CMAKE_MIN_VERSION}" fi @@ -195,10 +218,22 @@ _check_build_dir() { # Determine which generator to use _generator_to_use() { - if [[ ${CMAKE_MAKEFILE_GENERATOR} = "ninja" ]]; then - has_version dev-util/ninja && echo "Ninja" && return - fi - echo "Unix Makefiles" + local generator_name + + case ${CMAKE_MAKEFILE_GENERATOR} in + ninja) + generator_name="Ninja" + ;; + emake) + generator_name="Unix Makefiles" + ;; + *) + eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}" + die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported" + ;; + esac + + echo ${generator_name} } # @FUNCTION: cmake-utils_use_with @@ -219,6 +254,16 @@ cmake-utils_use_with() { _use_me_now WITH_ "$@" ; } # and -DENABLE_FOO=OFF if it is disabled. cmake-utils_use_enable() { _use_me_now ENABLE_ "$@" ; } +# @FUNCTION: cmake-utils_use_find_package +# @USAGE: [flag name] +# @DESCRIPTION: +# Based on use_enable. See ebuild(5). +# +# `cmake-utils_use_find_package foo LibFoo` echoes -DCMAKE_DISABLE_FIND_PACKAGE_LibFoo=OFF +# if foo is enabled and -DCMAKE_DISABLE_FIND_PACKAGE_LibFoo=ON if it is disabled. +# This can be used to make find_package optional (since cmake-2.8.6). +cmake-utils_use_find_package() { _use_me_now_inverted CMAKE_DISABLE_FIND_PACKAGE_ "$@" ; } + # @FUNCTION: cmake-utils_use_disable # @USAGE: [flag name] # @DESCRIPTION: @@ -315,6 +360,35 @@ _modify-cmakelists() { _EOF_ } +enable_cmake-utils_src_prepare() { + debug-print-function ${FUNCNAME} "$@" + + debug-print "$FUNCNAME: PATCHES=$PATCHES" + + pushd "${S}" > /dev/null + [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" + + debug-print "$FUNCNAME: applying user patches" + epatch_user + + popd > /dev/null + +} + +# @VARIABLE: mycmakeargs +# @DEFAULT_UNSET +# @DESCRIPTION: +# Optional cmake defines as a bash array. Should be defined before calling +# src_configure. +# @CODE +# src_configure() { +# local mycmakeargs=( +# $(cmake-utils_use_with openconnect) +# ) +# cmake-utils_src_configure +# } + + enable_cmake-utils_src_configure() { debug-print-function ${FUNCNAME} "$@" @@ -359,6 +433,7 @@ enable_cmake-utils_src_configure() { SET (CMAKE_CXX_COMPILER $(type -P $(tc-getCXX)) CACHE FILEPATH "C++ compiler" FORCE) SET (CMAKE_CXX_COMPILE_OBJECT " ${CPPFLAGS} -o -c " CACHE STRING "C++ compile command" FORCE) SET (CMAKE_RANLIB $(type -P $(tc-getRANLIB)) CACHE FILEPATH "Archive index generator" FORCE) + SET (PKG_CONFIG_EXECUTABLE $(type -P $(tc-getPKG_CONFIG)) CACHE FILEPATH "pkg-config executable" FORCE) _EOF_ has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX= @@ -404,11 +479,17 @@ enable_cmake-utils_src_configure() { local mycmakeargs_local=("${mycmakeargs[@]}") fi + if [[ ${CMAKE_WARN_UNUSED_CLI} == no ]] ; then + local warn_unused_cli="--no-warn-unused-cli" + else + local warn_unused_cli="" + fi + # Common configure parameters (overridable) # NOTE CMAKE_BUILD_TYPE can be only overriden via CMAKE_BUILD_TYPE eclass variable # No -DCMAKE_BUILD_TYPE=xxx definitions will be in effect. local cmakeargs=( - --no-warn-unused-cli + ${warn_unused_cli} -C "${common_config}" -G "$(_generator_to_use)" -DCMAKE_INSTALL_PREFIX="${EPREFIX}${PREFIX}" @@ -433,6 +514,40 @@ enable_cmake-utils_src_compile() { cmake-utils_src_make "$@" } +# @FUNCTION: ninja_src_make +# @INTERNAL +# @DESCRIPTION: +# Build the package using ninja generator +ninja_src_make() { + debug-print-function ${FUNCNAME} "$@" + + [[ -e build.ninja ]] || die "Makefile not found. Error during configure stage." + + if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then + # TODO: get load average from portage (-l option) + ninja ${MAKEOPTS} -v "$@" || die + else + ninja "$@" || die + fi +} + +# @FUNCTION: emake_src_make +# @INTERNAL +# @DESCRIPTION: +# Build the package using make generator +emake_src_make() { + debug-print-function ${FUNCNAME} "$@" + + [[ -e Makefile ]] || die "Makefile not found. Error during configure stage." + + if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then + emake VERBOSE=1 "$@" || die + else + emake "$@" || die + fi + +} + # @FUNCTION: cmake-utils_src_make # @DESCRIPTION: # Function for building the package. Automatically detects the build type. @@ -442,24 +557,9 @@ cmake-utils_src_make() { _check_build_dir pushd "${BUILD_DIR}" > /dev/null - if [[ $(_generator_to_use) = Ninja ]]; then - # first check if Makefile exist otherwise die - [[ -e build.ninja ]] || die "Makefile not found. Error during configure stage." - if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then - #TODO get load average from portage (-l option) - ninja ${MAKEOPTS} -v "$@" - else - ninja "$@" - fi || die "ninja failed!" - else - # first check if Makefile exist otherwise die - [[ -e Makefile ]] || die "Makefile not found. Error during configure stage." - if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then - emake VERBOSE=1 "$@" || die "Make failed!" - else - emake "$@" || die "Make failed!" - fi - fi + + ${CMAKE_MAKEFILE_GENERATOR}_src_make $@ + popd > /dev/null } @@ -468,14 +568,26 @@ enable_cmake-utils_src_install() { _check_build_dir pushd "${BUILD_DIR}" > /dev/null - if [[ $(_generator_to_use) = Ninja ]]; then - DESTDIR=${D} ninja install "$@" || die "died running ninja install" - base_src_install_docs - else - base_src_install "$@" - fi + DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" || die "died running ${CMAKE_MAKEFILE_GENERATOR} install" popd > /dev/null + pushd "${S}" > /dev/null + #Install docs, copied from base_src_install_docs + local x + + if [[ "$(declare -p DOCS 2>/dev/null 2>&1)" == "declare -a"* ]]; then + for x in "${DOCS[@]}"; do + debug-print "$FUNCNAME: docs: creating document from ${x}" + dodoc "${x}" || die "dodoc failed" + done + fi + if [[ "$(declare -p HTML_DOCS 2>/dev/null 2>&1)" == "declare -a"* ]]; then + for x in "${HTML_DOCS[@]}"; do + debug-print "$FUNCNAME: docs: creating html document from ${x}" + dohtml -r "${x}" || die "dohtml failed" + done + fi + # Backward compatibility, for non-array variables if [[ -n "${DOCS}" ]] && [[ "$(declare -p DOCS 2>/dev/null 2>&1)" != "declare -a"* ]]; then dodoc ${DOCS} || die "dodoc failed" @@ -483,6 +595,8 @@ enable_cmake-utils_src_install() { if [[ -n "${HTML_DOCS}" ]] && [[ "$(declare -p HTML_DOCS 2>/dev/null 2>&1)" != "declare -a"* ]]; then dohtml -r ${HTML_DOCS} || die "dohtml failed" fi + + popd > /dev/null } enable_cmake-utils_src_test() { @@ -516,6 +630,13 @@ enable_cmake-utils_src_test() { fi } +# @FUNCTION: cmake-utils_src_prepare +# @DESCRIPTION: +# Apply ebuild and user patches. +cmake-utils_src_prepare() { + _execute_optionaly "src_prepare" "$@" +} + # @FUNCTION: cmake-utils_src_configure # @DESCRIPTION: # General function for configuring with cmake. Default behaviour is to start an @@ -556,3 +677,5 @@ _execute_optionaly() { use ${WANT_CMAKE} && enable_cmake-utils_${phase} "$@" fi } + +fi 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 43a8d8ba38..fb5ac25ba8 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,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/cron.eclass,v 1.15 2011/08/22 04:46:31 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/cron.eclass,v 1.16 2013/09/05 10:44:22 zx2c4 Exp $ # @ECLASS: cron # @MAINTAINER: @@ -27,8 +27,7 @@ SLOT="0" DEPEND=">=sys-apps/sed-4.0.5" -RDEPEND="virtual/mta - >=sys-process/cronbase-0.3.2" +RDEPEND=">=sys-process/cronbase-0.3.2" for pn in vixie-cron bcron cronie dcron fcron; do [[ ${pn} == "${PN}" ]] || RDEPEND="${RDEPEND} !sys-process/${pn}" done 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 3b63cf156e..b3b80b26ef 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cuda.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cuda.eclass @@ -1,8 +1,8 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/cuda.eclass,v 1.1 2013/01/11 08:31:49 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/cuda.eclass,v 1.3 2013/08/11 16:20:23 jlec Exp $ -inherit toolchain-funcs versionator +inherit flag-o-matic toolchain-funcs versionator # @ECLASS: cuda.eclass # @MAINTAINER: @@ -96,15 +96,19 @@ cuda_gccdir() { # Correct NVCCFLAGS by adding the necessary reference to gcc bindir and # passing CXXFLAGS to underlying compiler without disturbing nvcc. cuda_sanitize() { + local rawldflags=$(raw-ldflags) # Be verbose if wanted [[ "${CUDA_VERBOSE}" == true ]] && NVCCFLAGS+=" -v" # Tell nvcc where to find a compatible compiler - NVCCFLAGS+=" $(cuda_gccdir -f)" + if has_version \<=dev-util/nvidia-cuda-toolkit-5.5; then + NVCCFLAGS+=" $(cuda_gccdir -f)" + fi # Tell nvcc which flags should be used for underlying C compiler - NVCCFLAGS+=" --compiler-options=\"${CXXFLAGS}\"" + NVCCFLAGS+=" --compiler-options=\"${CXXFLAGS}\" --linker-options=\"${rawldflags// /,}\"" + debug-print "Using ${NVCCFLAGS} for cuda" export NVCCFLAGS } 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 c06ac199cb..3b60b585ba 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.81 2013/01/22 07:29:02 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.82 2013/06/18 04:31:44 ottxor Exp $ # @ECLASS: cvs.eclass # @MAINTAINER: @@ -301,10 +301,10 @@ cvs_fetch() { # Our server string (i.e. CVSROOT) without the password so it can # be put in Root + local connection="${ECVS_AUTH}" if [[ ${ECVS_AUTH} == "no" ]] ; then local server="${ECVS_USER}@${ECVS_SERVER}" else - local connection="${ECVS_AUTH}" [[ -n ${ECVS_PROXY} ]] && connection+=";proxy=${ECVS_PROXY}" [[ -n ${ECVS_PROXY_PORT} ]] && connection+=";proxyport=${ECVS_PROXY_PORT}" local server=":${connection}:${ECVS_USER}@${ECVS_SERVER}" @@ -340,15 +340,15 @@ cvs_fetch() { chown "${ECVS_RUNAS}" "${T}/cvspass" fi - # The server string with the password in it, for login - cvsroot_pass=":${ECVS_AUTH}:${ECVS_USER}:${ECVS_PASS}@${ECVS_SERVER}" + # The server string with the password in it, for login (only used for pserver) + cvsroot_pass=":${connection}:${ECVS_USER}:${ECVS_PASS}@${ECVS_SERVER}" # Ditto without the password, for checkout/update after login, so # that the CVS/Root files don't contain the password in plaintext if [[ ${ECVS_AUTH} == "no" ]] ; then cvsroot_nopass="${ECVS_USER}@${ECVS_SERVER}" else - cvsroot_nopass=":${ECVS_AUTH}:${ECVS_USER}@${ECVS_SERVER}" + cvsroot_nopass=":${connection}:${ECVS_USER}@${ECVS_SERVER}" fi # Commands to run 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 26e4a1456f..dfa3132911 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,9 +1,9 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/db-use.eclass,v 1.10 2011/12/27 17:55:12 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/db-use.eclass,v 1.11 2013/07/21 09:23:45 pacho Exp $ # This is a common location for functions that aid the use of sys-libs/db # -# Bugs: pauldv@gentoo.org +# Bugs: maintainer-needed@gentoo.org inherit versionator multilib 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 48124b705e..ffcc36e821 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/db.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/db.eclass @@ -1,9 +1,9 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/db.eclass,v 1.47 2012/10/08 19:59:59 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/db.eclass,v 1.49 2013/07/21 09:23:45 pacho Exp $ # This is a common location for functions used in the sys-libs/db ebuilds # -# Bugs: pauldv@gentoo.org +# Bugs: maintainer-needed@gentoo.org inherit eutils multilib @@ -168,6 +168,7 @@ db_src_test() { sed -ri \ -e '/regsub .test_path ./s,(regsub),#\1,g' \ -e '/regsub .src_root ./s,(regsub),#\1,g' \ + -e '/regsub .tcl_utils ./s,(regsub),#\1,g' \ "${test_parallel}" cd "${S}" for t in \ diff --git a/sdk_container/src/third_party/portage-stable/eclass/db4-fix.eclass b/sdk_container/src/third_party/portage-stable/eclass/db4-fix.eclass deleted file mode 100644 index 0a0b2ed97d..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/db4-fix.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/db4-fix.eclass,v 1.7 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 81e5824b81..d51ce44ea6 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/distutils-r1.eclass,v 1.74 2013/08/01 13:02:32 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/distutils-r1.eclass,v 1.80 2013/09/17 17:33:39 mgorny Exp $ # @ECLASS: distutils-r1 # @MAINTAINER: @@ -308,10 +308,31 @@ distutils_install_for_testing() { esetup.py "${add_args[@]}" } -_disable_ez_setup() { +# @FUNCTION: _distutils-r1_disable_ez_setup +# @INTERNAL +# @DESCRIPTION: +# Stub out ez_setup.py and distribute_setup.py to prevent packages +# from trying to download a local copy of setuptools. +_distutils-r1_disable_ez_setup() { local stub="def use_setuptools(*args, **kwargs): pass" - [[ -f ez_setup.py ]] && echo "${stub}" > ez_setup.py - [[ -f distribute_setup.py ]] && echo "${stub}" > distribute_setup.py + if [[ -f ez_setup.py ]]; then + echo "${stub}" > ez_setup.py || die + fi + if [[ -f distribute_setup.py ]]; then + echo "${stub}" > distribute_setup.py || die + fi +} + +# @FUNCTION: _distutils-r1_copy_egg_info +# @INTERNAL +# @DESCRIPTION: +# Copy egg-info files to the ${BUILD_DIR} (that's going to become +# egg-base in esetup.py). This way, we respect whatever's in upstream +# egg-info. +_distutils-r1_copy_egg_info() { + mkdir -p "${BUILD_DIR}" || die + # stupid freebsd can't do 'cp -t ${BUILD_DIR} {} +' + find -name '*.egg-info' -type d -exec cp -pr {} "${BUILD_DIR}"/ ';' || die } # @FUNCTION: distutils-r1_python_prepare_all @@ -336,8 +357,7 @@ distutils-r1_python_prepare_all() { fi fi - # Prevent packages from downloading their own copy of setuptools - _disable_ez_setup + _distutils-r1_disable_ez_setup if [[ ${DISTUTILS_IN_SOURCE_BUILD} && ! ${DISTUTILS_SINGLE_IMPL} ]] then @@ -375,6 +395,8 @@ distutils-r1_python_configure() { distutils-r1_python_compile() { debug-print-function ${FUNCNAME} "${@}" + _distutils-r1_copy_egg_info + esetup.py "${@}" } @@ -387,39 +409,48 @@ distutils-r1_python_test() { : } -# @FUNCTION: _distutils-r1_rename_scripts +# @FUNCTION: _distutils-r1_wrap_scripts # @USAGE: # @INTERNAL # @DESCRIPTION: -# Renames installed Python scripts to be implementation-suffixed. -# ${EPYTHON} needs to be set to the implementation name. -# -# All executable scripts having shebang referencing ${EPYTHON} -# in given path will be renamed. -_distutils-r1_rename_scripts() { +# Moves and wraps all installed scripts/executables as necessary. +_distutils-r1_wrap_scripts() { debug-print-function ${FUNCNAME} "${@}" local path=${1} [[ ${path} ]] || die "${FUNCNAME}: no path given" + if ! _python_want_python_exec2; then + local PYTHON_SCRIPTDIR=${EPREFIX}/usr/bin + fi + + mkdir -p "${path}/usr/bin" || die local f while IFS= read -r -d '' f; do - debug-print "${FUNCNAME}: found executable at ${f#${D}/}" + local basename=${f##*/} + debug-print "${FUNCNAME}: found executable at ${f#${path}/}" local shebang read -r shebang < "${f}" - if [[ ${shebang} == '#!'*${EPYTHON}* ]] - then + if [[ ${shebang} == '#!'*${EPYTHON}* ]]; then debug-print "${FUNCNAME}: matching shebang: ${shebang}" - local newf=${f}-${EPYTHON} - debug-print "${FUNCNAME}: renaming to ${newf#${D}/}" - mv "${f}" "${newf}" || die + if ! _python_want_python_exec2; then + local newf=${f%/*}/${basename}-${EPYTHON} + debug-print "${FUNCNAME}: renaming to ${newf#${path}}" + mv "${f}" "${newf}" || die + fi - debug-print "${FUNCNAME}: installing wrapper at ${f#${D}/}" - _python_ln_rel "${path}${EPREFIX}"/usr/bin/python-exec "${f}" || die + debug-print "${FUNCNAME}: installing wrapper at /usr/bin/${basename}" + _python_ln_rel "${path}${EPREFIX}"$(_python_get_wrapper_path) \ + "${path}${EPREFIX}/usr/bin/${basename}" || die + elif _python_want_python_exec2; then + debug-print "${FUNCNAME}: non-matching shebang: ${shebang}" + + debug-print "${FUNCNAME}: moving to /usr/bin/${basename}" + mv "${f}" "${path}${EPREFIX}/usr/bin/${basename}" || die fi - done < <(find "${path}" -type f -executable -print0) + done < <(find "${path}${PYTHON_SCRIPTDIR}" -type f -print0) } # @FUNCTION: distutils-r1_python_install @@ -452,15 +483,23 @@ distutils-r1_python_install() { local root=${D}/_${EPYTHON} [[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D} + flags+=( --root="${root}" ) - esetup.py install "${flags[@]}" --root="${root}" "${@}" + if [[ ! ${DISTUTILS_SINGLE_IMPL} ]] && _python_want_python_exec2 + then + local PYTHON_SCRIPTDIR + python_export PYTHON_SCRIPTDIR + flags+=( --install-scripts="${PYTHON_SCRIPTDIR}" ) + fi + + esetup.py install "${flags[@]}" "${@}" if [[ -d ${root}$(python_get_sitedir)/tests ]]; then die "Package installs 'tests' package, file collisions likely." fi if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then - _distutils-r1_rename_scripts "${root}" + _distutils-r1_wrap_scripts "${root}" multibuild_merge_root "${root}" "${D}" fi } @@ -471,25 +510,7 @@ distutils-r1_python_install() { distutils-r1_python_install_all() { debug-print-function ${FUNCNAME} "${@}" - if declare -p DOCS &>/dev/null; then - # an empty list == don't install anything - if [[ ${DOCS[@]} ]]; then - dodoc -r "${DOCS[@]}" - fi - else - local f - # same list as in PMS - for f in README* ChangeLog AUTHORS NEWS TODO CHANGES \ - THANKS BUGS FAQ CREDITS CHANGELOG; do - if [[ -s ${f} ]]; then - dodoc "${f}" - fi - done - fi - - if declare -p HTML_DOCS &>/dev/null; then - dohtml -r "${HTML_DOCS[@]}" - fi + einstalldocs if declare -p EXAMPLES &>/dev/null; then local INSDESTTREE=/usr/share/doc/${PF}/examples diff --git a/sdk_container/src/third_party/portage-stable/eclass/ebook.eclass b/sdk_container/src/third_party/portage-stable/eclass/ebook.eclass deleted file mode 100644 index bc30336d4a..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/ebook.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ebook.eclass,v 1.27 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/eclipse-ext.eclass b/sdk_container/src/third_party/portage-stable/eclass/eclipse-ext.eclass deleted file mode 100644 index 6c33a21bee..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/eclipse-ext.eclass +++ /dev/null @@ -1,242 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/eclipse-ext.eclass,v 1.13 2006/04/17 03:47:44 nichoj Exp $ - -# Original Author: Karl Trygve Kalleberg -# Maintainers: -# Development Tools Team -# Java Team - -inherit eutils multilib - - -# Must be listed in oldest->newest order! -known_eclipse_slots="2 3 3.1" - -# These should not be reinitialized if previously set -# (check allows require-slot in pkg_setup) - -[ -z "${eclipse_ext_type}" ] && \ - eclipse_ext_type="source" - -[ -z "${eclipse_ext_slot}" ] && \ - eclipse_ext_slot="0" - -[ -z "${eclipse_ext_basedir}" ] && \ - eclipse_ext_basedir="/usr/$(get_libdir)/eclipse-extensions-${eclipse_ext_slot}/eclipse" - -[ -z "${eclipse_ext_platformdir}" ] && \ - eclipse_ext_platformdir="/usr/$(get_libdir)/eclipse-${eclipse_ext_slot}" - -# --------------------------------------------------------------------------- -# @private _find-optimum-slot -# -# Look for a given SLOT. If not found return the least highest SLOT -# available. -# -# @param $1 - SLOT of Eclipse SDK that is most desired -# @return 0 - all is well, non-zero otherwise -# --------------------------------------------------------------------------- -function _find-optimum-slot { - local found=false - - for x in ${known_eclipse_slots} ; do - if [ "$1" == "$x" ] ; then - found=true - fi - if [ "${found}" == "true" ] && [ -d /usr/$(get_libdir)/eclipse-${x} ] ; then - echo $x - return 0 - fi - done - echo "" - return 1 -} - -# --------------------------------------------------------------------------- -# @public require-slot -# -# Ensure that an Eclipse SDK is actually available for the given slot; -# sets internal state to install for selected slot. -# -# @param $1 - SLOT of Eclipse SDK that required for this ebuild -# alternatively -# @return 0 - all is well, non-zero otherwise -# --------------------------------------------------------------------------- -function eclipse-ext_require-slot { - - local slot=$(_find-optimum-slot $1) - - if [ -z "${slot}" ] ; then - eerror "Cannot find any Eclipse SDK supporting slot $1" - return 1 - fi - - if [ "${slot}" != "$1" ] ; then - ewarn "Slot $1 could not be satisfied, installing for ${slot} instead" - fi - - eclipse_ext_slot=${slot} - eclipse_ext_basedir="/usr/$(get_libdir)/eclipse-extensions-${eclipse_ext_slot}/eclipse" - eclipse_ext_platformdir="/usr/$(get_libdir)/eclipse-${eclipse_ext_slot}" - - return 0 -} - -# --------------------------------------------------------------------------- -# @public create-plugin-layout -# -# Create directory infrastructure for binary-only plugins so that the installed -# Eclipse SDK will see them. Sets internal state for installing as source or -# binary. -# -# @param $1 - type of ebuild, "source" or "binary" -# @return - nothing -# --------------------------------------------------------------------------- -function eclipse-ext_create-ext-layout { - local type=$1 - if [ "${type}" == "binary" ] ; then - eclipse_ext_basedir="/opt/eclipse-extensions-${eclipse_ext_slot}/eclipse" - dodir ${eclipse_ext_basedir}/{features,plugins} - touch ${D}/${eclipse_ext_basedir}/.eclipseextension - else - eclipse_ext_basedir="/usr/$(get_libdir)/eclipse-extensions-${eclipse_ext_slot}/eclipse" - dodir ${eclipse_ext_basedir}/{features,plugins} - touch ${D}/${eclipse_ext_basedir}/.eclipseextension - fi -} - -# --------------------------------------------------------------------------- -# @public install-features -# -# Installs one or multiple features into the plugin directory for the required -# Eclipse SDK. -# -# Note: You must call require-slot prior to calling install-features. If your -# ebuild is for a binary-only plugin, you must also call create-plugin-layout -# prior to calling install-features. -# -# @param $* - feature directories -# @return 0 - if all is well -# 1 - if require-slot was not called -# --------------------------------------------------------------------------- -function eclipse-ext_install-features { - if [ ${eclipse_ext_slot} == 0 ] ; then - eerror "You must call require-slot prior to calling ${FUNCNAME}!" - return 1 - fi - - for x in $* ; do - if [ -d "$x" ] && [ -f $x/feature.xml ] ; then - cp -a $x ${D}/${eclipse_ext_basedir}/features - else - eerror "$x not a feature directory!" - fi - done -} - -# --------------------------------------------------------------------------- -# @public install-plugins -# -# Installs one or multiple plugins into the plugin directory for the required -# Eclipse SDK. -# -# Note: You must call require-slot prior to calling install-features. If your -# ebuild is for a binary-only plugin, you must also call create-plugin-layout -# prior to calling install-features. -# -# @param $* - plugin directories -# @return - nothing -# --------------------------------------------------------------------------- - -function eclipse-ext_install-plugins { - if [ ${eclipse_ext_slot} == 0 ] ; then - eerror "You must call require-slot prior to calling ${FUNCNAME}!" - return 1 - fi - - for x in $* ; do - if [ -d "$x" ] && ( [ -f "$x/plugin.xml" ] || [ -f "$x/fragment.xml" ] ) ; then - cp -a $x ${D}/${eclipse_ext_basedir}/plugins - else - eerror "$x not a plugin directory!" - fi - done -} - -# TODO really should have a page hosted on gentoo's infra -function eclipse-ext_pkg_postinst() { - einfo "For tips, tricks and general info on running Eclipse on Gentoo, go to:" - einfo "http://gentoo-wiki.com/Eclipse" -} - -# --------------------------------------------------------------------------- -# @public get-classpath -# -# Tries to parse out a classpath string from a build.properties file. Is very -# stupid: Assumes it's a one-liner on the form classpath = comma:separated: -# -# @param $1 - name of the file (typically build.properties) -# @param $2 - name of the one-liner env var (default 'classpath') -# @return - echo of space-separated classpath entries. -# --------------------------------------------------------------------------- - -eclipse-ext_get-classpath() { - local file=$1 - local envvar="classpath" - - if [ "$1" == "build.properties" ] ; then - if [ ! -z "$2" ] ; then - envvar="$2" - fi - fi - - echo "$(cat ${FILESDIR}/build.properties-${PV} | sed "s/.*=//" | tr ';' ' ')" -} - -_path-dissecter() { - echo $1 | sed -r "s/.*\/([^/]+)_([0-9.]+)\/(.*)/\\${2}/" -} - -_get-plugin-name() { - _path-dissecter $1 1 -} - -_get-plugin-version() { - _path-dissecter $1 2 -} - -_get-plugin-content() { - _path-dissecter $1 3 -} - -# --------------------------------------------------------------------------- -# @public resolve-jars -# -# Takes a space-separated list of plugin_version/subdirs/file.jar entries and -# tries to resolve the version for the plugin against the chosen eclipse version -# (set by require-slot). -# -# Note: You must call require-slot prior to calling resolve-jars. -# -# @param $1 - string with space-separated plugin/jarfile -# @return - echo of :-separated resolved files -# --------------------------------------------------------------------------- -eclipse-ext_resolve-jars() { - local resolved="" - - for x in $1 ; do - local jarfile=$(_get-plugin-content $x) - local name="$(_get-plugin-name $x)" - local x=$(echo ${eclipse_ext_platformdir}/plugins/${name}_*/${jarfile}) - if [ -f ${x} ] ; then - resolved="${resolved}:$x" - else - : - #echo "Warning: did not find ${name}" - fi - done - echo ${resolved} -} - -EXPORT_FUNCTIONS pkg_postinst 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 fb161050b5..015cac1b5c 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,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.83 2013/01/04 21:22:43 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/elisp-common.eclass,v 1.86 2013/09/04 19:16:40 ulm Exp $ # # @ECLASS: elisp-common.eclass # @MAINTAINER: @@ -23,7 +23,9 @@ # # When relying on the emacs USE flag, you need to add # -# emacs? ( virtual/emacs ) +# @CODE +# emacs? ( virtual/emacs ) +# @CODE # # to your DEPEND/RDEPEND line and use the functions provided here to # bring the files to the correct locations. @@ -35,7 +37,9 @@ # tested with function elisp-need-emacs(), which would typically be # called from pkg_setup(), as in the following example: # -# elisp-need-emacs 23 || die "Emacs version too low" +# @CODE +# elisp-need-emacs 23 || die "Emacs version too low" +# @CODE # # Please note that such tests should be limited to packages that are # known to fail with lower Emacs versions; the standard case is to @@ -50,7 +54,9 @@ # directory is added to the load-path which makes sure that all files # are loadable. # -# elisp-compile *.el || die +# @CODE +# elisp-compile *.el +# @CODE # # Function elisp-make-autoload-file() can be used to generate a file # with autoload definitions for the lisp functions. It takes the output @@ -70,16 +76,20 @@ # choose something else, but remember to tell elisp-site-file-install() # (see below) the change, as it defaults to ${PN}. # -# elisp-install ${PN} *.el *.elc || die +# @CODE +# elisp-install ${PN} *.el *.elc +# @CODE # # To let the Emacs support be activated by Emacs on startup, you need # to provide a site file (shipped in ${FILESDIR}) which contains the # startup code (have a look in the documentation of your software). # Normally this would look like this: # -# (add-to-list 'load-path "@SITELISP@") -# (add-to-list 'auto-mode-alist '("\\.csv\\'" . csv-mode)) -# (autoload 'csv-mode "csv-mode" "Major mode for csv files." t) +# @CODE +# (add-to-list 'load-path "@SITELISP@") +# (add-to-list 'auto-mode-alist '("\\.csv\\'" . csv-mode)) +# (autoload 'csv-mode "csv-mode" "Major mode for csv files." t) +# @CODE # # If your Emacs support files are installed in a subdirectory of # /usr/share/emacs/site-lisp/ (which is strongly recommended), you need @@ -108,11 +118,15 @@ # Best practice is to define a SITEFILE variable in the global scope of # your ebuild (e.g., right after S or RDEPEND): # -# SITEFILE="50${PN}-gentoo.el" +# @CODE +# SITEFILE="50${PN}-gentoo.el" +# @CODE # # Which is then installed by # -# elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die +# @CODE +# elisp-site-file-install "${FILESDIR}/${SITEFILE}" +# @CODE # # in src_install(). Any characters after the "-gentoo" part and before # the extension will be stripped from the destination file's name. @@ -126,13 +140,15 @@ # After that you need to recreate the start-up file of Emacs after # emerging and unmerging by using # -# pkg_postinst() { -# elisp-site-regen -# } +# @CODE +# pkg_postinst() { +# elisp-site-regen +# } # -# pkg_postrm() { -# elisp-site-regen -# } +# pkg_postrm() { +# elisp-site-regen +# } +# @CODE # # When having optional Emacs support, you should prepend "use emacs &&" # to above calls of elisp-site-regen(). @@ -168,20 +184,33 @@ EMACSFLAGS="-batch -q --no-site-file" BYTECOMPFLAGS="-L ." # @FUNCTION: elisp-emacs-version +# @RETURN: exit status of Emacs # @DESCRIPTION: # Output version of currently active Emacs. elisp-emacs-version() { - local ret + local version ret # The following will work for at least versions 18-24. echo "(princ emacs-version)" >"${T}"/emacs-version.el - ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el + version=$( + # EMACS could be a microemacs variant that ignores the -batch + # option and would therefore hang, waiting for user interaction. + # Redirecting stdin and unsetting TERM and DISPLAY will cause + # most of them to exit with an error. + unset TERM DISPLAY + ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el /dev/null; then + readme.gentoo_create_doc + fi } # @FUNCTION: elisp_pkg_postinst @@ -186,6 +189,9 @@ elisp_src_install() { elisp_pkg_postinst() { elisp-site-regen + if declare -f readme.gentoo_print_elog >/dev/null; then + readme.gentoo_print_elog + fi } # @FUNCTION: elisp_pkg_postrm diff --git a/sdk_container/src/third_party/portage-stable/eclass/embassy-2.10.eclass b/sdk_container/src/third_party/portage-stable/eclass/embassy-2.10.eclass deleted file mode 100644 index db05f42329..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/embassy-2.10.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/embassy-2.10.eclass,v 1.8 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/embassy-2.9.eclass b/sdk_container/src/third_party/portage-stable/eclass/embassy-2.9.eclass deleted file mode 100644 index 9ebc79bfb6..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/embassy-2.9.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/embassy-2.9.eclass,v 1.10 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/emul-libs.eclass b/sdk_container/src/third_party/portage-stable/eclass/emul-libs.eclass deleted file mode 100644 index a7d016728e..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/emul-libs.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/emul-libs.eclass,v 1.9 2010/01/14 21:46:51 abcd Exp $ - -# @DEAD -# Scheduled for removal on 2012/01/14. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/emul-linux-x86.eclass b/sdk_container/src/third_party/portage-stable/eclass/emul-linux-x86.eclass index e0130aa0f5..bd3004c1b8 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/emul-linux-x86.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/emul-linux-x86.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/emul-linux-x86.eclass,v 1.16 2013/01/12 16:53:56 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/emul-linux-x86.eclass,v 1.19 2013/06/28 02:37:48 vapier Exp $ # # Original Author: Mike Doty @@ -8,37 +8,21 @@ # Purpose: Providing a template for the app-emulation/emul-linux-* packages # -inherit multilib versionator - -if version_is_at_least 20110129; then - IUSE="development" -else - IUSE="" -fi +inherit multilib case "${EAPI:-0}" in - 0|1) - EXPORT_FUNCTIONS src_unpack src_install - ;; - 2|3|4|5) - EXPORT_FUNCTIONS src_unpack src_prepare src_install + 3|4|5) + EXPORT_FUNCTIONS src_prepare src_install ;; *) die "EAPI=${EAPI} is not supported" ;; esac -if version_is_at_least 20110722; then - SRC_URI="http://dev.gentoo.org/~pacho/emul/${P}.tar.xz" -else - if version_is_at_least 20110129; then - SRC_URI="http://dev.gentoo.org/~pacho/emul/${P}.tar.bz2" - else - SRC_URI="mirror://gentoo/${PN}-${PV}.tar.bz2" - fi -fi - DESCRIPTION="Provides precompiled 32bit libraries" #HOMEPAGE="http://amd64.gentoo.org/emul/content.xml" HOMEPAGE="http://dev.gentoo.org/~pacho/emul.html" +SRC_URI="http://dev.gentoo.org/~pacho/emul/${P}.tar.xz" + +IUSE="+development" RESTRICT="strip" S=${WORKDIR} @@ -50,20 +34,13 @@ SLOT="0" DEPEND=">=sys-apps/findutils-4.2.26" RDEPEND="" -emul-linux-x86_src_unpack() { - unpack ${A} - cd "${S}" - has ${EAPI:-0} 0 1 && emul-linux-x86_src_prepare -} - emul-linux-x86_src_prepare() { ALLOWED=${ALLOWED:-^${S}/etc/env.d} - has development "${IUSE//+}" && use development && ALLOWED="${ALLOWED}|/usr/lib32/pkgconfig" - find "${S}" ! -type d ! '(' -name '*.so' -o -name '*.so.[0-9]*' ')' | egrep -v "${ALLOWED}" | xargs -d $'\n' rm -f || die 'failed to remove everything but *.so*' + use development && ALLOWED="${ALLOWED}|/usr/lib32/pkgconfig" + find "${S}" ! -type d ! '(' -name '*.so' -o -name '*.so.[0-9]*' -o -name '*.h' ')' | egrep -v "${ALLOWED}" | xargs -d $'\n' rm -f || die 'failed to remove everything but *.so*' } emul-linux-x86_src_install() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" for dir in etc/env.d etc/revdep-rebuild ; do if [[ -d "${S}"/${dir} ]] ; then for f in "${S}"/${dir}/* ; do @@ -89,9 +66,12 @@ emul-linux-x86_src_install() { pushd "${D}"/usr/${x86_libdir} >/dev/null # Fix linker script paths. - sed -i \ - -e "s:/lib32/:/${x86_libdir}/:" \ - $(grep -ls '^GROUP.*/lib32/' *.so) || die + local ldscripts + if ldscripts=( $(grep -ls '^GROUP.*/lib32/' *.so) ) ; then + sed -i \ + -e "s:/lib32/:/${x86_libdir}/:" \ + "${ldscripts[@]}" || die + fi # Rewrite symlinks (if need be). local sym tgt 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 224955b3ba..299d8fa0d9 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,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.98 2012/11/26 06:58:19 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.101 2013/08/31 13:04:51 tommy Exp $ # @ECLASS: enlightenment.eclass # @MAINTAINER: @@ -19,6 +19,11 @@ inherit eutils libtool # @DESCRIPTION: # if defined, the package is Cython bindings (implies E_PYTHON) +# @ECLASS-VARIABLE: E_ECONF +# @DESCRIPTION: +# Array of flags to pass to econf (obsoletes MY_ECONF) +E_ECONF=() + # E_STATE's: # release [default] # KEYWORDS arch @@ -41,19 +46,31 @@ inherit eutils libtool # S EURI_STATE E_LIVE_SERVER_DEFAULT_SVN="http://svn.enlightenment.org/svn/e/trunk" +E_LIVE_SERVER_DEFAULT_GIT="git://git.enlightenment.org" E_STATE="release" if [[ ${PV} == *9999* ]] ; then - E_LIVE_SERVER=${E_LIVE_SERVER:-${E_LIVE_SERVER_DEFAULT_SVN}} + if [[ ${EGIT_URI_APPEND} ]] ; then + E_LIVE_SERVER=${E_LIVE_SERVER:-${E_LIVE_SERVER_DEFAULT_GIT}} + EGIT_URI_APPEND=${EGIT_URI_APPEND:-${PN}} + EGIT_PROJECT="enlightenment/${EGIT_SUB_PROJECT}/${EGIT_URI_APPEND}" + EGIT_REPO_URI=${EGIT_SERVER:-${E_LIVE_SERVER_DEFAULT_GIT}}/${EGIT_SUB_PROJECT}/${EGIT_URI_APPEND}.git + E_S_APPEND=${EGIT_URI_APPEND} + E_LIVE_SOURCE="git" + inherit git-2 + else + E_LIVE_SERVER=${E_LIVE_SERVER:-${E_LIVE_SERVER_DEFAULT_SVN}} + + ESVN_URI_APPEND=${ESVN_URI_APPEND:-${PN}} + ESVN_PROJECT="enlightenment/${ESVN_SUB_PROJECT}" + ESVN_REPO_URI=${ESVN_SERVER:-${E_LIVE_SERVER_DEFAULT_SVN}}/${ESVN_SUB_PROJECT}/${ESVN_URI_APPEND} + E_S_APPEND=${ESVN_URI_APPEND} + E_LIVE_SOURCE="svn" + inherit subversion + fi E_STATE="live" WANT_AUTOTOOLS="yes" - ESVN_URI_APPEND=${ESVN_URI_APPEND:-${PN}} - ESVN_PROJECT="enlightenment/${ESVN_SUB_PROJECT}" - ESVN_REPO_URI=${ESVN_SERVER:-${E_LIVE_SERVER_DEFAULT_SVN}}/${ESVN_SUB_PROJECT}/${ESVN_URI_APPEND} - E_S_APPEND=${ESVN_URI_APPEND} - E_LIVE_SOURCE="svn" - inherit subversion elif [[ -n ${E_SNAP_DATE} ]] ; then E_STATE="snap" else @@ -113,6 +130,7 @@ enlightenment_src_unpack() { if [[ ${E_STATE} == "live" ]] ; then case ${E_LIVE_SOURCE} in svn) subversion_src_unpack;; + git) git-2_src_unpack;; *) die "eek!";; esac else @@ -142,9 +160,9 @@ enlightenment_src_prepare() { enlightenment_src_configure() { # gstreamer sucks, work around it doing stupid stuff export GST_REGISTRY="${S}/registry.xml" - has static-libs ${IUSE} && MY_ECONF+=" $(use_enable static-libs static)" + has static-libs ${IUSE} && E_ECONF+=( $(use_enable static-libs static) ) - econf ${MY_ECONF} + econf ${MY_ECONF} "${E_ECONF[@]}" } enlightenment_src_compile() { 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 7f1a6da1e9..d1acc73216 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.424 2013/06/21 23:57:03 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.427 2013/09/14 19:00:10 mgorny Exp $ # @ECLASS: eutils.eclass # @MAINTAINER: @@ -356,7 +356,7 @@ EPATCH_FORCE="no" # 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 -p5 until things +# 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 @@ -1645,6 +1645,43 @@ prune_libtool_files() { fi } +einstalldocs() { + debug-print-function ${FUNCNAME} "${@}" + + local dodoc_opts=-r + has ${EAPI} 0 1 2 3 && dodoc_opts= + + if ! declare -p DOCS &>/dev/null ; then + local d + for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \ + THANKS BUGS FAQ CREDITS CHANGELOG ; do + if [[ -s ${d} ]] ; then + dodoc "${d}" || die + fi + done + elif [[ $(declare -p DOCS) == "declare -a"* ]] ; then + if [[ ${DOCS[@]} ]] ; then + dodoc ${dodoc_opts} "${DOCS[@]}" || die + fi + else + if [[ ${DOCS} ]] ; then + dodoc ${dodoc_opts} ${DOCS} || die + fi + fi + + if [[ $(declare -p HTML_DOCS 2>/dev/null) == "declare -a"* ]] ; then + if [[ ${HTML_DOCS[@]} ]] ; then + dohtml -r "${HTML_DOCS[@]}" || die + fi + else + if [[ ${HTML_DOCS} ]] ; then + dohtml -r ${HTML_DOCS} || die + fi + fi + + return 0 +} + check_license() { die "you no longer need this as portage supports ACCEPT_LICENSE itself"; } fi 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 13f62be5fc..76f3c35488 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/fcaps.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/fcaps.eclass,v 1.3 2013/01/30 07:15:49 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/fcaps.eclass,v 1.8 2013/06/27 01:18:57 vapier Exp $ # @ECLASS: fcaps.eclass # @MAINTAINER: @@ -33,6 +33,7 @@ ___ECLASS_ONCE_FCAPS="recur -_+^+_- spank" IUSE="+filecaps" +# We can't use libcap-ng atm due to #471414. DEPEND="filecaps? ( sys-libs/libcap )" # @ECLASS-VARIABLE: FILECAPS @@ -111,7 +112,7 @@ fcaps() { esac # Process every file! - local file out + local file for file ; do [[ ${file} != /* ]] && file="${root}${file}" @@ -124,24 +125,66 @@ fcaps() { # by people. chmod ${caps_mode} "${file}" || die - if ! out=$(LC_ALL=C setcap "${caps}" "${file}" 2>&1) ; then - if [[ ${out} != *"Operation not supported"* ]] ; then - eerror "Setting caps '${caps}' on file '${file}' failed:" - eerror "${out}" - die "could not set caps" - else - local fstype=$(stat -f -c %T "${file}") - ewarn "Could not set caps on '${file}' due to missing filesystem support." - ewarn "Make sure you enable XATTR support for '${fstype}' in your kernel." - ewarn "You might also have to enable the relevant FS_SECURITY option." - fi - else - # Sanity check that everything took. - setcap -v "${caps}" "${file}" >/dev/null \ - || die "Checking caps '${caps}' on '${file}' failed" + # Set/verify funcs for sys-libs/libcap. + _libcap() { setcap "${caps}" "${file}" ; } + _libcap_verify() { setcap -v "${caps}" "${file}" >/dev/null ; } - # Everything worked. Move on to the next file. - continue + # Set/verify funcs for sys-libs/libcap-ng. + # Note: filecap only supports =ep mode. + # It also expects a different form: + # setcap cap_foo,cap_bar + # filecap foo bar + _libcap_ng() { + local caps=",${caps%=ep}" + filecap "${file}" "${caps//,cap_}" + } + _libcap_ng_verify() { + # libcap-ng has a crappy interface + local rcaps icaps caps=",${caps%=ep}" + rcaps=$(filecap "${file}" | \ + sed -nr \ + -e "s:^.{${#file}} +::" \ + -e 's:, +:\n:g' \ + -e 2p | \ + LC_ALL=C sort) + [[ ${PIPESTATUS[0]} -eq 0 ]] || return 1 + icaps=$(echo "${caps//,cap_}" | LC_ALL=C sort) + [[ ${rcaps} == ${icaps} ]] + } + + local out cmd notfound=0 + for cmd in _libcap _libcap_ng ; do + if ! out=$(LC_ALL=C ${cmd} 2>&1) ; then + case ${out} in + *"command not found"*) + : $(( ++notfound )) + continue + ;; + *"Operation not supported"*) + local fstype=$(stat -f -c %T "${file}") + ewarn "Could not set caps on '${file}' due to missing filesystem support:" + ewarn "* enable XATTR support for '${fstype}' in your kernel (if configurable)" + ewarn "* mount the fs with the user_xattr option (if not the default)" + ewarn "* enable the relevant FS_SECURITY option (if configurable)" + break + ;; + *) + eerror "Setting caps '${caps}' on file '${file}' failed:" + eerror "${out}" + die "could not set caps" + ;; + esac + else + # Sanity check that everything took. + ${cmd}_verify || die "Checking caps '${caps}' on '${file}' failed" + + # Everything worked. Move on to the next file. + continue 2 + fi + done + if [[ ${notfound} -eq 2 ]] && [[ -z ${__FCAPS_WARNED} ]] ; then + __FCAPS_WARNED="true" + ewarn "Could not find cap utils; make sure libcap or libcap-ng is available." fi fi 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 7674b4c4f8..8924a242e6 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.187 2013/01/12 14:32:31 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.188 2013/09/05 05:28:01 vapier Exp $ # @ECLASS: flag-o-matic.eclass # @MAINTAINER: @@ -325,7 +325,9 @@ filter-mfpmath() { orig_mfpmath=$(get-flag -mfpmath) # get the value of the current -mfpmath flag new_math=$(get-flag mfpmath) - new_math=" ${new_math//,/ } " + # convert "both" to something we can filter + new_math=${new_math/both/387,sse} + new_math=" ${new_math//[,+]/ } " # figure out which math values are to be removed prune_math="" for prune_math in "$@" ; do 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 2a2e5c5d7c..1dfa75cffb 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,6 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/font.eclass,v 1.54 2011/08/29 01:28:10 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/font.eclass,v 1.57 2013/07/25 13:13:18 pva Exp $ # @ECLASS: font.eclass # @MAINTAINER: @@ -54,8 +54,8 @@ IUSE="X" DEPEND="X? ( x11-apps/mkfontdir media-fonts/encodings - ) - >=media-libs/fontconfig-2.4.0" + )" +RDEPEND="" # @FUNCTION: font_xfont_config # @DESCRIPTION: @@ -210,10 +210,12 @@ font_pkg_postinst() { echo fi - if [[ ${ROOT} == / ]]; then + if has_version media-libs/fontconfig && [[ ${ROOT} == / ]]; then ebegin "Updating global fontcache" fc-cache -fs eend $? + else + einfo "Skipping fontcache update (media-libs/fontconfig is not installed or ROOT != /)" fi } @@ -227,9 +229,11 @@ font_pkg_postrm() { find "${EROOT}"usr/share/fonts/ -type f '!' -perm 0644 -print0 \ | xargs -0 chmod -v 0644 2>/dev/null - if [[ ${ROOT} == / ]]; then + if has_version media-libs/fontconfig && [[ ${ROOT} == / ]]; then ebegin "Updating global fontcache" fc-cache -fs eend $? + else + einfo "Skipping fontcache update (media-libs/fontconfig is not installed or ROOT != /)" fi } 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 93d9e2a391..928bd5ee22 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v 1.16 2012/11/28 13:03:30 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v 1.20 2013/07/29 20:13:57 jlec Exp $ # @ECLASS: fortran-2.eclass # @MAINTAINER: @@ -44,8 +44,8 @@ # @ECLASS-VARIABLE: FORTRAN_NEEDED # @DESCRIPTION: # If your package has an optional fortran support, set this variable -# to the space seperated list of USE triggering the fortran -# dependence. +# to the space separated list of USE triggering the fortran +# dependency. # # e.g. FORTRAN_NEEDED=lapack would result in # @@ -109,11 +109,13 @@ _fortran_compile_test() { local fcode=${filebase}.f${fdia} local ret - [[ $# -lt 1 ]] && die "_fortran_compile_test() needs at least one arguments" + [[ $# -lt 1 ]] && \ + die "_fortran_compile_test() needs at least one argument" [[ -f ${fcode} ]] || _fortran_write_testsuite - ${fcomp} "${fcode}" -o "${fcode}.x" &>> "${T}"/_fortran_compile_test.log + ${fcomp} "${fcode}" -o "${fcode}.x" \ + >> "${T}"/_fortran_compile_test.log 2>&1 ret=$? rm -f "${fcode}.x" @@ -121,7 +123,7 @@ _fortran_compile_test() { } # @FUNCTION: _fortran-has-openmp -# @RETURN: compilers return value +# @RETURN: return code of the compiler # @INTERNAL # @DESCRIPTION: # See if the fortran supports OpenMP. @@ -138,7 +140,8 @@ _fortran-has-openmp() { EOF for flag in -fopenmp -xopenmp -openmp -mp -omp -qsmp=omp; do - ${_fc} ${flag} "${fcode}" -o "${fcode}.x" &>> "${T}"/_fortran_compile_test.log + ${_fc} ${flag} "${fcode}" -o "${fcode}.x" \ + &>> "${T}"/_fortran_compile_test.log ret=$? (( ${ret} )) || break done @@ -155,8 +158,8 @@ _fortran_die_msg() { echo eerror "Please install currently selected gcc version with USE=fortran." eerror "If you intend to use a different compiler then gfortran, please" - eerror "set FC variable accordingly and take care that the neccessary" - eerror "fortran dialects are support." + eerror "set FC variable accordingly and take care that the necessary" + eerror "fortran dialects are supported." echo die "Currently no working fortran compiler is available" } @@ -164,7 +167,8 @@ _fortran_die_msg() { # @FUNCTION: _fortran_test_function # @INTERNAL # @DESCRIPTION: -# Internal testfunction for working fortran compiler. It is called in fortran-2_pkg_setup +# Internal test function for working fortran compiler. +# It is called in fortran-2_pkg_setup. _fortran_test_function() { local dialect @@ -173,9 +177,12 @@ _fortran_test_function() { : ${FORTRAN_STANDARD:=77} for dialect in ${FORTRAN_STANDARD}; do case ${dialect} in - 77) _fortran_compile_test $(tc-getF77) || _fortran_die_msg ;; - 90|95) _fortran_compile_test $(tc-getFC) 90 || _fortran_die_msg ;; - 2003) _fortran_compile_test $(tc-getFC) 03 || _fortran_die_msg ;; + 77) _fortran_compile_test $(tc-getF77) || \ + _fortran_die_msg ;; + 90|95) _fortran_compile_test $(tc-getFC) 90 || \ + _fortran_die_msg ;; + 2003) _fortran_compile_test $(tc-getFC) 03 || \ + _fortran_die_msg ;; 2008) die "Future" ;; *) die "${dialect} is not a Fortran dialect." ;; esac @@ -195,10 +202,11 @@ _fortran_test_function() { fi } -# @FUNCTION: fortran-2_pkg_setup +# @FUNCTION: _fortran-2_pkg_setup +# @INTERNAL # @DESCRIPTION: -# Setup functionallity, checks for a valid fortran compiler and optionally for its openmp support. -fortran-2_pkg_setup() { +# _The_ fortran-2_pkg_setup() code +_fortran-2_pkg_setup() { for _f_use in ${FORTRAN_NEEDED}; do case ${_f_use} in always) @@ -220,7 +228,29 @@ fortran-2_pkg_setup() { done } + +# @FUNCTION: fortran-2_pkg_setup +# @DESCRIPTION: +# Setup functionality, +# checks for a valid fortran compiler and optionally for its openmp support. +fortran-2_pkg_setup() { + 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 ;; + 4|5) + if [[ ${MERGE_TYPE} != binary ]]; then + _fortran-2_pkg_setup + fi + ;; + esac +} + case ${EAPI:-0} in 0|1|2|3|4|5) EXPORT_FUNCTIONS pkg_setup ;; *) die "EAPI=${EAPI} is not supported" ;; esac + diff --git a/sdk_container/src/third_party/portage-stable/eclass/fortran.eclass b/sdk_container/src/third_party/portage-stable/eclass/fortran.eclass deleted file mode 100644 index fcd091c791..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/fortran.eclass +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/fortran.eclass,v 1.21 2009/03/07 10:02:33 maekke Exp $ -# -# Author: Danny van Dyk -# - -inherit eutils autotools - -DESCRIPTION="Based on the ${ECLASS} eclass" - -IUSE="debug" - -#DEPEND="virtual/fortran" # Let's aim for this... - -# Which Fortran Compiler has been selected ? -export FORTRANC - -# These are the options to ./configure / econf that enable the usage -# of a specific Fortran Compiler. If your package uses a different -# option that the one listed here, overwrite it in your ebuild. -g77_CONF="--with-f77" -f2c_CONF="--with-f2c" - -# This function prints the necessary options for the currently selected -# Fortran Compiler. -fortran_conf() { - echo $(eval echo \${$(echo -n ${FORTRANC})_CONF}) -} - -# need_fortran(): -# profiles = ... -# -# profile: -# * gfortran - GCC Fortran 95 -# * g77 - GCC Fortran 77 -# * f2c - Fortran 2 C Translator -# * ifc - Intel Fortran Compiler -# * f95 - Sun Studio Fortran Compiler -# -# Checks if at least one of is installed. -# Checks also if F77 (the fortran compiler to use) is available -# on the System. -need_fortran() { - if [ -z "$*" ]; then - eerror "Call need_fortran with at least one argument !" - fi - local AVAILABLE - local PROFILE - for PROFILE in $@; do - case ${PROFILE} in - gfortran) - if [ -x "$(type -P gfortran 2> /dev/null)" ]; then - AVAILABLE="${AVAILABLE} gfortran" - fi - ;; - g77) - if [ -x "$(type -P g77 2> /dev/null)" ]; then - AVAILABLE="${AVAILABLE} g77" - fi - ;; - f2c) - if [ -x "$(type -P f2c 2> /dev/null)" ]; then - AVAILABLE="${AVAILABLE} f2c" - fi - ;; - ifc) - case ${ARCH} in - x86|ia64|amd64) - if [ -x "$(type -P ifort 2> /dev/null)" ]; then - AVAILABLE="${AVAILABLE} ifort" - elif [ -x "$(type -P ifc 2> /dev/null)" ]; then - AVAILABLE="${AVAILABLE} ifc" - fi - ;; - *) - ;; - esac - ;; - f95) - case ${ARCH} in - x86|amd64) - if [ -x "$(type -P f95 2> /dev/null)" ]; then - AVAILABLE="${AVAILABLE} f95" - fi - ;; - *) - ;; - esac - ;; - esac - done - AVAILABLE="${AVAILABLE/^[[:space:]]}" - use debug && echo ${AVAILABLE} - if [ -z "${AVAILABLE}" ]; then - eerror "None of the needed Fortran Compilers ($@) is installed." - eerror "To install one of these, choose one of the following steps:" - i=1 - for PROFILE in $@; do - case ${PROFILE} in - gfortran) - eerror "[${i}] USE=\"fortran\" emerge =sys-devel/gcc-4*" - ;; - g77) - eerror "[${i}] USE=\"fortran\" emerge =sys-devel/gcc-3*" - ;; - f2c) - eerror "[${i}] emerge dev-lang/f2c" - ;; - ifc) - case ${ARCH} in - x86|ia64) - eerror "[${i}] emerge dev-lang/ifc" - ;; - *) - ;; - esac - ;; - f95) - case ${ARCH} in - x86|amd64) - eerror "[${i}] emerge dev-lang/sunstudio" - ;; - *) - ;; - esac - ;; - esac - i=$((i + 1)) - done - die "Install a Fortran Compiler !" - else - einfo "You need one of these Fortran Compilers: $@" - einfo "Installed are: ${AVAILABLE}" - if [ -n "${F77}" -o -n "${FC}" -o -n "${F2C}" ]; then - if [ -n "${F77}" ]; then - FC="${F77}" # F77 overwrites FC - fi - if [ -n "${FC}" -a -n "${F2C}" ]; then - ewarn "Using ${FC} and f2c is impossible. Disabling F2C !" - F2C="" # Disabling f2c - MY_FORTRAN="$(basename ${FC})" # set MY_FORTRAN to filename of - # the Fortran Compiler - else - if [ -n "${F2C}" ]; then - MY_FORTRAN="$(basename ${F2C})" - elif [ -n "${FC}" ]; then - MY_FORTRAN="$(basename ${FC})" - else - MY_FORTRAN="$(basename ${F77})" - fi - fi - fi - - # default to gfortran if available, g77 if not - use debug && echo "MY_FORTRAN: \"${MY_FORTRAN}\"" - if hasq gfortran ${AVAILABLE}; then - MY_FORTRAN=${MY_FORTRAN:=gfortran} - elif hasq g77 ${AVAILABLE}; then - MY_FORTRAN=${MY_FORTRAN:=g77} - else - # Default to the first valid Fortran compiler - for i in ${AVAILABLE}; do - MY_FORTRAN=$i - break - done - fi - use debug && echo "MY_FORTRAN: \"${MY_FORTRAN}\"" - - if ! hasq ${MY_FORTRAN} ${AVAILABLE}; then - eerror "Current Fortran Compiler is set to ${MY_FORTRAN}, which is not usable with this package !" - die "Wrong Fortran Compiler !" - fi - - case ${MY_FORTRAN} in - gfortran|g77|ifc|ifort|f2c|f95) - FORTRANC="${MY_FORTRAN}" - esac - fi - use debug && echo "FORTRANC: \"${FORTRANC}\"" -} - -# patch_fortran(): -# Apply necessary patches for ${FORTRANC} -patch_fortran() { - if [[ -z "${FORTRANC}" || ! -d "${FILESDIR}" ]]; then - return - fi - local PATCHES=$(find ${FILESDIR} -name "${P}-${FORTRANC}-*") - einfo "Applying patches for selected FORTRAN compiler: ${FORTRANC}" - local PATCH - if [ -n "${PATCHES}" ]; then - for PATCH in ${PATCHES}; do - epatch ${PATCH} - done - eautoreconf - fi -} - -# fortran_pkg_setup(): -# Set FORTRAN to indicate the list of Fortran Compiler that -# can be used for the ebuild. -# If not set in ebuild, FORTRAN will default to f77 -fortran_pkg_setup() { - need_fortran ${FORTRAN:="gfortran g77"} -} - -# fortran_src_unpack(): -# Run patch_fortran if no new src_unpack() is defined. -fortran_src_unpack() { - unpack ${A} - cd "${S}" - patch_fortran -} - -EXPORT_FUNCTIONS pkg_setup src_unpack 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 efbb7d4fdf..f293e4b4ef 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/freebsd.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/freebsd.eclass @@ -1,11 +1,15 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/freebsd.eclass,v 1.24 2012/11/24 11:22:44 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/freebsd.eclass,v 1.35 2013/08/28 15:56:11 aballier Exp $ # # Diego Pettenò inherit versionator eutils flag-o-matic bsdmk +# Drop patch level from ${PV} +MY_PV=${PV/_p*} +PLEVEL=${PV##*_p} + LICENSE="BSD" HOMEPAGE="http://www.freebsd.org/" @@ -25,9 +29,42 @@ SYS="freebsd-sys-${PV}" INCLUDE="freebsd-include-${PV}" RESCUE="freebsd-rescue-${PV}" CDDL="freebsd-cddl-${PV}" +SECURE="freebsd-secure-${PV}" # Release version (5.3, 5.4, 6.0, etc) -RV="$(get_version_component_range 1-2)" +RV="$(get_version_component_range 1-2 ${MY_PV})" + +# SVN ebuild support. +# 9.1.0.9999 --> release/9.1.0 +# 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 + +if [[ ${MY_PV} == *9999* ]]; then + inherit subversion + + # Set SVN revision using patch level. + [[ ${PV} == *_p* ]] && ESVN_REVISION="${PLEVEL}" + + case ${MY_PV%.9999} in + *.*.*) BRANCH="release";; + *.*) BRANCH="releng" ;; + 9999) BRANCH="head" ;; + *) BRANCH="stable" ;; + esac + + if [[ ${BRANCH} == head ]] ; then + SVN_SUB_URI="${BRANCH}" + else + SVN_SUB_URI="${BRANCH}/${MY_PV%.9999}" + fi + + ESVN_REPO_URI="svn://svn.freebsd.org/base/${SVN_SUB_URI}" + ESVN_PROJECT="freebsd-${BRANCH}" +fi if [[ ${PN} != "freebsd-share" ]] && [[ ${PN} != freebsd-sources ]]; then IUSE="profile" @@ -90,13 +127,24 @@ freebsd_rename_libraries() { } freebsd_src_unpack() { - unpack ${A} + if [[ ${MY_PV} == *9999* ]]; then + S="${WORKDIR}" subversion_src_unpack + else + unpack ${A} + fi cd "${S}" dummy_mk ${REMOVE_SUBDIRS} freebsd_do_patches freebsd_rename_libraries + + # Starting from FreeBSD 9.2, its install command supports the -l option and + # they now use it. Emulate it if we are on a system that does not have it. + if [[ ${RV} > 9.1 ]] && ! has_version '>=sys-freebsd/freebsd-ubin-9.2_beta1' ; then + export INSTALL_LINK="ln -f" + export INSTALL_SYMLINK="ln -fs" + fi } freebsd_src_compile() { @@ -105,9 +153,6 @@ freebsd_src_compile() { mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= NO_FSCHG=" - # Many things breaks when using ricer flags here - [[ -z "${NOFLAGSTRIP}" ]] && strip-flags - # Make sure to use FreeBSD definitions while crosscompiling [[ -z "${BMAKE}" ]] && BMAKE="$(freebsd_get_bmake)" @@ -117,7 +162,51 @@ freebsd_src_compile() { mkmake obj || die fi - bsdmk_src_compile + bsdmk_src_compile "$@" +} + +# Helper function to make a multilib build with FreeBSD Makefiles. +# Usage: +# MULTIBUILD_VARIANTS=( $(get_all_abis) ) +# multibuild_foreach_variant freebsd_multilib_multibuild_wrapper my_function +# +# Important note: To use this function you _have_ to: +# - inherit multilib.eclass and multibuild.eclass +# - set MULTIBUILD_VARIANTS + +freebsd_multilib_multibuild_wrapper() { + # Get the ABI from multibuild.eclass + # This assumes MULTIBUILD_VARIANTS contains only valid ABIs. + local ABI=${MULTIBUILD_VARIANT} + + # First, save the variables: CFLAGS, CXXFLAGS, LDFLAGS, LDADD and mymakeopts. + for i in CFLAGS CXXFLAGS LDFLAGS LDADD mymakeopts ; do + export ${i}_SAVE="${!i}" + done + + # Setup the variables specific to this ABI. + multilib_toolchain_setup "${ABI}" + + local target="$(tc-arch-kernel ${CHOST})" + mymakeopts="${mymakeopts} TARGET=${target} MACHINE=${target} MACHINE_ARCH=${target} SHLIBDIR=/usr/$(get_libdir) LIBDIR=/usr/$(get_libdir)" + if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then + mymakeopts="${mymakeopts} COMPAT_32BIT=" + fi + + einfo "Building for ABI=${ABI} and TARGET=${target}" + + export MAKEOBJDIRPREFIX="${BUILD_DIR}" + 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" + export ${i}="${!ii}" + done } freebsd_src_install() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/games-etmod.eclass b/sdk_container/src/third_party/portage-stable/eclass/games-etmod.eclass deleted file mode 100644 index 389b382d80..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/games-etmod.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/games-etmod.eclass,v 1.15 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/games-q3mod.eclass b/sdk_container/src/third_party/portage-stable/eclass/games-q3mod.eclass deleted file mode 100644 index 3440889a3f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/games-q3mod.eclass +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/games-q3mod.eclass,v 1.36 2007/03/07 15:23:39 wolf31o2 Exp $ - -inherit games - -EXPORT_FUNCTIONS src_install pkg_postinst - -DESCRIPTION="Quake III - ${MOD_DESC}" - -SLOT="0" -KEYWORDS="-* amd64 ~ppc x86" -IUSE="dedicated" - -DEPEND="app-arch/unzip" -RDEPEND="|| ( games-fps/quake3 games-fps/quake3-bin ) - amd64? ( app-emulation/emul-linux-x86-baselibs ) - dedicated? ( app-misc/screen )" - -S=${WORKDIR} - -games-q3mod_src_install() { - [[ -z ${MOD_NAME} ]] && die "what is the name of this q3mod ?" - - local bdir=${GAMES_PREFIX_OPT}/quake3 - local mdir=${bdir}/${MOD_NAME} - MOD_BINS=${MOD_BINS:-${MOD_NAME}} - - if [[ -d ${MOD_NAME} ]] ; then - dodir "${bdir}" - mv ${MOD_NAME} "${D}/${bdir}/" - fi - if [[ -d baseq3 ]] ; then - dodir "${bdir}" - mv baseq3 "${D}/${bdir}/" - fi - if [[ ! -z $(ls "${S}"/* 2> /dev/null) ]] ; then - dodir "${mdir}" - mv "${S}"/* "${D}/${mdir}/" - fi - - if use dedicated; then - games-q3mod_make_q3ded_exec - newgamesbin "${T}"/q3${MOD_NAME}-ded.bin q3${MOD_BINS}-ded - fi - games-q3mod_make_quake3_exec - newgamesbin "${T}"/quake3-${MOD_NAME}.bin quake3-${MOD_BINS} - - if use dedicated; then - games-q3mod_make_init.d - newinitd "${T}"/q3${MOD_NAME}-ded.init.d q3${MOD_BINS}-ded - games-q3mod_make_conf.d - newconfd "${T}"/q3${MOD_NAME}-ded.conf.d q3${MOD_BINS}-ded - fi - - dodir "${GAMES_SYSCONFDIR}"/quake3 - - dodir "${bdir}"/q3a-homedir - dosym "${bdir}"/q3a-homedir "${GAMES_PREFIX}"/.q3a - keepdir "${bdir}"/q3a-homedir - prepgamesdirs - chmod g+rw "${D}/${mdir}" "${D}/${bdir}"/q3a-homedir - chmod -R g+rw "${D}/${GAMES_SYSCONFDIR}"/quake3 -} - -games-q3mod_pkg_postinst() { - local samplecfg=${FILESDIR}/server.cfg - local realcfg=${GAMES_PREFIX_OPT}/quake3/${MOD_NAME}/server.cfg - if [[ -e ${samplecfg} ]] && [[ ! -e ${realcfg} ]] ; then - cp "${samplecfg}" "${realcfg}" - fi - - einfo "To play this mod: quake3-${MOD_BINS}" - use dedicated && \ - einfo "To launch a dedicated server: q3${MOD_BINS}-ded" && \ - einfo "To launch server at startup: /etc/init.d/q3${MOD_NAME}-ded" - - games_pkg_postinst -} - -games-q3mod_make_q3ded_exec() { -cat << EOF > "${T}"/q3${MOD_NAME}-ded.bin -#!/bin/sh -exec "${GAMES_BINDIR}"/q3ded-bin +set fs_game ${MOD_NAME} +set dedicated 1 +exec server.cfg \${@} -EOF -} - -games-q3mod_make_quake3_exec() { -cat << EOF > "${T}"/quake3-${MOD_NAME}.bin -#!/bin/sh -exec "${GAMES_BINDIR}"/quake3-bin +set fs_game ${MOD_NAME} \${@} -EOF -} - -games-q3mod_make_init.d() { -cat << EOF > "${T}"/q3${MOD_NAME}-ded.init.d -#!/sbin/runscript -$(<"${PORTDIR}"/header.txt) - -depend() { - need net -} - -start() { - ebegin "Starting ${MOD_NAME} dedicated" - screen -A -m -d -S q3${MOD_BINS}-ded su - ${GAMES_USER_DED} -c "${GAMES_BINDIR}/q3${MOD_BINS}-ded \${${MOD_NAME}_OPTS}" - eend \$? -} - -stop() { - ebegin "Stopping ${MOD_NAME} dedicated" - local pid=\`screen -list | grep q3${MOD_BINS}-ded | awk -F . '{print \$1}' | sed -e s/.//\` - if [[ -z "\${pid}" ]] ; then - eend 1 "Lost screen session" - else - pid=\`pstree -p \${pid} | sed -e 's:^.*q3ded::'\` - pid=\${pid:1:\${#pid}-2} - if [[ -z "\${pid}" ]] ; then - eend 1 "Lost q3ded session" - else - kill \${pid} - eend \$? "Could not kill q3ded" - fi - fi -} - -status() { - screen -list | grep q3${MOD_BINS}-ded -} -EOF -} - -games-q3mod_make_conf.d() { - if [[ -e ${FILESDIR}/${MOD_NAME}.conf.d ]] ; then - cp "${FILESDIR}"/${MOD_NAME}.conf.d "${T}"/q3${MOD_NAME}-ded.conf.d - return 0 - fi -cat << EOF > "${T}"/q3${MOD_NAME}-ded.conf.d -$(<"${PORTDIR}"/header.txt) - -# Any extra options you want to pass to the dedicated server -${MOD_NAME}_OPTS="+set vm_game 0 +set sv_pure 1 +set bot_enable 0 +set com_hunkmegs 64 +set net_port 27960" -EOF -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/games-ut2k4mod.eclass b/sdk_container/src/third_party/portage-stable/eclass/games-ut2k4mod.eclass deleted file mode 100644 index d4fd8b1457..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/games-ut2k4mod.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/games-ut2k4mod.eclass,v 1.12 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 a1380dfdbf..6a92d6f4d3 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,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/games.eclass,v 1.153 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/games.eclass,v 1.154 2013/04/08 07:36:25 mr_bones_ Exp $ # devlist: games@gentoo.org # @@ -39,12 +39,21 @@ games_get_libdir() { } egamesconf() { + # handle verbose build log pre-EAPI5 + local _gamesconf + if has "${EAPI:-0}" 0 1 2 3 4 ; then + if grep -q -s disable-silent-rules "${ECONF_SOURCE:-.}"/configure ; then + _gamesconf="--disable-silent-rules" + fi + fi + econf \ --prefix="${GAMES_PREFIX}" \ --libdir="$(games_get_libdir)" \ --datadir="${GAMES_DATADIR}" \ --sysconfdir="${GAMES_SYSCONFDIR}" \ --localstatedir="${GAMES_STATEDIR}" \ + ${_gamesconf} \ "$@" } @@ -123,6 +132,8 @@ gamesenv() { LDPATH="${libdirs:1}" PATH="${GAMES_BINDIR}" EOF + gamesowners "${ROOT}"/etc/env.d/${GAMES_ENVD} + gamesperms "${ROOT}"/etc/env.d/${GAMES_ENVD} } games_pkg_setup() { 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 feef71e7e6..3a9d3956fa 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ghc-package.eclass,v 1.36 2013/01/06 13:06:35 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ghc-package.eclass,v 1.37 2013/05/11 12:46:32 slyfox Exp $ # @ECLASS: ghc-package.eclass # @MAINTAINER: @@ -102,6 +102,21 @@ ghc-supports-threaded-runtime() { $(ghc-getghc) --info | grep "RTS ways" | grep -q "thr" } +# @FUNCTION: ghc-supports-smp +# @DESCRIPTION: +# checks if ghc is built with support for multiple cores runtime +ghc-supports-smp() { + $(ghc-getghc) --info | grep "Support SMP" | grep -q "YES" +} + +# @FUNCTION: ghc-supports-dynamic-by-default +# @DESCRIPTION: +# checks if ghc link against shared haskell libraries by default +ghc-supports-dynamic-by-default() { + $(ghc-getghc) --info | grep "Dynamic by default" | grep -q "YES" +} + + # @FUNCTION: ghc-extractportageversion # @DESCRIPTION: # extract the version of a portage-installed package 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 be6862fbe6..9efd3359ad 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/git-2.eclass,v 1.30 2013/01/09 17:26:55 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/git-2.eclass,v 1.32 2013/09/08 22:54:24 mgorny Exp $ # @ECLASS: git-2.eclass # @MAINTAINER: @@ -11,6 +11,15 @@ # Eclass for easing maitenance of live ebuilds using git as remote repository. # Eclass support working with git submodules and branching. +# @ECLASS-VARIABLE: EGIT_USE_GIT_R3 +# @DEFAULT_UNSET +# @DESCRIPTION: +# Use git-r3 backend instead of classic git-2 behavior. This is intended +# for early testing of git-r3 and is to be set in make.conf. + +# (since we override src_unpack this doesn't hurt) +inherit git-r3 + # This eclass support all EAPIs EXPORT_FUNCTIONS src_unpack @@ -572,23 +581,66 @@ git-2_cleanup() { unset EGIT_LOCAL_NONBARE } +git-2_r3_wrapper() { + ewarn "Using git-r3 backend in git-2. Not everything is supported." + ewarn "Expect random failures and have fun testing." + + if [[ ${EGIT_SOURCEDIR} ]]; then + EGIT_CHECKOUT_DIR=${EGIT_SOURCEDIR} + unset EGIT_SOURCEDIR + fi + + if [[ ${EGIT_MASTER} ]]; then + : ${EGIT_BRANCH:=${EGIT_MASTER}} + unset EGIT_MASTER + fi + + if [[ ${EGIT_HAS_SUBMODULES} ]]; then + unset EGIT_HAS_SUBMODULES + fi + + if [[ ${EGIT_PROJECT} ]]; then + unset EGIT_PROJECT + fi + + local boots unp + if [[ ${EGIT_NOUNPACK} ]]; then + unp=1 + unset EGIT_NOUNPACK + fi + + if [[ ${EGIT_BOOTSTRAP} ]]; then + boots=1 + unset EGIT_BOOTSTRAP + fi + + git-r3_src_unpack + + [[ ${boots} ]] && EGIT_BOOTSTRAP=${boots} git-2_bootstrap + [[ ${unp} ]] && EGIT_NOUNPACK=1 +} + # @FUNCTION: git-2_src_unpack # @DESCRIPTION: # Default git src_unpack function. git-2_src_unpack() { debug-print-function ${FUNCNAME} "$@" - git-2_init_variables - git-2_prepare_storedir - git-2_migrate_repository - git-2_fetch "$@" - git-2_gc - git-2_submodules - git-2_move_source - git-2_branch - git-2_bootstrap - git-2_cleanup - echo ">>> Unpacked to ${EGIT_SOURCEDIR}" + if [[ ${EGIT_USE_GIT_R3} ]]; then + git-2_r3_wrapper + else + git-2_init_variables + git-2_prepare_storedir + git-2_migrate_repository + git-2_fetch "$@" + git-2_gc + git-2_submodules + git-2_move_source + git-2_branch + git-2_bootstrap + git-2_cleanup + echo ">>> Unpacked to ${EGIT_SOURCEDIR}" + fi # Users can specify some SRC_URI and we should # unpack the files too. 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 new file mode 100644 index 0000000000..457d413523 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/git-r3.eclass @@ -0,0 +1,686 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/git-r3.eclass,v 1.5 2013/09/13 15:08:37 mgorny Exp $ + +# @ECLASS: git-r3.eclass +# @MAINTAINER: +# Michał Górny +# @BLURB: Eclass for fetching and unpacking git repositories. +# @DESCRIPTION: +# Third generation eclass for easing maitenance of live ebuilds using +# git as remote repository. The eclass supports lightweight (shallow) +# clones and bare clones of submodules. + +case "${EAPI:-0}" in + 0|1|2|3|4|5) + ;; + *) + die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" + ;; +esac + +if [[ ! ${_GIT_R3} ]]; then + +inherit eutils + +fi + +EXPORT_FUNCTIONS src_unpack + +if [[ ! ${_GIT_R3} ]]; then + +# @ECLASS-VARIABLE: EGIT3_STORE_DIR +# @DESCRIPTION: +# Storage directory for git sources. +# +# EGIT3_STORE_DIR=${DISTDIR}/git3-src + +# @ECLASS-VARIABLE: EGIT_REPO_URI +# @REQUIRED +# @DESCRIPTION: +# URIs to the repository, e.g. git://foo, https://foo. If multiple URIs +# are provided, the eclass will consider them as fallback URIs to try +# if the first URI does not work. +# +# It can be overriden via env using ${PN}_LIVE_REPO variable. +# +# Example: +# @CODE +# EGIT_REPO_URI="git://a/b.git https://c/d.git" +# @CODE + +# @ECLASS-VARIABLE: EVCS_OFFLINE +# @DEFAULT_UNSET +# @DESCRIPTION: +# If non-empty, this variable prevents any online operations. + +# @ECLASS-VARIABLE: EGIT_BRANCH +# @DEFAULT_UNSET +# @DESCRIPTION: +# The branch name to check out. If unset, the upstream default (HEAD) +# will be used. +# +# It can be overriden via env using ${PN}_LIVE_BRANCH variable. + +# @ECLASS-VARIABLE: EGIT_COMMIT +# @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. +# +# It can be overriden via env using ${PN}_LIVE_COMMIT variable. + +# @ECLASS-VARIABLE: EGIT_CHECKOUT_DIR +# @DESCRIPTION: +# The directory to check the git sources out to. +# +# EGIT_CHECKOUT_DIR=${WORKDIR}/${P} + +# @ECLASS-VARIABLE: EGIT_NONSHALLOW +# @DEFAULT_UNSET +# @DESCRIPTION: +# Disable performing shallow fetches/clones. Shallow clones have +# a fair number of limitations. Therefore, if you'd like the eclass to +# perform complete clones instead, set this to a non-null value. +# +# This variable is to be set in make.conf. Ebuilds are not allowed +# to set it. + +# @FUNCTION: _git-r3_env_setup +# @INTERNAL +# @DESCRIPTION: +# Set the eclass variables as necessary for operation. This can involve +# setting EGIT_* to defaults or ${PN}_LIVE_* variables. +_git-r3_env_setup() { + debug-print-function ${FUNCNAME} "$@" + + local esc_pn livevar + esc_pn=${PN//[-+]/_} + + livevar=${esc_pn}_LIVE_REPO + EGIT_REPO_URI=${!livevar:-${EGIT_REPO_URI}} + [[ ${!livevar} ]] \ + && ewarn "Using ${livevar}, no support will be provided" + + livevar=${esc_pn}_LIVE_BRANCH + EGIT_BRANCH=${!livevar:-${EGIT_BRANCH}} + [[ ${!livevar} ]] \ + && ewarn "Using ${livevar}, no support will be provided" + + livevar=${esc_pn}_LIVE_COMMIT + EGIT_COMMIT=${!livevar:-${EGIT_COMMIT}} + [[ ${!livevar} ]] \ + && ewarn "Using ${livevar}, no support will be provided" + + # Migration helpers. Remove them when git-2 is removed. + + if [[ ${EGIT_SOURCEDIR} ]]; then + eerror "EGIT_SOURCEDIR has been replaced by EGIT_CHECKOUT_DIR. While updating" + eerror "your ebuild, please check whether the variable is necessary at all" + eerror "since the default has been changed from \${S} to \${WORKDIR}/\${P}." + eerror "Therefore, proper setting of S may be sufficient." + die "EGIT_SOURCEDIR has been replaced by EGIT_CHECKOUT_DIR." + fi + + if [[ ${EGIT_MASTER} ]]; then + eerror "EGIT_MASTER has been removed. Instead, the upstream default (HEAD)" + eerror "is used by the eclass. Please remove the assignment or use EGIT_BRANCH" + eerror "as necessary." + die "EGIT_MASTER has been removed." + fi + + if [[ ${EGIT_HAS_SUBMODULES} ]]; then + eerror "EGIT_HAS_SUBMODULES has been removed. The eclass no longer needs" + eerror "to switch the clone type in order to support submodules and therefore" + eerror "submodules are detected and fetched automatically." + die "EGIT_HAS_SUBMODULES is no longer necessary." + fi + + if [[ ${EGIT_PROJECT} ]]; then + eerror "EGIT_PROJECT has been removed. Instead, the eclass determines" + eerror "the local clone path using path in canonical EGIT_REPO_URI." + eerror "If the current algorithm causes issues for you, please report a bug." + die "EGIT_PROJECT is no longer necessary." + fi + + if [[ ${EGIT_BOOTSTRAP} ]]; then + eerror "EGIT_BOOTSTRAP has been removed. Please create proper src_prepare()" + eerror "instead." + die "EGIT_BOOTSTRAP has been removed." + fi + + if [[ ${EGIT_NOUNPACK} ]]; then + eerror "EGIT_NOUNPACK has been removed. The eclass no longer calls default" + eerror "unpack function. If necessary, please declare proper src_unpack()." + die "EGIT_NOUNPACK has been removed." + fi +} + +# @FUNCTION: _git-r3_set_gitdir +# @USAGE: +# @INTERNAL +# @DESCRIPTION: +# Obtain the local repository path and set it as GIT_DIR. Creates +# a new repository if necessary. +# +# may be used to compose the path. It should therefore be +# a canonical URI to the repository. +_git-r3_set_gitdir() { + debug-print-function ${FUNCNAME} "$@" + + local repo_name=${1#*://*/} + + # strip common prefixes to make paths more likely to match + # e.g. git://X/Y.git vs https://X/git/Y.git + # (but just one of the prefixes) + case "${repo_name}" in + # cgit can proxy requests to git + cgit/*) repo_name=${repo_name#cgit/};; + # pretty common + git/*) repo_name=${repo_name#git/};; + # gentoo.org + gitroot/*) repo_name=${repo_name#gitroot/};; + # google code, sourceforge + p/*) repo_name=${repo_name#p/};; + # kernel.org + pub/scm/*) repo_name=${repo_name#pub/scm/};; + esac + # ensure a .git suffix, same reason + repo_name=${repo_name%.git}.git + # now replace all the slashes + repo_name=${repo_name//\//_} + + local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}} + : ${EGIT3_STORE_DIR:=${distdir}/git3-src} + + GIT_DIR=${EGIT3_STORE_DIR}/${repo_name} + + if [[ ! -d ${EGIT3_STORE_DIR} ]]; then + ( + addwrite / + mkdir -m0755 -p "${EGIT3_STORE_DIR}" + ) || die "Unable to create ${EGIT3_STORE_DIR}" + fi + + addwrite "${EGIT3_STORE_DIR}" + if [[ ! -d ${GIT_DIR} ]]; then + mkdir "${GIT_DIR}" || die + git init --bare || die + + # avoid auto-unshallow :) + touch "${GIT_DIR}"/shallow || die + fi +} + +# @FUNCTION: _git-r3_set_submodules +# @USAGE: +# @INTERNAL +# @DESCRIPTION: +# Parse .gitmodules contents passed as +# as in "$(cat .gitmodules)"). Composes a 'submodules' array that +# contains in order (name, URL, path) for each submodule. +_git-r3_set_submodules() { + debug-print-function ${FUNCNAME} "$@" + + local data=${1} + + # ( name url path ... ) + submodules=() + + local l + while read l; do + # submodule..path= + # submodule..url= + [[ ${l} == submodule.*.url=* ]] || continue + + l=${l#submodule.} + local subname=${l%%.url=*} + + submodules+=( + "${subname}" + "$(echo "${data}" | git config -f /dev/fd/0 \ + submodule."${subname}".url)" + "$(echo "${data}" | git config -f /dev/fd/0 \ + submodule."${subname}".path)" + ) + done < <(echo "${data}" | git config -f /dev/fd/0 -l) +} + +# @FUNCTION: _git-r3_smart_fetch +# @USAGE: ... +# @DESCRIPTION: +# Try fetching without '--depth' and switch to '--depth 1' if that +# will involve less objects fetched. +_git-r3_smart_fetch() { + debug-print-function ${FUNCNAME} "$@" + + local sed_regexp='.*Counting objects: \([0-9]*\), done\..*' + + # start the main fetch + local cmd=( git fetch --progress "${@}" ) + echo "${cmd[@]}" >&2 + + # we copy the output to the 'sed' pipe for parsing. whenever sed finds + # the process count, it quits quickly to avoid delays in writing it. + # then, we start a dummy 'cat' to keep the pipe alive + + "${cmd[@]}" 2>&1 \ + | tee >( + sed -n -e "/${sed_regexp}/{s/${sed_regexp}/\1/p;q}" \ + > "${T}"/git-r3_main.count + exec cat >/dev/null + ) & + local main_pid=${!} + + # start the helper process + _git-r3_sub_fetch() { + # wait for main fetch to get object count; if the server doesn't + # output it, we won't even launch the parallel process + while [[ ! -s ${T}/git-r3_main.count ]]; do + sleep 0.25 + done + + # ok, let's see if parallel fetch gives us smaller count + # --dry-run will prevent it from writing to the local clone + # and sed should terminate git with SIGPIPE + local sub_count=$(git fetch --progress --dry-run --depth 1 "${@}" 2>&1 \ + | sed -n -e "/${sed_regexp}/{s/${sed_regexp}/\1/p;q}") + local main_count=$(<"${T}"/git-r3_main.count) + + # let's be real sure that '--depth 1' will be good for us. + # note that we have purely objects counts, and '--depth 1' + # may involve much bigger objects + if [[ ${main_count} && ${main_count} -ge $(( sub_count * 3/2 )) ]] + then + # signal that we want shallow fetch instead, + # and terminate the non-shallow fetch process + touch "${T}"/git-r3_want_shallow || die + kill ${main_pid} &>/dev/null + exit 0 + fi + + exit 1 + } + _git-r3_sub_fetch "${@}" & + local sub_pid=${!} + + # wait for main process to terminate, either of its own + # or by signal from subprocess + wait ${main_pid} + local main_ret=${?} + + # wait for subprocess to terminate, killing it if necessary. + # if main fetch finished before it, there's no point in keeping + # it alive. if main fetch was killed by it, it's done anyway + kill ${sub_pid} &>/dev/null + wait ${sub_pid} + + # now see if subprocess wanted to tell us something... + if [[ -f ${T}/git-r3_want_shallow ]]; then + rm "${T}"/git-r3_want_shallow || die + + # if fetch finished already (wasn't killed), ignore it + [[ ${main_ret} -eq 0 ]] && return 0 + + # otherwise, restart as shallow fetch + einfo "Restarting fetch using --depth 1 to save bandwidth ..." + local cmd=( git fetch --progress --depth 1 "${@}" ) + echo "${cmd[@]}" >&2 + "${cmd[@]}" + main_ret=${?} + fi + + return ${main_ret} +} + +# @FUNCTION: git-r3_fetch +# @USAGE: [ [ []]] +# @DESCRIPTION: +# Fetch new commits to the local clone of repository. +# +# specifies the repository URIs to fetch from, as a space- +# -separated list. The first URI will be used as repository group +# identifier and therefore must be used consistently. When not +# specified, defaults to ${EGIT_REPO_URI}. +# +# specifies the remote ref or commit id to fetch. +# It is preferred to use 'refs/heads/' for branches +# and 'refs/tags/' for tags. Other options are 'HEAD' +# for upstream default branch and hexadecimal commit SHA1. Defaults +# to the first of EGIT_COMMIT, EGIT_BRANCH or literal 'HEAD' that +# is set to a non-null value. +# +# specifies the local branch identifier that will be used to +# locally store the fetch result. It should be unique to multiple +# fetches within the repository that can be performed at the same time +# (including parallel merges). It defaults to ${CATEGORY}/${PN}/${SLOT}. +# This default should be fine unless you are fetching multiple trees +# from the same repository in the same ebuild. +# +# The fetch operation will affect the EGIT_STORE only. It will not touch +# the working copy, nor export any environment variables. +# If the repository contains submodules, they will be fetched +# recursively. +git-r3_fetch() { + debug-print-function ${FUNCNAME} "$@" + + local repos=( ${1:-${EGIT_REPO_URI}} ) + local branch=${EGIT_BRANCH:+refs/heads/${EGIT_BRANCH}} + local remote_ref=${2:-${EGIT_COMMIT:-${branch:-HEAD}}} + local local_id=${3:-${CATEGORY}/${PN}/${SLOT}} + local local_ref=refs/heads/${local_id}/__main__ + + [[ ${repos[@]} ]] || die "No URI provided and EGIT_REPO_URI unset" + + local -x GIT_DIR + _git-r3_set_gitdir ${repos[0]} + + # try to fetch from the remote + local r success + for r in ${repos[@]}; do + einfo "Fetching ${remote_ref} from ${r} ..." + + local is_branch lookup_ref + if [[ ${remote_ref} == refs/heads/* || ${remote_ref} == HEAD ]] + then + is_branch=1 + lookup_ref=${remote_ref} + else + # ls-remote by commit is going to fail anyway, + # so we may as well pass refs/tags/ABCDEF... + lookup_ref=refs/tags/${remote_ref} + fi + + # first, try ls-remote to see if ${remote_ref} is a real ref + # and not a commit id. if it succeeds, we can pass ${remote_ref} + # to 'fetch'. otherwise, we will just fetch everything + + # split on whitespace + local ref=( + $(git ls-remote "${r}" "${lookup_ref}" || echo __FAIL__) + ) + + # normally, ref[0] is a hash, so we can do magic strings here + [[ ${ref[0]} == __FAIL__ ]] && continue + + local nonshallow=${EGIT_NONSHALLOW} + local ref_param=() + if [[ ! ${ref[0]} ]]; then + nonshallow=1 + fi + + # 1. if we need a non-shallow clone and we have a shallow one, + # we need to unshallow it explicitly. + # 2. if we want a shallow clone, we just pass '--depth 1' + # to the first fetch in the repo. passing '--depth' + # to further requests usually results in more data being + # downloaded than without it. + # 3. if we update a shallow clone, we try without '--depth' + # first since that usually transfers less data. however, + # we use git-r3_smart_fetch that can switch into '--depth 1' + # if that looks beneficial. + + local fetch_command=( git fetch ) + if [[ ${nonshallow} ]]; then + if [[ -f ${GIT_DIR}/shallow ]]; then + ref_param+=( --unshallow ) + fi + else + # 'git show-ref --heads' returns 1 when there are no branches + if ! git show-ref --heads -q; then + ref_param+=( --depth 1 ) + else + fetch_command=( _git-r3_smart_fetch ) + fi + fi + + # now, another important thing. we may only fetch a remote + # branch directly to a local branch. Otherwise, we need to fetch + # the commit and re-create the branch on top of it. + + if [[ ${ref[0]} ]]; then + if [[ ${is_branch} ]]; then + ref_param+=( -f "${remote_ref}:${local_id}/__main__" ) + else + ref_param+=( "refs/tags/${remote_ref}" ) + fi + fi + + # if ${remote_ref} is branch or tag, ${ref[@]} will contain + # the respective commit id. otherwise, it will be an empty + # array, so the following won't evaluate to a parameter. + set -- "${fetch_command[@]}" --no-tags "${r}" "${ref_param[@]}" + echo "${@}" >&2 + if "${@}"; then + if [[ ! ${is_branch} ]]; then + set -- git branch -f "${local_id}/__main__" \ + "${ref[0]:-${remote_ref}}" + echo "${@}" >&2 + if ! "${@}"; then + die "Creating branch for ${remote_ref} failed (wrong ref?)." + fi + fi + + success=1 + break + fi + done + [[ ${success} ]] || die "Unable to fetch from any of EGIT_REPO_URI" + + # recursively fetch submodules + if git cat-file -e "${local_ref}":.gitmodules &>/dev/null; then + local submodules + _git-r3_set_submodules \ + "$(git cat-file -p "${local_ref}":.gitmodules || die)" + + while [[ ${submodules[@]} ]]; do + local subname=${submodules[0]} + local url=${submodules[1]} + local path=${submodules[2]} + local commit=$(git rev-parse "${local_ref}:${path}") + + if [[ ! ${commit} ]]; then + die "Unable to get commit id for submodule ${subname}" + fi + + git-r3_fetch "${url}" "${commit}" "${local_id}/${subname}" + + submodules=( "${submodules[@]:3}" ) # shift + done + fi +} + +# @FUNCTION: git-r3_checkout +# @USAGE: [ [ []]] +# @DESCRIPTION: +# Check the previously fetched tree to the working copy. +# +# specifies the repository URIs, as a space-separated list. +# The first URI will be used as repository group identifier +# and therefore must be used consistently with git-r3_fetch. +# The remaining URIs are not used and therefore may be omitted. +# When not specified, defaults to ${EGIT_REPO_URI}. +# +# specifies the path to place the checkout. It defaults +# to ${EGIT_CHECKOUT_DIR} if set, otherwise to ${WORKDIR}/${P}. +# +# needs to specify the local identifier that was used +# for respective git-r3_fetch. +# +# The checkout operation will write to the working copy, and export +# the repository state into the environment. If the repository contains +# submodules, they will be checked out recursively. +git-r3_checkout() { + debug-print-function ${FUNCNAME} "$@" + + local repos=( ${1:-${EGIT_REPO_URI}} ) + local out_dir=${2:-${EGIT_CHECKOUT_DIR:-${WORKDIR}/${P}}} + local local_id=${3:-${CATEGORY}/${PN}/${SLOT}} + + local -x GIT_DIR GIT_WORK_TREE + _git-r3_set_gitdir ${repos[0]} + GIT_WORK_TREE=${out_dir} + mkdir -p "${GIT_WORK_TREE}" + + einfo "Checking out ${repos[0]} to ${out_dir} ..." + + if ! git cat-file -e refs/heads/"${local_id}"/__main__ + then + if [[ ${EVCS_OFFLINE} ]]; then + die "No local clone of ${repos[0]}. Unable to work with EVCS_OFFLINE." + else + die "Logic error: no local clone of ${repos[0]}. git-r3_fetch not used?" + fi + fi + + set -- git checkout -f "${local_id}"/__main__ . + echo "${@}" >&2 + "${@}" || die "git checkout ${local_id}/__main__ failed" + + # diff against previous revision (if any) + local new_commit_id=$(git rev-parse --verify "${local_id}"/__main__) + local old_commit_id=$( + git rev-parse --verify "${local_id}"/__old__ 2>/dev/null + ) + + if [[ ! ${old_commit_id} ]]; then + echo "GIT NEW branch -->" + echo " repository: ${repos[0]}" + echo " at the commit: ${new_commit_id}" + else + echo "GIT update -->" + echo " repository: ${repos[0]}" + # write out message based on the revisions + if [[ "${old_commit_id}" != "${new_commit_id}" ]]; then + echo " updating from commit: ${old_commit_id}" + echo " to commit: ${new_commit_id}" + + git --no-pager diff --stat \ + ${old_commit_id}..${new_commit_id} + else + echo " at the commit: ${new_commit_id}" + fi + fi + git branch -f "${local_id}"/{__old__,__main__} || die + + # recursively checkout submodules + if [[ -f ${GIT_WORK_TREE}/.gitmodules ]]; then + local submodules + _git-r3_set_submodules \ + "$(<"${GIT_WORK_TREE}"/.gitmodules)" + + while [[ ${submodules[@]} ]]; do + local subname=${submodules[0]} + local url=${submodules[1]} + local path=${submodules[2]} + + git-r3_checkout "${url}" "${GIT_WORK_TREE}/${path}" \ + "${local_id}/${subname}" + + submodules=( "${submodules[@]:3}" ) # shift + done + fi + + # keep this *after* submodules + export EGIT_DIR=${GIT_DIR} + export EGIT_VERSION=${new_commit_id} +} + +# @FUNCTION: git-r3_peek_remote_ref +# @USAGE: [ []] +# @DESCRIPTION: +# Peek the reference in the remote repository and print the matching +# (newest) commit SHA1. +# +# specifies the repository URIs to fetch from, as a space- +# -separated list. When not specified, defaults to ${EGIT_REPO_URI}. +# +# specifies the remote ref to peek. It is preferred to use +# 'refs/heads/' for branches and 'refs/tags/' +# for tags. Alternatively, 'HEAD' may be used for upstream default +# branch. Defaults to the first of EGIT_COMMIT, EGIT_BRANCH or literal +# 'HEAD' that is set to a non-null value. +# +# The operation will be done purely on the remote, without using local +# storage. If commit SHA1 is provided as , the function will +# fail due to limitations of git protocol. +# +# On success, the function returns 0 and writes hexadecimal commit SHA1 +# to stdout. On failure, the function returns 1. +git-r3_peek_remote_ref() { + debug-print-function ${FUNCNAME} "$@" + + local repos=( ${1:-${EGIT_REPO_URI}} ) + local branch=${EGIT_BRANCH:+refs/heads/${EGIT_BRANCH}} + local remote_ref=${2:-${EGIT_COMMIT:-${branch:-HEAD}}} + + [[ ${repos[@]} ]] || die "No URI provided and EGIT_REPO_URI unset" + + local r success + for r in ${repos[@]}; do + einfo "Peeking ${remote_ref} on ${r} ..." >&2 + + local is_branch lookup_ref + if [[ ${remote_ref} == refs/heads/* || ${remote_ref} == HEAD ]] + then + is_branch=1 + lookup_ref=${remote_ref} + else + # ls-remote by commit is going to fail anyway, + # so we may as well pass refs/tags/ABCDEF... + lookup_ref=refs/tags/${remote_ref} + fi + + # split on whitespace + local ref=( + $(git ls-remote "${r}" "${lookup_ref}") + ) + + if [[ ${ref[0]} ]]; then + echo "${ref[0]}" + return 0 + fi + done + + return 1 +} + +git-r3_src_fetch() { + debug-print-function ${FUNCNAME} "$@" + + [[ ${EVCS_OFFLINE} ]] && return + + if [[ ! ${EGIT3_STORE_DIR} && ${EGIT_STORE_DIR} ]]; then + ewarn "You have set EGIT_STORE_DIR but not EGIT3_STORE_DIR. Please consider" + ewarn "setting EGIT3_STORE_DIR for git-r3.eclass. It is recommended to use" + ewarn "a different directory than EGIT_STORE_DIR to ease removing old clones" + ewarn "when git-2 eclass becomes deprecated." + fi + + _git-r3_env_setup + git-r3_fetch +} + +git-r3_src_unpack() { + debug-print-function ${FUNCNAME} "$@" + + _git-r3_env_setup + git-r3_src_fetch + git-r3_checkout +} + +# https://bugs.gentoo.org/show_bug.cgi?id=482666 +git-r3_pkg_outofdate() { + debug-print-function ${FUNCNAME} "$@" + + local new_commit_id=$(git-r3_peek_remote_ref) + ewarn "old: ${EGIT_VERSION}" + ewarn "new: ${new_commit_id}" + [[ ${new_commit_id} && ${old_commit_id} ]] || return 2 + + [[ ${EGIT_VERSION} != ${new_commit_id} ]] +} + +_GIT_R3=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/git.eclass b/sdk_container/src/third_party/portage-stable/eclass/git.eclass index a38ee8afe6..ed249f329e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/git.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/git.eclass @@ -1,10 +1,12 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/git.eclass,v 1.60 2013/01/15 11:23:43 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/git.eclass,v 1.62 2013/08/02 15:41:17 mgorny Exp $ -# @DEPRECATED -# This eclass has been superseded by git-2 eclass. -# Please modify your ebuilds to use that one instead. +# @DEAD +# Michał Górny (2 Aug 2013) +# This eclass has been superseded by git-2 eclass and will be removed +# on 2013-09-02. Please modify your ebuilds to use git-2 instead. +# Bug #479474. # @ECLASS: git.eclass # @MAINTAINER: 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 c099e2a5b8..6f7261ed24 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnatbuild.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnatbuild.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/gnatbuild.eclass,v 1.55 2012/09/15 16:16:53 zmedico Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/gnatbuild.eclass,v 1.56 2013/08/02 17:38:57 george Exp $ # # Author: George Shapovalov # Belongs to: ada herd @@ -337,9 +337,16 @@ gnatbuild_src_unpack() { cd "${S}" # patching gcc sources, following the toolchain - if [[ -d "${FILESDIR}"/${SLOT} ]] ; then - EPATCH_MULTI_MSG="Applying Gentoo patches ..." \ - epatch "${FILESDIR}"/${SLOT}/*.patch + # first, the common patches + if [[ -d "${FILESDIR}"/patches ]] && [[ ! -z $(ls "${FILESDIR}"/patches/*.patch 2>/dev/null) ]] ; then + EPATCH_MULTI_MSG="Applying common Gentoo patches ..." \ + epatch "${FILESDIR}"/patches/*.patch + fi + # + # then per SLOT + if [[ -d "${FILESDIR}"/patches/${SLOT} ]] && [[ ! -z $(ls "${FILESDIR}"/patches/${SLOT}/*.patch 2>/dev/null) ]] ; then + EPATCH_MULTI_MSG="Applying SLOT-specific Gentoo patches ..." \ + epatch "${FILESDIR}"/patches/${SLOT}/*.patch fi # Replacing obsolete head/tail with POSIX compliant ones ht_fix_file */configure 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 new file mode 100644 index 0000000000..f5ff677bef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome-games.eclass @@ -0,0 +1,116 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/gnome-games.eclass,v 1.2 2013/08/25 18:12:24 eva Exp $ + +# @ECLASS: gnome-games +# @MAINTAINER: +# Gnome team +# @AUTHOR: +# Author: Pacho Ramos +# @BLURB: An eclass to build gnome-games. +# @DESCRIPTION: +# An eclass to build gnome-games using proper phases from gnome2 and +# games eclasses. + +case "${EAPI:-0}" in + 0|1) + die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" + ;; + 2|3|4|5) + ;; + *) + die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" + ;; +esac + +inherit autotools games gnome2 + +EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm + +if [[ ! ${_GNOME_GAMES} ]]; then + +DEPEND=">=dev-util/intltool-0.50.2-r1" +RDEPEND="!gnome-extra/gnome-games" + +# @FUNCTION: gnome-games_pkg_setup +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_pkg_setup() { + debug-print-function ${FUNCNAME} "${@}" + games_pkg_setup +} + +# @FUNCTION: gnome-games_src_prepare +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_src_prepare() { + debug-print-function ${FUNCNAME} "${@}" + + # Fix intltoolize broken file: + # https://bugs.launchpad.net/intltool/+bug/398571 + intltoolize --force --copy --automake || die "intltoolize failed" + eautoreconf + + gnome2_src_prepare +} + +# @FUNCTION: gnome-games_src_configure +# @DESCRIPTION: +# Set proper phase defaults, relying on gnome2_src_configure +# and passing extra arguments from egamesconf (games.eclass) +gnome-games_src_configure() { + debug-print-function ${FUNCNAME} "${@}" + gnome2_src_configure \ + --prefix="${GAMES_PREFIX}" \ + --libdir="$(games_get_libdir)" \ + --sysconfdir="${GAMES_SYSCONFDIR}" \ + --localstatedir=/var \ + --localedir=/usr/share/locale \ + "$@" +} + +# @FUNCTION: gnome-games_src_compile +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_src_compile() { + debug-print-function ${FUNCNAME} "${@}" + gnome2_src_compile +} + +# @FUNCTION: gnome-games_src_install +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_src_install() { + debug-print-function ${FUNCNAME} "${@}" + gnome2_src_install + prepgamesdirs +} + +# @FUNCTION: gnome-games_pkg_preinst +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_pkg_preinst() { + debug-print-function ${FUNCNAME} "${@}" + gnome2_pkg_preinst + games_pkg_preinst +} + +# @FUNCTION: gnome-games_pkg_preinst +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_pkg_postinst() { + debug-print-function ${FUNCNAME} "${@}" + gnome2_pkg_postinst + games_pkg_postinst +} + +# @FUNCTION: gnome-games_pkg_postrm +# @DESCRIPTION: +# Set proper phase defaults +gnome-games_pkg_postrm() { + debug-print-function ${FUNCNAME} "${@}" + gnome2_pkg_postrm +} + +_GNOME_GAMES=1 +fi 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 2da7528642..a70e322f78 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.31 2012/10/27 22:24:10 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v 1.33 2013/09/15 19:29:11 pacho Exp $ # @ECLASS: gnome2-utils.eclass # @MAINTAINER: @@ -15,6 +15,8 @@ # * GConf schemas management # * scrollkeeper (old Gnome help system) management +inherit multilib + case "${EAPI:-0}" in 0|1|2|3|4|5) ;; *) die "EAPI=${EAPI} is not supported" ;; @@ -50,6 +52,12 @@ esac # Path to glib-compile-schemas : ${GLIB_COMPILE_SCHEMAS:="/usr/bin/glib-compile-schemas"} +# @ECLASS-VARIABLE: GDK_PIXBUF_UPDATE_BIN +# @INTERNAL +# @DESCRIPTION: +# Path to gdk-pixbuf-query-loaders +: ${GDK_PIXBUF_UPDATE_BIN:="/usr/bin/gdk-pixbuf-query-loaders"} + # @ECLASS-VARIABLE: GNOME2_ECLASS_SCHEMAS # @INTERNAL # @DEFAULT_UNSET @@ -74,6 +82,12 @@ esac # @DESCRIPTION: # List of GSettings schemas provided by the package +# @ECLASS-VARIABLE: GNOME2_ECLASS_GDK_PIXBUF_LOADERS +# @INTERNAL +# @DEFAULT_UNSET +# @DESCRIPTION: +# List of gdk-pixbuf loaders provided by the package + DEPEND=">=sys-apps/sed-4" @@ -387,34 +401,78 @@ gnome2_schemas_update() { eend $? } +# @FUNCTION: gnome2_gdk_pixbuf_savelist +# @DESCRIPTION: +# Find if there is any gdk-pixbuf loader to install and save the list in +# GNOME2_ECLASS_GDK_PIXBUF_LOADERS variable. +# This function should be called from pkg_preinst. +gnome2_gdk_pixbuf_savelist() { + has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" + pushd "${ED}" 1>/dev/null + export GNOME2_ECLASS_GDK_PIXBUF_LOADERS=$(find "usr/$(get_libdir)/gdk-pixbuf-2.0" -type f 2>/dev/null) + popd 1>/dev/null +} + +# @FUNCTION: gnome2_gdk_pixbuf_update +# @USAGE: gnome2_gdk_pixbuf_update +# @DESCRIPTION: +# Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some. +# This function should be called from pkg_postinst and pkg_postrm. +gnome2_gdk_pixbuf_update() { + has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" + local updater="${EROOT}${GDK_PIXBUF_UPDATE_BIN}" + + if [[ ! -x ${updater} ]]; then + debug-print "${updater} is not executable" + return + fi + + if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then + debug-print "gdk-pixbuf loader cache does not need an update" + return + fi + + ebegin "Updating gdk-pixbuf loader cache" + local tmp_file=$(mktemp -t tmp.XXXXXXXXXX_gdkpixbuf) + ${updater} 1> "${tmp_file}" && + chmod 0644 "${tmp_file}" && + mv -f "${tmp_file}" "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + eend $? +} + + # @FUNCTION: gnome2_query_immodules_gtk2 # @USAGE: gnome2_query_immodules_gtk2 # @DESCRIPTION: # Updates gtk2 immodules/gdk-pixbuf loaders listing. gnome2_query_immodules_gtk2() { - local GTK2_CONFDIR="/etc/gtk-2.0/$(get_abi_CHOST)" - - local query_exec="${EPREFIX}/usr/bin/gtk-query-immodules-2.0" - local gtk_conf="${EPREFIX}${GTK2_CONFDIR}/gtk.immodules" - local gtk_conf_dir=$(dirname "${gtk_conf}") - - einfo "Generating Gtk2 immodules/gdk-pixbuf loaders listing:" - einfo "-> ${gtk_conf}" - - mkdir -p "${gtk_conf_dir}" - local tmp_file=$(mktemp -t tmp.XXXXXXXXXXgtk_query_immodules) - if [ -z "${tmp_file}" ]; then - ewarn "gtk_query_immodules: cannot create temporary file" - return 1 - fi - - if ${query_exec} > "${tmp_file}"; then - cat "${tmp_file}" > "${gtk_conf}" || \ - ewarn "Failed to write to ${gtk_conf}" + if has_version ">=x11-libs/gtk+-2.24.20:2"; then + "${EPREFIX}/usr/bin/gtk-query-immodules-2.0" --update-cache else - ewarn "Cannot update gtk.immodules, file generation failed" + local GTK2_CONFDIR="/etc/gtk-2.0/$(get_abi_CHOST)" + + local query_exec="${EPREFIX}/usr/bin/gtk-query-immodules-2.0" + local gtk_conf="${EPREFIX}${GTK2_CONFDIR}/gtk.immodules" + local gtk_conf_dir=$(dirname "${gtk_conf}") + + einfo "Generating Gtk2 immodules/gdk-pixbuf loaders listing:" + einfo "-> ${gtk_conf}" + + mkdir -p "${gtk_conf_dir}" + local tmp_file=$(mktemp -t tmp.XXXXXXXXXXgtk_query_immodules) + if [ -z "${tmp_file}" ]; then + ewarn "gtk_query_immodules: cannot create temporary file" + return 1 + fi + + if ${query_exec} > "${tmp_file}"; then + cat "${tmp_file}" > "${gtk_conf}" || \ + ewarn "Failed to write to ${gtk_conf}" + else + ewarn "Cannot update gtk.immodules, file generation failed" + fi + rm "${tmp_file}" fi - rm "${tmp_file}" } # @FUNCTION: gnome2_query_immodules_gtk3 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 5f06a299f9..27d68a52f9 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2.eclass,v 1.120 2013/01/16 23:01:02 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/gnome2.eclass,v 1.123 2013/09/03 21:54:38 eva Exp $ # @ECLASS: gnome2.eclass # @MAINTAINER: @@ -122,7 +122,7 @@ gnome2_src_configure() { # Remember to drop 'doc' USE flag from your package if it was only used to # rebuild docs. # Preserve old behavior for older EAPI. - if grep -q "enable-gtk-doc" ${ECONF_SOURCE:-.}/configure ; then + if grep -q "enable-gtk-doc" "${ECONF_SOURCE:-.}"/configure ; then if has ${EAPI:-0} 0 1 2 3 4 && in_iuse doc ; then G2CONF="$(use_enable doc gtk-doc) ${G2CONF}" else @@ -132,32 +132,37 @@ gnome2_src_configure() { # Pass --disable-maintainer-mode when needed if grep -q "^[[:space:]]*AM_MAINTAINER_MODE(\[enable\])" \ - ${ECONF_SOURCE:-.}/configure.*; then + "${ECONF_SOURCE:-.}"/configure.*; then G2CONF="--disable-maintainer-mode ${G2CONF}" fi # Pass --disable-scrollkeeper when possible - if grep -q "disable-scrollkeeper" ${ECONF_SOURCE:-.}/configure; then + if grep -q "disable-scrollkeeper" "${ECONF_SOURCE:-.}"/configure; then G2CONF="--disable-scrollkeeper ${G2CONF}" fi # Pass --disable-silent-rules when possible (not needed for eapi5), bug #429308 if has ${EAPI:-0} 0 1 2 3 4; then - if grep -q "disable-silent-rules" ${ECONF_SOURCE:-.}/configure; then + if grep -q "disable-silent-rules" "${ECONF_SOURCE:-.}"/configure; then G2CONF="--disable-silent-rules ${G2CONF}" fi fi # Pass --disable-schemas-install when possible - if grep -q "disable-schemas-install" ${ECONF_SOURCE:-.}/configure; then + if grep -q "disable-schemas-install" "${ECONF_SOURCE:-.}"/configure; then G2CONF="--disable-schemas-install ${G2CONF}" fi # Pass --disable-schemas-compile when possible - if grep -q "disable-schemas-compile" ${ECONF_SOURCE:-.}/configure; then + if grep -q "disable-schemas-compile" "${ECONF_SOURCE:-.}"/configure; then G2CONF="--disable-schemas-compile ${G2CONF}" fi + # Pass --enable-compile-warnings=minimum as we don't want -Werror* flags, bug #471336 + if grep -q "enable-compile-warnings" "${ECONF_SOURCE:-.}"/configure; then + G2CONF="--enable-compile-warnings=minimum ${G2CONF}" + fi + # Avoid sandbox violations caused by gnome-vfs (bug #128289 and #345659) addwrite "$(unset HOME; echo ~)/.gnome2" @@ -253,6 +258,7 @@ gnome2_pkg_preinst() { gnome2_icon_savelist gnome2_schemas_savelist gnome2_scrollkeeper_savelist + gnome2_gdk_pixbuf_savelist } # @FUNCTION: gnome2_pkg_postinst @@ -266,6 +272,7 @@ gnome2_pkg_postinst() { gnome2_icon_cache_update gnome2_schemas_update gnome2_scrollkeeper_update + gnome2_gdk_pixbuf_update } # # FIXME Handle GConf schemas removal 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 7af1e08df2..4aadc13b53 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/go-mono.eclass,v 1.14 2012/05/02 18:31:42 jdhore Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/go-mono.eclass,v 1.15 2013/07/27 16:18:00 pacho Exp $ # @ECLASS: go-mono.eclass # @MAINTAINER: @@ -60,7 +60,7 @@ fi if ! has "${CATEGORY}/${PN}" "${NO_MONO_DEPEND[@]}" then - RDEPEND="=dev-lang/mono-${GO_MONO_REL_PV}*" + RDEPEND=">=dev-lang/mono-${GO_MONO_REL_PV}" DEPEND="${RDEPEND}" fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins.eclass b/sdk_container/src/third_party/portage-stable/eclass/gst-plugins.eclass deleted file mode 100644 index ff9285ad1c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/gst-plugins.eclass +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/gst-plugins.eclass,v 1.35 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" - -PVP=(${PV//[-\._]/ }) -PV_MAJ_MIN=${PVP[0]}.${PVP[1]} -SLOT=${PV_MAJ_MIN} - -gst-plugins_pkg_postrm() { - gst-register-${SLOT} -} - -EXPORT_FUNCTIONS pkg_postrm diff --git a/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-component.eclass b/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-component.eclass deleted file mode 100644 index af55cd6eb6..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/gtk-sharp-component.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/gtk-sharp-component.eclass,v 1.31 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 0db7ec1925..cc61108418 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v 1.38 2013/01/06 13:06:35 slyfox Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/haskell-cabal.eclass,v 1.41 2013/07/29 12:31:35 slyfox Exp $ # @ECLASS: haskell-cabal.eclass # @MAINTAINER: @@ -33,25 +33,25 @@ # on cabal, but still use this eclass (e.g. haskell-updater). # test-suite -- add support for cabal test-suites (introduced in Cabal-1.8) -inherit ghc-package multilib +inherit eutils ghc-package multilib # @ECLASS-VARIABLE: CABAL_EXTRA_CONFIGURE_FLAGS # @DESCRIPTION: # User-specified additional parameters passed to 'setup configure'. -# example: /etc/make.conf: CABAL_EXTRA_CONFIGURE_FLAGS=--enable-shared +# example: /etc/portage/make.conf: CABAL_EXTRA_CONFIGURE_FLAGS=--enable-shared : ${CABAL_EXTRA_CONFIGURE_FLAGS:=} # @ECLASS-VARIABLE: CABAL_EXTRA_BUILD_FLAGS # @DESCRIPTION: # User-specified additional parameters passed to 'setup build'. -# example: /etc/make.conf: CABAL_EXTRA_BUILD_FLAGS=-v +# example: /etc/portage/make.conf: CABAL_EXTRA_BUILD_FLAGS=-v : ${CABAL_EXTRA_BUILD_FLAGS:=} # @ECLASS-VARIABLE: GHC_BOOTSTRAP_FLAGS # @DESCRIPTION: # User-specified additional parameters for ghc when building # _only_ 'setup' binary bootstrap. -# example: /etc/make.conf: GHC_BOOTSTRAP_FLAGS=-dynamic to make +# example: /etc/portage/make.conf: GHC_BOOTSTRAP_FLAGS=-dynamic to make # linking 'setup' faster. : ${GHC_BOOTSTRAP_FLAGS:=} @@ -242,6 +242,37 @@ cabal-hscolour-haddock() { ./setup "$@" --hyperlink-source || die "setup haddock --hyperlink-source failed" } +cabal-die-if-nonempty() { + local breakage_type=$1 + shift + + [[ "${#@}" == 0 ]] && return 0 + eerror "Detected ${breakage_type} packages: ${@}" + die "//==-- Please, run 'haskell-updater' to fix ${breakage_type} packages --==//" +} + +cabal-show-brokens() { + # pretty-printer + $(ghc-getghcpkg) check 2>&1 \ + | egrep -v '^Warning: haddock-(html|interfaces): ' \ + | egrep -v '^Warning: include-dirs: ' + + cabal-die-if-nonempty 'broken' \ + $($(ghc-getghcpkg) check --simple-output) +} + +cabal-show-old() { + cabal-die-if-nonempty 'outdated' \ + $("${EPREFIX}"/usr/sbin/haskell-updater --quiet --upgrade --list-only) +} + +cabal-show-brokens-and-die() { + cabal-show-brokens + cabal-show-old + + die "$@" +} + cabal-configure() { has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX= @@ -306,7 +337,7 @@ cabal-configure() { if $(ghc-supports-shared-libraries); then # maybe a bit lower - if version_is_at_least "7.7.20121114" "$(ghc-version)"; then + if $(ghc-supports-dynamic-by-default); then cabalconf="${cabalconf} --enable-shared" fi fi @@ -325,7 +356,7 @@ cabal-configure() { ${CABAL_EXTRA_CONFIGURE_FLAGS} \ "$@" echo ./setup "$@" - ./setup "$@" || die "setup configure failed" + ./setup "$@" || cabal-show-brokens-and-die "setup configure failed" } cabal-build() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/iiimf.eclass b/sdk_container/src/third_party/portage-stable/eclass/iiimf.eclass deleted file mode 100644 index 05bb9c7b59..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/iiimf.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/iiimf.eclass,v 1.16 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 cbc2afc8f2..fe116d00bf 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/intel-sdp.eclass,v 1.9 2013/01/23 11:14:33 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/intel-sdp.eclass,v 1.14 2013/07/29 09:50:09 jlec Exp $ # @ECLASS: intel-sdp.eclass # @MAINTAINER: @@ -41,17 +41,34 @@ # # Must be defined before inheriting the eclass +# @ECLASS-VARIABLE: INTEL_TARX +# @DEFAULT_UNSET +# @DESCRIPTION: +# The package extention. +# To find out its value, see the links to download in +# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx +# +# e.g. tar.gz +# +# Must be defined before inheriting the eclass +: ${INTEL_TARX:=tgz} + # @ECLASS-VARIABLE: INTEL_SUBDIR # @DEFAULT_UNSET # @DESCRIPTION: # The package sub-directory where it will end-up in /opt/intel # To find out its value, you have to do a raw install from the Intel tar ball -# @ECLASS-VARIABLE: INTEL_RPMS_DIRS +# @ECLASS-VARIABLE: INTEL_SKIP_LICENSE +# @DEFAULT_UNSET # @DESCRIPTION: -# List of subdirectories in the main archive which contains the -# rpms to extract. -: ${INTEL_RPMS_DIRS:=rpm} +# Possibility to skip the mandatory check for licenses. Only set this if there +# is really no fix. + +# @ECLASS-VARIABLE: INTEL_RPMS_DIR +# @DESCRIPTION: +# Main subdirectory which contains the rpms to extract. +: ${INTEL_RPMS_DIR:=rpm} # @ECLASS-VARIABLE: INTEL_X86 # @DESCRIPTION: @@ -66,6 +83,11 @@ # Functional name of rpm without any version/arch tag # # e.g. compilerprof +# +# if the rpm is located in a directory different to INTEL_RPMS_DIR you can +# specify the full path +# +# e.g. CLI_install/rpm/intel-vtune-amplifier-xe-cli # @ECLASS-VARIABLE: INTEL_DAT_RPMS # @DEFAULT_UNSET @@ -74,6 +96,16 @@ # without any version tag # # e.g. openmp +# +# if the rpm is located in a directory different to INTEL_RPMS_DIR you can +# specify the full path +# +# e.g. CLI_install/rpm/intel-vtune-amplifier-xe-cli-common + +# @ECLASS-VARIABLE: INTEL_SINGLE_ARCH +# @DESCRIPTION: +# Unset, if only the multilib package will be provided by intel +: ${INTEL_SINGLE_ARCH:=true} # @ECLASS-VARIABLE: INTEL_SDP_DB # @DESCRIPTION: @@ -88,17 +120,20 @@ _INTEL_PV3=$(get_version_component_range 3) _INTEL_PV4=$(get_version_component_range 4) _INTEL_URI="http://registrationcenter-download.intel.com/irc_nas/${INTEL_DID}/${INTEL_DPN}" -SRC_URI=" - amd64? ( multilib? ( ${_INTEL_URI}_${INTEL_DPV}.tgz ) ) - amd64? ( !multilib? ( ${_INTEL_URI}_${INTEL_DPV}_intel64.tgz ) ) - x86? ( ${_INTEL_URI}_${INTEL_DPV}_ia32.tgz )" +if [ ${INTEL_SINGLE_ARCH} == true ]; then + SRC_URI=" + amd64? ( multilib? ( ${_INTEL_URI}_${INTEL_DPV}.${INTEL_TARX} ) ) + amd64? ( !multilib? ( ${_INTEL_URI}_${INTEL_DPV}_intel64.${INTEL_TARX} ) ) + x86? ( ${_INTEL_URI}_${INTEL_DPV}_ia32.${INTEL_TARX} )" +else + SRC_URI="${_INTEL_URI}_${INTEL_DPV}.${INTEL_TARX}" +fi LICENSE="Intel-SDP" # Future work, #394411 #SLOT="${_INTEL_PV1}.${_INTEL_PV2}" SLOT="0" IUSE="examples multilib" -KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux" RESTRICT="mirror" @@ -239,13 +274,15 @@ _isdp_version_test() { # @INTERNAL # Test if installed compiler is working _isdp_run-test() { - case ${PN} in - ifc | icc ) - _isdp_version_test ;; - * ) - debug-print "No test available for ${PN}" - ;; - esac + if [[ -z ${INTEL_SKIP_LICENSE} ]]; then + case ${PN} in + ifc | icc ) + _isdp_version_test ;; + * ) + debug-print "No test available for ${PN}" + ;; + esac + fi } # @FUNCTION: intel-sdp_pkg_pretend @@ -260,30 +297,35 @@ intel-sdp_pkg_pretend() { : ${CHECKREQS_DISK_BUILD:=256M} check-reqs_pkg_pretend - if echo ${INTEL_LICENSE_FILE} | grep -q @; then - einfo "Looks like you are using following license server:" - einfo " ${INTEL_LICENSE_FILE}" - return 0 - fi - - dirs=( - "${INTEL_SDP_EDIR}/licenses" - "${INTEL_SDP_EDIR}/Licenses" - "${EPREFIX}/opt/intel/licenses" - ) - for dir in "${dirs[@]}" ; do - ebegin "Checking for a license in: ${dir}" - #maybe use nullglob or [[ $(echo ${dir/*lic) != "${dir}/*lic" ]] - [[ $( ls "${dir}"/*lic 2>/dev/null ) ]]; ret=$? - eend ${ret} - if [[ ${ret} == "0" ]]; then - warn=${ret} - break + if [[ -z ${INTEL_SKIP_LICENSE} ]]; then + if echo ${INTEL_LICENSE_FILE} | grep -q @; then + einfo "Looks like you are using following license server:" + einfo " ${INTEL_LICENSE_FILE}" + return 0 fi - done - if [[ ${warn} == "1" ]]; then - _isdp_big-warning pre-check - die "Could not find license file" + + dirs=( + "${INTEL_SDP_EDIR}/licenses" + "${INTEL_SDP_EDIR}/Licenses" + "${EPREFIX}/opt/intel/licenses" + ) + for dir in "${dirs[@]}" ; do + ebegin "Checking for a license in: ${dir}" + #maybe use nullglob or [[ $(echo ${dir/*lic) != "${dir}/*lic" ]] + [[ $( ls "${dir}"/*lic 2>/dev/null ) ]]; ret=$? + eend ${ret} + if [[ ${ret} == "0" ]]; then + warn=${ret} + break + fi + done + if [[ ${warn} == "1" ]]; then + _isdp_big-warning pre-check + die "Could not find license file" + fi + else + eqawarn "The ebuild doesn't check for a license!" + eqawarn "This shouldn't be done unless there is a serious reason." fi } @@ -304,14 +346,23 @@ intel-sdp_pkg_setup() { INTEL_ARCH="intel64 ia32" fi fi - INTEL_RPMS="" + INTEL_RPMS=() + INTEL_RPMS_FULL=() for p in ${INTEL_BIN_RPMS}; do for a in ${arch}; do - INTEL_RPMS+=" intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm" + if [ ${p} == $(basename ${p}) ]; then + INTEL_RPMS+=( intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm ) + else + INTEL_RPMS_FULL+=( ${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm ) + fi done done for p in ${INTEL_DAT_RPMS}; do - INTEL_RPMS+=" intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm" + if [ ${p} == $(basename ${p}) ]; then + INTEL_RPMS+=( intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm ) + else + INTEL_RPMS_FULL+=( ${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm ) + fi done case "${EAPI:-0}" in @@ -323,22 +374,31 @@ intel-sdp_pkg_setup() { # @DESCRIPTION: # Unpacking necessary rpms from tarball, extract them and rearrange the output. intel-sdp_src_unpack() { - local l r subdir rb t list=() + local l r subdir rb t list=() debug_list for t in ${A}; do - for r in ${INTEL_RPMS}; do - for subdir in ${INTEL_RPMS_DIRS}; do - rpmdir=${t%%.*}/${subdir} - list+=( ${rpmdir}/${r}) - done + for r in ${INTEL_RPMS[@]}; do + rpmdir=${t%%.*}/${INTEL_RPMS_DIR} + list+=( ${rpmdir}/${r} ) done - tar xf "${DISTDIR}"/${t} ${list[@]} 2> /dev/null || die + + for r in ${INTEL_RPMS_FULL[@]}; do + list+=( ${t%%.*}/${r} ) + done + + debug_list="$(IFS=$'\n'; echo ${list[@]} )" + + debug-print "Adding to decompression list:" + debug-print ${debug_list} + + tar xvf "${DISTDIR}"/${t} ${list[@]} &> "${T}"/rpm-extraction.log + for r in ${list[@]}; do rb=$(basename ${r}) l=.${rb}_$(date +'%d%m%y_%H%M%S').log einfo "Unpacking ${rb}" rpm2tar -O ${r} | tar xvf - | sed -e \ - "s:^\.:${EROOT#/}:g" > ${l} || die "unpacking ${r} failed" + "s:^\.:${EROOT#/}:g" > ${l}; assert "unpacking ${r} failed" mv ${l} opt/intel/ || die "failed moving extract log file" done done 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 a505d46b3b..edef3c5dd4 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 @@ -14,7 +14,7 @@ # # Licensed under the GNU General Public License, v2 # -# $Header: /var/cvsroot/gentoo-x86/eclass/java-ant-2.eclass,v 1.55 2012/09/14 05:04:50 ferringb Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/java-ant-2.eclass,v 1.56 2013/04/20 18:23:57 sera Exp $ inherit java-utils-2 multilib @@ -39,7 +39,7 @@ inherit java-utils-2 multilib # construct ant-speficic DEPEND # add ant-core into DEPEND, unless disabled if [[ -z "${JAVA_ANT_DISABLE_ANT_CORE_DEP}" ]]; then - JAVA_ANT_E_DEPEND="${JAVA_ANT_E_DEPEND} >=dev-java/ant-core-1.7.0" + JAVA_ANT_E_DEPEND="${JAVA_ANT_E_DEPEND} >=dev-java/ant-core-1.8.2" fi # add ant tasks specified in WANT_ANT_TASKS to DEPEND diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-gnome.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-gnome.eclass deleted file mode 100644 index dbaec3556f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/java-gnome.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/java-gnome.eclass,v 1.5 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 50da444ca2..b97275939d 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 @@ -6,7 +6,7 @@ # # Licensed under the GNU General Public License, v2 # -# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v 1.152 2013/01/16 19:06:15 sera Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils-2.eclass,v 1.154 2013/08/27 05:32:28 radhermit Exp $ # ----------------------------------------------------------------------------- # @eclass-begin @@ -2331,10 +2331,10 @@ java-pkg_init_paths_() { debug-print-function ${FUNCNAME} $* local pkg_name - if [[ "$SLOT" == "0" ]] ; then + if [[ "${SLOT%/*}" == "0" ]] ; then JAVA_PKG_NAME="${PN}" else - JAVA_PKG_NAME="${PN}-${SLOT}" + JAVA_PKG_NAME="${PN}-${SLOT%/*}" fi JAVA_PKG_SHAREPATH="${DESTTREE}/share/${JAVA_PKG_NAME}" @@ -2724,7 +2724,7 @@ java-pkg_die() { echo "!!! When you file a bug report, please include the following information:" >&2 echo "GENTOO_VM=${GENTOO_VM} CLASSPATH=\"${CLASSPATH}\" JAVA_HOME=\"${JAVA_HOME}\"" >&2 echo "JAVACFLAGS=\"${JAVACFLAGS}\" COMPILER=\"${GENTOO_COMPILER}\"" >&2 - echo "and of course, the output of emerge --info" >&2 + echo "and of course, the output of emerge --info =${P}" >&2 } diff --git a/sdk_container/src/third_party/portage-stable/eclass/java-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/java-utils.eclass deleted file mode 100644 index 4b731a73eb..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/java-utils.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/java-utils.eclass,v 1.12 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/java.eclass b/sdk_container/src/third_party/portage-stable/eclass/java.eclass deleted file mode 100644 index bec6511617..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/java.eclass +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/java.eclass,v 1.33 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" - -EXPORT_FUNCTIONS pkg_prerm - -java_pkg_prerm() { - if java-config -J | grep -q ${P} ; then - ewarn "It appears you are removing your default system VM!" - ewarn "Please run java-config -L then java-config -S to set a new system VM!" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde-dist.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde-dist.eclass deleted file mode 100644 index fcdc637df4..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/kde-dist.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde-dist.eclass,v 1.77 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed 2011/11/01. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde-functions.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde-functions.eclass deleted file mode 100644 index 3a8fc73892..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/kde-functions.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde-functions.eclass,v 1.176 2010/01/11 20:51:39 abcd Exp $ - -# @DEAD -# KDE 3 is gone from the tree. Scheduled for removal after 2012/01/12. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde-meta.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde-meta.eclass deleted file mode 100644 index 38b628cb21..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/kde-meta.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde-meta.eclass,v 1.92 2010/01/11 20:51:39 abcd Exp $ - -# @DEAD -# KDE 3 is gone from the tree. Scheduled for removal after 2012/01/12. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde-source.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde-source.eclass deleted file mode 100644 index 833258565b..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/kde-source.eclass +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde-source.eclass,v 1.26 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# This eclass was only for very old cvs versions of KDE, no longer used by -# anything. Scheduled for removal after 2011/06/04. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde.eclass deleted file mode 100644 index 52c2154eb5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/kde.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde.eclass,v 1.226 2010/01/11 20:51:39 abcd Exp $ - -# @DEAD -# KDE 3 is gone from the tree. Scheduled for removal after 2012/01/12. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 912e1d0e83..f996b7268d 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.122 2013/02/02 16:58:00 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.131 2013/08/15 15:36:26 kensington Exp $ # @ECLASS: kde4-base.eclass # @MAINTAINER: @@ -10,8 +10,11 @@ # The kde4-base.eclass provides support for building KDE4 based ebuilds # and KDE4 applications. # -# NOTE: KDE 4 ebuilds currently support EAPI "3". This will be reviewed -# over time as new EAPI versions are approved. +# NOTE: KDE 4 ebuilds currently support EAPIs 4 and 5. This will be +# reviewed over time as new EAPI versions are approved. + +if [[ ${___ECLASS_ONCE_KDE4_BASE} != "recur -_+^+_- spank" ]] ; then +___ECLASS_ONCE_KDE4_BASE="recur -_+^+_- spank" # @ECLASS-VARIABLE: KDE_SELINUX_MODULE # @DESCRIPTION: @@ -106,25 +109,25 @@ unset export_fns # @ECLASS-VARIABLE: DECLARATIVE_REQUIRED # @DESCRIPTION: -# Is qt-declarative required? Possible values are 'always', 'optional' and 'never'. +# Is qtdeclarative required? Possible values are 'always', 'optional' and 'never'. # This variable must be set before inheriting any eclasses. Defaults to 'never'. DECLARATIVE_REQUIRED="${DECLARATIVE_REQUIRED:-never}" # @ECLASS-VARIABLE: QTHELP_REQUIRED # @DESCRIPTION: -# Is qt-assistant required? Possible values are 'always', 'optional' and 'never'. +# Is qthelp required? Possible values are 'always', 'optional' and 'never'. # This variable must be set before inheriting any eclasses. Defaults to 'never'. QTHELP_REQUIRED="${QTHELP_REQUIRED:-never}" # @ECLASS-VARIABLE: OPENGL_REQUIRED # @DESCRIPTION: -# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'. +# Is qtopengl required? Possible values are 'always', 'optional' and 'never'. # This variable must be set before inheriting any eclasses. Defaults to 'never'. OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}" # @ECLASS-VARIABLE: MULTIMEDIA_REQUIRED # @DESCRIPTION: -# Is qt-multimedia required? Possible values are 'always', 'optional' and 'never'. +# Is qtmultimedia required? Possible values are 'always', 'optional' and 'never'. # This variable must be set before inheriting any eclasses. Defaults to 'never'. MULTIMEDIA_REQUIRED="${MULTIMEDIA_REQUIRED:-never}" @@ -176,7 +179,7 @@ case ${KDEBASE} in # packages that will never be mirrored. (As they only will ever be in # the overlay). case ${PV} in - *9999* | 4.?.[6-9]?) + *9999* | 4.?.[6-9]? | 4.??.[6-9]?) RESTRICT+=" mirror" ;; esac @@ -190,16 +193,11 @@ esac # @ECLASS-VARIABLE: QT_MINIMAL # @DESCRIPTION: # Determine version of qt we enforce as minimal for the package. -if version_is_at_least 4.8.50 "${KDE_MINIMAL}"; then - # Upstream has added an *undeclared* dependency on Qt 4.8... - QT_MINIMAL="${QT_MINIMAL:-4.8.0}" -else - QT_MINIMAL="${QT_MINIMAL:-4.7.4}" -fi +QT_MINIMAL="${QT_MINIMAL:-4.8.0}" # Declarative dependencies qtdeclarativedepend=" - >=x11-libs/qt-declarative-${QT_MINIMAL}:4 + >=dev-qt/qtdeclarative-${QT_MINIMAL}:4 " case ${DECLARATIVE_REQUIRED} in always) @@ -215,7 +213,7 @@ unset qtdeclarativedepend # QtHelp dependencies qthelpdepend=" - >=x11-libs/qt-assistant-${QT_MINIMAL}:4 + >=dev-qt/qthelp-${QT_MINIMAL}:4 " case ${QTHELP_REQUIRED} in always) @@ -230,7 +228,7 @@ unset qthelpdepend # OpenGL dependencies qtopengldepend=" - >=x11-libs/qt-opengl-${QT_MINIMAL}:4 + >=dev-qt/qtopengl-${QT_MINIMAL}:4 " case ${OPENGL_REQUIRED} in always) @@ -246,7 +244,7 @@ unset qtopengldepend # MultiMedia dependencies qtmultimediadepend=" - >=x11-libs/qt-multimedia-${QT_MINIMAL}:4 + >=dev-qt/qtmultimedia-${QT_MINIMAL}:4 " case ${MULTIMEDIA_REQUIRED} in always) @@ -280,15 +278,18 @@ unset cppuintdepend # Qt accessibility classes are needed in various places, bug 325461 kdecommondepend=" dev-lang/perl - >=x11-libs/qt-core-${QT_MINIMAL}:4[qt3support,ssl] - >=x11-libs/qt-dbus-${QT_MINIMAL}:4 - >=x11-libs/qt-gui-${QT_MINIMAL}:4[accessibility,dbus] - >=x11-libs/qt-qt3support-${QT_MINIMAL}:4[accessibility] - >=x11-libs/qt-script-${QT_MINIMAL}:4 - >=x11-libs/qt-sql-${QT_MINIMAL}:4[qt3support] - >=x11-libs/qt-svg-${QT_MINIMAL}:4 - >=x11-libs/qt-test-${QT_MINIMAL}:4 - >=x11-libs/qt-webkit-${QT_MINIMAL}:4 + >=dev-qt/qt3support-${QT_MINIMAL}:4[accessibility] + >=dev-qt/qtcore-${QT_MINIMAL}:4[qt3support,ssl] + >=dev-qt/qtdbus-${QT_MINIMAL}:4 + || ( + ( >=dev-qt/qtgui-4.8.5:4[accessibility,dbus(+)] dev-qt/designer:4[-phonon] ) + =dev-qt/qtscript-${QT_MINIMAL}:4 + >=dev-qt/qtsql-${QT_MINIMAL}:4[qt3support] + >=dev-qt/qtsvg-${QT_MINIMAL}:4 + >=dev-qt/qttest-${QT_MINIMAL}:4 + >=dev-qt/qtwebkit-${QT_MINIMAL}:4 !aqua? ( x11-libs/libXext x11-libs/libXt @@ -335,8 +336,8 @@ if [[ ${PN} != oxygen-icons ]]; then kderdepend+=" $(add_kdebase_dep oxygen-icons)" fi -# add a dependency over kde-l10n if EAPI4 or better is around -if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} && ${EAPI:-0} != 3 ]]; then +# add a dependency over kde-l10n +if [[ ${KDEBASE} != "kde-base" && -n ${KDE_LINGUAS} ]]; then for _lingua in ${KDE_LINGUAS}; do # if our package has lignuas, pull in kde-l10n with selected lingua enabled, # but only for selected ones. @@ -378,15 +379,20 @@ case ${KDE_SELINUX_MODULE} in ;; esac +# We always need the aqua useflag because otherwise we cannot = refer to it inside +# add_kdebase_dep. This was always kind of a bug, but came to light with EAPI=5 +# (where referring to a use flag not in IUSE masks the ebuild). +# The only alternative would be to prohibit using add_kdebase_dep if KDE_REQUIRED=never +IUSE+=" aqua" + case ${KDE_REQUIRED} in always) - IUSE+=" aqua" [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" ${kdecommondepend}" [[ -n ${kdedepend} ]] && DEPEND+=" ${kdedepend}" [[ -n ${kderdepend} ]] && RDEPEND+=" ${kderdepend}" ;; optional) - IUSE+=" aqua kde" + IUSE+=" kde" [[ -n ${kdecommondepend} ]] && COMMONDEPEND+=" kde? ( ${kdecommondepend} )" [[ -n ${kdedepend} ]] && DEPEND+=" kde? ( ${kdedepend} )" [[ -n ${kderdepend} ]] && RDEPEND+=" kde? ( ${kderdepend} )" @@ -417,13 +423,7 @@ _calculate_src_uri() { # calculate tarball module name if [[ -n ${KMNAME} ]]; then - # fixup kdebase-apps name - case ${KMNAME} in - kdebase-apps) - _kmname="kdebase" ;; - *) - _kmname="${KMNAME}" ;; - esac + _kmname="${KMNAME}" else _kmname=${PN} fi @@ -435,10 +435,10 @@ _calculate_src_uri() { # KDEPIM 4.4, special case # TODO: Remove this part when KDEPIM 4.4 gets out of the tree SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2" ;; - 4.[89].8[05] | 4.[89].9[0235678]) + 4.?.[6-9]? | 4.??.[6-9]?) # Unstable KDE SC releases SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.xz" ;; - 4.[1234567].[12345]) + 4.[1-7].[12345]) # Stable KDE SC with old .bz2 support SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;; *) @@ -448,7 +448,7 @@ _calculate_src_uri() { ;; kdevelop|kdevelop-php*|kdevplatform) case ${KDEVELOP_VERSION} in - 4.[12].[6-9]*) SRC_URI="mirror://kde/unstable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; + 4.[123].[6-9]*) SRC_URI="mirror://kde/unstable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; *) SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2" ;; esac ;; @@ -594,14 +594,10 @@ kde4-base_pkg_setup() { # In theory should be in pkg_pretend but we check it only for kdelibs there # and for others we do just quick scan in pkg_setup because pkg_pretend # executions consume quite some time. - # We can only do this for EAPI 4 or later because the MERGE_TYPE variable - # is otherwise undefined. - if [[ ${EAPI:-0} != 3 ]]; then - if [[ ${MERGE_TYPE} != binary ]]; then - [[ $(gcc-major-version) -lt 4 ]] || \ - ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ - && die "Sorry, but gcc-4.3 and earlier wont work for KDE (see bug 354837)." - fi + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(gcc-major-version) -lt 4 ]] || \ + ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ + && die "Sorry, but gcc-4.3 and earlier wont work for KDE (see bug 354837)." fi KDEDIR=/usr @@ -624,7 +620,6 @@ kde4-base_src_unpack() { if [[ ${KDE_BUILD_TYPE} = live ]]; then case ${KDE_SCM} in svn) - migrate_store_dir subversion_src_unpack ;; git) @@ -838,9 +833,9 @@ kde4-base_src_install() { cmake-utils_src_install - # In EAPI 4+, we don't want ${PREFIX}/share/doc/HTML to be compressed, + # We don't want ${PREFIX}/share/doc/HTML to be compressed, # because then khelpcenter can't find the docs - [[ ${EAPI:-0} != 3 && -d ${ED}/${PREFIX}/share/doc/HTML ]] && + [[ -d ${ED}/${PREFIX}/share/doc/HTML ]] && docompress -x ${PREFIX}/share/doc/HTML } @@ -901,3 +896,5 @@ kde4-base_pkg_postrm() { fdo-mime_mime_database_update buildsycoca } + +fi 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 a3f84289a0..c986bad71b 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.62 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.67 2013/08/15 15:10:05 kensington Exp $ inherit versionator @@ -12,11 +12,14 @@ inherit versionator # This eclass contains all functions shared by the different eclasses, # for KDE 4 ebuilds. +if [[ ${___ECLASS_ONCE_KDE4_FUNCTIONS} != "recur -_+^+_- spank" ]] ; then +___ECLASS_ONCE_KDE4_FUNCTIONS="recur -_+^+_- spank" + # @ECLASS-VARIABLE: EAPI # @DESCRIPTION: -# Currently kde4 eclasses support EAPI 3 and 4. +# Currently kde4 eclasses support EAPI 4 and 5. case ${EAPI:-0} in - 3|4|5) : ;; + 4|5) : ;; *) die "EAPI=${EAPI} is not supported" ;; esac @@ -54,28 +57,19 @@ export KDE_BUILD_TYPE if [[ ${KDE_BUILD_TYPE} == live ]]; then case "${KMNAME}" in kdebase-workspace) - KDE_SCM="git" EGIT_REPONAME=${EGIT_REPONAME:=kde-workspace} ;; kdebase-runtime) - KDE_SCM="git" EGIT_REPONAME=${EGIT_REPONAME:=kde-runtime} ;; - kdebase-apps) - KDE_SCM="git" - EGIT_REPONAME=${EGIT_REPONAME:=kde-baseapps} - ;; - kde-workspace|kde-runtime|kde-baseapps) - KDE_SCM="git" - ;; esac fi # @ECLASS-VARIABLE: KDE_SCM # @DESCRIPTION: # If this is a live package which scm does it use -# Everything else uses svn by default -KDE_SCM="${KDE_SCM:-svn}" +# Everything else uses git by default +KDE_SCM="${KDE_SCM:-git}" case ${KDE_SCM} in svn|git) ;; *) die "KDE_SCM: ${KDE_SCM} is not supported" ;; @@ -224,60 +218,6 @@ enable_selected_doc_linguas() { [[ -n "${linguas}" ]] && einfo "Enabling handbook translations:${linguas}" } -# @FUNCTION: migrate_store_dir -# @DESCRIPTION: -# Universal store dir migration -# * performs split of kdebase to kdebase-apps when needed -# * moves playground/extragear kde4-base-style to toplevel dir -migrate_store_dir() { - if [[ ${KDE_SCM} != svn ]]; then - die "migrate_store_dir() only makes sense for subversion" - fi - - local cleandir="${ESVN_STORE_DIR}/KDE" - - if [[ -d ${cleandir} ]]; then - ewarn "'${cleandir}' has been found. Moving contents to new location." - addwrite "${ESVN_STORE_DIR}" - # Split kdebase - local module - if pushd "${cleandir}"/kdebase/kdebase > /dev/null; then - for module in `find . -maxdepth 1 -type d -name [a-z0-9]\*`; do - module="${module#./}" - mkdir -p "${ESVN_STORE_DIR}/kdebase-${module}" && mv -f "${module}" "${ESVN_STORE_DIR}/kdebase-${module}" || \ - die "Failed to move to '${ESVN_STORE_DIR}/kdebase-${module}'." - done - popd > /dev/null - rm -fr "${cleandir}/kdebase" || \ - die "Failed to remove ${cleandir}/kdebase. You need to remove it manually." - fi - # Move the rest - local pkg - for pkg in "${cleandir}"/*; do - mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "Failed to move '${pkg}'" - done - rmdir "${cleandir}" || die "Could not move obsolete KDE store dir. Please move '${cleandir}' contents to appropriate location (possibly ${ESVN_STORE_DIR}) and manually remove '${cleandir}' in order to continue." - fi - - if ! has kde4-meta ${INHERITED}; then - case ${KMNAME} in - extragear*|playground*) - local scmlocalpath="${ESVN_STORE_DIR}"/"${KMNAME}"/"${PN}" - if [[ -d "${scmlocalpath}" ]]; then - local destdir="${ESVN_STORE_DIR}"/"${ESVN_PROJECT}"/"`basename "${ESVN_REPO_URI}"`" - ewarn "'${scmlocalpath}' has been found." - ewarn "Moving contents to new location: ${destdir}" - addwrite "${ESVN_STORE_DIR}" - mkdir -p "${ESVN_STORE_DIR}"/"${ESVN_PROJECT}" && mv -f "${scmlocalpath}" "${destdir}" \ - || die "Failed to move to '${scmlocalpath}'" - # Try cleaning empty directories - rmdir "`dirname "${scmlocalpath}"`" 2> /dev/null - fi - ;; - esac - fi -} - # Functions handling KMLOADLIBS and KMSAVELIBS # @FUNCTION: save_library_dependencies @@ -483,3 +423,5 @@ get_kde_version() { (( micro < 50 )) && echo ${major}.${minor} || echo ${major}.$((minor + 1)) fi } + +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/kde4-meta-pkg.eclass b/sdk_container/src/third_party/portage-stable/eclass/kde4-meta-pkg.eclass index 2176b548bd..252402057e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/kde4-meta-pkg.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/kde4-meta-pkg.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta-pkg.eclass,v 1.10 2013/02/02 16:58:00 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta-pkg.eclass,v 1.12 2013/04/07 17:33:18 kensington Exp $ # @ECLASS: kde4-meta-pkg.eclass # @MAINTAINER: @@ -9,6 +9,9 @@ # @DESCRIPTION: # This eclass should only be used for defining meta packages for KDE4. +if [[ ${___ECLASS_ONCE_KDE4_META_PKG} != "recur -_+^+_- spank" ]] ; then +___ECLASS_ONCE_KDE4_META_PKG="recur -_+^+_- spank" + inherit kde4-functions HOMEPAGE="http://www.kde.org/" @@ -17,3 +20,5 @@ LICENSE="metapackage" IUSE="aqua" SLOT=4 + +fi 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 0e6ed149f1..2795ac8227 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.68 2012/09/04 14:08:24 johu Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.74 2013/08/21 19:08:18 kensington Exp $ # # @ECLASS: kde4-meta.eclass # @MAINTAINER: @@ -12,6 +12,9 @@ # You must define KMNAME to use this eclass, and do so before inheriting it. All other variables are optional. # Do not include the same item in more than one of KMMODULE, KMMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY. +if [[ ${___ECLASS_ONCE_KDE4_META} != "recur -_+^+_- spank" ]] ; then +___ECLASS_ONCE_KDE4_META="recur -_+^+_- spank" + [[ -z ${KMNAME} ]] && die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild" inherit kde4-base versionator @@ -21,9 +24,6 @@ EXPORT_FUNCTIONS ${KDEMETA_EXPF} # Add dependencies that all packages in a certain module share. case ${KMNAME} in - kdebase|kdebase-apps|kde-baseapps|kdebase-workspace|kde-workspace|kdebase-runtime|kde-runtime|kdegraphics) - COMMONDEPEND+=" >=media-libs/qimageblitz-0.0.4" - ;; kdepim|kdepim-runtime) case ${PN} in akregator|kaddressbook|kjots|kmail|knode|knotes|korganizer|ktimetracker) @@ -32,11 +32,6 @@ case ${KMNAME} in ;; esac ;; - kdegames) - if [[ ${PN} != libkdegames ]]; then - COMMONDEPEND+=" $(add_kdebase_dep libkdegames)" - fi - ;; esac DEPEND+=" ${COMMONDEPEND}" @@ -128,7 +123,6 @@ kde4-meta_src_unpack() { if [[ ${KDE_BUILD_TYPE} = live ]]; then case "${KDE_SCM}" in svn) - migrate_store_dir S="${WORKDIR}/${P}" mkdir -p "${S}" ESVN_RESTRICT="export" subversion_src_unpack @@ -196,16 +190,7 @@ kde4-meta_src_extract() { KMTARPARAMS+=" --xz" fi - case ${KMNAME} in - kdebase-apps) - # kdebase/apps -> kdebase-apps - tarball="kdebase-${PV}.tar.${postfix}" - ;; - *) - # Create tarball name from module name (this is the default) - tarball="${KMNAME}-${PV}.tar.${postfix}" - ;; - esac + tarball="${KMNAME}-${PV}.tar.${postfix}" # Full path to source tarball tarfile="${DISTDIR}/${tarball}" @@ -283,18 +268,21 @@ kde4-meta_create_extractlists() { # Note that this actually doesn't include KMEXTRA handling. # In those cases you should care to add the relevant files to KMEXTRACTONLY case ${KMNAME} in - kdebase | kdebase-apps | kde-baseapps) + kde-baseapps) KMEXTRACTONLY+=" + CTestConfig.cmake config-apps.h.cmake ConfigureChecks.cmake" ;; - kdebase-runtime | kde-runtime) + kde-runtime) KMEXTRACTONLY+=" + cmake/modules/ CTestConfig.cmake config-runtime.h.cmake" ;; - kdebase-workspace | kde-workspace) + kde-workspace) KMEXTRACTONLY+=" + cmake/modules/ config-unix.h.cmake ConfigureChecks.cmake config-workspace.h.cmake @@ -302,13 +290,6 @@ kde4-meta_create_extractlists() { startkde.cmake KDE4WorkspaceConfig.cmake.in" ;; - kdegames) - if [[ ${PN} != libkdegames ]]; then - KMEXTRACTONLY+=" - libkdegames/" - KMLOADLIBS="${KMLOADLIBS} libkdegames" - fi - ;; kdepim) if [[ ${PN} != libkdepim ]]; then KMEXTRACTONLY+=" @@ -316,41 +297,16 @@ kde4-meta_create_extractlists() { fi KMEXTRACTONLY+=" config-enterprise.h.cmake - kleopatra/ConfigureChecks.cmake" - if ! [[ $(get_kde_version) < 4.5 ]]; then - KMEXTRACTONLY+=" - CTestCustom.cmake - kdepim-version.h.cmake" - else - KMEXTRACTONLY+=" - kdepim-version.h" - fi + kleopatra/ConfigureChecks.cmake + CTestCustom.cmake + kdepim-version.h.cmake + kdepim-version.h" if use_if_iuse kontact; then KMEXTRA+=" kontact/plugins/${PLUGINNAME:-${PN}}/" fi ;; - kdeutils) - KMEXTRACTONLY+=" - kdeutils-version.h" - ;; esac - # Don't install cmake modules for split ebuilds, to avoid collisions. - # note: kdegraphics >= 4.6.2 does not even have code to do that, so we - # should not try in that case - # note2: kdeedu 4.6.4 does not have a cmake/modules/ subdir anymore :( - # it may be possible to formulate this shorter, but it should also - # still be understandable... - if [[ ${KMNAME} != kdegraphics || ( ( $(get_kde_version) != 4.6 || ${PV} < 4.6.2 ) && $(get_kde_version) < 4.7 ) ]] \ - && ! [[ ${KMNAME} == kdeedu && ( ${PV} == 4.6.4 || ${PV} == 4.6.5 ) ]] \ - && ! [[ ${KMNAME} == kdegames && ${PV} > 4.9.0 ]]; then - case ${KMNAME} in - kdebase-runtime|kde-runtime|kdebase-workspace|kde-workspace|kdeedu|kdegames|kdegraphics) - KMEXTRACTONLY+=" - cmake/modules/" - ;; - esac - fi debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME}: KMEXTRACTONLY ${KMEXTRACTONLY}" } @@ -486,8 +442,8 @@ kde4-meta_change_cmakelists() { find "${S}"/${i} -name CMakeLists.txt -print0 | \ xargs -0 sed -i \ -e 's/^#DONOTCOMPILE //g' \ - -e '/install(.*)/{s/^/#DONOTINSTALL /;}' \ - -e '/^install(/,/)/{s/^/#DONOTINSTALL /;}' \ + -e '/install(.*)/I{s/^/#DONOTINSTALL /;}' \ + -e '/^install(/,/)/I{s/^/#DONOTINSTALL /;}' \ -e '/kde4_install_icons(.*)/{s/^/#DONOTINSTALL /;}' || \ die "${LINENO}: sed died in the KMCOMPILEONLY section while processing ${i}" _change_cmakelists_parent_dirs ${i} @@ -512,7 +468,7 @@ kde4-meta_change_cmakelists() { done case ${KMNAME} in - kdebase-workspace | kde-workspace) + kde-workspace) # COLLISION PROTECT section # Install the startkde script just once, as a part of kde-base/kdebase-startkde, # not as a part of every package. @@ -529,16 +485,24 @@ kde4-meta_change_cmakelists() { sed -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \ -i CMakeLists.txt || die "${LINENO}: sed died in kde-workspace strip config install and fix EXPORT section" fi + # =KDE/4.11 + sed -e 's/TYPE REQUIRED/TYPE OPTIONAL/' -e 's/XCB REQUIRED/XCB/' -e 's/X11 REQUIRED/X11/' \ + -e 's/message(FATAL_ERROR/message(/' -i CMakeLists.txt \ + || die "${LINENO}: sed died in kde-workspace dep reduction section" if [[ "${PN}" != "kwin" ]]; then sed -i -e "/^ macro_log_feature(OPENGL_OR_ES_FOUND/s/TRUE/FALSE/" \ "${S}"/CMakeLists.txt || die "${LINENO}: sed died removing kde-workspace opengl dependency" fi ;; - kdebase-runtime | kde-runtime) + kde-runtime) # COLLISION PROTECT section # Only install the kde4 script as part of kde-base/kdebase-data if [[ ${PN} != kdebase-data && -f CMakeLists.txt ]]; then @@ -565,24 +529,18 @@ kde4-meta_change_cmakelists() { -e 's/if[[:space:]]*([[:space:]]*[[:alnum:]]*_FOUND[[:space:]]*)[[:space:]]*$/if(1) # &/' \ -i kontact/plugins/CMakeLists.txt || die 'failed to override build logic' fi - if [[ $(get_kde_version) < 4.5 ]]; then - case ${PN} in - kalarm|kmailcvt|kontact|korganizer|korn) - sed -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \ - -e '/add_custom_target(kmail_xml /,/)/p' \ - -i kmail/CMakeLists.txt || die "uncommenting xml failed" - _change_cmakelists_parent_dirs kmail + case ${PV} in + 4.4*) + case ${PN} in + kalarm|kmailcvt|kontact|korganizer|korn) + sed -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \ + -e '/add_custom_target(kmail_xml /,/)/p' \ + -i kmail/CMakeLists.txt || die "uncommenting xml failed" + _change_cmakelists_parent_dirs kmail + ;; + esac ;; - esac - fi - ;; - kdewebdev) - # Disable hardcoded checks - sed -e 's/find_package(KdepimLibs REQUIRED)/macro_optional_find_package(KdepimLibs)/' \ - -e 's/find_package(LibXml2 REQUIRED)/macro_optional_find_package(LibXml2)/' \ - -e 's/find_package(LibXslt REQUIRED)/macro_optional_find_package(LibXslt)/' \ - -e 's/find_package(Boost REQUIRED)/macro_optional_find_package(Boost)/' \ - -i CMakeLists.txt || die "failed to disable hardcoded checks" + esac ;; esac @@ -596,25 +554,6 @@ kde4-meta_change_cmakelists() { kde4-meta_src_configure() { debug-print-function ${FUNCNAME} "$@" - # backwards-compatibility: make mycmakeargs an array, if it isn't already - if [[ $(declare -p mycmakeargs 2>&-) != "declare -a mycmakeargs="* ]]; then - mycmakeargs=(${mycmakeargs}) - fi - - # Set some cmake default values here (usually workarounds for automagic deps) - case ${KMNAME} in - kdewebdev) - mycmakeargs=( - -DWITH_KdepimLibs=OFF - -DWITH_LibXml2=OFF - -DWITH_LibXslt=OFF - -DWITH_Boost=OFF - -DWITH_LibTidy=OFF - "${mycmakeargs[@]}" - ) - ;; - esac - kde4-base_src_configure } @@ -684,3 +623,5 @@ kde4-meta_pkg_postrm() { kde4-base_pkg_postrm } + +fi 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 21032f8c85..ceac512f6c 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,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.287 2013/07/31 21:25:50 hasufell Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.288 2013/09/05 17:04:26 tomwij Exp $ # Description: kernel.eclass rewrite for a clean base regarding the 2.6 # series of kernel with back-compatibility for 2.4 @@ -40,7 +40,13 @@ # K_DEFCONFIG - Allow specifying a different defconfig target. # If length zero, defaults to "defconfig". # K_WANT_GENPATCHES - Apply genpatches to kernel source. Provide any -# combination of "base" and "extras" +# combination of "base", "extras" or "experimental". +# K_EXP_GENPATCHES_PULL - If set, we pull "experimental" regardless of the USE FLAG +# but expect the ebuild maintainer to use K_EXP_GENPATCHES_LIST. +# K_EXP_GENPATCHES_NOUSE - If set, no USE flag will be provided for "experimental"; +# as a result the user cannot choose to apply those patches. +# K_EXP_GENPATCHES_LIST - A list of patches to pick from "experimental" to apply when +# the USE flag is unset and K_EXP_GENPATCHES_PULL is set. # K_GENPATCHES_VER - The version of the genpatches tarball(s) to apply. # A value of "5" would apply genpatches-2.6.12-5 to # my-sources-2.6.12.ebuild @@ -130,18 +136,32 @@ handle_genpatches() { # respectively. Handle this. for i in ${K_WANT_GENPATCHES} ; do - if [[ ${KV_MAJOR} -ge 3 ]]; then - if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then - tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.xz" + if [[ ${KV_MAJOR} -ge 3 ]]; then + if [[ ${#OKV_ARRAY[@]} -ge 3 ]]; then + tarball="genpatches-${KV_MAJOR}.${KV_MINOR}-${K_GENPATCHES_VER}.${i}.tar.xz" + else + tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.xz" + fi else - tarball="genpatches-${KV_MAJOR}.${KV_PATCH}-${K_GENPATCHES_VER}.${i}.tar.xz" + tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.xz" fi - else - tarball="genpatches-${OKV}-${K_GENPATCHES_VER}.${i}.tar.xz" - fi - debug-print "genpatches tarball: $tarball" - GENPATCHES_URI="${GENPATCHES_URI} mirror://gentoo/${tarball}" - UNIPATCH_LIST_GENPATCHES="${UNIPATCH_LIST_GENPATCHES} ${DISTDIR}/${tarball}" + + local use_cond_start="" use_cond_end="" + + if [[ "${i}" == "experimental" && -z ${K_EXP_GENPATCHES_PULL} && -z ${K_EXP_GENPATCHES_NOUSE} ]] ; then + use_cond_start="experimental? ( " + use_cond_end=" )" + + if use experimental ; then + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" + debug-print "genpatches tarball: $tarball" + fi + else + UNIPATCH_LIST_GENPATCHES+=" ${DISTDIR}/${tarball}" + debug-print "genpatches tarball: $tarball" + fi + + GENPATCHES_URI+=" ${use_cond_start}mirror://gentoo/${tarball}${use_cond_end}" done } @@ -955,6 +975,20 @@ unipatch() { fi fi fi + + # If experimental was not chosen by the user, drop experimental patches not in K_EXP_GENPATCHES_LIST. + if [[ "${i}" == *"genpatches-"*".experimental."* && -n ${K_EXP_GENPATCHES_PULL} ]] ; then + if [[ -z ${K_EXP_GENPATCHES_NOUSE} ]] && use experimental; then + continue + fi + + local j + for j in ${KPATCH_DIR}/*/50*_*.patch*; do + if [[ ! "${K_EXP_GENPATCHES_LIST}" == *"$(basename ${j})"* ]] ; then + UNIPATCH_DROP+=" $(basename ${j})" + fi + done + fi done #populate KPATCH_DIRS so we know where to look to remove the excludes 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 e69aeb631c..36b4352ad5 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,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/latex-package.eclass,v 1.39 2011/08/22 04:46:32 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/latex-package.eclass,v 1.40 2013/07/05 22:59:40 aballier Exp $ # @ECLASS: latex-package.eclass # @MAINTAINER: @@ -61,7 +61,7 @@ DEPEND="${RDEPEND} HOMEPAGE="http://www.tug.org/" SRC_URI="ftp://tug.ctan.org/macros/latex/" S=${WORKDIR}/${P} -TEXMF="/usr/share/texmf" +TEXMF="/usr/share/texmf-site" # @ECLASS-VARIABLE: SUPPLIER # @DESCRIPTION: 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 1ef705e990..cad3f30472 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/leechcraft.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/leechcraft.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/leechcraft.eclass,v 1.7 2012/10/14 12:19:32 pinkbyte Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/leechcraft.eclass,v 1.10 2013/05/08 10:25:48 pinkbyte Exp $ # # @ECLASS: leechcraft.eclass # @MAINTAINER: @@ -22,8 +22,8 @@ # Only EAPI >1 supported case ${EAPI:-0} in - 2|3|4|5) ;; - 0|1) die "EAPI not supported, bug ebuild mantainer" ;; + 4|5) ;; + 0|1|2|3) die "EAPI not supported, bug ebuild mantainer" ;; *) die "Unknown EAPI, bug eclass maintainers" ;; esac @@ -35,19 +35,17 @@ if [[ ${PV} == 9999 ]]; then inherit git-2 else - local suffix - if version_is_at_least 0.4.95; then - DEPEND="app-arch/xz-utils" - suffix="xz" - else - suffix="bz2" - fi - SRC_URI="mirror://sourceforge/leechcraft/leechcraft-${PV}.tar.${suffix}" + DEPEND="app-arch/xz-utils" + SRC_URI="mirror://sourceforge/leechcraft/leechcraft-${PV}.tar.xz" S="${WORKDIR}/leechcraft-${PV}" fi HOMEPAGE="http://leechcraft.org/" -LICENSE="GPL-3" +if version_is_at_least 0.5.95; then + LICENSE="Boost-1.0" +else + LICENSE="GPL-3" +fi # @ECLASS-VARIABLE: LEECHCRAFT_PLUGIN_CATEGORY # @DEFAULT_UNSET @@ -56,9 +54,9 @@ LICENSE="GPL-3" : ${LEECHCRAFT_PLUGIN_CATEGORY:=} if [[ "${LEECHCRAFT_PLUGIN_CATEGORY}" ]]; then - CMAKE_USE_DIR="${S}"/src/plugins/${LEECHCRAFT_PLUGIN_CATEGORY}/${PN#leechcraft-} -elif [[ ${PN} != leechcraft-core ]]; then - CMAKE_USE_DIR="${S}"/src/plugins/${PN#leechcraft-} + CMAKE_USE_DIR="${S}"/src/plugins/${LEECHCRAFT_PLUGIN_CATEGORY}/${PN#lc-} +elif [[ ${PN} != lc-core ]]; then + CMAKE_USE_DIR="${S}"/src/plugins/${PN#lc-} else CMAKE_USE_DIR="${S}"/src fi 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 ef069cd495..04f382a3aa 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,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.112 2013/03/26 08:17:26 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.113 2013/08/24 11:07:23 ssuominen Exp $ # @ECLASS: linux-mod.eclass # @MAINTAINER: @@ -127,12 +127,10 @@ EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_ IUSE="kernel_linux" SLOT="0" -if [[ -z ${VIRTUAL_MODUTILS} ]]; then - RDEPEND="kernel_linux? ( virtual/modutils )" - DEPEND="${RDEPEND} - sys-apps/sed - kernel_linux? ( virtual/linux-sources )" -fi +RDEPEND="kernel_linux? ( virtual/modutils )" +DEPEND="${RDEPEND} + sys-apps/sed + kernel_linux? ( virtual/linux-sources )" # eclass utilities # ---------------------------------- diff --git a/sdk_container/src/third_party/portage-stable/eclass/mailer.eclass b/sdk_container/src/third_party/portage-stable/eclass/mailer.eclass deleted file mode 100644 index 63575aa4fd..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mailer.eclass +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mailer.eclass,v 1.16 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" - -EXPORT_FUNCTIONS pkg_postrm - -# Gets current mailer profile -mailer_get_current() { - mailer-config --get-current-profile -} - -# Set current mailer profile -mailer_set_profile() { - local newprofile=${1:-${P}} - - ebegin "Setting the current mailer profile to \"${newprofile}\"" - mailer-config --set-profile ${newprofile} >/dev/null || die - eend $? -} - -# Wipe unused configs -mailer_wipe_confs() { - local x i - - ebegin "Wiping all unused mailer profiles" - for x in /etc/mail/*.mailer ; do - i=${x##*/} - i=${i%.mailer} - - [[ ${i} == ${P} ]] && continue - [[ ${i} == "default" ]] && continue - has_version "~mail-mta/${i}" || rm ${x} - done - eend 0 -} - -mailer_pkg_postrm() { - if use mailwrapper ; then - mailer_wipe_confs - - # We are removing the current profile, switch back to default - [[ $(mailer_get_current) == ${P} ]] && mailer_set_profile default - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/matrox.eclass b/sdk_container/src/third_party/portage-stable/eclass/matrox.eclass deleted file mode 100644 index d4d117c4cf..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/matrox.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/matrox.eclass,v 1.20 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 837c89e095..a6afee6a47 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mercurial.eclass,v 1.20 2012/12/26 23:08:53 ottxor Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mercurial.eclass,v 1.22 2013/04/28 16:15:33 zmedico Exp $ # @ECLASS: mercurial.eclass # @MAINTAINER: @@ -36,7 +36,7 @@ DEPEND="dev-vcs/mercurial" # @ECLASS-VARIABLE: EHG_STORE_DIR # @DESCRIPTION: -# Mercurial sources store directory. Users may override this in /etc/make.conf +# Mercurial sources store directory. Users may override this in /etc/portage/make.conf [[ -z "${EHG_STORE_DIR}" ]] && EHG_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/hg-src" # @ECLASS-VARIABLE: EHG_PROJECT @@ -49,8 +49,8 @@ DEPEND="dev-vcs/mercurial" # @ECLASS-VARIABLE: EHG_QUIET # @DESCRIPTION: -# Suppress some extra noise from mercurial, set it to 'OFF' to be louder. -: ${EHG_QUIET:="ON"} +# Suppress some extra noise from mercurial, set it to 'ON' to be quiet. +: ${EHG_QUIET:="OFF"} [[ "${EHG_QUIET}" == "ON" ]] && EHG_QUIET_CMD_OPT="--quiet" # @ECLASS-VARIABLE: EHG_CLONE_CMD 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 new file mode 100644 index 0000000000..f65e9c53ab --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/mono-env.eclass @@ -0,0 +1,45 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/mono-env.eclass,v 1.2 2013/06/16 10:07:01 pacho Exp $ + +# @ECLASS: mono-env.eclass +# @MAINTAINER: +# dotnet@gentoo.org +# @BLURB: Set environment variables commonly used by dotnet packages. +# @DESCRIPTION: +# Set environment variables commonly used by dotnet packages. + +SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +EXPORT_FUNCTIONS pkg_setup + +if [[ ! ${_MONO_ENV} ]]; then + +mono-env_pkg_setup() { + # >=mono-0.92 versions using mcs -pkg:foo-sharp require shared memory, so we set the + # shared dir to ${T} so that ${T}/.wapi can be used during the install process. + export MONO_SHARED_DIR="${T}" + + # export more variables as needed by other dotnet packages + export MONO_REGISTRY_PATH="${T}/registry" + export XDG_DATA_HOME="${T}/data" + + # Building mono, nant and many other dotnet packages is known to fail if LC_ALL + # variable is not set to C. To prevent this all mono related packages will be + # build with LC_ALL=C (see bugs #146424, #149817) + export LC_ALL=C + + # Monodevelop-using applications need this to be set or they will try to create config + # files in the user's ~ dir. + export XDG_CONFIG_HOME="${T}" + + # Fix bug 83020: + # "Access Violations Arise When Emerging Mono-Related Packages with MONO_AOT_CACHE" + unset MONO_AOT_CACHE + + # mono libs can live on /usr/lib as they are not arch specific + QA_MULTILIB_PATHS="usr/lib/" +} + +_MONO_ENV=1 +fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-2.eclass deleted file mode 100644 index 8834d82880..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-2.eclass +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig-2.eclass,v 1.21 2010/01/27 12:06:22 ssuominen Exp $ -# -# mozconfig.eclass: the new mozilla.eclass - -inherit multilib flag-o-matic mozcoreconf - -IUSE="debug gnome ipv6 xinerama" - -RDEPEND="x11-libs/libXrender - x11-libs/libXt - x11-libs/libXmu - >=media-libs/jpeg-7 - >=media-libs/libpng-1.2.1 - dev-libs/expat - app-arch/zip - app-arch/unzip - >=x11-libs/gtk+-2.8.6 - >=dev-libs/glib-2.8.2 - >=x11-libs/pango-1.10.1 - >=dev-libs/libIDL-0.8.0 - gnome? ( >=gnome-base/gnome-vfs-2.3.5 - >=gnome-base/libgnomeui-2.2.0 ) - !=x11-libs/cairo-1.0.0" - #According to bugs #18573, #204520, and couple of others in Mozilla's - #bugzilla. libmng and mng support has been removed in 2003. - - -DEPEND="${RDEPEND} - xinerama? ( x11-proto/xineramaproto )" - -mozconfig_config() { - mozconfig_use_enable ipv6 - mozconfig_use_enable xinerama - - # We use --enable-pango to do truetype fonts, and currently pango - # is required for it to build - mozconfig_annotate gentoo --disable-freetype2 - - if use debug; then - mozconfig_annotate +debug \ - --enable-debug \ - --enable-tests \ - --disable-reorder \ - --enable-debugger-info-modules=ALL_MODULES - else - mozconfig_annotate -debug \ - --disable-debug \ - --disable-tests \ - --enable-reorder \ - - # Currently --enable-elf-dynstr-gc only works for x86 and ppc, - # thanks to Jason Wever for the fix. - # -- This breaks now on ppc, no idea why -# if use x86 || use ppc && [[ ${enable_optimize} != -O0 ]]; then - if use x86 && [[ ${enable_optimize} != -O0 ]]; then - mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc - fi - fi - - if ! use gnome; then - mozconfig_annotate -gnome --disable-gnomevfs - mozconfig_annotate -gnome --disable-gnomeui - fi -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-3.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-3.eclass index c5e57accb5..e995c53eb6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig-3.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozconfig-3.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig-3.eclass,v 1.34 2013/01/16 23:57:37 anarchy Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig-3.eclass,v 1.37 2013/08/28 15:23:12 axs Exp $ # # mozconfig.eclass: the new mozilla.eclass @@ -17,12 +17,11 @@ RDEPEND="app-arch/zip app-arch/unzip >=app-text/hunspell-1.2 dev-libs/expat - >=dev-libs/libIDL-0.8.0 >=dev-libs/libevent-1.4.7 >=x11-libs/cairo-1.8[X] >=x11-libs/gtk+-2.8.6:2 >=x11-libs/pango-1.10.1[X] - virtual/jpeg + virtual/jpeg:0 alsa? ( media-libs/alsa-lib ) virtual/freedesktop-icon-theme dbus? ( >=dev-libs/dbus-glib-0.72 ) @@ -65,6 +64,9 @@ mozconfig_config() { mozconfig_use_enable dbus 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 mozconfig_use_enable system-sqlite mozconfig_use_enable wifi necko-wifi diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozconfig.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozconfig.eclass deleted file mode 100644 index 485d31ad8d..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozconfig.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig.eclass,v 1.33 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 index 30e79dec07..5029bf0b45 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-2.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf-2.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozcoreconf-2.eclass,v 1.27 2013/01/16 19:02:10 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mozcoreconf-2.eclass,v 1.30 2013/08/26 14:39:36 anarchy Exp $ # # mozcoreconf.eclass : core options for mozilla # inherit mozconfig-2 if you need USE flags @@ -14,7 +14,6 @@ IUSE="${IUSE} custom-cflags custom-optimization" RDEPEND="x11-libs/libXrender x11-libs/libXt - x11-libs/libXmu >=sys-libs/zlib-1.1.4" DEPEND="${RDEPEND} @@ -94,6 +93,12 @@ moz_pkgsetup() { 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" @@ -108,11 +113,8 @@ 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 IC=$([[ ${PN} == icecat ]] && echo true || echo false) declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false) declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false) - declare EM=$([[ ${PN} == enigmail ]] && echo true || echo false) - #################################### # @@ -128,9 +130,6 @@ mozconfig_init() { *firefox) cp browser/config/mozconfig .mozconfig \ || die "cp browser/config/mozconfig failed" ;; - *icecat) - 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" @@ -139,9 +138,6 @@ mozconfig_init() { # Must create the initial mozconfig to enable application : >.mozconfig || die "initial mozconfig creation failed" mozconfig_annotate "" --enable-application=mail ;; - enigmail) - cp mail/config/mozconfig .mozconfig \ - || die "cp mail/config/mozconfig failed" ;; esac #################################### @@ -215,7 +211,7 @@ mozconfig_init() { --enable-pango \ --enable-system-cairo if ! $(mozversion_is_new_enough) ; then - mozconfig annotate system-libs --enable-svg + mozconfig_annotate system-libs --enable-svg fi mozconfig_annotate disable_update_strip \ @@ -254,14 +250,6 @@ mozconfig_init() { ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc } -makemake2() { - for m in $(find ../ -name Makefile.in); do - topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') - sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" \ - < ${m} > ${m%.in} || die "sed ${m} failed" - done -} - # mozconfig_final: display a table describing all configuration options paired # with reasons, then clean up extensions list mozconfig_final() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf.eclass deleted file mode 100644 index b74539cc0f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/mozcoreconf.eclass +++ /dev/null @@ -1,272 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozcoreconf.eclass,v 1.14 2008/01/05 16:15:09 armin76 Exp $ -# -# mozcoreconf.eclass : core options for mozilla -# inherit mozconfig-2 if you need USE flags - -inherit multilib flag-o-matic - -RDEPEND="x11-libs/libXrender - x11-libs/libXt - x11-libs/libXmu - >=sys-libs/zlib-1.1.4" - -DEPEND="${RDEPEND} - dev-util/pkgconfig" - -# Set by configure (plus USE_AUTOCONF=1), but useful for NSPR -export MOZILLA_CLIENT=1 -export BUILD_OPT=1 -export NO_STATIC_LIB=1 -export USE_PTHREADS=1 - -mozconfig_init() { - declare enable_optimize pango_version myext x - declare MOZ=$([[ ${PN} == mozilla || ${PN} == gecko-sdk ]] && echo true || echo false) - declare FF=$([[ ${PN} == *firefox ]] && echo true || echo false) - declare TB=$([[ ${PN} == *thunderbird ]] && echo true || echo false) - declare SB=$([[ ${PN} == *sunbird ]] && echo true || echo false) - declare EM=$([[ ${PN} == enigmail ]] && echo true || echo false) - declare XUL=$([[ ${PN} == *xulrunner ]] && echo true || echo false) - declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false) - - #################################### - # - # Setup the initial .mozconfig - # See http://www.mozilla.org/build/configure-build.html - # - #################################### - - case ${PN} in - mozilla|gecko-sdk) - # The other builds have an initial --enable-extensions in their - # .mozconfig. The "default" set in configure applies to mozilla - # specifically. - : >.mozconfig || die "initial mozconfig creation failed" - mozconfig_annotate "" --enable-extensions=default ;; - *firefox) - cp browser/config/mozconfig .mozconfig \ - || die "cp browser/config/mozconfig failed" ;; - enigmail) - cp mail/config/mozconfig .mozconfig \ - || die "cp mail/config/mozconfig failed" ;; - *xulrunner) - cp xulrunner/config/mozconfig .mozconfig \ - || die "cp xulrunner/config/mozconfig failed" ;; - *sunbird) - cp calendar/sunbird/config/mozconfig .mozconfig \ - || die "cp calendar/sunbird/config/mozconfig failed" ;; - *thunderbird) - cp mail/config/mozconfig .mozconfig \ - || die "cp mail/config/mozconfig failed" ;; - seamonkey) - # The other builds have an initial --enable-extensions in their - # .mozconfig. The "default" set in configure applies to mozilla - # specifically. - : >.mozconfig || die "initial mozconfig creation failed" - mozconfig_annotate "" --enable-application=suite - mozconfig_annotate "" --enable-extensions=default ;; - esac - - #################################### - # - # CFLAGS setup and ARCH support - # - #################################### - - # Set optimization level based on CFLAGS - if is-flag -O0; then - mozconfig_annotate "from CFLAGS" --enable-optimize=-O0 - elif [[ ${ARCH} == hppa ]]; then - mozconfig_annotate "more than -O0 causes segfaults on hppa" --enable-optimize=-O0 - 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 "mozilla fallback" --enable-optimize=-O2 - fi - - # Now strip optimization from CFLAGS so it doesn't end up in the - # compile string - filter-flags '-O*' - - # Strip over-aggressive CFLAGS - Mozilla supplies its own - # fine-tuned CFLAGS and shouldn't be interfered with.. Do this - # AFTER setting optimization above since strip-flags only allows - # -O -O1 and -O2 - 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 - ;; - - amd64|ia64) - # Historically we have needed to add this manually for 64-bit - append-flags -fPIC - ;; - - ppc64) - append-flags -fPIC -mminimal-toc - ;; - - ppc) - # Fix to avoid gcc-3.3.x micompilation issues. - if [[ $(gcc-major-version).$(gcc-minor-version) == 3.3 ]]; then - append-flags -fno-strict-aliasing - fi - ;; - - sparc) - # Sparc support ... - replace-sparc64-flags - ;; - - x86) - if [[ $(gcc-major-version) -eq 3 ]]; then - # gcc-3 prior to 3.2.3 doesn't work well for pentium4 - # see bug 25332 - if [[ $(gcc-minor-version) -lt 2 || - ( $(gcc-minor-version) -eq 2 && $(gcc-micro-version) -lt 3 ) ]] - then - replace-flags -march=pentium4 -march=pentium3 - filter-flags -msse2 - fi - fi - ;; - esac - - if [[ $(gcc-major-version) -eq 3 ]]; then - # Enable us to use flash, etc plugins compiled with gcc-2.95.3 - mozconfig_annotate "building with >=gcc-3" --enable-old-abi-compat-wrappers - - # Needed to build without warnings on gcc-3 - CXXFLAGS="${CXXFLAGS} -Wno-deprecated" - fi - - # Go a little faster; use less RAM - append-flags "$MAKEEDIT_FLAGS" - - #################################### - # - # mozconfig setup - # - #################################### - - mozconfig_annotate gentoo \ - --disable-installer \ - --disable-pedantic \ - --enable-crypto \ - --with-system-jpeg \ - --with-system-png \ - --with-system-zlib \ - --disable-updater \ - --enable-default-toolkit=gtk2 \ - --enable-pango \ - --enable-svg \ - --enable-svg-renderer=cairo \ - --enable-system-cairo \ - --disable-strip \ - --disable-strip-libs - - if [[ ${PN} != seamonkey ]]; then - mozconfig_annotate gentoo \ - --enable-single-profile \ - --disable-profilesharing \ - --disable-profilelocking - 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 -} - -# Simulate the silly csh makemake script -makemake() { - typeset m topdir - for m in $(find . -name Makefile.in); do - topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') - sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" \ - < ${m} > ${m%.in} || die "sed ${m} failed" - done -} - -makemake2() { - for m in $(find ../ -name Makefile.in); do - topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') - sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" \ - < ${m} > ${m%.in} || die "sed ${m} failed" - done -} - -# 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 "$(useq $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 "$(useq $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=$(useq $1 || echo -) - mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2} -} - -# 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/mozextension.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass index a568ccd0ac..cf10313353 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozextension.eclass @@ -1,18 +1,29 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozextension.eclass,v 1.7 2011/12/27 17:55:12 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mozextension.eclass,v 1.9 2013/05/28 03:29:50 anarchy Exp $ # # @ECLASS: mozextension.eclass # @MAINTAINER: # Mozilla team -# @DESCRIPTION: -# Install extensions for use in mozilla products. +# @BLURB: Install extensions for use in mozilla products. inherit eutils DEPEND="app-arch/unzip" +mozversion_extension_location() { + case ${PN} in + firefox|firefox-bin) + if [[ $(get_version_component_range 1) -ge 21 ]] ; then + return 0 + fi + ;; + esac + + return 1 +} + xpi_unpack() { local xpi xpiname srcdir @@ -54,6 +65,10 @@ xpi_install() { # determine id for extension emid="$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${x}"/install.rdf)" \ || die "failed to determine extension id" - insinto "${MOZILLA_FIVE_HOME}"/extensions/${emid} + if $(mozversion_extension_location) ; then + insinto "${MOZILLA_FIVE_HOME}"/browser/extensions/${emid} + else + insinto "${MOZILLA_FIVE_HOME}"/extensions/${emid} + fi doins -r "${x}"/* || die "failed to copy extension" } diff --git a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass index 3e0183697b..8ad0bbcef4 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mozlinguas.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mozlinguas.eclass,v 1.5 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mozlinguas.eclass,v 1.6 2013/04/05 15:27:40 floppym Exp $ # @ECLASS: mozlinguas.eclass # @MAINTAINER: @@ -28,7 +28,6 @@ esac # 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. -# @DEFAULT-UNSET : ${MOZ_LANGS:=()} # @ECLASS-VARIABLE: MOZ_PV @@ -50,7 +49,6 @@ esac : ${MOZ_P:="${MOZ_PN}-${MOZ_PV}"} # @ECLASS-VARIABLE: MOZ_FTP_URI -# @DEFAULT-UNSET # @DESCRIPTION: # The ftp URI prefix for the release tarballs and language packs. : ${MOZ_FTP_URI:=""} 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 1e9865dc3d..dadaffc829 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/multibuild.eclass,v 1.12 2013/06/21 10:31:18 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/multibuild.eclass,v 1.13 2013/09/10 09:10:22 mgorny Exp $ # @ECLASS: multibuild # @MAINTAINER: @@ -28,6 +28,8 @@ if [[ ! ${_MULTIBUILD} ]]; then inherit multiprocessing +RDEPEND="userland_GNU? ( >=sys-apps/coreutils-8.5 )" + # @ECLASS-VARIABLE: MULTIBUILD_VARIANTS # @DESCRIPTION: # An array specifying all enabled variants which multibuild_foreach* 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 a4b7c012be..a042d9f431 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/multilib-build.eclass,v 1.14 2013/06/28 02:37:52 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/multilib-build.eclass,v 1.20 2013/09/17 13:29:19 tommy Exp $ # @ECLASS: multilib-build.eclass # @MAINTAINER: @@ -33,6 +33,11 @@ _MULTILIB_FLAGS=( abi_x86_32:x86 abi_x86_64:amd64 abi_x86_x32:x32 + abi_x86_32:x86_fbsd + abi_x86_64:amd64_fbsd + abi_mips_n32:n32 + abi_mips_n64:n64 + abi_mips_o32:o32 ) # @ECLASS-VARIABLE: MULTILIB_USEDEP @@ -263,10 +268,6 @@ multilib_prepare_wrappers() { local dir=${f%/*} - # $CHOST shall be set by multilib_toolchain_setup - dodir "/tmp/multilib-include/${CHOST}${dir}" - mv "${root}/usr/include${f}" "${ED}/tmp/multilib-include/${CHOST}${dir}/" || die - if [[ ! -f ${ED}/tmp/multilib-include${f} ]]; then dodir "/tmp/multilib-include${dir}" # a generic template @@ -284,28 +285,49 @@ multilib_prepare_wrappers() { # endif #elif defined(__i386__) /* plain x86 */ # error "abi_x86_32 not supported by the package." +#elif defined(__mips__) +# if(_MIPS_SIM == _ABIN32) /* n32 */ +# error "abi_mips_n32 not supported by the package." +# elif(_MIPS_SIM == _ABI64) /* n64 */ +# error "abi_mips_n64 not supported by the package." +# elif(_MIPS_SIM == _ABIO32) /* o32 */ +# error "abi_mips_o32 not supported by the package." +# endif #else # error "No ABI matched, please report a bug to bugs.gentoo.org" #endif _EOF_ fi - # XXX: get abi_* directly - local abi_flag - case "${ABI}" in - amd64) - abi_flag=abi_x86_64;; - x86) - abi_flag=abi_x86_32;; - x32) - abi_flag=abi_x86_x32;; - *) - die "Header wrapping for ${ABI} not supported yet";; - esac + # Some ABIs may have install less files than others. + if [[ -f ${root}/usr/include${f} ]]; then + # $CHOST shall be set by multilib_toolchain_setup + dodir "/tmp/multilib-include/${CHOST}${dir}" + mv "${root}/usr/include${f}" "${ED}/tmp/multilib-include/${CHOST}${dir}/" || die - # Note: match a space afterwards to avoid collision potential. - sed -e "/${abi_flag} /s&error.*&include <${CHOST}${f}>&" \ - -i "${ED}/tmp/multilib-include${f}" || die + # XXX: get abi_* directly + local abi_flag + case "${ABI}" in + amd64|amd64_fbsd) + abi_flag=abi_x86_64;; + x86|x86_fbsd) + abi_flag=abi_x86_32;; + x32) + abi_flag=abi_x86_x32;; + n32) + abi_flag=abi_mips_n32;; + n64) + abi_flag=abi_mips_n64;; + o32) + abi_flag=abi_mips_o32;; + *) + die "Header wrapping for ${ABI} not supported yet";; + esac + + # Note: match a space afterwards to avoid collision potential. + sed -e "/${abi_flag} /s&error.*&include <${CHOST}${f}>&" \ + -i "${ED}/tmp/multilib-include${f}" || die + fi done } @@ -338,5 +360,39 @@ multilib_install_wrappers() { fi } +# @FUNCTION: multilib_is_native_abi +# @DESCRIPTION: +# Determine whether the currently built ABI is the profile native. +# Return true status (0) if that is true, otherwise false (1). +# +# This is often useful for configure calls when some of the options are +# supposed to be disabled for multilib ABIs (like those used for +# executables only). +multilib_is_native_abi() { + debug-print-function ${FUNCNAME} "${@}" + + [[ ${#} -eq 0 ]] || die "${FUNCNAME}: too many arguments" + + [[ ${ABI} == ${DEFAULT_ABI} ]] +} + +# @FUNCTION: multilib_build_binaries +# @DESCRIPTION: +# Determine wheter to build binaries for the current build ABI. +# Returns true status (0) if the current built ABI is the profile +# native or COMPLETE_MULTILIB variable is set to yes, otherwise +# false (1). +# +# The COMPLETE_MULTILIB variable can be set by users or profiles +# when they want to build binaries for none-default ABI so e.g. +# 32bit binaries on amd64. +multilib_build_binaries() { + debug-print-function ${FUNCNAME} "${@}" + + [[ ${#} -eq 0 ]] || die "${FUNCNAME}: too many arguments" + + [[ ${COMPLETE_MULTILIB} == yes ]] || multilib_is_native_abi +} + _MULTILIB_BUILD=1 fi diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql-autotools.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql-autotools.eclass index c342b635bd..644c1e7489 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql-autotools.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql-autotools.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-autotools.eclass,v 1.14 2013/01/28 02:13:05 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-autotools.eclass,v 1.18 2013/06/26 19:31:49 jmbsvicetto Exp $ # @ECLASS: mysql-autotools.eclass # @MAINTAINER: @@ -51,14 +51,14 @@ mysql-autotools_disable_test() { # ${S}/mysql-tests/suite/ndb_team/t/disabled.def # ${S}/mysql-tests/suite/binlog/t/disabled.def # ${S}/mysql-tests/suite/innodb/t/disabled.def - if [ -n "${testsuite}" ]; then + if [[ -n ${testsuite} ]]; then for mysql_disable_file in \ ${S}/mysql-test/suite/${testsuite}/disabled.def \ ${S}/mysql-test/suite/${testsuite}/t/disabled.def \ FAILED ; do - [ -f "${mysql_disable_file}" ] && break + [[ -f ${mysql_disable_file} ]] && break done - if [ "${mysql_disabled_file}" != "FAILED" ]; then + if [[ ${mysql_disabled_file} != "FAILED" ]]; then echo "${testname} : ${reason}" >> "${mysql_disable_file}" else ewarn "Could not find testsuite disabled.def location for ${rawtestname}" @@ -99,7 +99,7 @@ mysql-autotools_configure_minimal() { # MariaDB requires this flag in order to link to GPLv3 readline v6 or greater # A note is added to the configure output - if [[ "${PN}" == "mariadb" ]] && mysql_version_is_at_least "5.1.61" ; then + if [[ ${PN} == "mariadb" ]] && mysql_version_is_at_least "5.1.61" ; then myconf="${myconf} --disable-distribution" fi } @@ -134,7 +134,7 @@ mysql-autotools_configure_common() { fi fi - if [ -n "${MYSQL_DEFAULT_CHARSET}" -a -n "${MYSQL_DEFAULT_COLLATION}" ]; then + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." ewarn "You MUST file bugs without these variables set." @@ -220,7 +220,7 @@ mysql-autotools_configure_51() { # Not supporting as examples: example,daemon_example,ftexample plugins_sta="${plugins_sta} partition" - if [[ "${PN}" != "mariadb" ]] ; then + if [[ ${PN} != "mariadb" ]] ; then elog "Before using the Federated storage engine, please be sure to read" elog "http://dev.mysql.com/doc/refman/5.1/en/federated-limitations.html" plugins_dyn="${plugins_dyn} federated" @@ -237,10 +237,10 @@ mysql-autotools_configure_51() { # - innobase, innodb_plugin # Build falcon if available for 6.x series. for i in innobase falcon ; do - [ -e "${S}"/storage/${i} ] && plugins_sta="${plugins_sta} ${i}" + [[ -e ${S}/storage/${i} ]] && plugins_sta="${plugins_sta} ${i}" done for i in innodb_plugin ; do - [ -e "${S}"/storage/${i} ] && plugins_dyn="${plugins_dyn} ${i}" + [[ -e ${S}/storage/${i} ]] && plugins_dyn="${plugins_dyn} ${i}" done # like configuration=max-no-ndb @@ -252,12 +252,12 @@ mysql-autotools_configure_51() { plugins_dis="${plugins_dis} ndbcluster" fi - if [[ "${PN}" == "mariadb" ]] ; then + if [[ ${PN} == "mariadb" ]] ; then # In MariaDB, InnoDB is packaged in the xtradb directory, so it's not # caught above. # This is not optional, without it several upstream testcases fail. # Also strongly recommended by upstream. - if [[ "${PV}" < "5.2.0" ]] ; then + if [[ ${PV} < "5.2.0" ]] ; then myconf="${myconf} --with-maria-tmp-tables" plugins_sta="${plugins_sta} maria" else @@ -265,11 +265,11 @@ mysql-autotools_configure_51() { plugins_sta="${plugins_sta} aria" fi - [ -e "${S}"/storage/innobase ] || [ -e "${S}"/storage/xtradb ] || + [[ ( -e ${S}/storage/innobase ) || ( -e ${S}/storage/xtradb ) ]] || die "The ${P} package doesn't provide innobase nor xtradb" for i in innobase xtradb ; do - [ -e "${S}"/storage/${i} ] && plugins_sta="${plugins_sta} ${i}" + [[ -e ${S}/storage/${i} ]] && plugins_sta="${plugins_sta} ${i}" done myconf="${myconf} $(use_with libevent)" @@ -289,9 +289,18 @@ mysql-autotools_configure_51() { || plugins_dis="${plugins_dis} ${i}" done fi + + #Authentication plugins + if mysql_version_is_at_least "5.2.11" ; then + for i in pam ; do + use ${i} \ + && plugins_dyn="${plugins_dyn} auth_${i}" \ + || plugins_dis="${plugins_dis} auth_${i}" + done + fi fi - if pbxt_available && [[ "${PBXT_NEWSTYLE}" == "1" ]]; then + if pbxt_available && [[ ${PBXT_NEWSTYLE} == "1" ]]; then use pbxt \ && plugins_sta="${plugins_sta} pbxt" \ || plugins_dis="${plugins_dis} pbxt" @@ -302,7 +311,7 @@ mysql-autotools_configure_51() { plugins_dyn="" # Google MySQL, bundle what upstream supports - if [[ "${PN}" == "google-mysql" ]]; then + if [[ ${PN} == "google-mysql" ]]; then for x in innobase innodb_plugin innodb ; do plugins_sta="${plugins_sta//$x}" plugins_dyn="${plugins_dyn//$x}" @@ -380,7 +389,7 @@ mysql-autotools_src_prepare() { # last -fPIC fixup, per bug #305873 i="${S}"/storage/innodb_plugin/plug.in - [ -f "${i}" ] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}" + [[ -f ${i} ]] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}" # Additional checks, remove bundled zlib rm -f "${S}/zlib/"*.[ch] @@ -408,21 +417,21 @@ mysql-autotools_src_prepare() { i="innobase" o="${WORKDIR}/storage-${i}.mysql-upstream" # Have we been here already? - [ -d "${o}" ] && rm -f "${i}" + [[ -d ${o} ]] && rm -f "${i}" # Or maybe we haven't - [ -d "${i}" -a ! -d "${o}" ] && mv "${i}" "${o}" + [[ ( -d ${i} ) && ! ( -d ${o} ) ]] && mv "${i}" "${o}" cp -ral "${WORKDIR}/${XTRADB_P}" "${i}" popd >/dev/null fi - if pbxt_patch_available && [[ "${PBXT_NEWSTYLE}" == "1" ]] && use pbxt ; then + if pbxt_patch_available && [[ ${PBXT_NEWSTYLE} == "1" ]] && use pbxt ; then einfo "Adding storage engine: PBXT" pushd "${S}"/storage >/dev/null i='pbxt' - [ -d "${i}" ] && rm -rf "${i}" + [[ -d ${i} ]] && rm -rf "${i}" cp -ral "${WORKDIR}/${PBXT_P}" "${i}" f="${WORKDIR}/mysql-extras/pbxt/fix-low-priority.patch" - [[ -f $f ]] && epatch "$f" + [[ -f $f ]] && epatch "$f" popd >/dev/null fi @@ -447,6 +456,8 @@ mysql-autotools_src_prepare() { # @DESCRIPTION: # Configure mysql to build the code for Gentoo respecting the use flags. mysql-autotools_src_configure() { + # bug 401733 + export QA_CONFIGURE_OPTIONS=".*" # Make sure the vars are correctly initialized mysql_init_vars @@ -465,7 +476,7 @@ mysql-autotools_src_configure() { filter-flags "-O" "-O[01]" # glib-2.3.2_pre fix, bug #16496 - append-flags "-DHAVE_ERRNO_AS_DEFINE=1" + append-cppflags "-DHAVE_ERRNO_AS_DEFINE=1" # As discovered by bug #246652, doing a double-level of SSP causes NDB to # fail badly during cluster startup. @@ -479,7 +490,7 @@ mysql-autotools_src_configure() { # implicitly. Upstream might be interested in this, exclude # -fno-implicit-templates for google-mysql for now. mysql_version_is_at_least "5.0" \ - && [[ "${PN}" != "google-mysql" ]] \ + && [[ ${PN} != "google-mysql" ]] \ && CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" export CXXFLAGS @@ -515,7 +526,7 @@ mysql-autotools_src_configure() { | xargs -0 -n100 sed -i \ -e 's|^pkglibdir *= *$(libdir)/mysql|pkglibdir = $(libdir)|;s|^pkgincludedir *= *$(includedir)/mysql|pkgincludedir = $(includedir)|' - if [[ $EAPI == 2 ]] && [[ "${PBXT_NEWSTYLE}" != "1" ]]; then + if [[ $EAPI == 2 ]] && [[ ${PBXT_NEWSTYLE} != "1" ]]; then pbxt_patch_available && use pbxt && pbxt_src_configure fi } @@ -527,7 +538,7 @@ mysql-autotools_src_compile() { emake || die "emake failed" - if [[ "${PBXT_NEWSTYLE}" != "1" ]]; then + if [[ ${PBXT_NEWSTYLE} != "1" ]]; then pbxt_patch_available && use pbxt && pbxt_src_compile fi } @@ -546,7 +557,7 @@ mysql-autotools_src_install() { testroot="${MY_SHAREDSTATEDIR}" \ || die "emake install failed" - if [[ "${PBXT_NEWSTYLE}" != "1" ]]; then + if [[ ${PBXT_NEWSTYLE} != "1" ]]; then pbxt_patch_available && use pbxt && pbxt_src_install fi @@ -609,7 +620,7 @@ mysql-autotools_src_install() { # Empty directories ... diropts "-m0750" keepdir "${MY_DATADIR#${EPREFIX}}" - if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then + if [[ ${PREVIOUS_DATADIR} != "yes" ]] ; then chown -R mysql:mysql "${D}/${MY_DATADIR}" fi @@ -624,7 +635,7 @@ mysql-autotools_src_install() { # Docs einfo "Installing docs" for i in README ChangeLog EXCEPTIONS-CLIENT INSTALL-SOURCE ; do - [[ -f "$i" ]] && dodoc "$i" + [[ -f $i ]] && dodoc "$i" done doinfo "${S}"/Docs/mysql.info @@ -637,15 +648,23 @@ mysql-autotools_src_install() { "${S}"/support-files/magic \ "${S}"/support-files/ndb-config-2-node.ini do - [[ -f "$script" ]] && dodoc "${script}" + [[ -f $script ]] && dodoc "${script}" done docinto "scripts" for script in "${S}"/scripts/mysql* ; do - [[ -f "$script" ]] && [[ "${script%.sh}" == "${script}" ]] && dodoc "${script}" + [[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}" done fi mysql_lib_symlinks "${ED}" + + #Remove mytop if perl is not selected + [[ ${PN} == "mariadb" ]] && ! use perl \ + && mysql_version_is_at_least "5.3" \ + && rm -f "${ED}/usr/bin/mytop" + + #Bug 455462 remove unnecessary libtool files + prune_libtool_files --modules } 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 06124b3ec7..548bbd3c2c 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.13 2013/01/20 02:37:51 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-cmake.eclass,v 1.17 2013/06/27 17:23:33 jmbsvicetto Exp $ # @ECLASS: mysql-cmake.eclass # @MAINTAINER: @@ -36,29 +36,29 @@ mysql-cmake_disable_test() { for mysql_disabled_file in \ ${S}/mysql-test/disabled.def \ ${S}/mysql-test/t/disabled.def ; do - [ -f "${mysql_disabled_file}" ] && break + [[ -f ${mysql_disabled_file} ]] && break done #mysql_disabled_file="${S}/mysql-test/t/disabled.def" #einfo "rawtestname=${rawtestname} testname=${testname} testsuite=${testsuite}" echo ${testname} : ${reason} >> "${mysql_disabled_file}" - if [ -n "${testsuite}" ] && [ "${testsuite}" != "main" ]; then + if [[ ( -n ${testsuite} ) && ( ${testsuite} != "main" ) ]]; then for mysql_disabled_file in \ ${S}/mysql-test/suite/${testsuite}/disabled.def \ ${S}/mysql-test/suite/${testsuite}/t/disabled.def \ FAILED ; do - [ -f "${mysql_disabled_file}" ] && break + [[ -f ${mysql_disabled_file} ]] && break done - if [ "${mysql_disabled_file}" != "FAILED" ]; then + if [[ ${mysql_disabled_file} != "FAILED" ]]; then echo "${testname} : ${reason}" >> "${mysql_disabled_file}" else for mysql_disabled_dir in \ ${S}/mysql-test/suite/${testsuite} \ ${S}/mysql-test/suite/${testsuite}/t \ FAILED ; do - [ -d "${mysql_disabled_dir}" ] && break + [[ -d ${mysql_disabled_dir} ]] && break done - if [ "${mysql_disabled_dir}" != "FAILED" ]; then + if [[ ${mysql_disabled_dir} != "FAILED" ]]; then echo "${testname} : ${reason}" >> "${mysql_disabled_dir}/disabled.def" else ewarn "Could not find testsuite disabled.def location for ${rawtestname}" @@ -72,7 +72,7 @@ mysql-cmake_disable_test() { # Helper function to configure locale cmake options configure_cmake_locale() { - if ! use minimal && [ -n "${MYSQL_DEFAULT_CHARSET}" -a -n "${MYSQL_DEFAULT_COLLATION}" ]; then + if ! use minimal && [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." ewarn "You MUST file bugs without these variables set." @@ -151,7 +151,7 @@ configure_cmake_standard() { if use ssl; then mycmakeargs+=( -DWITH_SSL=system ) else - mycmakeargs+=( -DWITH_SSL=0 ) + mycmakeargs+=( -DWITH_SSL=bundled ) fi if mysql_version_is_at_least "5.5" && use jemalloc; then @@ -179,12 +179,22 @@ configure_cmake_standard() { mycmakeargs+=( $(cmake-utils_use_with pbxt PBXT_STORAGE_ENGINE) ) fi - if [ "${PN}" == "mariadb" ]; then + if [[ ${PN} == "mariadb" ]]; then mycmakeargs+=( $(cmake-utils_use_with oqgraph OQGRAPH_STORAGE_ENGINE) $(cmake-utils_use_with sphinx SPHINX_STORAGE_ENGINE) $(cmake-utils_use_with extraengine FEDERATEDX_STORAGE_ENGINE) ) + + if ! use pam ; then + mycmakeargs+=( -DAUTH_PAM_DISABLED=1 ) + fi + fi + + if [[ ${PN} == "percona-server" ]]; then + mycmakeargs+=( + $(cmake-utils_use_with pam) + ) fi } @@ -213,9 +223,10 @@ mysql-cmake_src_prepare() { # last -fPIC fixup, per bug #305873 i="${S}"/storage/innodb_plugin/plug.in - [ -f "${i}" ] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}" + [[ -f ${i} ]] && sed -i -e '/CFLAGS/s,-prefer-non-pic,,g' "${i}" rm -f "scripts/mysqlbug" + epatch_user } # @FUNCTION: mysql-cmake_src_configure @@ -247,13 +258,13 @@ mysql-cmake_src_configure() { -DINSTALL_SQLBENCHDIR=share/mysql -DINSTALL_SUPPORTFILESDIR=${EPREFIX}/usr/share/mysql -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITHOUT_UNIT_TESTS=1 + $(cmake-utils_use_with test UNIT_TESTS) ) # Bug 412851 # MariaDB requires this flag to compile with GPLv3 readline linked # Adds a warning about redistribution to configure - if [[ "${PN}" == "mariadb" ]] ; then + if [[ ${PN} == "mariadb" ]] ; then mycmakeargs+=( -DNOT_FOR_DISTRIBUTION=1 ) fi @@ -268,9 +279,16 @@ mysql-cmake_src_configure() { # Bug #114895, bug #110149 filter-flags "-O" "-O[01]" - CXXFLAGS="${CXXFLAGS} -fno-exceptions -fno-strict-aliasing" + CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" CXXFLAGS="${CXXFLAGS} -felide-constructors -fno-rtti" - CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" + # Causes linkage failures. Upstream bug #59607 removes it + if ! mysql_version_is_at_least "5.6" ; then + CXXFLAGS="${CXXFLAGS} -fno-implicit-templates" + fi + # As of 5.7, exceptions are used! + if ! mysql_version_is_at_least "5.7" ; then + CXXFLAGS="${CXXFLAGS} -fno-exceptions" + fi export CXXFLAGS # bug #283926, with GCC4.4, this is required to get correct behavior. @@ -307,6 +325,9 @@ mysql-cmake_src_install() { dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqlrepair" dosym "/usr/bin/mysqlcheck" "/usr/bin/mysqloptimize" + # Create a mariadb_config symlink + [[ ${PN} == "mariadb" ]] && dosym "/usr/bin/mysql_config" "/usr/bin/mariadb_config" + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir rm -Rf "${ED}/usr/data" @@ -332,7 +353,7 @@ mysql-cmake_src_install() { # Configuration stuff case ${MYSQL_PV_MAJOR} in 5.[1-4]*) mysql_mycnf_version="5.1" ;; - 5.[5-9]|6*|7*) mysql_mycnf_version="5.5" ;; + 5.[5-9]|6*|7*|8*|9*|10*) mysql_mycnf_version="5.5" ;; esac einfo "Building default my.cnf (${mysql_mycnf_version})" insinto "${MY_SYSCONFDIR#${EPREFIX}}" @@ -354,7 +375,7 @@ mysql-cmake_src_install() { einfo "Creating initial directories" # Empty directories ... diropts "-m0750" - if [[ "${PREVIOUS_DATADIR}" != "yes" ]] ; then + if [[ ${PREVIOUS_DATADIR} != "yes" ]] ; then dodir "${MY_DATADIR#${EPREFIX}}" keepdir "${MY_DATADIR#${EPREFIX}}" chown -R mysql:mysql "${D}/${MY_DATADIR}" @@ -377,15 +398,21 @@ mysql-cmake_src_install() { "${S}"/support-files/magic \ "${S}"/support-files/ndb-config-2-node.ini.sh do - [[ -f "$script" ]] && dodoc "${script}" + [[ -f $script ]] && dodoc "${script}" done docinto "scripts" for script in "${S}"/scripts/mysql* ; do - [[ -f "$script" ]] && [[ "${script%.sh}" == "${script}" ]] && dodoc "${script}" + [[ ( -f $script ) && ( ${script%.sh} == ${script} ) ]] && dodoc "${script}" done - fi - mysql_lib_symlinks "${ED}" + cat <<-EOF > "${T}"/80mysql-libdir + LDPATH="${EPREFIX}/usr/$(get_libdir)/mysql" + EOF + doenvd "${T}"/80mysql-libdir + + #Remove mytop if perl is not selected + [[ ${PN} == "mariadb" ]] && ! use perl \ + && rm -f "${ED}/usr/bin/mytop" } 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 4ce13a8234..76dae6d5ce 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,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-v2.eclass,v 1.23 2013/01/28 02:13:05 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql-v2.eclass,v 1.25 2013/06/26 19:31:49 jmbsvicetto Exp $ # @ECLASS: mysql-v2.eclass # @MAINTAINER: @@ -11,7 +11,7 @@ # @BLURB: This eclass provides most of the functions for mysql ebuilds # @DESCRIPTION: # The mysql-v2.eclass is the base eclass to build the mysql and -# alternative projects (mariadb) ebuilds. +# alternative projects (mariadb and percona) ebuilds. # This eclass uses the mysql-autotools and mysql-cmake eclasses for the # specific bits related to the build system. # It provides the src_unpack, src_prepare, src_configure, src_compile, @@ -44,7 +44,7 @@ MYSQL_EXTRAS="" # @DESCRIPTION: # The version of the MYSQL_EXTRAS repo to use to build mysql # Use "none" to disable it's use -[[ "${MY_EXTRAS_VER}" == "live" ]] && MYSQL_EXTRAS="git-2" +[[ ${MY_EXTRAS_VER} == "live" ]] && MYSQL_EXTRAS="git-2" inherit eutils flag-o-matic gnuconfig ${MYSQL_EXTRAS} ${BUILD_INHERIT} mysql_fx versionator toolchain-funcs @@ -53,7 +53,7 @@ inherit eutils flag-o-matic gnuconfig ${MYSQL_EXTRAS} ${BUILD_INHERIT} mysql_fx # case "${EAPI:-0}" in - 3|4|5) ;; + 4|5) ;; *) die "Unsupported EAPI: ${EAPI}" ;; esac @@ -67,8 +67,8 @@ EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_ # and we will run a mysql server during test phase S="${WORKDIR}/mysql" -[[ "${MY_EXTRAS_VER}" == "latest" ]] && MY_EXTRAS_VER="20090228-0714Z" -if [[ "${MY_EXTRAS_VER}" == "live" ]]; then +[[ ${MY_EXTRAS_VER} == "latest" ]] && MY_EXTRAS_VER="20090228-0714Z" +if [[ ${MY_EXTRAS_VER} == "live" ]]; then EGIT_PROJECT=mysql-extras EGIT_REPO_URI="git://git.overlays.gentoo.org/proj/mysql-extras.git" fi @@ -113,10 +113,10 @@ mysql_version_is_at_least "5.1.50" || die "This eclass should only be used with # Designation by PERCONA for a MySQL version to apply an XTRADB release # Work out the default SERVER_URI correctly -if [ -z "${SERVER_URI}" ]; then - [ -z "${MY_PV}" ] && MY_PV="${PV//_/-}" - if [ "${PN}" == "mariadb" ]; then - MARIA_FULL_PV="$(replace_version_separator 3 '-' ${MY_PV})" +if [[ -z ${SERVER_URI} ]]; then + [[ -z ${MY_PV} ]] && MY_PV="${PV//_/-}" + if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then + MARIA_FULL_PV=$(replace_version_separator 3 '-' ${MY_PV}) MARIA_FULL_P="${PN}-${MARIA_FULL_PV}" SERVER_URI=" http://ftp.osuosl.org/pub/mariadb/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz @@ -126,6 +126,16 @@ if [ -z "${SERVER_URI}" ]; then http://mirrors.fe.up.pt/pub/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz http://ftp-stud.hs-esslingen.de/pub/Mirrors/${PN}/${MARIA_FULL_P}/kvm-tarbake-jaunty-x86/${MARIA_FULL_P}.tar.gz " + if [[ ${PN} == "mariadb-galera" ]]; then + MY_SOURCEDIR="${PN%%-galera}-${MARIA_FULL_PV}" + fi + elif [[ ${PN} == "percona-server" ]]; then + PERCONA_PN="Percona-Server" + MIRROR_PV=$(get_version_component_range 1-2 ${PV}) + MY_PV=$(get_version_component_range 1-3 ${PV}) + MY_PATCH=$(get_version_component_range 4 ${PV}) + SERVER_URI="http://www.percona.com/redir/downloads/${PERCONA_PN}-${MIRROR_PV}/LATEST/source/${PERCONA_PN}-${MY_PV}-rel30.${MY_PATCH}.tar.gz" +# http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/Percona-Server-5.5.30-rel30.2.tar.gz else URI_DIR="MySQL" URI_FILE="mysql" @@ -141,19 +151,28 @@ fi SRC_URI="${SERVER_URI}" # Gentoo patches to MySQL -[[ ${MY_EXTRAS_VER} != live ]] && [[ ${MY_EXTRAS_VER} != none ]] \ -&& SRC_URI="${SRC_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 http://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 http://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi DESCRIPTION="A fast, multi-threaded, multi-user SQL database server." HOMEPAGE="http://www.mysql.com/" -if [[ "${PN}" == "mariadb" ]]; then +if [[ ${PN} == "mariadb" ]]; then HOMEPAGE="http://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" fi +if [[ ${PN} == "mariadb-galera" ]]; then + HOMEPAGE="http://mariadb.org/" + DESCRIPTION="An enhanced, drop-in replacement for MySQL with Galera Replication" +fi +if [[ ${PN} == "percona-server" ]]; then + HOMEPAGE="http://www.percona.com/software/percona-server" + DESCRIPTION="An enhanced, drop-in replacement fro MySQL from the Percona team" +fi LICENSE="GPL-2" SLOT="0" @@ -172,30 +191,29 @@ IUSE="${IUSE} extraengine" IUSE="${IUSE} cluster" IUSE="${IUSE} max-idx-128" -IUSE="${IUSE} berkdb" IUSE="${IUSE} +community profiling" -[[ ${PN} == "mariadb" ]] \ -&& mysql_check_version_range "5.1.38 to 5.3.99" \ -&& IUSE="${IUSE} libevent" - -[[ ${PN} == "mariadb" ]] \ -&& mysql_version_is_at_least "5.2" \ -&& IUSE="${IUSE} oqgraph" - -[[ ${PN} == "mariadb" ]] \ -&& mysql_version_is_at_least "5.2.5" \ -&& IUSE="${IUSE} sphinx" +if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]]; then + mysql_check_version_range "5.1.38 to 5.3.99" && IUSE="${IUSE} libevent" + mysql_version_is_at_least "5.2" && IUSE="${IUSE} oqgraph" + mysql_version_is_at_least "5.2.5" && IUSE="${IUSE} sphinx" + mysql_version_is_at_least "5.2.10" && IUSE="${IUSE} pam" +fi if mysql_version_is_at_least "5.5"; then REQUIRED_USE="tcmalloc? ( !jemalloc ) jemalloc? ( !tcmalloc )" IUSE="${IUSE} jemalloc tcmalloc" fi -REQUIRED_USE="${REQUIRED_USE} minimal? ( !cluster !extraengine !embedded ) static? ( !ssl )" +if mysql_version_is_at_least "5.5.7"; then + IUSE="${IUSE} systemtap" +fi -mysql_version_is_at_least "5.5.7" \ -&& IUSE="${IUSE} systemtap" +if [[ ${PN} == "percona-server" ]]; then + mysql_version_is_at_least "5.5.10" && IUSE="${IUSE} pam" +fi + +REQUIRED_USE="${REQUIRED_USE} minimal? ( !cluster !extraengine !embedded ) static? ( !ssl )" # # DEPENDENCIES: @@ -212,38 +230,30 @@ DEPEND=" >=sys-libs/zlib-1.2.3 " -[[ ${PN} == mariadb ]] \ -&& mysql_check_version_range "5.1.38 to 5.3.99" \ -&& DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )" +if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then + mysql_check_version_range "5.1.38 to 5.3.99" && DEPEND="${DEPEND} libevent? ( >=dev-libs/libevent-1.4 )" + mysql_version_is_at_least "5.2" && DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0 )" + mysql_version_is_at_least "5.2.5" && DEPEND="${DEPEND} sphinx? ( app-misc/sphinx )" + mysql_version_is_at_least "5.2.10" && DEPEND="${DEPEND} !minimal? ( pam? ( virtual/pam ) )" + # Bug 441700 MariaDB >=5.3 include custom mytop + mysql_version_is_at_least "5.3" && DEPEND="${DEPEND} perl? ( !dev-db/mytop )" +fi # Having different flavours at the same time is not a good idea -for i in "mysql" "mariadb" ; do +for i in "mysql" "mariadb" "mariadb-galera" "percona-server"; do [[ ${i} == ${PN} ]] || DEPEND="${DEPEND} !dev-db/${i}" done -[[ "${PN}" == "mariadb" ]] \ -&& mysql_version_is_at_least "5.2" \ -&& DEPEND="${DEPEND} oqgraph? ( >=dev-libs/boost-1.40.0 )" +if mysql_version_is_at_least "5.5" ; then + DEPEND="${DEPEND} jemalloc? ( dev-libs/jemalloc )" + DEPEND="${DEPEND} tcmalloc? ( dev-util/google-perftools )" +fi -[[ "${PN}" == "mariadb" ]] \ -&& mysql_version_is_at_least "5.2.5" \ -&& DEPEND="${DEPEND} sphinx? ( app-misc/sphinx )" - -# Bug 441700 MariaDB >=5.3 include custom mytop -[[ "${PN}" == "mariadb" ]] \ -&& mysql_version_is_at_least "5.3" \ -&& DEPEND="${DEPEND} !dev-db/mytop" - -mysql_version_is_at_least "5.5.7" \ -&& DEPEND="${DEPEND} systemtap? ( >=dev-util/systemtap-1.3 )" \ -&& DEPEND="${DEPEND} kernel_linux? ( dev-libs/libaio )" - -mysql_version_is_at_least "5.5" \ -&& DEPEND="${DEPEND} jemalloc? ( dev-libs/jemalloc )" - -mysql_version_is_at_least "5.5" \ -&& DEPEND="${DEPEND} tcmalloc? ( dev-util/google-perftools )" +if mysql_version_is_at_least "5.5.7" ; then + DEPEND="${DEPEND} systemtap? ( >=dev-util/systemtap-1.3 )" + DEPEND="${DEPEND} kernel_linux? ( dev-libs/libaio )" +fi # prefix: first need to implement something for #196294 RDEPEND="${DEPEND} @@ -251,6 +261,17 @@ RDEPEND="${DEPEND} selinux? ( sec-policy/selinux-mysql ) " +if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] ; then + # Bug 455016 Add dependencies of mytop + if mysql_version_is_at_least "5.3" ; then + RDEPEND="${RDEPEND} perl? ( + virtual/perl-Getopt-Long + dev-perl/TermReadKey + virtual/perl-Term-ANSIColor + virtual/perl-Time-HiRes ) " + fi +fi + DEPEND="${DEPEND} virtual/yacc " @@ -261,8 +282,9 @@ DEPEND="${DEPEND} static? ( sys-libs/ncurses[static-libs] )" DEPEND="${DEPEND} >=dev-util/cmake-2.4.3" # compile-time-only -mysql_version_is_at_least "5.5.8" \ -&& DEPEND="${DEPEND} >=dev-util/cmake-2.6.3" +if mysql_version_is_at_least "5.5.8" ; then + DEPEND="${DEPEND} >=dev-util/cmake-2.6.3" +fi # dev-perl/DBD-mysql is needed by some scripts installed by MySQL PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" @@ -278,13 +300,12 @@ PDEPEND="${PDEPEND} =virtual/mysql-${MYSQL_PV_MAJOR}" # PBXT_VERSION means that we have a PBXT patch for this PV # PBXT was only introduced after 5.1.12 pbxt_patch_available() { - [[ ${PN} != "mariadb" ]] \ - && [[ -n "${PBXT_VERSION}" ]] + [[ ${PN} != "mariadb" && ${PN} != "mariadb-galera" && ( -n "${PBXT_VERSION}" ) ]] return $? } pbxt_available() { - pbxt_patch_available || [[ ${PN} == "mariadb" ]] + pbxt_patch_available || [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] return $? } @@ -293,18 +314,16 @@ pbxt_available() { # XTRADB_VERS means that we have a XTRADB patch for this PV # XTRADB was only introduced after 5.1.26 xtradb_patch_available() { - [[ ${PN} != "mariadb" ]] \ - && [[ -n "${XTRADB_VER}" && -n "${PERCONA_VER}" ]] + [[ ${PN} != "mariadb" && ${PN} != "mariadb-galera" + && ( -n "${XTRADB_VER}" ) && ( -n "${PERCONA_VER}" ) ]] return $? } - if pbxt_patch_available; then PBXT_P="pbxt-${PBXT_VERSION}" PBXT_SRC_URI="http://www.primebase.org/download/${PBXT_P}.tar.gz mirror://sourceforge/pbxt/${PBXT_P}.tar.gz" SRC_URI="${SRC_URI} pbxt? ( ${PBXT_SRC_URI} )" - fi # PBXT_NEWSTYLE means pbxt is in storage/ and gets enabled as other plugins @@ -376,8 +395,7 @@ mysql-v2_pkg_setup() { fi # Check for USE flag problems in pkg_setup - if ! mysql_version_is_at_least "5.2" \ - && use debug ; then + if ! mysql_version_is_at_least "5.2" && use debug ; then # Also in package.use.mask die "Bug #344885: Upstream has broken USE=debug for 5.1 series >=5.1.51" fi @@ -479,11 +497,20 @@ mysql-v2_pkg_postinst() { docinto "scripts" for script in scripts/mysql* ; do - [[ -f "${script}" ]] \ - && [[ "${script%.sh}" == "${script}" ]] \ - && dodoc "${script}" + if [[ -f "${script}" && "${script%.sh}" == "${script}" ]]; then + dodoc "${script}" + fi done + if [[ ${PN} == "mariadb" || ${PN} == "mariadb-galera" ]] \ + && mysql_version_is_at_least "5.2.10" && use pam ; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://kb.askmonty.org/en/pam-authentication-plugin/" + einfo + fi + einfo elog "You might want to run:" elog "\"emerge --config =${CATEGORY}/${PF}\"" @@ -510,10 +537,6 @@ mysql-v2_pkg_postinst() { elog " PRIMARY KEY (name)" elog " ) CHARACTER SET utf8 COLLATE utf8_bin;" fi - - mysql_check_version_range "4.0 to 5.0.99.99" \ - && use berkdb \ - && elog "Berkeley DB support is deprecated and will be removed in future versions!" } # @FUNCTION: mysql-v2_getopt @@ -561,7 +584,7 @@ mysql-v2_pkg_config() { local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - if [[ -d "${old_MY_DATADIR_s}" ]] && [[ "${old_MY_DATADIR_s}" != / ]]; then + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then if [[ -d "${MY_DATADIR_s}" ]]; then ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" @@ -644,11 +667,11 @@ mysql-v2_pkg_config() { && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \ || touch "${TMPDIR}/fill_help_tables.sql" help_tables="${TMPDIR}/fill_help_tables.sql" - + # Figure out which options we need to disable to do the setup helpfile="${TMPDIR}/mysqld-help" ${EROOT}/usr/sbin/mysqld --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start bdb \ + for opt in grant-tables host-cache name-resolve networking slave-start \ federated innodb ssl log-bin relay-log slow-query-log external-locking \ ndbcluster log-slave-updates \ ; do @@ -664,7 +687,7 @@ mysql-v2_pkg_config() { pushd "${TMPDIR}" &>/dev/null #cmd="'${EROOT}/usr/share/mysql/scripts/mysql_install_db' '--basedir=${EPREFIX}/usr' ${options}" cmd=${EROOT}usr/share/mysql/scripts/mysql_install_db - [ -f ${cmd} ] || cmd=${EROOT}usr/bin/mysql_install_db + [[ -f ${cmd} ]] || cmd=${EROOT}usr/bin/mysql_install_db cmd="'$cmd' '--basedir=${EPREFIX}/usr' ${options}" einfo "Command: $cmd" eval $cmd \ @@ -690,6 +713,14 @@ mysql-v2_pkg_config() { einfo "Creating the mysql database and setting proper" einfo "permissions on it ..." + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + mkdir "${PID_DIR}" + chown mysql:mysql "${PID_DIR}" + chmod 755 "${PID_DIR}" + fi + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" local mysqld="${EROOT}/usr/sbin/mysqld \ @@ -737,7 +768,7 @@ mysql-v2_pkg_config() { mysql < "${sqltmp}" rc=$? eend $? - [ $rc -ne 0 ] && ewarn "Failed to load zoneinfo!" + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" # Stop the server and cleanup einfo "Stopping the server ..." diff --git a/sdk_container/src/third_party/portage-stable/eclass/mysql.eclass b/sdk_container/src/third_party/portage-stable/eclass/mysql.eclass index 18367624f5..3cc5df7e8e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/mysql.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/mysql.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.176 2012/11/01 20:22:57 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/mysql.eclass,v 1.177 2013/03/16 19:20:34 robbat2 Exp $ # @ECLASS: mysql.eclass # @MAINTAINER: @@ -1021,7 +1021,7 @@ mysql_src_configure() { filter-flags "-O" "-O[01]" # glib-2.3.2_pre fix, bug #16496 - append-flags "-DHAVE_ERRNO_AS_DEFINE=1" + append-cppflags "-DHAVE_ERRNO_AS_DEFINE=1" # As discovered by bug #246652, doing a double-level of SSP causes NDB to # fail badly during cluster startup. diff --git a/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass b/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass new file mode 100644 index 0000000000..e1d778729a --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/netsurf.eclass @@ -0,0 +1,174 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/netsurf.eclass,v 1.1 2013/06/23 16:36:49 xmw Exp $ + +# @ECLASS: netsurf.eclass +# @MAINTAINER: +# Michael Weber +# @BLURB: Handle buildsystem of www.netsurf-browser.org components +# @DESCRIPTION: +# Handle unpacking and usage of separate buildsystem tarball and manage +# multilib build, static-libs generation and debug building. +# +# Supports PATCHES and DOCS as in base.eclass + +case ${EAPI:-0} in + 0|1|2|3|4) die "this eclass doesn't support EAPI<5" ;; + *) ;; +esac + +inherit base toolchain-funcs multilib-minimal + +EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install + +# @ECLASS-VARIABLE: NETSURF_BUILDSYSTEM +# @DESCRIPTION: +# Select version of buildsystem tarball to be used along the component +# defaults to buildsystem-1.0 +NETSURF_BUILDSYSTEM="${NETSURF_BUILDSYSTEM:-buildsystem-1.0}" + +# @ECLASS-VARIABLE: NETSURF_BUILDSYSTEM_SRC_URI +# @DESCRIPTION: +# Download link for NETSURF_BUILDSYSTEM, add to SRC_URI iff set explicitly. +NETSURF_BUILDSYSTEM_SRC_URI="http://download.netsurf-browser.org/libs/releases/${NETSURF_BUILDSYSTEM}.tar.gz -> netsurf-${NETSURF_BUILDSYSTEM}.tar.gz" + +# @ECLASS-VARIABLE: NETSURF_COMPONENT_TYPE +# @DESCRIPTION: +# Passed to buildsystem as COMPONENT_TYPE, valid values are +# lib-shared, lib-static and binary. Defaults to "lib-static lib-shared" +NETSURF_COMPONENT_TYPE="${NETSURF_COMPONENT_TYPE:-lib-static lib-shared}" + +# @ECLASS-VARIABLE: SRC_URI +# @DESCRIPTION: +# Defaults to http://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz +# and NETSURF_BUILDSYSTEM_SRC_URI. +if [ -z "${SRC_URI}" ] ; then + SRC_URI="http://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz + ${NETSURF_BUILDSYSTEM_SRC_URI}" +fi + +IUSE="debug" +if has lib-static ${NETSURF_COMPONENT_TYPE} ; then + IUSE+=" static-libs" +fi + +DEPEND="virtual/pkgconfig" + +# @FUNCTION: netsurf_src_prepare +# @DESCRIPTION: +# Run base_src_prepare for PATCHES support and multilib_copy_sources for +# in-source build. +netsurf_src_prepare() { + base_src_prepare + multilib_copy_sources +} + +# @ECLASS-VARIABLE: netsurf_makeconf +# @DESCRIPTION: +# Configuration variable bash array to be passed to emake calls. +# Defined at netsurf_src_configure and can be altered afterwards. + +# @FUNCTION: netsurf_src_configure +# @DESCRIPTION: +# Setup netsurf_makeconf and run multilib-minimal_src_configure. +# A default multilib_src_configure is provided by this eclass. +netsurf_src_configure() { + netsurf_makeconf=( + NSSHARED=${WORKDIR}/${NETSURF_BUILDSYSTEM} + Q= + HOST_CC="\$(CC)" + CCOPT= + CCNOOPT= + CCDBG= + LDDBG= + AR="$(tc-getAR)" + BUILD=$(usex debug debug release) + PREFIX="${EROOT}"usr + ) + + multilib-minimal_src_configure +} + +multilib_src_configure() { + sed -e "/^INSTALL_ITEMS/s: /lib: /$(get_libdir):g" \ + -i Makefile || die + if [ -f ${PN}.pc.in ] ; then + sed -e "/^libdir/s:/lib:/$(get_libdir):g" \ + -i ${PN}.pc.in || die + fi +} + +# @FUNCTION: netsurf_make +# @DESCRIPTION: +# 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 + if [ "${COMPONENT_TYPE}" == "lib-static" ] ; then + if ! use static-libs ; then + continue + fi + fi + emake CC="$(tc-getCC)" LD="$(tc-getLD)" "${netsurf_makeconf[@]}" \ + COMPONENT_TYPE=${COMPONENT_TYPE} "$@" + done +} + +# @FUNCTION: netsurf_src_compile +# @DESCRIPTION: +# Calls multilib-minimal_src_compile and netsurf_make doc if USE=doc. +# A default multilib_src_compile is provided by this eclass. +netsurf_src_compile() { + local problems=$(egrep -Hn -- ' (-O.?|-g)( |$)' \ + $(find . -type f -name 'Makefile*')) + if [ -n "${problems}" ] ; then + elog "found bad flags: +${problems}" + fi + + multilib-minimal_src_compile "$@" + + if has doc ${USE} ; then + netsurf_make "$@" docs + fi +} + +multilib_src_compile() { + netsurf_make "$@" +} + +# @FUNCTION: netsurf_src_test +# @DESCRIPTION: +# Calls multilib-minimal_src_test. +# A default multilib_src_test is provided by this eclass. +netsurf_src_test() { + multilib-minimal_src_test "$@" +} + +multilib_src_test() { + netsurf_make test "$@" +} + +# @FUNCTION: netsurf_src_install +# @DESCRIPTION: +# Calls multilib-minimal_src_install. +# A default multilib_src_test is provided by this eclass. +# A default multilib_src_install is provided by this eclass. +netsurf_src_install() { + multilib-minimal_src_install "$@" +} + +multilib_src_install() { + #DEFAULT_ABI may not be the last. + #install to clean dir, rename binaries, move everything back + if [ "${ABI}" == "${DEFAULT_ABI}" ] ; then + netsurf_make DESTDIR="${D}" install "$@" + else + netsurf_make DESTDIR="${D}"${ABI} install "$@" + if [ "${ABI}" != "${DEFAULT_ABI}" ] ; then + find "${D}"${ABI}/usr/bin -type f -exec mv {} {}.${ABI} \; + fi + mv "${D}"${ABI}/* "${D}" || die + rmdir "${D}"${ABI} || die + 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 ab30143e97..d63fc45ae1 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/nsplugins.eclass,v 1.31 2012/09/15 16:16:53 zmedico Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/nsplugins.eclass,v 1.33 2013/05/28 03:29:50 anarchy Exp $ # # @ECLASS: nsplugins.eclass # @MAINTAINER: @@ -12,7 +12,7 @@ # Reusable functions that promote sharing of netscape/moz plugins, also provides # share_plugins_dir function for mozilla applications. -inherit eutils multilib +inherit eutils multilib versionator mozextension PLUGINS_DIR="nsbrowser/plugins" @@ -72,5 +72,9 @@ share_plugins_dir() { PLUGIN_BASE_PATH=".." fi - dosym "${PLUGIN_BASE_PATH}/nsbrowser/plugins" "${MOZILLA_FIVE_HOME}/plugins" + if $(mozversion_extension_location) ; then + dosym "${PLUGIN_BASE_PATH}/nsbrowser/plugins" "${MOZILLA_FIVE_HOME}/browser/plugins" + else + dosym "${PLUGIN_BASE_PATH}/nsbrowser/plugins" "${MOZILLA_FIVE_HOME}/plugins" + fi } 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 df0414e208..6d1d23c9a7 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/nvidia-driver.eclass,v 1.18 2012/11/27 17:39:48 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/nvidia-driver.eclass,v 1.22 2013/05/16 14:25:13 jer Exp $ # @ECLASS: nvidia-driver.eclass # @MAINTAINER: @@ -17,7 +17,7 @@ inherit versionator DEPEND="sys-apps/pciutils" # the data below is derived from -# http://us.download.nvidia.com/XFree86/Linux-x86_64/177.13/README/appendix-a.html +# http://us.download.nvidia.com/XFree86/Linux-x86_64/319.12/README/supportedchips.html drv_96xx="0110 0111 0112 0113 0170 0171 0172 0173 0174 0175 0176 0177 0178 \ 0179 017a 017c 017d 0181 0182 0183 0185 0188 018a 018b 018c 01a0 01f0 0200 \ @@ -35,11 +35,10 @@ drv_304x="0040 0041 0042 0043 0044 0045 0046 0047 0048 004e 0090 0091 0092 \ 00f2 00f3 00f4 00f5 00f6 00f8 00f9 0140 0141 0142 0143 0144 0145 0146 0147 \ 0148 0149 014a 014c 014d 014e 014f 0160 0161 0162 0163 0164 0165 0166 0167 \ 0168 0169 016a 01d0 01d1 01d2 01d3 01d6 01d7 01d8 01da 01db 01dc 01dd 01de \ -01de 01df 0211 0212 0215 0218 0221 0222 0240 0241 0242 0244 0245 0247 0290 \ -0291 0292 0293 0294 0295 0297 0298 0299 029a 029b 029c 029d 029e 029f 02e0 \ -02e1 02e2 02e3 02e4 038b 0390 0391 0392 0393 0394 0395 0397 0398 0399 039c \ -039e 03d0 03d1 03d2 03d5 03d6 0531 0533 053a 053b 053e 07e0 07e1 07e2 07e3 \ -07e5" +01df 0211 0212 0215 0218 0221 0222 0240 0241 0242 0244 0245 0247 0290 0291 \ +0292 0293 0294 0295 0297 0298 0299 029a 029b 029c 029d 029e 029f 02e0 02e1 \ +02e2 02e3 02e4 038b 0390 0391 0392 0393 0394 0395 0397 0398 0399 039c 039e \ +03d0 03d1 03d2 03d5 03d6 0531 0533 053a 053b 053e 07e0 07e1 07e2 07e3 07e5" mask_96xx=">=x11-drivers/nvidia-drivers-97.0.0" mask_71xx=">=x11-drivers/nvidia-drivers-72.0.0" @@ -50,50 +49,54 @@ mask_304x=">=x11-drivers/nvidia-drivers-305.0.0" # @DESCRIPTION: # Retrieve the PCI device ID for each Nvidia video card you have nvidia-driver-get-card() { - local NVIDIA_CARD="$(/usr/sbin/lspci -d 10de: -n | \ - awk '/ 0300: /{print $3}' | cut -d: -f2 | tr '\n' ' ')" + local NVIDIA_CARD=$( + [ -x /usr/sbin/lspci ] && /usr/sbin/lspci -d 10de: -n \ + | awk -F'[: ]' '/ 0300: /{print $6}' + ) if [ -n "$NVIDIA_CARD" ]; then - echo "$NVIDIA_CARD"; + echo "$NVIDIA_CARD" else - echo "0000"; + echo 0000 fi } nvidia-driver-get-mask() { local NVIDIA_CARDS="$(nvidia-driver-get-card)" + local card drv + for card in $NVIDIA_CARDS; do for drv in $drv_96xx; do if [ "x$card" = "x$drv" ]; then - echo "$mask_96xx"; - return 0; + echo "$mask_96xx" + return 0 fi done for drv in $drv_71xx; do if [ "x$card" = "x$drv" ]; then - echo "$mask_71xx"; - return 0; + echo "$mask_71xx" + return 0 fi done for drv in $drv_173x; do if [ "x$card" = "x$drv" ]; then - echo "$mask_173x"; - return 0; + echo "$mask_173x" + return 0 fi done for drv in $drv_304x; do if [ "x$card" = "x$drv" ]; then - echo "$mask_304x"; - return 0; + echo "$mask_304x" + return 0 fi done done - echo ""; - return 1; + echo '' + return 1 } # @FUNCTION: nvidia-driver-check-warning @@ -101,6 +104,7 @@ nvidia-driver-get-mask() { # Prints out a warning if the driver does not work w/ the installed video card nvidia-driver-check-warning() { local NVIDIA_MASK="$(nvidia-driver-get-mask)" + if [ -n "$NVIDIA_MASK" ]; then version_compare "${NVIDIA_MASK##*-}" "${PV}" r=$? 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 86bdf922ea..1aac2675ff 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/oasis.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/oasis.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/oasis.eclass,v 1.3 2012/03/27 22:44:41 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/oasis.eclass,v 1.4 2013/02/07 13:42:12 aballier Exp $ # @ECLASS: oasis.eclass # @MAINTAINER: @@ -46,6 +46,8 @@ inherit multilib findlib eutils base case ${EAPI:-0} in 0|1|2) die "You need at least EAPI-3 to use oasis.eclass";; + 3|4) RDEPEND=">=dev-lang/ocaml-3.12[ocamlopt?]";; + *) RDEPEND=">=dev-lang/ocaml-3.12:=[ocamlopt?]";; esac IUSE="+ocamlopt" @@ -53,7 +55,6 @@ IUSE="+ocamlopt" [ -n "${OASIS_BUILD_DOCS}" ] && IUSE="${IUSE} doc" [ -n "${OASIS_BUILD_TESTS}" ] && IUSE="${IUSE} test" -RDEPEND=">=dev-lang/ocaml-3.12[ocamlopt?]" DEPEND="${RDEPEND}" # @FUNCTION: oasis_use_enable 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 2bc47c85f5..6ac91f48d8 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/obs-service.eclass,v 1.9 2013/01/31 09:26:42 scarabeus Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/obs-service.eclass,v 1.11 2013/03/26 13:49:39 scarabeus Exp $ # @ECLASS: obs-service.eclass # @MAINTAINER: @@ -83,7 +83,10 @@ obs-service_src_prepare() { debug-print-function ${FUNCNAME} "$@" debug-print "Replacing all paths to find suse-build in Gentoo" find "${S}" -type f -exec \ - sed -i 's|/usr/lib/build|/usr/share/suse-build|g' {} + + sed -i 's|/usr/lib/build|/usr/libexec/suse-build|g' {} + + debug-print "Replacing all paths from hardcoded suse libexec" + find "${S}" -type f -exec \ + sed -i 's|/usr/lib/obs|/usr/libexec/obs|g' {} + } # @FUNCTION: obs-service_src_install @@ -92,14 +95,14 @@ obs-service_src_prepare() { obs-service_src_install() { debug-print-function ${FUNCNAME} "$@" debug-print "Installing service \"${OBS_SERVICE_NAME}\"" - exeinto /usr/lib/obs/service + exeinto /usr/libexec/obs/service newexe "${S}"/${OBS_SERVICE_NAME}-${PV} ${OBS_SERVICE_NAME} - insinto /usr/lib/obs/service + insinto /usr/libexec/obs/service newins "${S}"/${OBS_SERVICE_NAME}-${PV}.service ${OBS_SERVICE_NAME}.service if [[ -n ${ADDITIONAL_FILES} ]]; then debug-print "Installing following additional files:" debug-print " ${ADDITIONAL_FILES}" - exeinto /usr/lib/obs/service/${OBS_SERVICE_NAME}.files + exeinto /usr/libexec/obs/service/${OBS_SERVICE_NAME}.files for i in ${ADDITIONAL_FILES}; do newexe "${S}"/${i}-${PV} ${i} done 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 new file mode 100644 index 0000000000..f7d479096c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/office-ext-r1.eclass @@ -0,0 +1,230 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/office-ext-r1.eclass,v 1.4 2013/03/29 10:02:23 scarabeus Exp $ + +# @ECLASS: office-ext-r1.eclass +# @MAINTAINER: +# The office team +# @AUTHOR: +# Tomáš Chvátal +# @BLURB: Eclass for installing libreoffice/openoffice extensions +# @DESCRIPTION: +# Eclass for easing maitenance of libreoffice/openoffice extensions. + +case "${EAPI:-0}" in + 5) OEXT_EXPORTED_FUNCTIONS="src_unpack src_install pkg_postinst pkg_prerm" ;; + *) die "EAPI=${EAPI} is not supported" ;; +esac + +inherit eutils multilib + +# @ECLASS-VARIABLE: OFFICE_REQ_USE +# @DESCRIPTION: +# Useflags required on office implementation for the extension. +# +# Example: +# @CODE +# OFFICE_REQ_USE="java,jemalloc(-)?" +# @CODE +if [[ ${OFFICE_REQ_USE} ]]; then + # Append the brackets for the depend bellow + OFFICE_REQ_USE="[${OFFICE_REQ_USE}]" +fi + +# @ECLASS-VARIABLE: OFFICE_IMPLEMENTATIONS +# @DESCRIPTION: +# List of implementations supported by the extension. +# Some work only for libreoffice and vice versa. +# Default value is all implementations. +# +# Example: +# @CODE +# OFFICE_IMPLEMENTATIONS=( "libreoffice" "openoffice" ) +# @CODE +[[ -z ${OFFICE_IMPLEMENTATIONS} ]] && OFFICE_IMPLEMENTATIONS=( "libreoffice" "openoffice" ) + +# @ECLASS-VARIABLE: OFFICE_EXTENSIONS +# @REQUIRED +# @DESCRIPTION: +# Array containing list of extensions to install. +# +# Example: +# @CODE +# OFFICE_EXTENSIONS=( ${PN}_${PV}.oxt ) +# @CODE +[[ -z ${OFFICE_EXTENSIONS} ]] && die "OFFICE_EXTENSIONS variable is unset." +if [[ "$(declare -p OFFICE_EXTENSIONS 2>/dev/null 2>&1)" != "declare -a"* ]]; then + die "OFFICE_EXTENSIONS variable is not an array." +fi + +# @ECLASS-VARIABLE: OFFICE_EXTENSIONS_LOCATION +# @DESCRIPTION: +# Path to the extensions location. Defaults to ${DISTDIR}. +# +# Example: +# @CODE +# OFFICE_EXTENSIONS_LOCATION="${S}/unpacked/" +# @CODE +: ${OFFICE_EXTENSIONS_LOCATION:=${DISTDIR}} + +IUSE="" +RDEPEND="" + +for i in ${OFFICE_IMPLEMENTATIONS[@]}; do + IUSE+=" office_implementation_${i}" + RDEPEND+=" + office_implementation_${i}? ( + || ( + app-office/${i}${OFFICE_REQ_USE} + app-office/${i}-bin${OFFICE_REQ_USE} + ) + ) + " +done + +REQUIRED_USE="|| ( " +for i in ${OFFICE_IMPLEMENTATIONS[@]}; do + REQUIRED_USE+=" office_implementation_${i} " +done +REQUIRED_USE+=" )" + +DEPEND="${RDEPEND} + app-arch/unzip +" + +# Most projects actually do not provide any relevant sourcedir as they are oxt. +S="${WORKDIR}" + +# @FUNCTION: office-ext-r1_src_unpack +# @DESCRIPTION: +# Flush the cache after removal of an extension. +office-ext-r1_src_unpack() { + debug-print-function ${FUNCNAME} "$@" + local i + + default + + for i in ${OFFICE_EXTENSIONS[@]}; do + # Unpack the extensions where required and add case for oxt + # which should be most common case for the extensions. + if [[ -f "${OFFICE_EXTENSIONS_LOCATION}/${i}" ]] ; then + case ${i} in + *.oxt) + mkdir -p "${WORKDIR}/${i}/" + pushd "${WORKDIR}/${i}/" > /dev/null + echo ">>> Unpacking "${OFFICE_EXTENSIONS_LOCATION}/${i}" to ${PWD}" + unzip -qo ${OFFICE_EXTENSIONS_LOCATION}/${i} + assert "failed unpacking ${OFFICE_EXTENSIONS_LOCATION}/${i}" + popd > /dev/null + ;; + *) unpack ${i} ;; + esac + fi + done +} + +# @FUNCTION: office-ext-r1_src_install +# @DESCRIPTION: +# Install the extension source to the proper location. +office-ext-r1_src_install() { + debug-print-function ${FUNCNAME} "$@" + debug-print "Extensions: ${OFFICE_EXTENSIONS[@]}" + + local i j + + for i in ${OFFICE_IMPLEMENTATIONS[@]}; do + if use office_implementation_${i}; then + if [[ ${i} == openoffice ]]; then + # OOO needs to use uno because direct deployment segfaults. + # This is bug by their side, but i don't want to waste time + # fixing it myself. + insinto /usr/$(get_libdir)/${i}/share/extension/install + for j in ${OFFICE_EXTENSIONS[@]}; do + doins ${OFFICE_EXTENSIONS_LOCATION}/${j} + done + else + for j in ${OFFICE_EXTENSIONS[@]}; do + pushd "${WORKDIR}/${j}/" > /dev/null + insinto /usr/$(get_libdir)/${i}/share/extensions/${j/.oxt/} + doins -r * + popd > /dev/null + done + fi + fi + done +} + +#### OPENOFFICE COMPAT CODE + +UNOPKG_BINARY="/usr/lib64/openoffice/program/unopkg" + +# @FUNCTION: office-ext-r1_add_extension +# @DESCRIPTION: +# Install the extension into the libreoffice/openoffice. +office-ext-r1_add_extension() { + debug-print-function ${FUNCNAME} "$@" + local ext=$1 + local tmpdir=$(mktemp -d --tmpdir="${T}") + + debug-print "${FUNCNAME}: ${UNOPKG_BINARY} add --shared \"${ext}\"" + ebegin "Adding office extension: \"${ext}\"" + ${UNOPKG_BINARY} add --suppress-license \ + --shared "${ext}" \ + "-env:UserInstallation=file:///${tmpdir}" \ + "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1" + eend $? + ${UNOPKG_BINARY} list --shared > /dev/null + rm -rf "${tmpdir}" +} + +# @FUNCTION: office-ext-r1_remove_extension +# @DESCRIPTION: +# Remove the extension from the libreoffice/openoffice. +office-ext-r1_remove_extension() { + debug-print-function ${FUNCNAME} "$@" + local ext=$1 + local tmpdir=$(mktemp -d --tmpdir="${T}") + + debug-print "${FUNCNAME}: ${UNOPKG_BINARY} remove --shared \"${ext}\"" + ebegin "Removing office extension: \"${ext}\"" + ${UNOPKG_BINARY} remove --suppress-license \ + --shared "${ext}" \ + "-env:UserInstallation=file:///${tmpdir}" \ + "-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1" + eend $? + ${UNOPKG_BINARY} list --shared > /dev/null + rm -rf "${tmpdir}" +} + +# @FUNCTION: office-ext-r1_pkg_postinst +# @DESCRIPTION: +# Add the extensions to the openoffice. +office-ext-r1_pkg_postinst() { + if in_iuse office_implementation_openoffice && use office_implementation_openoffice; then + debug-print-function ${FUNCNAME} "$@" + debug-print "Extensions: ${OFFICE_EXTENSIONS[@]}" + local i + + for i in ${OFFICE_EXTENSIONS[@]}; do + office-ext-r1_add_extension "/usr/lib64/openoffice/share/extension/install/${i}" + done + fi +} + +# @FUNCTION: office-ext-r1_pkg_prerm +# @DESCRIPTION: +# Remove the extensions from the openoffice. +office-ext-r1_pkg_prerm() { + if in_iuse office_implementation_openoffice && use office_implementation_openoffice; then + debug-print-function ${FUNCNAME} "$@" + debug-print "Extensions: ${OFFICE_EXTENSIONS[@]}" + local i + + for i in ${OFFICE_EXTENSIONS[@]}; do + office-ext-r1_remove_extension "${i}" + done + fi +} + +EXPORT_FUNCTIONS ${OEXT_EXPORTED_FUNCTIONS} +unset OEXT_EXPORTED_FUNCTIONS diff --git a/sdk_container/src/third_party/portage-stable/eclass/office-ext.eclass b/sdk_container/src/third_party/portage-stable/eclass/office-ext.eclass index 6603419762..b793c8373d 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/office-ext.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/office-ext.eclass @@ -1,7 +1,8 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/office-ext.eclass,v 1.7 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/office-ext.eclass,v 1.8 2013/05/17 11:27:25 scarabeus Exp $ +# @DEAD # @ECLASS: office-ext.eclass # @MAINTAINER: # The office team diff --git a/sdk_container/src/third_party/portage-stable/eclass/pcmcia.eclass b/sdk_container/src/third_party/portage-stable/eclass/pcmcia.eclass deleted file mode 100644 index 40e8f42d70..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/pcmcia.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/pcmcia.eclass,v 1.12 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 82301580f3..d750bf72b3 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.135 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.137 2013/07/31 05:15:43 mattst88 Exp $ # @ECLASS: perl-module.eclass # @MAINTAINER: @@ -28,7 +28,7 @@ case "${EAPI:-0}" in case "${GENTOO_DEPEND_ON_PERL:-yes}" in yes) - DEPEND="dev-lang/perl[-build]" + DEPEND="|| ( >=dev-lang/perl-5.16 "${inifile}" + cat "${FILESDIR}/${PHP_EXT_INIFILE}" >> "${ED}/${inifile}" einfo "Added content of ${FILESDIR}/${PHP_EXT_INIFILE} to ${inifile}" fi - - - - inidir="${inifile/${PHP_EXT_NAME}.ini/}" inidir="${inidir/ext/ext-active}" dodir "/${inidir}" diff --git a/sdk_container/src/third_party/portage-stable/eclass/php-pear.eclass b/sdk_container/src/third_party/portage-stable/eclass/php-pear.eclass deleted file mode 100644 index 2f719e888f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/php-pear.eclass +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/php-pear.eclass,v 1.15 2008/01/06 19:30:24 swegener Exp $ -# -# Author: Tal Peer -# -# The php-pear eclass provides means for easy installation of PEAR -# packages, see http://pear.php.net - -# Note that this eclass doesn't handle PEAR packages' dependencies on -# purpose, please use (R)DEPEND to define them. - -# DEPRECATED!!! -# STOP USING THIS ECLASS, use php-pear-r1.eclass instead! - -inherit php-pear-r1 - -deprecation_warning() { - eerror "Please upgrade ${PF} to use php-pear-r1.eclass!" -} - -php-pear_src_install () { - deprecation_warning - php-pear-r1_src_install -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/php5_1-sapi.eclass b/sdk_container/src/third_party/portage-stable/eclass/php5_1-sapi.eclass deleted file mode 100644 index fd0cca0427..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/php5_1-sapi.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/php5_1-sapi.eclass,v 1.45 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/php5_2-sapi.eclass b/sdk_container/src/third_party/portage-stable/eclass/php5_2-sapi.eclass deleted file mode 100644 index ebf228057a..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/php5_2-sapi.eclass +++ /dev/null @@ -1,734 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/php5_2-sapi.eclass,v 1.31 2010/02/26 21:56:58 halcy0n Exp $ - -# ======================================================================== -# Based on robbat2's work on the php4 sapi eclass -# -# Author: Stuart Herbert -# Author: Luca Longinotti -# -# ======================================================================== - -# @ECLASS: php5_2-sapi.eclass -# @MAINTAINER: -# Gentoo PHP team -# @BLURB: Eclass for building different php-5.2 SAPI instances. -# @DESCRIPTION: -# Eclass for building different php-5.2 SAPI instances. Use it for the -# new-style =dev-lang/php-5.2* ebuilds. - - -PHPCONFUTILS_MISSING_DEPS="adabas birdstep db2 dbmaker empress empress-bcs esoob frontbase interbase msql oci8 sapdb solid sybase sybase-ct" - -WANT_AUTOCONF="latest" -WANT_AUTOMAKE="latest" - -inherit db-use flag-o-matic autotools toolchain-funcs libtool eutils phpconfutils php-common-r1 - -# @ECLASS-VARIABLE: MY_PHP_P -# @DESCRIPTION: -# Set MY_PHP_P in the ebuild as needed to match tarball version. - -# @ECLASS-VARIABLE: PHP_PACKAGE -# @DESCRIPTION: -# We only set this variable if we are building a copy of php which can be -# installed as a package in its own. -# Copies of php which are compiled into other packages (e.g. php support -# for the thttpd web server) don't need this variable. -if [[ "${PHP_PACKAGE}" == 1 ]] ; then - HOMEPAGE="http://www.php.net/" - LICENSE="PHP-3" - SRC_URI="http://www.php.net/distributions/${MY_PHP_P}.tar.bz2" - S="${WORKDIR}/${MY_PHP_P}" -fi - -IUSE="adabas bcmath berkdb birdstep bzip2 calendar cdb cjk crypt ctype curl curlwrappers db2 dbase dbmaker debug doc empress empress-bcs esoob exif frontbase fdftk filter firebird flatfile ftp gd gd-external gdbm gmp hash iconv imap inifile interbase iodbc ipv6 java-external json kerberos ldap ldap-sasl libedit mcve mhash msql mssql mysql mysqli ncurses nls oci8 oci8-instant-client odbc pcntl pcre pdo pic posix postgres qdbm readline reflection recode sapdb session sharedext sharedmem simplexml snmp soap sockets solid spell spl sqlite ssl suhosin sybase sybase-ct sysvipc tidy tokenizer truetype unicode wddx xml xmlreader xmlwriter xmlrpc xpm xsl yaz zip zlib" - -# these USE flags should have the correct dependencies -DEPEND="adabas? ( >=dev-db/unixODBC-1.8.13 ) - berkdb? ( =sys-libs/db-4* ) - birdstep? ( >=dev-db/unixODBC-1.8.13 ) - bzip2? ( app-arch/bzip2 ) - cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - cjk? ( !gd? ( !gd-external? ( >=media-libs/jpeg-7 media-libs/libpng sys-libs/zlib ) ) ) - crypt? ( >=dev-libs/libmcrypt-2.4 ) - curl? ( >=net-misc/curl-7.10.5 ) - db2? ( >=dev-db/unixODBC-1.8.13 ) - dbmaker? ( >=dev-db/unixODBC-1.8.13 ) - empress? ( >=dev-db/unixODBC-1.8.13 ) - empress-bcs? ( >=dev-db/unixODBC-1.8.13 ) - esoob? ( >=dev-db/unixODBC-1.8.13 ) - exif? ( !gd? ( !gd-external? ( >=media-libs/jpeg-6b media-libs/libpng sys-libs/zlib ) ) ) - fdftk? ( app-text/fdftk ) - firebird? ( dev-db/firebird ) - gd? ( >=media-libs/jpeg-6b media-libs/libpng sys-libs/zlib ) - gd-external? ( media-libs/gd ) - gdbm? ( >=sys-libs/gdbm-1.8.0 ) - gmp? ( >=dev-libs/gmp-4.1.2 ) - iconv? ( virtual/libiconv ) - imap? ( virtual/imap-c-client ) - iodbc? ( dev-db/libiodbc >=dev-db/unixODBC-1.8.13 ) - kerberos? ( virtual/krb5 ) - ldap? ( !oci8? ( >=net-nds/openldap-1.2.11 ) ) - ldap-sasl? ( !oci8? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) ) - libedit? ( dev-libs/libedit ) - mcve? ( >=dev-libs/openssl-0.9.7 ) - mhash? ( app-crypt/mhash ) - mssql? ( dev-db/freetds ) - mysql? ( virtual/mysql ) - mysqli? ( >=virtual/mysql-4.1 ) - ncurses? ( sys-libs/ncurses ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient-basic ) - odbc? ( >=dev-db/unixODBC-1.8.13 ) - postgres? ( || ( >=dev-db/libpq-7.1 ( app-admin/eselect-postgresql - >=dev-db/postgresql-base-7.1 ) ) ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline ) - recode? ( app-text/recode ) - sapdb? ( >=dev-db/unixODBC-1.8.13 ) - sharedmem? ( dev-libs/mm ) - simplexml? ( >=dev-libs/libxml2-2.6.8 ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - soap? ( >=dev-libs/libxml2-2.6.8 ) - solid? ( >=dev-db/unixODBC-1.8.13 ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( =dev-db/sqlite-2* pdo? ( =dev-db/sqlite-3* ) ) - ssl? ( >=dev-libs/openssl-0.9.7 ) - sybase? ( dev-db/freetds ) - tidy? ( app-text/htmltidy ) - truetype? ( =media-libs/freetype-2* >=media-libs/t1lib-5.0.0 !gd? ( !gd-external? ( >=media-libs/jpeg-6b media-libs/libpng sys-libs/zlib ) ) ) - wddx? ( >=dev-libs/libxml2-2.6.8 ) - xml? ( >=dev-libs/libxml2-2.6.8 ) - xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) - xmlreader? ( >=dev-libs/libxml2-2.6.8 ) - xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) - xpm? ( x11-libs/libXpm >=media-libs/jpeg-6b media-libs/libpng sys-libs/zlib ) - xsl? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) - zip? ( sys-libs/zlib ) - zlib? ( sys-libs/zlib ) - virtual/mta" - -# libswf conflicts with ming and should not -# be installed with the new PHP ebuilds -DEPEND="${DEPEND} - !media-libs/libswf" - -# simplistic for now -RDEPEND="${DEPEND}" - -# those are only needed at compile-time -DEPEND="${DEPEND} - >=sys-devel/m4-1.4.3 - >=sys-devel/libtool-1.5.18" - -# Additional features -# -# They are in PDEPEND because we need PHP installed first! -PDEPEND="doc? ( app-doc/php-docs ) - filter? ( !dev-php5/pecl-filter ) - java-external? ( dev-php5/php-java-bridge ) - json? ( !dev-php5/pecl-json ) - mcve? ( dev-php5/pecl-mcve ) - pdo? ( !dev-php5/pecl-pdo ) - suhosin? ( dev-php5/suhosin ) - yaz? ( dev-php5/pecl-yaz )" - -# ======================================================================== -# php.ini Support -# ======================================================================== - -PHP_INI_FILE="php.ini" -PHP_INI_UPSTREAM="php.ini-dist" - -# ======================================================================== - -# @ECLASS-VARIABLE: PHP_PATCHSET_REV -# @DESCRIPTION: -# Provides PHP patchsets support. -# This condition will help non php maintainers in fixing bugs and let them to -# upload patchset tarballs somewhere else. -if [[ ! -n ${PHP_PATCHSET_URI} ]]; then - SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-patchset-${MY_PHP_PV}-r${PHP_PATCHSET_REV}.tar.bz2" -else - SRC_URI="${SRC_URI} ${PHP_PATCHSET_URI}" -fi - -# @ECLASS-VARIABLE: SUHOSIN_PATCH -# @DESCRIPTION: -# Tarball name for Suhosin patch (see http://www.suhosin.org/). -# This feature will not be available in php if unset. -[[ -n "${SUHOSIN_PATCH}" ]] && SRC_URI="${SRC_URI} suhosin? ( http://gentoo.longitekk.com/${SUHOSIN_PATCH} )" - - -# ======================================================================== - -EXPORT_FUNCTIONS pkg_setup src_compile src_install src_unpack pkg_postinst - -# ======================================================================== -# INTERNAL FUNCTIONS -# ======================================================================== - -php5_2-sapi_check_use_flags() { - # Multiple USE dependencies - phpconfutils_use_depend_any "truetype" "gd" "gd" "gd-external" - phpconfutils_use_depend_any "cjk" "gd" "gd" "gd-external" - phpconfutils_use_depend_any "exif" "gd" "gd" "gd-external" - - # Simple USE dependencies - phpconfutils_use_depend_all "xpm" "gd" - phpconfutils_use_depend_all "gd" "zlib" - phpconfutils_use_depend_all "simplexml" "xml" - phpconfutils_use_depend_all "soap" "xml" - phpconfutils_use_depend_all "wddx" "xml" - phpconfutils_use_depend_all "xmlrpc" "xml" - phpconfutils_use_depend_all "xmlreader" "xml" - phpconfutils_use_depend_all "xmlwriter" "xml" - phpconfutils_use_depend_all "xsl" "xml" - phpconfutils_use_depend_all "filter" "pcre" - phpconfutils_use_depend_all "xmlrpc" "iconv" - phpconfutils_use_depend_all "java-external" "session" - phpconfutils_use_depend_all "ldap-sasl" "ldap" - phpconfutils_use_depend_all "mcve" "ssl" - phpconfutils_use_depend_all "suhosin" "unicode" - phpconfutils_use_depend_all "adabas" "odbc" - phpconfutils_use_depend_all "birdstep" "odbc" - phpconfutils_use_depend_all "dbmaker" "odbc" - phpconfutils_use_depend_all "empress-bcs" "odbc" "empress" - phpconfutils_use_depend_all "empress" "odbc" - phpconfutils_use_depend_all "esoob" "odbc" - phpconfutils_use_depend_all "db2" "odbc" - phpconfutils_use_depend_all "iodbc" "odbc" - phpconfutils_use_depend_all "sapdb" "odbc" - phpconfutils_use_depend_all "solid" "odbc" - phpconfutils_use_depend_all "kolab" "imap" - - # Direct USE conflicts - phpconfutils_use_conflict "gd" "gd-external" - phpconfutils_use_conflict "oci8" "oci8-instant-client" - phpconfutils_use_conflict "oci8" "ldap-sasl" - phpconfutils_use_conflict "qdbm" "gdbm" - phpconfutils_use_conflict "readline" "libedit" - phpconfutils_use_conflict "recode" "mysql" "imap" "yaz" "kolab" - phpconfutils_use_conflict "sharedmem" "threads" - phpconfutils_use_conflict "firebird" "interbase" - - # IMAP support - php_check_imap - - # Mail support - php_check_mta - - # PostgreSQL support - php_check_pgsql - - # Oracle support - php_check_oracle_8 - - phpconfutils_warn_about_external_deps - - export PHPCONFUTILS_AUTO_USE="${PHPCONFUTILS_AUTO_USE}" -} - -php5_2-sapi_set_php_ini_dir() { - PHP_INI_DIR="/etc/php/${PHPSAPI}-php5" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -php5_2-sapi_install_ini() { - destdir=/usr/$(get_libdir)/php5 - - # get the extension dir, if not already defined - [[ -z "${PHPEXTDIR}" ]] && PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`" - - # work out where we are installing the ini file - php5_2-sapi_set_php_ini_dir - - cp "${PHP_INI_UPSTREAM}" "${PHP_INI_UPSTREAM}-${PHPSAPI}" - local phpinisrc="${PHP_INI_UPSTREAM}-${PHPSAPI}" - - # Set the extension dir - einfo "Setting extension_dir in php.ini" - sed -e "s|^extension_dir .*$|extension_dir = ${PHPEXTDIR}|g" -i ${phpinisrc} - - # A patch for PHP for security - einfo "Securing fopen wrappers" - sed -e 's|^allow_url_fopen .*|allow_url_fopen = Off|g' -i ${phpinisrc} - - # Set the include path to point to where we want to find PEAR packages - einfo "Setting correct include_path" - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:/usr/share/php5:/usr/share/php"|' -i ${phpinisrc} - - # Add needed MySQL extensions charset configuration - local phpmycnfcharset="" - - if [[ "${PHPSAPI}" == "cli" ]] ; then - phpmycnfcharset="`php_get_mycnf_charset cli`" - einfo "MySQL extensions charset for 'cli' SAPI is: ${phpmycnfcharset}" - elif [[ "${PHPSAPI}" == "cgi" ]] ; then - phpmycnfcharset="`php_get_mycnf_charset cgi-fcgi`" - einfo "MySQL extensions charset for 'cgi' SAPI is: ${phpmycnfcharset}" - elif [[ "${PHPSAPI}" == "apache2" ]] ; then - phpmycnfcharset="`php_get_mycnf_charset apache2handler`" - einfo "MySQL extensions charset for 'apache2' SAPI is: ${phpmycnfcharset}" - else - einfo "No supported SAPI found for which to get the MySQL charset." - fi - - if [[ -n "${phpmycnfcharset}" ]] && [[ "${phpmycnfcharset}" != "empty" ]] ; then - einfo "Setting MySQL extensions charset to ${phpmycnfcharset}" - echo "" >> ${phpinisrc} - echo "; MySQL extensions default connection charset settings" >> ${phpinisrc} - echo "mysql.connect_charset = ${phpmycnfcharset}" >> ${phpinisrc} - echo "mysqli.connect_charset = ${phpmycnfcharset}" >> ${phpinisrc} - echo "pdo_mysql.connect_charset = ${phpmycnfcharset}" >> ${phpinisrc} - else - echo "" >> ${phpinisrc} - echo "; MySQL extensions default connection charset settings" >> ${phpinisrc} - echo ";mysql.connect_charset = utf8" >> ${phpinisrc} - echo ";mysqli.connect_charset = utf8" >> ${phpinisrc} - echo ";pdo_mysql.connect_charset = utf8" >> ${phpinisrc} - fi - - dodir ${PHP_INI_DIR} - insinto ${PHP_INI_DIR} - newins ${phpinisrc} ${PHP_INI_FILE} - - dodir ${PHP_EXT_INI_DIR} - dodir ${PHP_EXT_INI_DIR_ACTIVE} - - # Install any extensions built as shared objects - if use sharedext ; then - for x in `ls "${D}/${PHPEXTDIR}/"*.so | sort` ; do - inifilename=${x/.so/.ini} - inifilename=`basename ${inifilename}` - echo "extension=`basename ${x}`" >> "${D}/${PHP_EXT_INI_DIR}/${inifilename}" - dosym "${PHP_EXT_INI_DIR}/${inifilename}" "${PHP_EXT_INI_DIR_ACTIVE}/${inifilename}" - done - fi -} - -# ======================================================================== -# EXPORTED FUNCTIONS -# ======================================================================== - -# @FUNCTION: php5_2-sapi_pkg_setup -# @DESCRIPTION: -# Performs all the USE flag testing and magic before we do anything else. -# This way saves a lot of time. -php5_2-sapi_pkg_setup() { - php5_2-sapi_check_use_flags -} - -# @FUNCTION: php5_2-sapi_src_unpack -# @DESCRIPTION: -# Takes care of unpacking, patching and autotools magic and disables -# interactive tests. - -# @VARIABLE: PHP_EXTRA_BRANDING -# @DESCRIPTION: -# This variable allows an ebuild to add additional information like -# snapshot dates to the version line. -php5_2-sapi_src_unpack() { - cd "${S}" - - [[ -z "${PHP_EXTRA_BRANDING}" ]] && PHP_EXTRA_BRANDING="" - - # Change PHP branding - PHPPR=${PR/r/} - # >=php-5.2.4 has PHP_EXTRA_VERSION, previous had EXTRA_VERSION - sed -re "s|^(PHP_)?EXTRA_VERSION=\".*\"|\1EXTRA_VERSION=\"${PHP_EXTRA_BRANDING}-pl${PHPPR}-gentoo\"|g" -i configure.in \ - || die "Unable to change PHP branding to ${PHP_EXTRA_BRANDING}-pl${PHPPR}-gentoo" - - # multilib-strict support - if [[ -n "${MULTILIB_PATCH}" ]] && [[ -f "${WORKDIR}/${MULTILIB_PATCH}" ]] ; then - epatch "${WORKDIR}/${MULTILIB_PATCH}" - else - ewarn "There is no multilib-strict patch available for this PHP release yet!" - fi - - # Apply general PHP5 patches - if [[ -d "${WORKDIR}/${MY_PHP_PV}/php5" ]] ; then - EPATCH_SOURCE="${WORKDIR}/${MY_PHP_PV}/php5" EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch - fi - - # Apply version-specific PHP patches - if [[ -d "${WORKDIR}/${MY_PHP_PV}/${MY_PHP_PV}" ]] ; then - EPATCH_SOURCE="${WORKDIR}/${MY_PHP_PV}/${MY_PHP_PV}" EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch - fi - - # Patch PHP to show Gentoo as the server platform - sed -e "s/PHP_UNAME=\`uname -a | xargs\`/PHP_UNAME=\`uname -s -n -r -v | xargs\`/g" -i configure.in || die "Failed to fix server platform name" - - # Disable interactive make test - sed -e 's/'`echo "\!getenv('NO_INTERACTION')"`'/false/g' -i run-tests.php - - # Stop PHP from activating the Apache config, as we will do that ourselves - for i in configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 ; do - sed -i.orig -e 's,-i -a -n php5,-i -n php5,g' ${i} - sed -i.orig -e 's,-i -A -n php5,-i -n php5,g' ${i} - done - - # Patch PHP to support heimdal instead of mit-krb5 - if has_version "app-crypt/heimdal" ; then - sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 || die "Failed to fix heimdal libname" - sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 || die "Failed to fix heimdal crypt library reference" - fi - - # Patch for PostgreSQL support - if use postgres ; then - sed -e 's|include/postgresql|include/postgresql include/postgresql/pgsql|g' -i ext/pgsql/config.m4 || die "Failed to fix PostgreSQL include paths" - fi - - # Suhosin support - if use suhosin ; then - if [[ -n "${SUHOSIN_PATCH}" ]] && [[ -f "${DISTDIR}/${SUHOSIN_PATCH}" ]] ; then - epatch "${DISTDIR}/${SUHOSIN_PATCH}" - else - ewarn "There is no Suhosin patch available for this PHP release yet!" - fi - fi - - # We are heavily patching autotools base files (configure.in) because - # of suhosin etc., so let's regenerate the whole stuff now - - # work around divert() issues with newer autoconf #281697 - if has_version '>=sys-devel/autoconf-2.64' ; then - sed -i -r \ - -e 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \ - $(grep -l divert $(find -name '*.m4') configure.in) || die - fi - - # eaclocal doesn't accept --force, so we try to force re-generation - # this way - rm aclocal.m4 - eautoreconf --force -W no-cross - -} - -# @FUNCTION: php5_2-sapi_src_compile -# @DESCRIPTION: -# Takes care of compiling php according to USE flags set by user (and those automagically -# enabled via phpconfutils eclass if unavoidable). -php5_2-sapi_src_compile() { - destdir=/usr/$(get_libdir)/php5 - - php5_2-sapi_set_php_ini_dir - - cd "${S}" - - phpconfutils_init - - my_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR} --with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE} --without-pear" - - # extension USE flag shared support? - phpconfutils_extension_enable "bcmath" "bcmath" 1 - phpconfutils_extension_with "bz2" "bzip2" 1 - phpconfutils_extension_enable "calendar" "calendar" 1 - phpconfutils_extension_disable "ctype" "ctype" 0 - phpconfutils_extension_with "curl" "curl" 1 - phpconfutils_extension_with "curlwrappers" "curlwrappers" 0 - phpconfutils_extension_enable "dbase" "dbase" 1 - phpconfutils_extension_disable "dom" "xml" 0 - phpconfutils_extension_enable "exif" "exif" 1 - phpconfutils_extension_with "fbsql" "frontbase" 1 - phpconfutils_extension_with "fdftk" "fdftk" 1 "/opt/fdftk-6.0" - phpconfutils_extension_disable "filter" "filter" 0 - phpconfutils_extension_enable "ftp" "ftp" 1 - phpconfutils_extension_with "gettext" "nls" 1 - phpconfutils_extension_with "gmp" "gmp" 1 - phpconfutils_extension_disable "hash" "hash" 0 - phpconfutils_extension_without "iconv" "iconv" 0 - phpconfutils_extension_disable "ipv6" "ipv6" 0 - phpconfutils_extension_disable "json" "json" 0 - phpconfutils_extension_with "kerberos" "kerberos" 0 "/usr" - phpconfutils_extension_disable "libxml" "xml" 0 - phpconfutils_extension_enable "mbstring" "unicode" 1 - phpconfutils_extension_with "mcrypt" "crypt" 1 - phpconfutils_extension_with "mhash" "mhash" 1 - phpconfutils_extension_with "msql" "msql" 1 - phpconfutils_extension_with "mssql" "mssql" 1 - phpconfutils_extension_with "ncurses" "ncurses" 1 - phpconfutils_extension_with "openssl" "ssl" 0 - phpconfutils_extension_with "openssl-dir" "ssl" 0 "/usr" - phpconfutils_extension_enable "pcntl" "pcntl" 1 - phpconfutils_extension_without "pcre-regex" "pcre" 0 - phpconfutils_extension_disable "pdo" "pdo" 0 - phpconfutils_extension_with "pgsql" "postgres" 1 - phpconfutils_extension_disable "posix" "posix" 0 - phpconfutils_extension_with "pspell" "spell" 1 - phpconfutils_extension_with "recode" "recode" 1 - phpconfutils_extension_disable "reflection" "reflection" 0 - phpconfutils_extension_disable "simplexml" "simplexml" 0 - phpconfutils_extension_enable "shmop" "sharedmem" 0 - phpconfutils_extension_with "snmp" "snmp" 1 - phpconfutils_extension_enable "soap" "soap" 1 - phpconfutils_extension_enable "sockets" "sockets" 1 - phpconfutils_extension_disable "spl" "spl" 0 - phpconfutils_extension_with "sybase" "sybase" 1 - phpconfutils_extension_with "sybase-ct" "sybase-ct" 1 - phpconfutils_extension_enable "sysvmsg" "sysvipc" 1 - phpconfutils_extension_enable "sysvsem" "sysvipc" 1 - phpconfutils_extension_enable "sysvshm" "sysvipc" 1 - phpconfutils_extension_with "tidy" "tidy" 1 - phpconfutils_extension_disable "tokenizer" "tokenizer" 0 - phpconfutils_extension_enable "wddx" "wddx" 1 - phpconfutils_extension_disable "xml" "xml" 0 - phpconfutils_extension_disable "xmlreader" "xmlreader" 0 - phpconfutils_extension_disable "xmlwriter" "xmlwriter" 0 - phpconfutils_extension_with "xmlrpc" "xmlrpc" 1 - phpconfutils_extension_with "xsl" "xsl" 1 - phpconfutils_extension_enable "zip" "zip" 1 - phpconfutils_extension_with "zlib" "zlib" 1 - phpconfutils_extension_enable "debug" "debug" 0 - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile || use qdbm ; then - my_conf="${my_conf} --enable-dba${shared}" - fi - - # Tell PHP where the db.h is on FreeBSD -# if use berkdb ; then -# append-cppflags "-I$(db_includedir)" -# fi - - # DBA drivers support - phpconfutils_extension_with "cdb" "cdb" 0 - phpconfutils_extension_with "db4" "berkdb" 0 - phpconfutils_extension_disable "flatfile" "flatfile" 0 - phpconfutils_extension_with "gdbm" "gdbm" 0 - phpconfutils_extension_disable "inifile" "inifile" 0 - phpconfutils_extension_with "qdbm" "qdbm" 0 - - # Support for the GD graphics library - if use gd-external || phpconfutils_usecheck gd-external ; then - phpconfutils_extension_with "freetype-dir" "truetype" 0 "/usr" - phpconfutils_extension_with "t1lib" "truetype" 0 "/usr" - phpconfutils_extension_enable "gd-jis-conv" "cjk" 0 - phpconfutils_extension_with "gd" "gd-external" 1 "/usr" - else - phpconfutils_extension_with "freetype-dir" "truetype" 0 "/usr" - phpconfutils_extension_with "t1lib" "truetype" 0 "/usr" - phpconfutils_extension_enable "gd-jis-conv" "cjk" 0 - phpconfutils_extension_with "jpeg-dir" "gd" 0 "/usr" - phpconfutils_extension_with "png-dir" "gd" 0 "/usr" - phpconfutils_extension_with "xpm-dir" "xpm" 0 "/usr" - # enable gd last, so configure can pick up the previous settings - phpconfutils_extension_with "gd" "gd" 0 - fi - - # IMAP support - if use imap || phpconfutils_usecheck imap ; then - phpconfutils_extension_with "imap" "imap" 1 - phpconfutils_extension_with "imap-ssl" "ssl" 0 - fi - - # Interbase support - if use interbase ; then - my_conf="${my_conf} --with-interbase=/opt" - fi - - # Firebird support - see Bug 186791 - if use firebird ; then - my_conf="${my_conf} --with-interbase=/usr" - fi - - # LDAP support - if use ldap || phpconfutils_usecheck ldap ; then - if use oci8 ; then - phpconfutils_extension_with "ldap" "ldap" 1 "${ORACLE_HOME}" - else - phpconfutils_extension_with "ldap" "ldap" 1 - phpconfutils_extension_with "ldap-sasl" "ldap-sasl" 0 - fi - fi - - # MySQL support - if use mysql ; then - phpconfutils_extension_with "mysql" "mysql" 1 "/usr" - phpconfutils_extension_with "mysql-sock" "mysql" 0 "/var/run/mysqld/mysqld.sock" - fi - - # MySQLi support - phpconfutils_extension_with "mysqli" "mysqli" 1 "/usr/bin/mysql_config" - - # ODBC support - if use odbc || phpconfutils_usecheck odbc ; then - phpconfutils_extension_with "unixODBC" "odbc" 1 "/usr" - - phpconfutils_extension_with "adabas" "adabas" 1 - phpconfutils_extension_with "birdstep" "birdstep" 1 - phpconfutils_extension_with "dbmaker" "dbmaker" 1 - phpconfutils_extension_with "empress" "empress" 1 - if use empress || phpconfutils_usecheck empress ; then - phpconfutils_extension_with "empress-bcs" "empress-bcs" 0 - fi - phpconfutils_extension_with "esoob" "esoob" 1 - phpconfutils_extension_with "ibm-db2" "db2" 1 - phpconfutils_extension_with "iodbc" "iodbc" 1 "/usr" - phpconfutils_extension_with "sapdb" "sapdb" 1 - phpconfutils_extension_with "solid" "solid" 1 - fi - - # Oracle support - if use oci8 ; then - phpconfutils_extension_with "oci8" "oci8" 1 - fi - if use oci8-instant-client ; then - OCI8IC_PKG="`best_version dev-db/oracle-instantclient-basic`" - OCI8IC_PKG="`printf ${OCI8IC_PKG} | sed -e 's|dev-db/oracle-instantclient-basic-||g' | sed -e 's|-r.*||g'`" - phpconfutils_extension_with "oci8" "oci8-instant-client" 1 "instantclient,/usr/lib/oracle/${OCI8IC_PKG}/client/lib" - fi - - # PDO support - if use pdo || phpconfutils_usecheck pdo ; then - phpconfutils_extension_with "pdo-dblib" "mssql" 1 - # The PDO-Firebird driver is broken and unmaintained upstream - # phpconfutils_extension_with "pdo-firebird" "firebird" 1 - phpconfutils_extension_with "pdo-mysql" "mysql" 1 "/usr" - if use oci8 ; then - phpconfutils_extension_with "pdo-oci" "oci8" 1 - fi - if use oci8-instant-client ; then - OCI8IC_PKG="`best_version dev-db/oracle-instantclient-basic`" - OCI8IC_PKG="`printf ${OCI8IC_PKG} | sed -e 's|dev-db/oracle-instantclient-basic-||g' | sed -e 's|-r.*||g'`" - phpconfutils_extension_with "pdo-oci" "oci8-instant-client" 1 "instantclient,/usr,${OCI8IC_PKG}" - fi - phpconfutils_extension_with "pdo-odbc" "odbc" 1 "unixODBC,/usr" - phpconfutils_extension_with "pdo-pgsql" "postgres" 1 - phpconfutils_extension_with "pdo-sqlite" "sqlite" 1 "/usr" - fi - - # readline/libedit support - # You can use readline or libedit, but you can't use both - phpconfutils_extension_with "readline" "readline" 0 - phpconfutils_extension_with "libedit" "libedit" 0 - - # Session support - if ! use session && ! phpconfutils_usecheck session ; then - phpconfutils_extension_disable "session" "session" 0 - else - phpconfutils_extension_with "mm" "sharedmem" 0 - fi - - # SQLite support - if ! use sqlite && ! phpconfutils_usecheck sqlite ; then - phpconfutils_extension_without "sqlite" "sqlite" 0 - else - phpconfutils_extension_with "sqlite" "sqlite" 0 "/usr" - phpconfutils_extension_enable "sqlite-utf8" "unicode" 0 - fi - - # Fix ELF-related problems - if use pic || phpconfutils_usecheck pic ; then - einfo "Enabling PIC support" - my_conf="${my_conf} --with-pic" - fi - - # Catch CFLAGS problems - php_check_cflags - - # multilib support - if [[ $(get_libdir) != lib ]] ; then - my_conf="--with-libdir=$(get_libdir) ${my_conf}" - fi - - # Support user-passed configuration parameters - [[ -z "${EXTRA_ECONF}" ]] && EXTRA_ECONF="" - - # Set the correct compiler for cross-compilation - tc-export CC - - # We don't use econf, because we need to override all of its settings - ./configure --prefix=${destdir} --host=${CHOST} --mandir=${destdir}/man --infodir=${destdir}/info --sysconfdir=/etc --cache-file=./config.cache ${my_conf} ${EXTRA_ECONF} || die "configure failed" - emake || die "make failed" -} - -# @FUNCTION: php5_2-sapi_src_install -# @DESCRIPTION: -# Takes care of installing php (and its shared extensions if enabled). -php5_2-sapi_src_install() { - destdir=/usr/$(get_libdir)/php5 - - cd "${S}" - - addpredict /usr/share/snmp/mibs/.index - - # Install PHP - emake -j1 INSTALL_ROOT="${D}" install-build install-headers install-programs || die "make install failed" - - # Install missing header files - if use unicode || phpconfutils_usecheck unicode ; then - dodir ${destdir}/include/php/ext/mbstring - insinto ${destdir}/include/php/ext/mbstring - for x in `ls "${S}/ext/mbstring/"*.h` ; do - file=`basename ${x}` - doins ext/mbstring/${file} - done - dodir ${destdir}/include/php/ext/mbstring/oniguruma - insinto ${destdir}/include/php/ext/mbstring/oniguruma - for x in `ls "${S}/ext/mbstring/oniguruma/"*.h` ; do - file=`basename ${x}` - doins ext/mbstring/oniguruma/${file} - done - dodir ${destdir}/include/php/ext/mbstring/libmbfl/mbfl - insinto ${destdir}/include/php/ext/mbstring/libmbfl/mbfl - for x in `ls "${S}/ext/mbstring/libmbfl/mbfl/"*.h` ; do - file=`basename ${x}` - doins ext/mbstring/libmbfl/mbfl/${file} - done - fi - - # Get the extension dir, if not already defined - [[ -z "${PHPEXTDIR}" ]] && PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`" - - # And install the modules to it - if use sharedext ; then - for x in `ls "${S}/modules/"*.so | sort` ; do - module=`basename ${x}` - modulename=${module/.so/} - insinto "${PHPEXTDIR}" - einfo "Installing PHP ${modulename} extension" - doins "modules/${module}" - done - fi - - # Generate the USE file for PHP - phpconfutils_generate_usefile - - # Create the directory where we'll put php5-only php scripts - keepdir /usr/share/php5 -} - -# @FUNCTION: php5_2-sapi_pkg_postinst -# @DESCRIPTION: -# Provides important information to users after install is finished. -php5_2-sapi_pkg_postinst() { - ewarn "If you have additional third party PHP extensions (such as" - ewarn "dev-php5/phpdbg) you may need to recompile them now." - ewarn - - if use sharedext ; then - ewarn "Make sure to use etc-update or dispatch-conf so that extension-specific" - ewarn "ini files get merged properly" - ewarn - fi - - if has kolab ${IUSE} && use kolab ; then - ewarn "Please note that kolab support is still experimental!" - ewarn "Issues specific to USE=kolab must be reported to Gentoo bugzilla only!" - ewarn - ewarn "Kolab groupware server requires annotations support for IMAP, which is enabled" - ewarn "by a third-party patch. Please do NOT report issues with the imap extension" - ewarn "to bugs.php.net until you have recompiled both PHP and net-libs/c-client" - ewarn "with USE=\"-kolab\" and confirmed that those issues still exist!" - ewarn - fi - - ewarn "USE=\"pic\" slows down PHP but has to be enabled on setups where TEXTRELs" - ewarn "are disabled (e.g. when using PaX in the kernel). On hardened profiles this" - ewarn "USE flag is enabled automatically" - ewarn -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/poppler.eclass b/sdk_container/src/third_party/portage-stable/eclass/poppler.eclass deleted file mode 100644 index 722ef7d3d6..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/poppler.eclass +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/poppler.eclass,v 1.6 2010/01/03 19:10:49 scarabeus Exp $ - -# @ECLASS: poppler.eclass -# @MAINTAINER: -# Peter Alfredsen -# @BLURB: Reduces code duplication in the modularized poppler ebuilds. -# @DESCRIPTION: -# Provides an easy template for making modularized poppler-based ebuilds. - -inherit base multilib libtool - -has 2 ${EAPI} || DEPEND="EAPI-TOO-OLD" - -EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install - -RDEPEND=" - !app-text/poppler - !app-text/poppler-bindings - " -DEPEND=" - dev-util/pkgconfig - userland_GNU? ( >=sys-apps/findutils-4.4.0 ) - " - - -# @ECLASS-VARIABLE: HOMEPAGE -# @DESCRIPTION: -# Default HOMEPAGE -HOMEPAGE="http://poppler.freedesktop.org/" - -# @ECLASS-VARIABLE: SRC_URI -# @DESCRIPTION: -# Default SRC_URI -SRC_URI="http://poppler.freedesktop.org/poppler-${PV}.tar.gz" - -# @ECLASS-VARIABLE: S -# @DESCRIPTION: -# Default working directory -S=${WORKDIR}/poppler-${PV} - -# @ECLASS-VARIABLE: POPPLER_MODULE -# @DESCRIPTION: -# The name of the poppler module. Must be set by the ebuild before inheriting -# the poppler eclass. -POPPLER_MODULE=${POPPLER_MODULE} - -# @ECLASS-VARIABLE: POPPLER_MODULE_S -# @DESCRIPTION: -# The working directory of the poppler module. -POPPLER_MODULE_S=${S}/${POPPLER_MODULE} - -# @FUNCTION: pkg_check_modules_override -# @USAGE: [package1] [package2] -# @DESCRIPTION: -# Will export the appropriate variables to override PKG_CHECK_MODULES autoconf -# macros, with the string " " by default. If packages are specified, they will -# be looked up with pkg-config and the appropriate LIBS and CFLAGS substituted. -# LIBS and CFLAGS can also be specified per-package with the following syntax: -# @CODE -# package=LIBS%CFLAGS -# @CODE -# = and % have no effect unless both are specified. -# Here is an example: -# @CODE -# pkg_check_modules_override GASH "gtk+-2.0=-jule%" gobject-2.0 -# @CODE -# The above example will do: -# @CODE -# export GASH_CFLAGS+=" -jule" -# export GASH_LIBS+=" " -# export GASH_CFLAGS+=" $(pkg-config --cflags gobject-2.0)" -# export GASH_LIBS+=" $(pkg-config --libs gobject-2.0)" -# @CODE -# -# NOTE: If a package is not found, the string " " will be inserted in place of -# _CFLAGS and _LIBS -pkg_check_modules_override() { - local package - local group="${1}" - local packages="${*:2}" - export ${group}_CFLAGS=" " - export ${group}_LIBS=" " - - if [[ ${#@} -lt 1 ]] - then - eerror "${FUNCNAME[0]} requires at least one parameter: GROUP" - eerror "PKG_CHECK_MODULES(GROUP, package1 package2 etc)" - die "${FUNCNAME[0]} requires at least one parameter: GROUP" - fi - - for package in $packages - do - if [[ ${package/=} != ${package} && ${package/\%} != ${package} ]] - then - package_cflag_libs=${package##*=} - export ${group}_CFLAGS+=" ${package_cflag_libs%%\%*}" - export ${group}_LIBS+=" ${package_cflag_libs##*\%}" - else - if pkg-config --exists $package - then - export ${group}_CFLAGS+=" $(pkg-config --cflags $package)" - export ${group}_LIBS+=" $(pkg-config --libs $package)" - else - export ${group}_CFLAGS+=" " - export ${group}_LIBS+=" " - fi - fi - done -} -# @FUNCTION: poppler_src_unpack -# @USAGE: -# @DESCRIPTION: -# Runs unpack ${A} -poppler_src_unpack() { - unpack ${A} -} - -# @FUNCTION: poppler_src_prepare -# @USAGE: -# @DESCRIPTION: -# Runs autopatch from base.eclass. -# Uses sed to replace libpoppler.la references with -lpoppler -poppler_src_prepare() { - base_src_prepare - sed -i \ - -e 's#$(top_builddir)/poppler/libpoppler.la#-lpoppler#' \ - $(find . -type f -name 'Makefile.in') || die "Failed to sed proper lib into Makefile.am" - elibtoolize -} - -# @FUNCTION: poppler_src_configure -# @USAGE: -# @DESCRIPTION: -# Makes sure we get a uniform Makefile environment by using pkg_check_modules_override to -# fill out some blanks that configure wants filled. Probably not really needed, but -# insures against future breakage. -# Calls econf with some defaults. -poppler_src_configure() { - pkg_check_modules_override CAIRO cairo - pkg_check_modules_override POPPLER_GLIB glib-2.0 - pkg_check_modules_override POPPLER_QT4 QtCore QtGui QtXml - pkg_check_modules_override POPPLER_QT4_TEST QtTest - pkg_check_modules_override ABIWORD libxml-2.0 - pkg_check_modules_override GTK_TEST gtk+-2.0 gdk-pixbuf-2.0 libglade-2.0 gthread-2.0 - pkg_check_modules_override POPPLER_GLIB glib-2.0 gobject-2.0 - - econf --disable-static \ - --enable-poppler-qt4 \ - --enable-poppler-glib \ - --enable-xpdf-headers \ - --enable-libjpeg \ - --enable-libopenjpeg \ - --enable-zlib \ - --enable-splash-output \ - ${POPPLER_CONF} -} - -# @FUNCTION: poppler_src_compile -# @USAGE: -# @DESCRIPTION: -# Removes top_srcdir Makefile to ensure that no accidental recursion happens. The build -# will just die if it tries to go through top_srcdir. -# Runs emake "$@" in POPPLER_MODULE_S -poppler_src_compile() { - rm -f "${S}"/Makefile* &> /dev/null - cd "${POPPLER_MODULE_S}" || die "POPPLER_MODULE_S=${POPPLER_MODULE_S} - cd failed" - einfo "Now in $POPPLER_MODULE_S" - emake "$@" || die "emake failed" -} - -# @FUNCTION: poppler_src_install -# @USAGE: -# @DESCRIPTION: -# Runs emake DESTDIR="${D}" ${@:-install} in POPPLER_MODULE_S -# Removes .la files. -poppler_src_install() { - cd "${POPPLER_MODULE_S}" - emake DESTDIR="${D}" ${@:-install} || die "make install failed" - for pfile in "${POPPLER_PKGCONFIG[@]}" - do - insinto /usr/$(get_libdir)/pkgconfig - if [[ ${pfile/=} != ${pfile} ]] - then - if use ${pfile%=*} - then - pfile=${pfile#*=} - else - pfile=false - fi - fi - [[ ${pfile} != "false" ]] && doins "${S}/${pfile}" - done - - find "${D}" -type f -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed" -} 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 b9daad6f26..03f2f586c7 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/python-r1.eclass,v 1.56 2013/08/04 08:24:28 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/python-r1.eclass,v 1.61 2013/09/17 13:33:55 mgorny Exp $ # @ECLASS: python-r1 # @MAINTAINER: @@ -28,12 +28,11 @@ # http://www.gentoo.org/proj/en/Python/python-r1/dev-guide.xml case "${EAPI:-0}" in - 0|1|2|3|4) + 0|1|2|3) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;; - 5) - # EAPI=5 is required for meaningful USE default deps - # on USE_EXPAND flags + 4|5) + # EAPI=4 is required for USE default deps on USE_EXPAND flags ;; *) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" @@ -97,6 +96,8 @@ fi # for all implementations in PYTHON_COMPAT, so it may be necessary to # use USE defaults. # +# This should be set before calling `inherit'. +# # Example: # @CODE # PYTHON_REQ_USE="gdbm,ncurses(-)?" @@ -121,7 +122,7 @@ fi # # Example value: # @CODE -# dev-python/python-exec +# dev-python/python-exec:= # python_targets_python2_6? ( dev-lang/python:2.6[gdbm] ) # python_targets_python2_7? ( dev-lang/python:2.7[gdbm] ) # @CODE @@ -202,7 +203,13 @@ _python_set_globals() { # 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 - PYTHON_DEPS+="dev-python/python-exec[${PYTHON_USEDEP}]" + # 3) use whichever python-exec slot installed in EAPI 5. For EAPI 4, + # just fix :0 for now since := deps are not supported. + if [[ ${EAPI} != 4 ]]; then + PYTHON_DEPS+="dev-python/python-exec:=[${PYTHON_USEDEP}]" + else + PYTHON_DEPS+="dev-python/python-exec:0[${PYTHON_USEDEP}]" + fi } _python_set_globals @@ -740,28 +747,36 @@ python_export_best() { python_replicate_script() { debug-print-function ${FUNCNAME} "${@}" - local suffixes=() + _python_replicate_script() { + if _python_want_python_exec2; then + local PYTHON_SCRIPTDIR + python_export PYTHON_SCRIPTDIR - _add_suffix() { - suffixes+=( "${EPYTHON}" ) + ( + exeinto "${PYTHON_SCRIPTDIR#${EPREFIX}}" + doexe "${files[@]}" + ) + + _python_rewrite_shebang "${EPYTHON}" \ + "${files[@]/*\//${D%/}/${PYTHON_SCRIPTDIR}/}" + else + local f + for f in "${files[@]}"; do + cp -p "${f}" "${f}-${EPYTHON}" || die + done + + _python_rewrite_shebang "${EPYTHON}" \ + "${files[@]/%/-${EPYTHON}}" + fi } - python_foreach_impl _add_suffix - debug-print "${FUNCNAME}: suffixes = ( ${suffixes[@]} )" - local f suffix - for suffix in "${suffixes[@]}"; do - for f; do - local newf=${f}-${suffix} - - debug-print "${FUNCNAME}: ${f} -> ${newf}" - cp "${f}" "${newf}" || die - done - - _python_rewrite_shebang "${suffix}" "${@/%/-${suffix}}" - done + local files=( "${@}" ) + python_foreach_impl _python_replicate_script + # install the wrappers + local f for f; do - _python_ln_rel "${ED}"/usr/bin/python-exec "${f}" || die + _python_ln_rel "${ED%/}$(_python_get_wrapper_path)" "${f}" || die done } 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 ab5b531e36..e3670bf75f 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.18 2013/05/21 01:31:02 floppym Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.21 2013/09/17 13:33:55 mgorny Exp $ # @ECLASS: python-single-r1 # @MAINTAINER: @@ -82,6 +82,8 @@ fi # for all implementations in PYTHON_COMPAT, so it may be necessary to # use USE defaults. # +# This should be set before calling `inherit'. +# # Example: # @CODE # PYTHON_REQ_USE="gdbm,ncurses(-)?" @@ -108,7 +110,7 @@ fi # # Example value: # @CODE -# dev-python/python-exec +# dev-python/python-exec:0 # python_single_target_python2_6? ( dev-lang/python:2.6[gdbm] ) # python_single_target_python2_7? ( dev-lang/python:2.7[gdbm] ) # @CODE @@ -191,7 +193,13 @@ _python_single_set_globals() { # 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 - PYTHON_DEPS+="dev-python/python-exec[${PYTHON_USEDEP}]" + # 3) use whichever python-exec slot installed in EAPI 5. For EAPI 4, + # just fix :0 for now since := deps are not supported. + if [[ ${EAPI} != 4 ]]; then + PYTHON_DEPS+="dev-python/python-exec:=[${PYTHON_USEDEP}]" + else + PYTHON_DEPS+="dev-python/python-exec:0[${PYTHON_USEDEP}]" + fi } _python_single_set_globals 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 5814a137df..6bc7448ca4 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.30 2013/07/27 11:17:44 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v 1.39 2013/09/17 17:28:04 mgorny Exp $ # @ECLASS: python-utils-r1 # @MAINTAINER: @@ -34,7 +34,7 @@ fi if [[ ! ${_PYTHON_UTILS_R1} ]]; then -inherit multilib toolchain-funcs +inherit eutils multilib toolchain-funcs # @ECLASS-VARIABLE: _PYTHON_ALL_IMPLS # @INTERNAL @@ -42,9 +42,9 @@ inherit multilib toolchain-funcs # All supported Python implementations, most preferred last. _PYTHON_ALL_IMPLS=( jython2_5 jython2_7 - pypy1_9 pypy2_0 - python3_1 python3_2 python3_3 - python2_5 python2_6 python2_7 + pypy2_0 + python3_2 python3_3 + python2_6 python2_7 ) # @FUNCTION: _python_impl_supported @@ -67,10 +67,10 @@ _python_impl_supported() { # keep in sync with _PYTHON_ALL_IMPLS! # (not using that list because inline patterns shall be faster) case "${impl}" in - python2_[567]|python3_[123]|pypy1_9|pypy2_0|jython2_[57]) + python2_[67]|python3_[23]|pypy2_0|jython2_[57]) return 0 ;; - pypy1_8) + pypy1_[89]|python2_5|python3_1) return 1 ;; *) @@ -195,6 +195,18 @@ _python_impl_supported() { # dev-lang/python:2.7[xml] # @CODE +# @ECLASS-VARIABLE: PYTHON_SCRIPTDIR +# @DEFAULT_UNSET +# @DESCRIPTION: +# The location where Python scripts must be installed for current impl. +# +# Set and exported on request using python_export(). +# +# Example value: +# @CODE +# /usr/lib/python-exec/python2.7 +# @CODE + # @FUNCTION: python_export # @USAGE: [] ... # @DESCRIPTION: @@ -252,7 +264,7 @@ python_export() { dir=/usr/$(get_libdir)/${impl} ;; jython*) - dir=/usr/share/${impl}/Lib + dir=/usr/share/${impl/n/n-}/Lib ;; pypy*) dir=/usr/$(get_libdir)/${impl/-c/} @@ -268,12 +280,12 @@ python_export() { python*) dir=/usr/include/${impl} ;; - jython*) - dir=/usr/share/${impl}/Include - ;; pypy*) dir=/usr/$(get_libdir)/${impl/-c/}/include ;; + *) + die "${impl} lacks header files" + ;; esac export PYTHON_INCLUDEDIR=${EPREFIX}${dir} @@ -359,6 +371,11 @@ python_export() { export PYTHON_PKG_DEP debug-print "${FUNCNAME}: PYTHON_PKG_DEP = ${PYTHON_PKG_DEP}" ;; + PYTHON_SCRIPTDIR) + local dir + export PYTHON_SCRIPTDIR=${EPREFIX}/usr/lib/python-exec/${impl} + debug-print "${FUNCNAME}: PYTHON_SCRIPTDIR = ${PYTHON_SCRIPTDIR}" + ;; *) die "python_export: unknown variable ${var}" esac @@ -377,6 +394,10 @@ python_export() { python_get_PYTHON() { debug-print-function ${FUNCNAME} "${@}" + eqawarn '$(python_get_PYTHON) is discouraged since all standard environments' >&2 + eqawarn 'have PYTHON exported anyway. Please use ${PYTHON} instead.' >&2 + eqawarn 'python_get_PYTHON will be removed on 2013-10-16.' >&2 + python_export "${@}" PYTHON echo "${PYTHON}" } @@ -391,6 +412,10 @@ python_get_PYTHON() { python_get_EPYTHON() { debug-print-function ${FUNCNAME} "${@}" + eqawarn '$(python_get_EPYTHON) is discouraged since all standard environments' >&2 + eqawarn 'have EPYTHON exported anyway. Please use ${EPYTHON} instead.' >&2 + eqawarn 'python_get_EPYTHON will be removed on 2013-10-16.' >&2 + python_export "${@}" EPYTHON echo "${EPYTHON}" } @@ -475,6 +500,19 @@ python_get_LIBS() { echo "${PYTHON_LIBS}" } +# @FUNCTION: python_get_scriptdir +# @USAGE: [] +# @DESCRIPTION: +# Obtain and print the script install path for the given +# implementation. If no implementation is provided, ${EPYTHON} will +# be used. +python_get_scriptdir() { + debug-print-function ${FUNCNAME} "${@}" + + python_export "${@}" PYTHON_SCRIPTDIR + echo "${PYTHON_SCRIPTDIR}" +} + # @FUNCTION: _python_rewrite_shebang # @USAGE: [] ... # @INTERNAL @@ -532,8 +570,8 @@ _python_rewrite_shebang() { die "${FUNCNAME}: ${f} does not seem to have a valid shebang" fi - if [[ ${from} == python2 && ${impl} == python3* - || ${from} == python3 && ${impl} != python3* ]]; then + if { [[ ${from} == python2 ]] && python_is_python3 "${impl}"; } \ + || { [[ ${from} == python3 ]] && ! python_is_python3 "${impl}"; } then eerror "A file does have shebang not supporting requested impl:" eerror " file: ${f}" eerror " shebang: ${shebang}" @@ -553,36 +591,36 @@ _python_rewrite_shebang() { _python_ln_rel() { debug-print-function ${FUNCNAME} "${@}" - local from=${1} - local to=${2} + local target=${1} + local symname=${2} - local frpath=${from%/*}/ - local topath=${to%/*}/ + local tgpath=${target%/*}/ + local sympath=${symname%/*}/ local rel_path= - while [[ ${topath} ]]; do - local frseg= toseg= + while [[ ${sympath} ]]; do + local tgseg= symseg= - while [[ ! ${frseg} && ${frpath} ]]; do - frseg=${frpath%%/*} - frpath=${frpath#${frseg}/} + while [[ ! ${tgseg} && ${tgpath} ]]; do + tgseg=${tgpath%%/*} + tgpath=${tgpath#${tgseg}/} done - while [[ ! ${toseg} && ${topath} ]]; do - toseg=${topath%%/*} - topath=${topath#${toseg}/} + while [[ ! ${symseg} && ${sympath} ]]; do + symseg=${sympath%%/*} + sympath=${sympath#${symseg}/} done - if [[ ${frseg} != ${toseg} ]]; then - rel_path=../${rel_path}${frseg:+${frseg}/} + if [[ ${tgseg} != ${symseg} ]]; then + rel_target=../${rel_target}${tgseg:+${tgseg}/} fi done - rel_path+=${frpath}${1##*/} + rel_target+=${tgpath}${target##*/} - debug-print "${FUNCNAME}: ${from} -> ${to}" - debug-print "${FUNCNAME}: rel_path = ${rel_path}" + debug-print "${FUNCNAME}: ${symname} -> ${target}" + debug-print "${FUNCNAME}: rel_target = ${rel_target}" - ln -fs "${rel_path}" "${to}" + ln -fs "${rel_target}" "${symname}" } # @FUNCTION: python_optimize @@ -726,22 +764,31 @@ python_newscript() { [[ ${#} -eq 2 ]] || die "Usage: ${FUNCNAME} " local d=${python_scriptroot:-${DESTTREE}/bin} - local INSDESTTREE INSOPTIONS - - insinto "${d}" - insopts -m755 + local wrapd=${d} local f=${1} local barefn=${2} + local newfn - local newfn=${barefn}-${EPYTHON} + if _python_want_python_exec2; then + local PYTHON_SCRIPTDIR + python_export PYTHON_SCRIPTDIR + d=${PYTHON_SCRIPTDIR#${EPREFIX}} + newfn=${barefn} + else + newfn=${barefn}-${EPYTHON} + fi - debug-print "${FUNCNAME}: ${f} -> ${d}/${newfn}" - newins "${f}" "${newfn}" || die - _python_rewrite_shebang "${ED}/${d}/${newfn}" + ( + dodir "${wrapd}" + exeinto "${d}" + newexe "${f}" "${newfn}" || die + ) + _python_rewrite_shebang "${ED%/}/${d}/${newfn}" # install the wrapper - _python_ln_rel "${ED}"/usr/bin/python-exec "${ED}/${d}/${barefn}" || die + _python_ln_rel "${ED%/}"$(_python_get_wrapper_path) \ + "${ED%/}/${wrapd}/${barefn}" || die } # @ECLASS-VARIABLE: python_moduleroot @@ -883,9 +930,9 @@ python_wrapper_setup() { python_export "${impl}" EPYTHON PYTHON local pyver - if [[ ${EPYTHON} == python3* ]]; then + if python_is_python3; then pyver=3 - else # includes pypy & jython + else pyver=2 fi @@ -942,5 +989,53 @@ __EOF__ fi } +# @FUNCTION: python_is_python3 +# @USAGE: [] +# @DESCRIPTION: +# Check whether (or ${EPYTHON}) is a Python3k variant +# (i.e. uses syntax and stdlib of Python 3.*). +# +# Returns 0 (true) if it is, 1 (false) otherwise. +python_is_python3() { + local impl=${1:-${EPYTHON}} + [[ ${impl} ]] || die "python_is_python3: no impl nor EPYTHON" + + [[ ${impl} == python3* ]] +} + +# @FUNCTION: _python_want_python_exec2 +# @INTERNAL +# @DESCRIPTION: +# Check whether we should be using python-exec:2. +_python_want_python_exec2() { + debug-print-function ${FUNCNAME} "${@}" + + # EAPI 4 lacks slot operators, so just fix it on python-exec:0. + [[ ${EAPI} == 4 ]] && return 1 + + # Check if we cached the result, or someone put an override. + if [[ ! ${_PYTHON_WANT_PYTHON_EXEC2+1} ]]; then + has_version 'dev-python/python-exec:2' + _PYTHON_WANT_PYTHON_EXEC2=$(( ! ${?} )) + fi + + # Non-zero means 'yes', zero means 'no'. + [[ ${_PYTHON_WANT_PYTHON_EXEC2} != 0 ]] +} + +# @FUNCTION: _python_get_wrapper_path +# @INTERNAL +# @DESCRIPTION: +# Output path to proper python-exec slot. +_python_get_wrapper_path() { + debug-print-function ${FUNCNAME} "${@}" + + if _python_want_python_exec2; then + echo /usr/lib/python-exec/python-exec2 + else + echo /usr/bin/python-exec + fi +} + _PYTHON_UTILS_R1=1 fi 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 5ba95b9387..8057c98022 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,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/qmail.eclass,v 1.7 2012/09/15 16:16:53 zmedico Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/qmail.eclass,v 1.8 2013/05/27 00:59:06 robbat2 Exp $ # @ECLASS: qmail.eclass # @MAINTAINER: @@ -65,7 +65,7 @@ is_prime() { dospp() { insinto "${QMAIL_HOME}"/plugins/ - insopts -o root -g root -m 0755 + insopts -o root -g "$GROUP_ROOT" -m 0755 newins $1 ${2:-$(basename $1)} } @@ -78,8 +78,8 @@ dosupervise() { local runfile=${2:-${service}} logfile=${3:-${service}-log} [[ -z "${service}" ]] && die "no service given" - insopts -o root -g root -m 0755 - diropts -o root -g root -m 0755 + insopts -o root -g "$GROUP_ROOT" -m 0755 + diropts -o root -g "$GROUP_ROOT" -m 0755 dodir ${SUPERVISE_DIR}/${service}{,/log} fperms +t ${SUPERVISE_DIR}/${service}{,/log} @@ -213,12 +213,12 @@ qmail_full_install() { qmail_config_install() { einfo "Installing stock configuration files" insinto "${QMAIL_HOME}"/control - insopts -o root -g root -m 644 + insopts -o root -g "$GROUP_ROOT" -m 644 doins "${GENQMAIL_S}"/control/{conf-*,defaultdelivery} einfo "Installing configuration sanity checker and launcher" insinto "${QMAIL_HOME}"/bin - insopts -o root -g root -m 644 + insopts -o root -g "$GROUP_ROOT" -m 644 doins "${GENQMAIL_S}"/control/qmail-config-system declare -F qmail_config_install_hook >/dev/null && \ @@ -276,9 +276,9 @@ qmail_maildir_install() { done einfo "Setting up default maildirs in the account skeleton" - diropts -o root -g root -m 755 + diropts -o root -g "$GROUP_ROOT" -m 755 insinto /etc/skel - insopts -o root -g root -m 644 + insopts -o root -g "$GROUP_ROOT" -m 644 newins "${GENQMAIL_S}"/control/defaultdelivery .qmail.sample "${MAILDIRMAKE}" "${D}"/etc/skel/.maildir keepdir /etc/skel/.maildir/{cur,new,tmp} @@ -290,7 +290,7 @@ qmail_maildir_install() { qmail_tcprules_install() { dodir "${TCPRULES_DIR}" insinto "${TCPRULES_DIR}" - insopts -o root -g root -m 0644 + insopts -o root -g "$GROUP_ROOT" -m 0644 doins "${GENQMAIL_S}"/tcprules/Makefile.qmail doins "${GENQMAIL_S}"/tcprules/tcp.qmail-* use ssl || rm -f "${D}${TCPRULES_DIR}"/tcp.qmail-pop3sd @@ -303,13 +303,13 @@ qmail_supervise_install() { for i in qmail-{send,smtpd,qmtpd,qmqpd,pop3d}; do dosupervise ${i} - diropts -o qmaill -g root -m 755 + diropts -o qmaill -g "$GROUP_ROOT" -m 755 keepdir /var/log/qmail/${i} done if use ssl; then dosupervise qmail-pop3sd - diropts -o qmaill -g root -m 755 + diropts -o qmaill -g "$GROUP_ROOT" -m 755 keepdir /var/log/qmail/qmail-pop3sd fi @@ -320,7 +320,7 @@ qmail_supervise_install() { qmail_spp_install() { einfo "Installing qmail-spp configuration files" insinto "${QMAIL_HOME}"/control/ - insopts -o root -g root -m 0644 + insopts -o root -g "$GROUP_ROOT" -m 0644 doins "${GENQMAIL_S}"/spp/smtpplugins einfo "Installing qmail-spp plugins" @@ -340,16 +340,16 @@ qmail_ssl_install() { einfo "Installing SSL Certificate creation script" insinto "${QMAIL_HOME}"/control - insopts -o root -g root -m 0644 + insopts -o root -g "$GROUP_ROOT" -m 0644 doins "${GENQMAIL_S}"/ssl/servercert.cnf insinto "${QMAIL_HOME}"/bin - insopts -o root -g root -m 0755 + insopts -o root -g "$GROUP_ROOT" -m 0755 doins "${GENQMAIL_S}"/ssl/mkservercert einfo "Installing RSA key generation cronjob" insinto /etc/${CRON_FOLDER} - insopts -o root -g root -m 0755 + insopts -o root -g "$GROUP_ROOT" -m 0755 doins "${GENQMAIL_S}"/ssl/qmail-genrsacert.sh keepdir "${QMAIL_HOME}"/control/tlshosts @@ -359,6 +359,7 @@ qmail_ssl_install() { } qmail_src_install() { + export GROUP_ROOT="$(id -gn root)" qmail_base_install qmail_full_install qmail_config_install diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt3.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt3.eclass deleted file mode 100644 index e75a45155f..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/qt3.eclass +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/qt3.eclass,v 1.41 2009/05/17 15:17:03 hwoarang Exp $ - -# @ECLASS: qt3.eclass -# @MAINTAINER: -# Qt team -# @BLURB: Eclass for Qt3 packages -# @DESCRIPTION: -# This eclass contains various functions that may be useful -# when dealing with packages using Qt3 libraries. - -inherit toolchain-funcs versionator eutils - -QTPKG="x11-libs/qt-" -QT3MAJORVERSIONS="3.3 3.2 3.1 3.0" -QT3VERSIONS="3.3.8b-r1 3.3.8b 3.3.8-r4 3.3.8-r3 3.3.8-r2 3.3.8-r1 3.3.8 3.3.6-r5 3.3.6-r4 3.3.6-r3 3.3.6-r2 3.3.6-r1 3.3.6 3.3.5-r1 3.3.5 3.3.4-r9 3.3.4-r8 3.3.4-r7 3.3.4-r6 3.3.4-r5 3.3.4-r4 3.3.4-r3 3.3.4-r2 3.3.4-r1 3.3.4 3.3.3-r3 3.3.3-r2 3.3.3-r1 3.3.3 3.3.2 3.3.1-r2 3.3.1-r1 3.3.1 3.3.0-r1 3.3.0 3.2.3-r1 3.2.3 3.2.2-r1 3.2.2 3.2.1-r2 3.2.1-r1 3.2.1 3.2.0 3.1.2-r4 3.1.2-r3 3.1.2-r2 3.1.2-r1 3.1.2 3.1.1-r2 3.1.1-r1 3.1.1 3.1.0-r3 3.1.0-r2 3.1.0-r1 3.1.0" - -if [[ -z "${QTDIR}" ]]; then - export QTDIR="/usr/qt/3" -fi - -addwrite "${QTDIR}/etc/settings" -addpredict "${QTDIR}/etc/settings" - -# @FUNCTION: qt_min_version -# @USAGE: [minimum version] -# @DESCRIPTION: -# This function is deprecated. Use slot dependencies instead. -qt_min_version() { - local list=$(qt_min_version_list "$@") - ewarn "${CATEGORY}/${PF}: qt_min_version() is deprecated. Use slot dependencies instead." - if [[ ${list%% *} == "${list}" ]]; then - echo "${list}" - else - echo "|| ( ${list} )" - fi -} - -qt_min_version_list() { - local MINVER="$1" - local VERSIONS="" - - case "${MINVER}" in - 3|3.0|3.0.0) VERSIONS="=${QTPKG}3*";; - 3.1|3.1.0|3.2|3.2.0|3.3|3.3.0) - for x in ${QT3MAJORVERSIONS}; do - if $(version_is_at_least "${MINVER}" "${x}"); then - VERSIONS="${VERSIONS} =${QTPKG}${x}*" - fi - done - ;; - 3*) - for x in ${QT3VERSIONS}; do - if $(version_is_at_least "${MINVER}" "${x}"); then - VERSIONS="${VERSIONS} =${QTPKG}${x}" - fi - done - ;; - *) VERSIONS="=${QTPKG}3*";; - esac - - echo ${VERSIONS} -} - -# @FUNCTION: eqmake3 -# @USAGE: [.pro file] [additional parameters to qmake] -# @MAINTAINER: -# Przemyslaw Maciag -# Davide Pesavento -# @DESCRIPTION: -# Runs qmake on the specified .pro file (defaults to -# ${PN}.pro if eqmake3 was called with no argument). -# Additional parameters are passed unmodified to qmake. -eqmake3() { - local LOGFILE="${T}/qmake-$$.out" - local projprofile="${1}" - [[ -z ${projprofile} ]] && projprofile="${PN}.pro" - shift 1 - - ebegin "Processing qmake ${projprofile}" - - # file exists? - if [[ ! -f ${projprofile} ]]; then - echo - eerror "Project .pro file \"${projprofile}\" does not exist" - eerror "qmake cannot handle non-existing .pro files" - echo - eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org" - echo - die "Project file not found in ${PN} sources" - fi - - echo >> ${LOGFILE} - echo "****** qmake ${projprofile} ******" >> ${LOGFILE} - echo >> ${LOGFILE} - - # some standard config options - local configoptplus="CONFIG += no_fixpath" - local configoptminus="CONFIG -=" - if has debug ${IUSE} && use debug; then - configoptplus="${configoptplus} debug" - configoptminus="${configoptminus} release" - else - configoptplus="${configoptplus} release" - configoptminus="${configoptminus} debug" - fi - - ${QTDIR}/bin/qmake ${projprofile} \ - QTDIR=${QTDIR} \ - QMAKE=${QTDIR}/bin/qmake \ - QMAKE_CC=$(tc-getCC) \ - QMAKE_CXX=$(tc-getCXX) \ - QMAKE_LINK=$(tc-getCXX) \ - QMAKE_CFLAGS_RELEASE="${CFLAGS}" \ - QMAKE_CFLAGS_DEBUG="${CFLAGS}" \ - QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \ - QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \ - QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \ - QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \ - "${configoptminus}" \ - "${configoptplus}" \ - QMAKE_RPATH= \ - QMAKE_STRIP= \ - ${@} >> ${LOGFILE} 2>&1 - - local result=$? - eend ${result} - - # was qmake successful? - if [[ ${result} -ne 0 ]]; then - echo - eerror "Running qmake on \"${projprofile}\" has failed" - echo - eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org" - echo - die "qmake failed on ${projprofile}" - fi - - return ${result} -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt4-build.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt4-build.eclass index 874bce603b..d25d5c2935 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/qt4-build.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/qt4-build.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.142 2013/01/03 08:39:49 pesa Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.150 2013/08/13 10:17:54 pesa Exp $ # @ECLASS: qt4-build.eclass # @MAINTAINER: @@ -10,7 +10,7 @@ # This eclass contains various functions that are used when building Qt4. case ${EAPI} in - 3|4|5) : ;; + 4|5) : ;; *) die "qt4-build.eclass: unsupported EAPI=${EAPI:-0}" ;; esac @@ -36,58 +36,19 @@ case ${QT4_BUILD_TYPE} in EGIT_BRANCH=${PV%.9999} ;; release) - SRC_URI="http://releases.qt-project.org/qt4/source/${MY_P}.tar.gz" + SRC_URI="http://download.qt-project.org/official_releases/qt/${PV%.*}/${PV}/${MY_P}.tar.gz" ;; esac IUSE="aqua debug pch" -[[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] && IUSE+=" +exceptions" -[[ ${CATEGORY}/${PN} != x11-libs/qt-webkit ]] && IUSE+=" c++0x" +[[ ${CATEGORY}/${PN} != dev-qt/qtwebkit ]] && IUSE+=" c++0x" +[[ ${CATEGORY}/${PN} != dev-qt/qtxmlpatterns ]] && IUSE+=" +exceptions" DEPEND="virtual/pkgconfig" if [[ ${QT4_BUILD_TYPE} == live ]]; then DEPEND+=" dev-lang/perl" fi -RDEPEND=" - !x11-libs/qt-assistant-${PV}-r9999:4 - !x11-libs/qt-bearer-${PV}-r9999:4 - !x11-libs/qt-core-${PV}-r9999:4 - !x11-libs/qt-dbus-${PV}-r9999:4 - !x11-libs/qt-declarative-${PV}-r9999:4 - !x11-libs/qt-demo-${PV}-r9999:4 - !x11-libs/qt-gui-${PV}-r9999:4 - !x11-libs/qt-multimedia-${PV}-r9999:4 - !x11-libs/qt-opengl-${PV}-r9999:4 - !x11-libs/qt-openvg-${PV}-r9999:4 - !x11-libs/qt-phonon-${PV}-r9999:4 - !x11-libs/qt-qt3support-${PV}-r9999:4 - !x11-libs/qt-script-${PV}-r9999:4 - !x11-libs/qt-sql-${PV}-r9999:4 - !x11-libs/qt-svg-${PV}-r9999:4 - !x11-libs/qt-test-${PV}-r9999:4 - !x11-libs/qt-webkit-${PV}-r9999:4 - !x11-libs/qt-xmlpatterns-${PV}-r9999:4 -" - S=${WORKDIR}/${MY_P} # @FUNCTION: qt4-build_pkg_setup @@ -140,9 +101,11 @@ qt4-build_src_unpack() { if ! version_is_at_least 4.1 $(gcc-version); then ewarn "Using a GCC version lower than 4.1 is not supported." + elif use_if_iuse c++0x && ! version_is_at_least 4.4 $(gcc-version); then + ewarn "USE=c++0x requires GCC 4.4 or later." fi - if [[ ${PN} == qt-webkit ]]; then + if [[ ${CATEGORY}/${PN} == dev-qt/qtwebkit ]]; then eshopts_push -s extglob if is-flagq '-g?(gdb)?([1-9])'; then echo @@ -191,7 +154,7 @@ qt4-build_src_unpack() { # @FUNCTION: qt4-build_src_prepare # @DESCRIPTION: # Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix -# the build system in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified in /etc/make.conf. +# the build system in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified in make.conf. qt4-build_src_prepare() { setqtenv @@ -200,7 +163,7 @@ qt4-build_src_prepare() { fi # avoid X11 dependency in non-gui packages - local nolibx11_pkgs="qt-core qt-dbus qt-script qt-sql qt-test qt-xmlpatterns" + local nolibx11_pkgs="qtcore qtdbus qtscript qtsql qttest qtxmlpatterns" has ${PN} ${nolibx11_pkgs} && qt_nolibx11 if use aqua; then @@ -212,43 +175,33 @@ qt4-build_src_prepare() { -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die fi - if [[ ${PN} != qt-core ]]; then + if [[ ${CATEGORY}/${PN} != dev-qt/qtcore ]]; then skip_qmake_build skip_project_generation symlink_binaries_to_buildtree fi - if [[ ${CHOST} == *86*-apple-darwin* ]]; then - # qmake bus errors with -O2 or -O3 but -O1 works - # Bug 373061 - replace-flags -O[23] -O1 - fi - - # Bug 178652 - if [[ $(gcc-major-version) == 3 ]] && use amd64; then - ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" - append-flags -fno-gcse - fi - if use_if_iuse c++0x; then append-cxxflags -std=c++0x fi - # Unsupported old gcc versions - hardened needs this :( - if [[ $(gcc-major-version) -lt 4 ]]; then - ewarn "Appending -fno-stack-protector to CXXFLAGS" - append-cxxflags -fno-stack-protector - # Bug 253127 - sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \ - -i mkspecs/common/g++.conf || die - fi - # Bug 261632 if use ppc64; then - ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS" append-flags -mminimal-toc fi + # Bug 373061 + # qmake bus errors with -O2 or -O3 but -O1 works + if [[ ${CHOST} == *86*-apple-darwin* ]]; then + replace-flags -O[23] -O1 + fi + + # Bug 417105 + # graphite on gcc 4.7 causes miscompilations + if [[ $(gcc-version) == "4.7" ]]; then + filter-flags -fgraphite-identity + fi + # Respect CC, CXX, {C,CXX,LD}FLAGS in .qmake.cache sed -e "/^SYSTEM_VARIABLES=/i \ CC='$(tc-getCC)'\n\ @@ -470,7 +423,7 @@ qt4-build_src_compile() { # Runs tests only in target directories. qt4-build_src_test() { # QtMultimedia does not have any test suite (bug #332299) - [[ ${PN} == qt-multimedia ]] && return + [[ ${CATEGORY}/${PN} == dev-qt/qtmultimedia ]] && return for dir in ${QT4_TARGET_DIRECTORIES}; do emake -j1 check -C ${dir} @@ -566,15 +519,6 @@ setqtenv() { # @DESCRIPTION: # Generates Makefiles for the given list of directories. prepare_directories() { - # avoid running over the maximum argument number, bug #299810 - { - echo "${S}"/mkspecs/common/*.conf - find "${S}" -name '*.pr[io]' - } | xargs sed -i \ - -e "s:\$\$\[QT_INSTALL_LIBS\]:${QTLIBDIR}:g" \ - -e "s:\$\$\[QT_INSTALL_PLUGINS\]:${QTPLUGINDIR}:g" \ - || die - for x in "$@"; do pushd "${S}"/${x} >/dev/null || die einfo "Running qmake in: ${x}" @@ -600,8 +544,7 @@ build_directories() { CXX="$(tc-getCXX)" \ LINK="$(tc-getCXX)" \ RANLIB=":" \ - STRIP=":" \ - || die "emake failed" + STRIP=":" popd >/dev/null || die done } @@ -614,7 +557,7 @@ build_directories() { install_directories() { for x in "$@"; do pushd "${S}"/${x} >/dev/null || die - emake INSTALL_ROOT="${D}" install || die "emake install failed" + emake INSTALL_ROOT="${D}" install popd >/dev/null || die done } @@ -645,7 +588,7 @@ install_qconfigs() { [[ -n ${!x} ]] && echo ${x}=${!x} >> "${T}"/${PN}-qconfig.pri done insinto ${QTDATADIR#${EPREFIX}}/mkspecs/gentoo - doins "${T}"/${PN}-qconfig.pri || die "installing ${PN}-qconfig.pri failed" + doins "${T}"/${PN}-qconfig.pri fi if [[ -n ${QCONFIG_DEFINE} ]]; then @@ -653,7 +596,7 @@ install_qconfigs() { echo "#define ${x}" >> "${T}"/gentoo-${PN}-qconfig.h done insinto ${QTHEADERDIR#${EPREFIX}}/Gentoo - doins "${T}"/gentoo-${PN}-qconfig.h || die "installing ${PN}-qconfig.h failed" + doins "${T}"/gentoo-${PN}-qconfig.h fi } @@ -662,7 +605,7 @@ install_qconfigs() { # @DESCRIPTION: # Generates gentoo-specific qconfig.{h,pri}. generate_qconfigs() { - if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${PN} == qt-core ]]; then + if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${CATEGORY}/${PN} == dev-qt/qtcore ]]; then local x qconfig_add qconfig_remove qconfig_new for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do [[ -f ${x} ]] || continue @@ -673,7 +616,7 @@ generate_qconfigs() { # these error checks do not use die because dying in pkg_post{inst,rm} # just makes things worse. if [[ -e "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri ]]; then - # start with the qconfig.pri that qt-core installed + # start with the qconfig.pri that qtcore installed if ! cp "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri \ "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then eerror "cp qconfig failed." @@ -735,7 +678,7 @@ qt4-build_pkg_postinst() { # @FUNCTION: skip_qmake_build # @INTERNAL # @DESCRIPTION: -# Patches configure to skip qmake compilation, as it's already installed by qt-core. +# Patches configure to skip qmake compilation, as it's already installed by qtcore. skip_qmake_build() { sed -i -e "s:if true:if false:g" "${S}"/configure || die } @@ -853,10 +796,9 @@ qt_mkspecs_dir() { # @FUNCTION: qt_nolibx11 # @INTERNAL # @DESCRIPTION: -# Ignore X11 tests for packages that don't need X libraries installed. +# Skip X11 tests for packages that don't need X libraries installed. qt_nolibx11() { - sed -i "/unixtests\/compile.test.*config.tests\/x11\/xlib/,/fi$/d" "${S}"/configure || - die "x11 check sed failed" + sed -i -e '/^if.*PLATFORM_X11.*CFG_GUI/,/^fi$/d' "${S}"/configure || die } EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install src_test pkg_postrm pkg_postinst 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 4b1c54436e..b7f50093f4 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-r2.eclass,v 1.24 2012/11/08 09:42:51 pesa Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-r2.eclass,v 1.28 2013/06/03 08:41:19 pesa Exp $ # @ECLASS: qt4-r2.eclass # @MAINTAINER: @@ -127,8 +127,7 @@ qt4-r2_src_compile() { # @FUNCTION: qt4-r2_src_install # @DESCRIPTION: # Default src_install function for qt4-based packages. Installs compiled code, -# documentation (via DOCS and HTML_DOCS variables). - +# and documentation (via DOCS and HTML_DOCS variables). qt4-r2_src_install() { debug-print-function $FUNCNAME "$@" @@ -143,6 +142,14 @@ qt4-r2_src_install() { fi } +# @VARIABLE: EQMAKE4_EXCLUDE +# @DEFAULT_UNSET +# @DESCRIPTION: +# List of files to be excluded from eqmake4 CONFIG processing. +# Paths are relative to the current working directory (usually ${S}). +# +# Example: EQMAKE4_EXCLUDE="ignore/me.pro foo/*" + # @FUNCTION: eqmake4 # @USAGE: [project_file] [parameters to qmake] # @DESCRIPTION: @@ -151,13 +158,16 @@ qt4-r2_src_install() { # than one project file are found, then ${PN}.pro is processed, provided # that it exists. Otherwise eqmake4 fails. # -# All other arguments are appended unmodified to qmake command line. For -# recursive build systems, i.e. those based on the subdirs template, you -# should run eqmake4 on the top-level project file only, unless you have -# strong reasons to do things differently. During the building, qmake -# will be automatically re-invoked with the right arguments on every -# directory specified inside the top-level project file. +# All other arguments are appended unmodified to qmake command line. +# +# For recursive build systems, i.e. those based on the subdirs template, +# you should run eqmake4 on the top-level project file only, unless you +# have a valid reason to do otherwise. During the building, qmake will +# be automatically re-invoked with the right arguments on every directory +# specified inside the top-level project file. eqmake4() { + debug-print-function ${FUNCNAME} "$@" + [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX= ebegin "Running qmake" @@ -172,7 +182,7 @@ eqmake4() { if [[ -z ${project_file} ]]; then echo eerror "No project files found in '${PWD}'!" - eerror "This shouldn't happen - please send a bug report to http://bugs.gentoo.org/" + eerror "This shouldn't happen - please send a bug report to https://bugs.gentoo.org/" echo die "eqmake4 failed" fi @@ -187,6 +197,7 @@ eqmake4() { config_add="debug" config_remove="release" fi + local awkscript='BEGIN { printf "### eqmake4 was here ###\n" > file; printf "CONFIG -= debug_and_release %s\n", remove >> file; @@ -209,16 +220,25 @@ eqmake4() { END { print fixed; }' - local file= + + [[ -n ${EQMAKE4_EXCLUDE} ]] && eshopts_push -o noglob + + local file while read file; do + local excl + for excl in ${EQMAKE4_EXCLUDE}; do + [[ ${file} == ${excl} ]] && continue 2 + done grep -q '^### eqmake4 was here ###$' "${file}" && continue + local retval=$({ - rm -f "${file}" || echo FAIL - awk -v file="${file}" \ - -v add=${config_add} \ - -v remove=${config_remove} \ - -- "${awkscript}" || echo FAIL - } < "${file}") + rm -f "${file}" || echo FAIL + awk -v file="${file}" \ + -v add=${config_add} \ + -v remove=${config_remove} \ + -- "${awkscript}" || echo FAIL + } < "${file}") + if [[ ${retval} == 1 ]]; then einfo " - fixed CONFIG in ${file}" elif [[ ${retval} != 0 ]]; then @@ -227,6 +247,8 @@ eqmake4() { fi done < <(find . -type f -name '*.pr[io]' -printf '%P\n' 2>/dev/null) + [[ -n ${EQMAKE4_EXCLUDE} ]] && eshopts_pop + "${EPREFIX}"/usr/bin/qmake \ -makefile \ QTDIR="${EPREFIX}"/usr/$(get_libdir) \ @@ -235,6 +257,7 @@ eqmake4() { QMAKE_CC="$(tc-getCC)" \ QMAKE_CXX="$(tc-getCXX)" \ QMAKE_LINK="$(tc-getCXX)" \ + QMAKE_LINK_C="$(tc-getCC)" \ QMAKE_OBJCOPY="$(tc-getOBJCOPY)" \ QMAKE_RANLIB= \ QMAKE_STRIP= \ @@ -256,12 +279,10 @@ eqmake4() { if ! eend $? ; then echo eerror "Running qmake has failed! (see above for details)" - eerror "This shouldn't happen - please send a bug report to http://bugs.gentoo.org/" + eerror "This shouldn't happen - please send a bug report to https://bugs.gentoo.org/" echo die "eqmake4 failed" fi - - return 0 } # Internal function, used by eqmake4 and qt4-r2_src_configure. diff --git a/sdk_container/src/third_party/portage-stable/eclass/qt4.eclass b/sdk_container/src/third_party/portage-stable/eclass/qt4.eclass deleted file mode 100644 index 5d55931ea5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/qt4.eclass +++ /dev/null @@ -1,305 +0,0 @@ -# Copyright 2005-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/qt4.eclass,v 1.61 2010/01/14 21:15:22 abcd Exp $ - -# @ECLASS: qt4.eclass -# @MAINTAINER: -# Ben de Groot , -# Markos Chandras , -# Caleb Tennis , -# Przemyslaw Maciag , -# Davide Pesavento -# @BLURB: Eclass for Qt4 packages -# @DESCRIPTION: -# This eclass contains various functions that may be useful -# when dealing with packages using Qt4 libraries. - -inherit base eutils multilib toolchain-funcs versionator - -export XDG_CONFIG_HOME="${T}" - -qt4_monolithic_to_split_flag() { - case ${1} in - zlib) - # Qt 4.4+ is always built with zlib enabled, so this flag isn't needed - ;; - gif|jpeg|png) - # qt-gui always installs with these enabled - checkpkgs+=" x11-libs/qt-gui" - ;; - dbus|opengl) - # Make sure the qt-${1} package has been installed already - checkpkgs+=" x11-libs/qt-${1}" - ;; - qt3support) - checkpkgs+=" x11-libs/qt-${1}" - checkflags+=" x11-libs/qt-core:${1} x11-libs/qt-gui:${1} x11-libs/qt-sql:${1}" - ;; - ssl) - # qt-core controls this flag - checkflags+=" x11-libs/qt-core:${1}" - ;; - cups|mng|nas|nis|tiff|xinerama|input_devices_wacom) - # qt-gui controls these flags - checkflags+=" x11-libs/qt-gui:${1}" - ;; - firebird|mysql|odbc|postgres|sqlite3) - # qt-sql controls these flags. sqlite2 is no longer supported so it uses sqlite instead of sqlite3. - checkflags+=" x11-libs/qt-sql:${1%3}" - ;; - accessibility) - eerror "(QA message): Use guiaccessibility and/or qt3accessibility to specify which of qt-gui and qt-qt3support are relevant for this package." - # deal with this gracefully by checking the flag for what is available - for y in gui qt3support; do - has_version x11-libs/qt-${y} && checkflags+=" x11-libs/qt-${y}:${1}" - done - ;; - guiaccessibility) - checkflags+=" x11-libs/qt-gui:accessibility" - ;; - qt3accessibility) - checkflags+=" x11-libs/qt-qt3support:accessibility" - ;; - debug|doc|examples|glib|pch|sqlite|*) - # packages probably shouldn't be checking these flags so we don't handle them currently - eerror "qt4.eclass currently doesn't handle the use flag ${1} in QT4_BUILT_WITH_USE_CHECK for qt-4.4. This is either an" - eerror "eclass bug or an ebuild bug. Please report it at http://bugs.gentoo.org/" - ((fatalerrors+=1)) - ;; - esac -} - -# @FUNCTION: qt4_pkg_setup -# @DESCRIPTION: -# Default pkg_setup function for packages that depends on qt4. If you have to -# create ebuilds own pkg_setup in your ebuild, call qt4_pkg_setup in it. -# This function uses two global vars from ebuild: -# - QT4_BUILT_WITH_USE_CHECK - contains use flags that need to be turned on for -# =x11-libs/qt-4* -# - QT4_OPTIONAL_BUILT_WITH_USE_CHECK - qt4 flags that provides some -# functionality, but can alternatively be disabled in ${CATEGORY}/${PN} -# (so qt4 don't have to be recompiled) -# -# NOTE: Using the above vars is now deprecated in favor of eapi-2 use deps -# -# flags to watch for for Qt4.4: -# zlib png | opengl dbus qt3support | sqlite3 ssl -qt4_pkg_setup() { - local x y checkpkgs checkflags fatalerrors=0 requiredflags="" - - # lots of has_version calls can be very expensive - if [[ -n ${QT4_BUILT_WITH_USE_CHECK}${QT4_OPTIONAL_BUILT_WITH_USE_CHECK} ]]; then - ewarn "QA notice: The QT4_BUILT_WITH_USE functionality is deprecated and" - ewarn "will be removed from future versions of qt4.eclass. Please update" - ewarn "the ebuild to use eapi-2 use dependencies instead." - has_version x11-libs/qt-core && local QT44=true - fi - - for x in ${QT4_BUILT_WITH_USE_CHECK}; do - if [[ -n ${QT44} ]]; then - # The use flags are different in 4.4 and above, and it's split packages, so this is used to catch - # the various use flag combos specified in the ebuilds to make sure we don't error out for no reason. - qt4_monolithic_to_split_flag ${x} - else - [[ ${x} == *accessibility ]] && x=${x#gui} && x=${x#qt3} - if ! built_with_use =x11-libs/qt-4* ${x}; then - requiredflags="${requiredflags} ${x}" - fi - fi - done - - local optionalflags="" - for x in ${QT4_OPTIONAL_BUILT_WITH_USE_CHECK}; do - if use ${x}; then - if [[ -n ${QT44} ]]; then - # The use flags are different in 4.4 and above, and it's split packages, so this is used to catch - # the various use flag combos specified in the ebuilds to make sure we don't error out for no reason. - qt4_monolithic_to_split_flag ${x} - elif ! built_with_use =x11-libs/qt-4* ${x}; then - optionalflags="${optionalflags} ${x}" - fi - fi - done - - # The use flags are different in 4.4 and above, and it's split packages, so this is used to catch - # the various use flag combos specified in the ebuilds to make sure we don't error out for no reason. - for y in ${checkpkgs}; do - if ! has_version ${y}; then - eerror "You must first install the ${y} package. It should be added to the dependencies for this package (${CATEGORY}/${PN}). See bug #217161." - ((fatalerrors+=1)) - fi - done - for y in ${checkflags}; do - if ! has_version ${y%:*}; then - eerror "You must first install the ${y%:*} package with the ${y##*:} flag enabled." - eerror "It should be added to the dependencies for this package (${CATEGORY}/${PN}). See bug #217161." - ((fatalerrors+=1)) - else - if ! built_with_use ${y%:*} ${y##*:}; then - eerror "You must first install the ${y%:*} package with the ${y##*:} flag enabled." - ((fatalerrors+=1)) - fi - fi - done - - local diemessage="" - if [[ ${fatalerrors} -ne 0 ]]; then - diemessage="${fatalerrors} fatal errors were detected. Please read the above error messages and act accordingly." - fi - if [[ -n ${requiredflags} ]]; then - eerror - eerror "(1) In order to compile ${CATEGORY}/${PN} first you need to build" - eerror "=x11-libs/qt-4* with USE=\"${requiredflags}\" flag(s)" - eerror - diemessage="(1) recompile qt4 with \"${requiredflags}\" USE flag(s) ; " - fi - if [[ -n ${optionalflags} ]]; then - eerror - eerror "(2) You are trying to compile ${CATEGORY}/${PN} package with" - eerror "USE=\"${optionalflags}\"" - eerror "while qt4 is built without this particular flag(s): it will" - eerror "not work." - eerror - eerror "Possible solutions to this problem are:" - eerror "a) install package ${CATEGORY}/${PN} without \"${optionalflags}\" USE flag(s)" - eerror "b) re-emerge qt4 with \"${optionalflags}\" USE flag(s)" - eerror - diemessage="${diemessage}(2) recompile qt4 with \"${optionalflags}\" USE flag(s) or disable them for ${PN} package\n" - fi - - [[ -n ${diemessage} ]] && die "can't install ${CATEGORY}/${PN}: ${diemessage}" -} - -# @ECLASS-VARIABLE: PATCHES -# @DESCRIPTION: -# In case you have patches to apply, specify them in the PATCHES variable. -# Make sure to specify the full path. This variable is necessary for the -# src_prepare phase. -# example: -# PATCHES=( -# "${FILESDIR}/mypatch.patch" -# "${FILESDIR}/mypatch2.patch" -# ) -# -# @FUNCTION: qt4_src_prepare -# @DESCRIPTION: -# Default src_prepare function for packages that depend on qt4. If you have to -# override src_prepare in your ebuild, you should call qt4_src_prepare in it, -# otherwise autopatcher will not work! -qt4_src_prepare() { - debug-print-function $FUNCNAME "$@" - base_src_prepare -} - -# @FUNCTION: eqmake4 -# @USAGE: [.pro file] [additional parameters to qmake] -# @DESCRIPTION: -# Runs qmake on the specified .pro file (defaults to ${PN}.pro if called -# without arguments). Additional parameters are appended unmodified to -# qmake command line. For recursive build systems, i.e. those based on -# the subdirs template, you should run eqmake4 on the top-level project -# file only, unless you have strong reasons to do things differently. -# During the building, qmake will be automatically re-invoked with the -# right arguments on every directory specified inside the top-level -# project file by the SUBDIRS variable. -eqmake4() { - has "${EAPI:-0}" 0 1 2 && use !prefix && EPREFIX= - - local projectfile="${1:-${PN}.pro}" - shift - - if [[ ! -f ${projectfile} ]]; then - echo - eerror "Project file '${projectfile#${WORKDIR}/}' does not exists!" - eerror "eqmake4 cannot handle non-existing project files." - eerror - eerror "This shouldn't happen - please send a bug report to http://bugs.gentoo.org/" - echo - die "Project file not found in ${CATEGORY}/${PN} sources." - fi - - ebegin "Running qmake on ${projectfile}" - - # make sure CONFIG variable is correctly set for both release and debug builds - local CONFIG_ADD="release" - local CONFIG_REMOVE="debug" - if has debug ${IUSE} && use debug; then - CONFIG_ADD="debug" - CONFIG_REMOVE="release" - fi - local awkscript='BEGIN { - printf "### eqmake4 was here ###\n" > file; - fixed=0; - } - /^[[:blank:]]*CONFIG[[:blank:]]*[\+\*]?=/ { - for (i=1; i <= NF; i++) { - if ($i ~ rem || $i ~ /debug_and_release/) - { $i=add; fixed=1; } - } - } - /^[[:blank:]]*CONFIG[[:blank:]]*-=/ { - for (i=1; i <= NF; i++) { - if ($i ~ add) { $i=rem; fixed=1; } - } - } - { - print >> file; - } - END { - printf "\nCONFIG -= debug_and_release %s\n", rem >> file; - printf "CONFIG += %s\n", add >> file; - print fixed; - }' - local filepath= - while read filepath; do - local file="${filepath#./}" - grep -q '^### eqmake4 was here ###$' "${file}" && continue - local retval=$({ - rm -f "${file}" || echo "FAILED" - awk -v file="${file}" -- "${awkscript}" add=${CONFIG_ADD} rem=${CONFIG_REMOVE} || echo "FAILED" - } < "${file}") - if [[ ${retval} == 1 ]]; then - einfo " Fixed CONFIG in ${file}" - elif [[ ${retval} != 0 ]]; then - eerror " An error occurred while processing ${file}" - die "eqmake4 failed to process '${file}'." - fi - done < <(find "$(dirname "${projectfile}")" -type f -name "*.pr[io]" 2>/dev/null) - - "${EPREFIX}"/usr/bin/qmake -makefile -nocache \ - QTDIR="${EPREFIX}"/usr/$(get_libdir) \ - QMAKE="${EPREFIX}"/usr/bin/qmake \ - QMAKE_CC=$(tc-getCC) \ - QMAKE_CXX=$(tc-getCXX) \ - QMAKE_LINK=$(tc-getCXX) \ - QMAKE_CFLAGS_RELEASE="${CFLAGS}" \ - QMAKE_CFLAGS_DEBUG="${CFLAGS}" \ - QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \ - QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \ - QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \ - QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \ - QMAKE_STRIP= \ - "${projectfile}" "${@}" - - eend $? - - # was qmake successful? - if [[ $? -ne 0 ]]; then - echo - eerror "Running qmake on '${projectfile#${WORKDIR}/}' has failed!" - eerror "This shouldn't happen - please send a bug report to http://bugs.gentoo.org/" - echo - die "qmake failed on '${projectfile}'." - fi - - return 0 -} - -case ${EAPI:-0} in - 2|3) - EXPORT_FUNCTIONS pkg_setup src_prepare - ;; - 0|1) - EXPORT_FUNCTIONS pkg_setup - ;; -esac 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 229acaa6bd..c18a11ea55 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-fakegem.eclass,v 1.37 2012/08/19 07:45:02 graaff Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-fakegem.eclass,v 1.39 2013/06/01 13:18:45 graaff Exp $ # @ECLASS: ruby-fakegem.eclass # @MAINTAINER: @@ -114,6 +114,7 @@ case ${RUBY_FAKEGEM_RECIPE_DOC} in rake) IUSE+=" doc" ruby_add_bdepend "doc? ( dev-ruby/rake )" + RUBY_FAKEGEM_DOCDIR="doc" ;; rdoc) IUSE+=" doc" @@ -280,7 +281,7 @@ ruby_fakegem_genspec() { # so better taking this into consideration. local quoted_description=${DESCRIPTION//\"/\\\"} cat - > $1 <"${T}"/mkmf.rb -require 'mkmf' - -STDERR.puts 'patching mkmf' -CONFIG['INSTALL'] = '/usr/bin/install' -END - # save it because rubygems needs it (for unsetting RUBYOPT) - export GENTOO_RUBYOPT="-r${T}/mkmf.rb" - export RUBYOPT="${RUBYOPT} ${GENTOO_RUBYOPT}" - fi - - unpack ${A} - cd "${S}" - # apply bulk patches - if [[ ${#PATCHES[@]} -gt 1 ]]; then - for x in "${PATCHES[@]}"; do - epatch "${x}" - done - else - for x in ${PATCHES}; do - epatch "${x}" - done - fi -} - -ruby-gnome2_src_compile() { - ${RUBY} extconf.rb || die "extconf.rb failed" - emake CC=${CC:-gcc} CXX=${CXX:-g++} || die "emake failed" -} - -ruby-gnome2_src_install() { - # Create the directories, or the package will create them as files. - dodir $(${RUBY} -r rbconfig -e 'print Config::CONFIG["sitearchdir"]') /usr/$(get_libdir)/pkgconfig - - make DESTDIR="${D}" install || die "make install failed" - for doc in ../AUTHORS ../NEWS ChangeLog README; do - [ -s "$doc" ] && dodoc $doc - done - if [[ -d sample ]]; then - dodir /usr/share/doc/${PF} - cp -a sample "${D}"/usr/share/doc/${PF} || die "cp failed" - fi -} 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 7963af688b..cd6032f4e9 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng.eclass,v 1.51 2012/09/27 16:35:41 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng.eclass,v 1.52 2013/06/23 14:56:07 graaff Exp $ # @ECLASS: ruby-ng.eclass # @MAINTAINER: @@ -17,6 +17,7 @@ # Currently available targets are: # * ruby18 - Ruby (MRI) 1.8.x # * ruby19 - Ruby (MRI) 1.9.x +# * ruby20 - Ruby (MRI) 2.0.x # * ree18 - Ruby Enterprise Edition 1.8.x # * jruby - JRuby # * rbx - Rubinius @@ -108,6 +109,10 @@ ruby_implementation_depend() { rubypn="dev-lang/ruby" rubyslot=":1.9" ;; + ruby20) + rubypn="dev-lang/ruby" + rubyslot=":2.0" + ;; ree18) rubypn="dev-lang/ruby-enterprise" rubyslot=":1.8" 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 8ddcb14935..f4bbeb4311 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/selinux-policy-2.eclass,v 1.16 2013/01/26 15:01:52 swift Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/selinux-policy-2.eclass,v 1.19 2013/05/07 09:25:17 swift Exp $ # Eclass for installing SELinux policy, and optionally # reloading the reference-policy based modules. @@ -52,7 +52,7 @@ # This variable informs the eclass for which SELinux policies the module should # be built. Currently, Gentoo supports targeted, strict, mcs and mls. # This variable is the same POLICY_TYPES variable that we tell SELinux -# users to set in /etc/make.conf. Therefor, it is not the module that should +# users to set in make.conf. Therefore, it is not the module that should # override it, but the user. : ${POLICY_TYPES:="targeted strict mcs mls"} @@ -152,6 +152,10 @@ selinux-policy-2_src_prepare() { epatch fi + # Call in epatch_user. We do this early on as we start moving + # files left and right hereafter. + epatch_user + # Copy additional files to the 3rd_party/ location if [[ "$(declare -p POLICY_FILES 2>/dev/null 2>&1)" == "declare -a"* ]] || [[ -n ${POLICY_FILES} ]]; @@ -241,6 +245,11 @@ selinux-policy-2_pkg_postinst() { done for i in ${POLICY_TYPES}; do + if [ "${i}" == "strict" ] && [ "${MODS}" = "unconfined" ]; + then + einfo "Ignoring loading of unconfined module in strict module store."; + continue; + fi einfo "Inserting the following modules into the $i module store: ${MODS}" cd /usr/share/selinux/${i} || die "Could not enter /usr/share/selinux/${i}" 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 6f90ab8dfb..436045b621 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/subversion.eclass,v 1.83 2012/07/29 05:54:17 hattya Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/subversion.eclass,v 1.85 2013/07/27 10:18:13 mgorny Exp $ # @ECLASS: subversion.eclass # @MAINTAINER: @@ -31,7 +31,7 @@ DEPEND+=" net-misc/rsync" # @ECLASS-VARIABLE: ESVN_STORE_DIR # @DESCRIPTION: -# subversion sources store directory. Users may override this in /etc/make.conf +# subversion sources store directory. Users may override this in /etc/portage/make.conf [[ -z ${ESVN_STORE_DIR} ]] && ESVN_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/svn-src" # @ECLASS-VARIABLE: ESVN_FETCH_CMD @@ -324,6 +324,9 @@ subversion_fetch() { ${ESVN_UPDATE_CMD} ${options} || die "${ESVN}: can't update ${wc_path} from ${repo_uri}." fi fi + + # export updated information for the working copy + subversion_wc_info "${repo_uri}" || die "${ESVN}: unknown problem occurred while accessing working copy." fi fi @@ -441,7 +444,6 @@ subversion_src_prepare() { # config protection. subversion_pkg_preinst() { local pkgdate=$(date "+%Y%m%d %H:%M:%S") - subversion_wc_info "${1}" if [[ -n ${ESCM_LOGDIR} ]]; then local dir="${ROOT}/${ESCM_LOGDIR}/${CATEGORY}" if [[ ! -d ${dir} ]]; then 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 166c7beadd..c4623fba0f 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/systemd.eclass,v 1.25 2013/04/13 22:49:21 floppym Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/systemd.eclass,v 1.30 2013/09/12 11:46:41 mgorny Exp $ # @ECLASS: systemd.eclass # @MAINTAINER: @@ -12,20 +12,20 @@ # @EXAMPLE: # # @CODE -# inherit autotools-utils systemd +# inherit systemd # # src_configure() { # local myeconfargs=( # --enable-foo # --disable-bar +# "$(systemd_with_unitdir)" # ) # -# systemd_to_myeconfargs -# autotools-utils_src_configure +# econf "${myeconfargs[@]}" # } # @CODE -inherit toolchain-funcs +inherit eutils toolchain-funcs case ${EAPI:-0} in 0|1|2|3|4|5) ;; @@ -106,33 +106,64 @@ systemd_get_utildir() { } # @FUNCTION: systemd_dounit -# @USAGE: unit1 [...] +# @USAGE: ... # @DESCRIPTION: # Install systemd unit(s). Uses doins, thus it is fatal in EAPI 4 # and non-fatal in earlier EAPIs. systemd_dounit() { debug-print-function ${FUNCNAME} "${@}" - local INSDESTTREE - insinto "$(_systemd_get_unitdir)" - doins "${@}" + ( + insinto "$(_systemd_get_unitdir)" + doins "${@}" + ) } # @FUNCTION: systemd_newunit -# @USAGE: oldname newname +# @USAGE: # @DESCRIPTION: # Install systemd unit with a new name. Uses newins, thus it is fatal # in EAPI 4 and non-fatal in earlier EAPIs. systemd_newunit() { debug-print-function ${FUNCNAME} "${@}" - local INSDESTTREE - insinto "$(_systemd_get_unitdir)" - newins "${@}" + ( + insinto "$(_systemd_get_unitdir)" + newins "${@}" + ) +} + +# @FUNCTION: systemd_install_serviced +# @USAGE: [] +# @DESCRIPTION: +# Install the file as service.d/00gentoo.conf template. +# The argument specifies the configured service name. +# If not specified, the configuration file name will be used with .conf +# suffix stripped (e.g. foo.service.conf -> foo.service). +systemd_install_serviced() { + debug-print-function ${FUNCNAME} "${@}" + + local src=${1} + local service=${2} + + [[ ${src} ]] || die "No file specified" + + if [[ ! ${service} ]]; then + [[ ${src} == *.conf ]] || die "Source file needs .conf suffix" + service=${src##*/} + service=${service%.conf} + fi + # avoid potentially common mistake + [[ ${service} == *.d ]] && die "Service must not have .d suffix" + + ( + insinto /etc/systemd/system/"${service}".d + newins "${src}" 00gentoo.conf + ) } # @FUNCTION: systemd_dotmpfilesd -# @USAGE: tmpfilesd1 [...] +# @USAGE: ... # @DESCRIPTION: # Install systemd tmpfiles.d files. Uses doins, thus it is fatal # in EAPI 4 and non-fatal in earlier EAPIs. @@ -144,13 +175,14 @@ systemd_dotmpfilesd() { || die 'tmpfiles.d files need to have .conf suffix.' done - local INSDESTTREE - insinto /usr/lib/tmpfiles.d/ - doins "${@}" + ( + insinto /usr/lib/tmpfiles.d/ + doins "${@}" + ) } # @FUNCTION: systemd_newtmpfilesd -# @USAGE: oldname newname.conf +# @USAGE: .conf # @DESCRIPTION: # Install systemd tmpfiles.d file under a new name. Uses newins, thus it # is fatal in EAPI 4 and non-fatal in earlier EAPIs. @@ -160,13 +192,14 @@ systemd_newtmpfilesd() { [[ ${2} == *.conf ]] \ || die 'tmpfiles.d files need to have .conf suffix.' - local INSDESTTREE - insinto /usr/lib/tmpfiles.d/ - newins "${@}" + ( + insinto /usr/lib/tmpfiles.d/ + newins "${@}" + ) } # @FUNCTION: systemd_enable_service -# @USAGE: target service +# @USAGE: # @DESCRIPTION: # Enable service in desired target, e.g. install a symlink for it. # Uses dosym, thus it is fatal in EAPI 4 and non-fatal in earlier @@ -186,7 +219,7 @@ systemd_enable_service() { } # @FUNCTION: systemd_with_unitdir -# @USAGE: [configure option] +# @USAGE: [] # @DESCRIPTION: # Output '--with-systemdsystemunitdir' as expected by systemd-aware configure # scripts. This function always succeeds. Its output may be quoted in order @@ -223,6 +256,9 @@ systemd_with_utildir() { systemd_to_myeconfargs() { debug-print-function ${FUNCNAME} "${@}" + eqawarn 'systemd_to_myeconfargs() is deprecated and will be removed on 2013-10-11.' + eqawarn 'Please use $(systemd_with_unitdir) instead.' + myeconfargs=( "${myeconfargs[@]}" --with-systemdsystemunitdir="$(systemd_get_unitdir)" @@ -252,3 +288,25 @@ systemd_update_catalog() { debug-print "${FUNCNAME}: journalctl not found." fi } + +# @FUNCTION: systemd_is_booted +# @DESCRIPTION: +# Check whether the system was booted using systemd. +# +# This should be used purely for informational purposes, e.g. warning +# user that he needs to use systemd. Installed files or application +# behavior *must not* rely on this. Please remember to check MERGE_TYPE +# to not trigger the check on binary package build hosts! +# +# Returns 0 if systemd is used to boot the system, 1 otherwise. +# +# See: man sd_booted +systemd_is_booted() { + debug-print-function ${FUNCNAME} "${@}" + + [[ -d /run/systemd/system ]] + local ret=${?} + + debug-print "${FUNCNAME}: [[ -d /run/systemd/system ]] -> ${ret}" + return ${ret} +} 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 6c11e7d358..24aee66109 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,6 +1,6 @@ #!/bin/bash -EAPI=4 +EAPI=5 PYTHON_COMPAT=( python2_7 ) source tests-common.sh 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/eutils:evar.sh new file mode 100755 index 0000000000..837818de67 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/eutils:evar.sh @@ -0,0 +1,97 @@ +#!/bin/bash + +source tests-common.sh + +inherit eutils + +tbegin "simple push/pop" +VAR=1 +evar_push VAR +pu=$? +VAR=2 +evar_pop +po=$? +[[ ${pu}${po}${VAR} == "001" ]] +tend $? + +tbegin "unset push/pop" +unset VAR +evar_push VAR +pu=$? +VAR=2 +evar_pop +po=$? +[[ ${pu}${po}${VAR+set} == "00" ]] +tend $? + +tbegin "empty push/pop" +VAR= +evar_push VAR +pu=$? +VAR=2 +evar_pop +po=$? +[[ ${pu}${po}${VAR+set}${VAR} == "00set" ]] +tend $? + +tbegin "export push/pop" +export VAR=exported +evar_push VAR +pu=$? +VAR=2 +evar_pop +po=$? +var=$(bash -c 'echo ${VAR}') +[[ ${pu}${po}${var} == "00exported" ]] +tend $? + +tbegin "unexport push/pop" +unset VAR +VAR=not-exported +evar_push VAR +pu=$? +VAR=2 +evar_pop +po=$? +var=$(bash -c 'echo ${VAR+set}') +[[ ${pu}${po}${VAR}${var} == "00not-exported" ]] +tend $? + +tbegin "multi push/pop" +A=a B=b C=c +evar_push A B C +pu=$? +A=A B=B C=C +evar_pop 1 +po1=$? +[[ ${A}${B}${C} == "ABc" ]] +po2=$? +evar_pop 2 +po3=$? +var=$(bash -c 'echo ${VAR+set}') +[[ ${pu}${po1}${po2}${po3}${A}${B}${C} == "0000abc" ]] +tend $? + +tbegin "simple push_set/pop" +VAR=1 +evar_push_set VAR 2 +pu=$? +[[ ${VAR} == "2" ]] +po1=$? +evar_pop +po2=$? +[[ ${pu}${po1}${po2}${VAR} == "0001" ]] +tend $? + +tbegin "unset push_set/pop" +VAR=1 +evar_push_set VAR +pu=$? +[[ ${VAR+set} != "set" ]] +po1=$? +evar_pop +po2=$? +[[ ${pu}${po1}${po2}${VAR} == "0001" ]] +tend $? + +texit 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 6d1bbb15f0..1ce1f5138c 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 @@ -19,13 +19,14 @@ test_get_running_version() { } tests=( - # KV_FULL MAJOR MINOR PATCH EXTRA - 1.2.3 1 2 3 '' - 1.2.3.4 1 2 3 .4 - 1.2.3-ver+1.4 1 2 3 -ver+1.4 - 1.2-kern.3 1 2 0 -kern.3 - 1.2+kern.5 1 2 0 +kern.5 - 1.2.3_blah 1 2 3 _blah + # KV_FULL MAJOR MINOR PATCH EXTRA + 1.2.3 1 2 3 '' + 1.2.3.4 1 2 3 .4 + 1.2.3-ver+1.4 1 2 3 -ver+1.4 + 1.2-kern.3 1 2 0 -kern.3 + 1.2+kern.5 1 2 0 +kern.5 + 1.2.3_blah 1 2 3 _blah + 3.2.1-zen-vs2.3.2.5+ 3 2 1 -zen-vs2.3.2.5+ ) for (( i = 0; i < ${#tests[@]}; i += 5 )) ; do 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 new file mode 100755 index 0000000000..1e8fe1a0a6 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/eclass/tests/python-utils-r1.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +EAPI=5 +source tests-common.sh + +test_var() { + local var=${1} + local impl=${2} + local expect=${3} + + tbegin "${var} for ${impl}" + + local ${var} + python_export ${impl} ${var} + [[ ${!var} == ${expect} ]] || eerror "(${impl}: ${var}: ${!var} != ${expect}" + + tend ${?} +} + +test_is() { + local func=${1} + local EPYTHON=${2} + local expect=${3} + + tbegin "${func} for ${EPYTHON} (expecting: ${3})" + + ${func} + [[ ${?} == ${expect} ]] + + tend ${?} +} + +inherit python-utils-r1 + +test_var EPYTHON python2_7 python2.7 +test_var PYTHON python2_7 /usr/bin/python2.7 +test_var PYTHON_SITEDIR python2_7 /usr/lib/python2.7/site-packages +test_var PYTHON_INCLUDEDIR python2_7 /usr/include/python2.7 +test_var PYTHON_LIBPATH python2_7 /usr/lib/libpython2.7$(get_libname) +test_var PYTHON_PKG_DEP python2_7 dev-lang/python:2.7 +test_var PYTHON_SCRIPTDIR python2_7 /usr/lib/python-exec/python2.7 + +test_var EPYTHON python3_3 python3.3 +test_var PYTHON python3_3 /usr/bin/python3.3 +test_var PYTHON_SITEDIR python3_3 /usr/lib/python3.3/site-packages +test_var PYTHON_INCLUDEDIR python3_3 /usr/include/python3.3 +test_var PYTHON_LIBPATH python3_3 /usr/lib/libpython3.3$(get_libname) +test_var PYTHON_PKG_DEP python3_3 dev-lang/python:3.3 +test_var PYTHON_SCRIPTDIR python3_3 /usr/lib/python-exec/python3.3 + +test_var EPYTHON jython2_7 jython2.7 +test_var PYTHON jython2_7 /usr/bin/jython2.7 +test_var PYTHON_SITEDIR jython2_7 /usr/share/jython-2.7/Lib/site-packages +test_var PYTHON_PKG_DEP jython2_7 dev-java/jython:2.7 +test_var PYTHON_SCRIPTDIR jython2_7 /usr/lib/python-exec/jython2.7 + +test_var EPYTHON pypy2_0 pypy-c2.0 +test_var PYTHON pypy2_0 /usr/bin/pypy-c2.0 +test_var PYTHON_SITEDIR pypy2_0 /usr/lib/pypy2.0/site-packages +test_var PYTHON_INCLUDEDIR pypy2_0 /usr/lib/pypy2.0/include +test_var PYTHON_PKG_DEP pypy2_0 virtual/pypy:2.0 +test_var PYTHON_SCRIPTDIR pypy2_0 /usr/lib/python-exec/pypy-c2.0 + +test_is python_is_python3 python2.7 1 +test_is python_is_python3 python3.2 0 +test_is python_is_python3 jython2.7 1 +test_is python_is_python3 pypy2.0 1 + +texit diff --git a/sdk_container/src/third_party/portage-stable/eclass/tetex-2.eclass b/sdk_container/src/third_party/portage-stable/eclass/tetex-2.eclass deleted file mode 100644 index 20c3f8a089..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/tetex-2.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/tetex-2.eclass,v 1.8 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/05/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/tetex-3.eclass b/sdk_container/src/third_party/portage-stable/eclass/tetex-3.eclass deleted file mode 100644 index ae0683da4d..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/tetex-3.eclass +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/tetex-3.eclass,v 1.20 2008/10/06 19:55:05 aballier Exp $ -# -# Author: Jaromir Malenko -# Author: Mamoru KOMACHI -# Author: Martin Ehmsen -# Author: Alexandre Buisse -# -# A generic eclass to install tetex 3.x distributions. - -TEXMF_PATH=/var/lib/texmf - -inherit tetex - -EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst pkg_postinst - -IUSE="X Xaw3d motif neXt" - -DEPEND="X? ( motif? ( x11-libs/openmotif ) - !motif? ( neXt? ( x11-libs/neXtaw ) - !neXt? ( Xaw3d? ( x11-libs/Xaw3d ) ) ) - !app-text/xdvik - ) - !dev-tex/memoir - !dev-tex/lineno - !dev-tex/SIunits - !dev-tex/floatflt - !dev-tex/g-brief - !dev-tex/koma-script" - -RDEPEND="${DEPEND}" - -tetex-3_pkg_setup() { - ewarn - ewarn "teTeX 3.0 ebuild will remove config files stored in /usr/share/texmf." - ewarn "Please make a backup before upgrading if you changed anything." - ewarn - - ebeep - epause -} - -tetex-3_src_unpack() { - - tetex_src_unpack - - # create update script - cat >${T}/texmf-update<<'EOF' -#!/bin/bash -# -# Utility to update Gentoo teTeX distribution configuration files -# - -PATH=/bin:/usr/bin - -# Fix for all those with altered umask for root -umask 022 - -# Make sure we have a correct environment, bug #30432 -# The list of env. vars is taken from the INSTALL file -for texvar in AFMFONTS BIBINPUTS BSTINPUTS DVILJFONTS DVIPSFONTS \ - DVIPSHEADERS GFFONTS GLYPHFONTS INDEXSTYLE MFBASES MFINPUTS \ - MFPOOL MFTINPUTS MPINPUTS MPMEMS MPPOOL MPSUPPORT OCPINPUTS \ - OFMFONTS OPLFONTS OTPINPUTS OVFFONTS OVPFONTS PKFONTS PSHEADERS \ - T1FONTS T1INPUTS TEXBIB TEXCONFIG TEXDOCS TEXFONTMAPS TEXFONTS \ - TEXFORMATS TEXINDEXSTYLE TEXINPUTS TEXMFCNF TEXMFDBS TEXMFINI \ - TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS TEXSOURCES TFMFONTS TRFONTS \ - VFFONTS XDVIFONTS XDVIVFS ; do - - if [ "${!texvar}" ]; then - if ! $(echo ${!texvar} | grep '^:\|::\|:$' &>/dev/null) ; then - export ${texvar}="${!texvar}:" - fi - fi -done - -if [ "$TEXINPUTS" ]; then - if $(echo ${TEXINPUTS} | grep '/usr/share/texmf' &>/dev/null) ; then - export TEXINPUTS=$(echo ${TEXINPUTS} | sed -e 's|/usr/share/texmf/*:\?||g') - elif $(echo ${TEXINPUTS} | grep '/var/lib/texmf' &>/dev/null) ; then - export TEXINPUTS=$(echo ${TEXINPUTS} | sed -e 's|/var/lib/texmf/*:\?||g') - fi -fi - -for conf in texmf.cnf fmtutil.cnf updmap.cfg -do - if [ -d "/etc/texmf/${conf/.*/.d}" ] - then - echo "Generating /etc/texmf/web2c/${conf} from /etc/texmf/${conf/.*/.d} ..." - cat /etc/texmf/${conf/.*/.d}/* > "/etc/texmf/web2c/${conf}" - fi -done - -# configure -echo "Configuring teTeX ..." -mktexlsr &>/dev/null -texconfig-sys init &>/dev/null -texconfig-sys confall &>/dev/null -texconfig-sys font rw &>/dev/null -texconfig-sys font vardir /var/cache/fonts &>/dev/null -updmap-sys &>/dev/null - -# generate -echo "Generating format files ..." -fmtutil-sys --missing &>/dev/null -echo -echo "Use 'texconfig font ro' to disable font generation for users" -echo -EOF - - # need to fix up the hyperref driver, see bug #31967 - sed -i -e "/providecommand/s/hdvips/hypertex/" \ - ${S}/texmf/tex/latex/hyperref/hyperref.cfg -} - -tetex-3_src_compile() { - sed -i -e "/mktexlsr/,+3d" \ - -e "s/\(updmap-sys\)/\1 --nohash/" \ - Makefile.in || die - - use amd64 && replace-flags "-O3" "-O2" - - if use X ; then - if use motif ; then - toolkit="motif" - elif use neXt ; then - toolkit="neXtaw" - elif use Xaw3d ; then - toolkit="xaw3d" - else - toolkit="xaw" - fi - - TETEX_ECONF="${TETEX_ECONF} --with-xdvi-x-toolkit=${toolkit}" - fi - - tetex_src_compile -} - -tetex-3_src_install() { - - tetex_src_install - - dodir /etc/env.d - echo 'CONFIG_PROTECT_MASK="/etc/texmf/web2c"' > ${D}/etc/env.d/98tetex - # populate /etc/texmf - keepdir /etc/texmf/web2c - cd ${D}/usr/share/texmf # not ${TEXMF_PATH} - for d in $(find . -name config -type d | sed -e "s:\./::g") ; do - dodir /etc/texmf/${d} - for f in $(find ${D}usr/share/texmf/$d -maxdepth 1 -mindepth 1); do - mv $f ${D}/etc/texmf/$d || die "mv $f failed" - dosym /etc/texmf/$d/$(basename $f) /usr/share/texmf/$d/$(basename $f) - done - done - cd - - cd ${D}${TEXMF_PATH} - for f in $(find . -name '*.cnf' -o -name '*.cfg' -type f | sed -e "s:\./::g") ; do - if [ "${f/config/}" != "${f}" ] ; then - continue - fi - dodir /etc/texmf/$(dirname $f) - mv ${D}${TEXMF_PATH}/$f ${D}/etc/texmf/$(dirname $f) || die "mv $f failed." - dosym /etc/texmf/$f ${TEXMF_PATH}/$f - done - - # take care of updmap.cfg, fmtutil.cnf and texmf.cnf - dodir /etc/texmf/{updmap.d,fmtutil.d,texmf.d} - #cp ${D}/usr/share/texmf/web2c/updmap.cfg ${D}/etc/texmf/updmap.d/00updmap.cfg - dosym /etc/texmf/web2c/updmap.cfg ${TEXMF_PATH}/web2c/updmap.cfg - mv ${D}/usr/share/texmf/web2c/updmap.cfg ${D}/etc/texmf/updmap.d/00updmap.cfg - mv ${D}/etc/texmf/web2c/fmtutil.cnf ${D}/etc/texmf/fmtutil.d/00fmtutil.cnf - mv ${D}/etc/texmf/web2c/texmf.cnf ${D}/etc/texmf/texmf.d/00texmf.cnf - - # xdvi - if useq X ; then - dodir /etc/X11/app-defaults /etc/texmf/xdvi - mv ${D}${TEXMF_PATH}/xdvi/XDvi ${D}/etc/X11/app-defaults || die "mv XDvi failed" - dosym /etc/X11/app-defaults/XDvi ${TEXMF_PATH}/xdvi/XDvi - fi - cd - -} - -tetex-3_pkg_preinst() { - - ewarn "Removing ${ROOT}usr/share/texmf/web2c" - rm -rf "${ROOT}usr/share/texmf/web2c" - - # take care of symlinks problems, see bug 120515 - # this can be removed when that is not an issue anymore - # i.e., all users with problem has got them fixed - for conf in updmap.d/00updmap.cfg texmf.d/00texmf.cnf fmtutil.d/00fmtutil.cnf - do - if [ -L "${ROOT}etc/texmf/${conf}" ] - then - ewarn "Removing ${ROOT}etc/texmf/${conf}" - rm -f "${ROOT}etc/texmf/${conf}" - fi - done - - # take care of config protection, upgrade from <=tetex-2.0.2-r4 - for conf in updmap.cfg texmf.cnf fmtutil.cnf - do - if [ ! -d "${ROOT}etc/texmf/${conf/.*/.d}" -a -f "${ROOT}etc/texmf/${conf}" ] - then - mkdir "${ROOT}etc/texmf/${conf/.*/.d}" - cp "${ROOT}etc/texmf/${conf}" "${ROOT}etc/texmf/00${conf/.*/.d}" - fi - done -} - -tetex-3_pkg_postinst() { - tetex_pkg_postinst -} diff --git a/sdk_container/src/third_party/portage-stable/eclass/tetex.eclass b/sdk_container/src/third_party/portage-stable/eclass/tetex.eclass deleted file mode 100644 index 382d415c6c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/tetex.eclass +++ /dev/null @@ -1,248 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/tetex.eclass,v 1.60 2009/01/06 19:25:20 grobian Exp $ -# -# Author: Jaromir Malenko -# Author: Mamoru KOMACHI -# Author: Martin Ehmsen -# Author: Alexandre Buisse -# -# A generic eclass to install tetex distributions. This shouldn't be -# inherited directly in any ebuilds. It should be inherited from -# tetex-{2,3}.eclass. - -inherit eutils flag-o-matic toolchain-funcs - -EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_postinst - -if [ -z "${TETEX_PV}" ] ; then - TETEX_PV=${PV} -fi - -IUSE="X doc tk" - -S=${WORKDIR}/tetex-src-${TETEX_PV} -TETEX_SRC="tetex-src-${TETEX_PV}.tar.gz" -TETEX_TEXMF="tetex-texmf-${TETEX_PV}.tar.gz" -TETEX_TEXMF_SRC="tetex-texmfsrc-${TETEX_PV}.tar.gz" - -DESCRIPTION="a complete TeX distribution" -HOMEPAGE="http://tug.org/teTeX/" -SRC_PATH_TETEX=ftp://cam.ctan.org/tex-archive/systems/unix/teTeX/2.0/distrib -SRC_URI="${SRC_PATH_TETEX}/${TETEX_SRC} - ${SRC_PATH_TETEX}/${TETEX_TEXMF} - ${SRC_PATH_TETEX}/${TETEX_TEXMF_SRC} - mirror://gentoo/tetex-${TETEX_PV}-gentoo.tar.gz - http://dev.gentoo.org/~usata/distfiles/tetex-${TETEX_PV}-gentoo.tar.gz" - -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="~ia64 ~x86 ~ppc ~sparc ~alpha ~amd64" - -# tetex, ptex, cstetex must not block itself, fix for bug 121727 -if [[ "${PN}" = "tetex" ]] ; then - # >=app-text/ptex-3.1.9 work with app-text/tetex - DEPEND="!=app-text/ptex-3.1.9 does not co-exist with tetex-2 - DEPEND="! foo. + # @ECLASS-VARIABLE: TL_PV # @DESCRIPTION: # Normally the module's PV reflects the TeXLive release it belongs to. @@ -142,13 +147,13 @@ texlive-module_add_format() { local name engine mode patterns options eval $@ einfo "Appending to format.${PN}.cnf for $@" - [ -d texmf/fmtutil ] || mkdir -p texmf/fmtutil - [ -f texmf/fmtutil/format.${PN}.cnf ] || { echo "# Generated for ${PN} by texlive-module.eclass" > texmf/fmtutil/format.${PN}.cnf; } + [ -d texmf-dist/fmtutil ] || mkdir -p texmf-dist/fmtutil + [ -f texmf-dist/fmtutil/format.${PN}.cnf ] || { echo "# Generated for ${PN} by texlive-module.eclass" > texmf-dist/fmtutil/format.${PN}.cnf; } if [ "${mode}" = "disabled" ]; then - printf "#! " >> texmf/fmtutil/format.${PN}.cnf + printf "#! " >> texmf-dist/fmtutil/format.${PN}.cnf fi [ -z "${patterns}" ] && patterns="-" - printf "${name}\t${engine}\t${patterns}\t${options}\n" >> texmf/fmtutil/format.${PN}.cnf + printf "${name}\t${engine}\t${patterns}\t${options}\n" >> texmf-dist/fmtutil/format.${PN}.cnf } # @FUNCTION: texlive-module_make_language_def_lines @@ -279,9 +284,11 @@ texlive-module_src_compile() { done # Build format files - for i in texmf/fmtutil/format*.cnf; do + for i in texmf-dist/fmtutil/format*.cnf; do if [ -f "${i}" ]; then einfo "Building format ${i}" + [ -d texmf-var ] || mkdir texmf-var + [ -d texmf-var/web2c ] || mkdir texmf-var/web2c VARTEXFONTS="${T}/fonts" TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var"\ env -u TEXINPUTS fmtutil --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\ || die "failed to build format ${i}" @@ -299,7 +306,7 @@ texlive-module_src_compile() { # Installs texmf and config files to the system. texlive-module_src_install() { - for i in texmf/fmtutil/format*.cnf; do + for i in texmf-dist/fmtutil/format*.cnf; do [ -f "${i}" ] && etexlinks "${i}" done @@ -341,8 +348,15 @@ texlive-module_src_install() { fi [ -n "${TEXLIVE_MODULE_BINSCRIPTS}" ] && dobin_texmf_scripts ${TEXLIVE_MODULE_BINSCRIPTS} + if [ -n "${TEXLIVE_MODULE_BINLINKS}" ] ; then + for i in ${TEXLIVE_MODULE_BINLINKS} ; do + [ -f "${ED}/usr/bin/${i%:*}" ] || die "Trying to install an invalid BINLINK. This should not happen. Please file a bug." + dosym ${i%:*} /usr/bin/${i#*:} + done + fi texlive-common_handle_config_files + TEXMF_PATH=${TEXMF_DIST_PATH} texlive-common_handle_config_files } # @FUNCTION: texlive-module_pkg_postinst diff --git a/sdk_container/src/third_party/portage-stable/eclass/tla.eclass b/sdk_container/src/third_party/portage-stable/eclass/tla.eclass deleted file mode 100644 index b3d27bccb7..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/tla.eclass +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/tla.eclass,v 1.13 2012/09/16 18:37:44 ulm Exp $ - -# @DEAD -# To be removed on 2012-10-16. - -# Original Author: Jeffrey Yasskin -# -# Originally derived from the cvs eclass. -# -# This eclass provides the generic tla fetching functions. -# to use from an ebuild, set the 'ebuild-configurable settings' below in your -# ebuild before inheriting. then either leave the default src_unpack or extend -# over tla_src_unpack. - -# Most of the time, you will define only $ETLA_VERSION and $ETLA_ARCHIVES in -# your ebuild. - -# TODO: -# Make it support particular revisions. - -inherit eutils - -# Don't download anything other than the tla archive -SRC_URI="" - -# You shouldn't change these settings yourself! The ebuild/eclass inheriting -# this eclass will take care of that. - -# --- begin ebuild-configurable settings - -# tla command to run. Theoretically, substituting any arch derivative should be -# relatively easy. -[ -z "$ETLA_TLA_CMD" ] && ETLA_TLA_CMD="tla" - -# tla commands with options -[ -z "$ETLA_GET_CMD" ] && ETLA_GET_CMD="get" -[ -z "$ETLA_UPDATE_CMD" ] && ETLA_UPDATE_CMD="replay" - -# Where the tla modules are stored/accessed -[ -z "$ETLA_TOP_DIR" ] && ETLA_TOP_DIR="${DISTDIR}/tla-src" - -# Name of tla version in the format -# user@example.com--archive-name/category--branch--version -# (in other words, an argument to tla get, update, or replay) -[ -z "$ETLA_VERSION" ] && ETLA_VERSION="" - -# A space-separated list of significant archive URLs. You should definitely -# include the URL for the archive your version is stored in, and if it refers -# to any other archives, also list them. -[ -z "$ETLA_ARCHIVES" ] && ETLA_ARCHIVES="" - -# The location in which to cache the version, relative to $ETLA_TOP_DIR. -[ -z "$ETLA_CACHE_DIR" ] && ETLA_CACHE_DIR="${ETLA_VERSION}" - -# ETLA_CLEAN: set this to something to get a clean copy when updating (removes -# the working directory, then uses $ETLA_GET_CMD to re-download it.) - -# --- end ebuild-configurable settings --- - -# add tla to deps -DEPEND="dev-util/tla" - -# registers archives mentioned in $ETLA_ARCHIVES -tla_register_archives() { - debug-print-function $FUNCNAME $* $ETLA_ARCHIVES - - for archive in $ETLA_ARCHIVES; do - $ETLA_TLA_CMD register-archive -f $archive || die "Could not register archive $archive" - done -} - -# checks that configuration variables have rational values. -tla_check_vars() { - [ -z "$ETLA_VERSION" ] && die "ETLA_VERSION must be set by the ebuild. Please fix this ebuild." - $ETLA_TLA_CMD valid-package-name --archive --vsn $ETLA_VERSION || \ - die "ETLA_VERSION has an invalid format. Please fix this ebuild." -} - -# is called from tla_src_unpack -tla_fetch() { - - debug-print-function $FUNCNAME $* - - if [ -n "$ETLA_CLEAN" ]; then - rm -rf $ETLA_TOP_DIR/$ETLA_CACHE_DIR - fi - - # create the top dir if needed - if [ ! -d "$ETLA_TOP_DIR" ]; then - # note that the addwrite statements in this block are only there to allow creating ETLA_TOP_DIR; - # we've already allowed writing inside it - # this is because it's simpler than trying to find out the parent path of the directory, which - # would need to be the real path and not a symlink for things to work (so we can't just remove - # the last path element in the string) - debug-print "$FUNCNAME: checkout mode. creating tla directory" - addwrite /foobar - addwrite / - mkdir -p "$ETLA_TOP_DIR" - export SANDBOX_WRITE="${SANDBOX_WRITE//:\/foobar:\/}" - fi - - # in case ETLA_TOP_DIR is a symlink to a dir, get the real dir's path, - # otherwise addwrite() doesn't work. - cd -P "$ETLA_TOP_DIR" > /dev/null - ETLA_TOP_DIR="`/bin/pwd`" - - # disable the sandbox for this dir - addwrite "$ETLA_TOP_DIR" - - # break $ETLA_VERSION into pieces - local tla_archive=`$ETLA_TLA_CMD parse-package-name --arch $ETLA_VERSION` - local tla_version=`$ETLA_TLA_CMD parse-package-name --package-version $ETLA_VERSION` - #local tla_revision=`$ETLA_TLA_CMD parse-package-name --lvl $ETLA_VERSION` - - # determine checkout or update mode and change to the right directory. - if [ ! -d "$ETLA_TOP_DIR/$ETLA_CACHE_DIR/{arch}" ]; then - mode=get - mkdir -p "$ETLA_TOP_DIR/$ETLA_CACHE_DIR" - cd "$ETLA_TOP_DIR/$ETLA_CACHE_DIR/.." - rmdir "`basename "$ETLA_CACHE_DIR"`" - else - mode=update - cd "$ETLA_TOP_DIR/$ETLA_CACHE_DIR" - fi - - # switch versions automagically if needed - if [ "$mode" == "update" ]; then - local oldversion="`$ETLA_TLA_CMD tree-version`" - if [ "$tla_archive/$tla_version" != "$oldversion" ]; then - - einfo "Changing TLA version from $oldversion to $tla_archive/$tla_version:" - debug-print "$FUNCNAME: Changing TLA version from $oldversion to $tla_archive/$tla_version:" - - $ETLA_TLA_CMD set-tree-version $tla_archive/$tla_version - - fi - fi - - # commands to run - local cmdget="${ETLA_TLA_CMD} ${ETLA_GET_CMD} ${ETLA_VERSION} `basename $ETLA_CACHE_DIR`" - local cmdupdate="${ETLA_TLA_CMD} ${ETLA_UPDATE_CMD} ${ETLA_VERSION}" - - if [ "${mode}" == "get" ]; then - einfo "Running $cmdget" - eval $cmdget || die "tla get command failed" - elif [ "${mode}" == "update" ]; then - einfo "Running $cmdupdate" - eval $cmdupdate || die "tla update command failed" - fi - -} - - -tla_src_unpack() { - - debug-print-function $FUNCNAME $* - - debug-print "$FUNCNAME: init: - ETLA_TLA_CMD=$ETLA_TLA_CMD - ETLA_GET_CMD=$ETLA_GET_CMD - ETLA_UPDATE_CMD=$ETLA_UPDATE_CMD - ETLA_TOP_DIR=$ETLA_TOP_DIR - ETLA_VERSION=$ETLA_VERSION - ETLA_ARCHIVES=$ETLA_ARCHIVES - ETLA_CACHE_DIR=$ETLA_CACHE_DIR - ETLA_CLEAN=$ETLA_CLEAN" - - einfo "Registering Archives ..." - tla_register_archives - - einfo "Checking that passed-in variables are rational ..." - tla_check_vars - - einfo "Fetching tla version $ETLA_VERSION into $ETLA_TOP_DIR ..." - tla_fetch - - einfo "Copying $ETLA_CACHE_DIR from $ETLA_TOP_DIR ..." - debug-print "Copying $ETLA_CACHE_DIR from $ETLA_TOP_DIR ..." - - # probably redundant, but best to make sure - # Use ${WORKDIR}/${P} rather than ${S} so user can point ${S} to something inside. - mkdir -p "${WORKDIR}/${P}" - - eshopts_push -s dotglob # get any dotfiles too. - cp -Rf "$ETLA_TOP_DIR/$ETLA_CACHE_DIR"/* "${WORKDIR}/${P}" - eshopts_pop - - # implement some of base_src_unpack's functionality; - # note however that base.eclass may not have been inherited! - #if [ -n "$PATCHES" ]; then - # debug-print "$FUNCNAME: PATCHES=$PATCHES, S=$S, autopatching" - # cd "$S" - # for x in $PATCHES; do - # debug-print "patching from $x" - # patch -p0 < "$x" - # done - # # make sure we don't try to apply patches more than once, since - # # tla_src_unpack may be called several times - # export PATCHES="" - #fi - - einfo "Version ${ETLA_VERSION} is now in ${WORKDIR}/${P}" -} - -EXPORT_FUNCTIONS src_unpack 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 cb3f10da59..4939845957 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/toolchain.eclass @@ -1,10 +1,11 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.594 2013/06/17 02:23:45 vapier Exp $ -# +# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.600 2013/08/15 04:39:24 dirtyepic Exp $ + # Maintainer: Toolchain Ninjas #---->> eclass stuff <<---- +DESCRIPTION="The GNU Compiler Collection" HOMEPAGE="http://gcc.gnu.org/" LICENSE="GPL-2 LGPL-2.1" RESTRICT="strip" # cross-compilers need controlled stripping @@ -23,12 +24,10 @@ if [[ ${PV} == *_pre9999* ]] ; then inherit git-2 fi -EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm -DESCRIPTION="The GNU Compiler Collection" - FEATURES=${FEATURES/multilib-strict/} -#----<< eclass stuff >>---- +EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm +#----<< eclass stuff >>---- #---->> globals <<---- export CTARGET=${CTARGET:-${CHOST}} @@ -45,7 +44,11 @@ is_crosscompile() { [[ ${CHOST} != ${CTARGET} ]] } -tc_version_is_at_least() { version_is_at_least "$1" "${2:-${GCC_RELEASE_VER}}" ; } +# General purpose version check. Without a second arg matches up to minor version (x.x.x) +# (ie. 4.6.0_pre9999 matches 4 or 4.6 or 4.6.0 but not 4.6.1) +tc_version_is_at_least() { + version_is_at_least "$1" "${2:-${GCC_RELEASE_VER}}" +} GCC_PV=${TOOLCHAIN_GCC_PV:-${PV}} GCC_PVR=${GCC_PV} @@ -55,7 +58,8 @@ GCC_BRANCH_VER=$(get_version_component_range 1-2 ${GCC_PV}) GCCMAJOR=$(get_version_component_range 1 ${GCC_PV}) GCCMINOR=$(get_version_component_range 2 ${GCC_PV}) GCCMICRO=$(get_version_component_range 3 ${GCC_PV}) -[[ ${BRANCH_UPDATE-notset} == "notset" ]] && BRANCH_UPDATE=$(get_version_component_range 4 ${GCC_PV}) +[[ ${BRANCH_UPDATE-notset} == "notset" ]] && \ + BRANCH_UPDATE=$(get_version_component_range 4 ${GCC_PV}) # According to gcc/c-cppbuiltin.c, GCC_CONFIG_VER MUST match this regex. # ([^0-9]*-)?[0-9]+[.][0-9]+([.][0-9]+)?([- ].*)? @@ -65,6 +69,7 @@ GCC_CONFIG_VER=${GCC_CONFIG_VER:-$(replace_version_separator 3 '-' ${GCC_PV})} if [[ ${GCC_PV} != ${GCC_PV/_pre/-} ]] ; then PRERELEASE=${GCC_PV/_pre/-} fi + # make _alpha and _beta ebuilds automatically use a snapshot if [[ ${GCC_PV} == *_alpha* ]] ; then SNAPSHOT=${GCC_BRANCH_VER}-${GCC_PV##*_alpha} @@ -73,8 +78,8 @@ elif [[ ${GCC_PV} == *_beta* ]] ; then elif [[ ${GCC_PV} == *_rc* ]] ; then SNAPSHOT=${GCC_PV%_rc*}-RC-${GCC_PV##*_rc} fi -export GCC_FILESDIR=${GCC_FILESDIR:-${FILESDIR}} +export GCC_FILESDIR=${GCC_FILESDIR:-${FILESDIR}} PREFIX=${TOOLCHAIN_PREFIX:-/usr} if tc_version_is_at_least 3.4.0 ; then @@ -83,19 +88,20 @@ else LIBPATH=${TOOLCHAIN_LIBPATH:-${PREFIX}/lib/gcc-lib/${CTARGET}/${GCC_CONFIG_VER}} fi INCLUDEPATH=${TOOLCHAIN_INCLUDEPATH:-${LIBPATH}/include} + if is_crosscompile ; then BINPATH=${TOOLCHAIN_BINPATH:-${PREFIX}/${CHOST}/${CTARGET}/gcc-bin/${GCC_CONFIG_VER}} else BINPATH=${TOOLCHAIN_BINPATH:-${PREFIX}/${CTARGET}/gcc-bin/${GCC_CONFIG_VER}} fi + DATAPATH=${TOOLCHAIN_DATAPATH:-${PREFIX}/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}} + # Dont install in /usr/include/g++-v3/, but in gcc internal directory. # We will handle /usr/include/g++-v3/ with gcc-config ... STDCXX_INCDIR=${TOOLCHAIN_STDCXX_INCDIR:-${LIBPATH}/include/g++-v${GCC_BRANCH_VER/\.*/}} - #----<< globals >>---- - #---->> SLOT+IUSE logic <<---- IUSE="multislot nls nptl regression-test vanilla" @@ -105,18 +111,14 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then [[ -n ${HTB_VER} ]] && IUSE+=" boundschecking" [[ -n ${D_VER} ]] && IUSE+=" d" [[ -n ${SPECS_VER} ]] && IUSE+=" nossp" - - if tc_version_is_at_least 3 ; then - IUSE+=" doc gcj gtk hardened multilib objc" - - tc_version_is_at_least "4.0" && IUSE+=" objc-gc mudflap" - tc_version_is_at_least "4.1" && IUSE+=" libssp objc++" - tc_version_is_at_least "4.2" && IUSE+=" openmp" - tc_version_is_at_least "4.3" && IUSE+=" fixed-point" - tc_version_is_at_least "4.6" && IUSE+=" graphite" - tc_version_is_at_least "4.6" && IUSE+=" lto" - tc_version_is_at_least "4.7" && IUSE+=" go" - fi + tc_version_is_at_least 3 && IUSE+=" doc gcj gtk hardened multilib objc" + tc_version_is_at_least 4.0 && IUSE+=" objc-gc mudflap" + tc_version_is_at_least 4.1 && IUSE+=" libssp objc++" + tc_version_is_at_least 4.2 && IUSE+=" openmp" + tc_version_is_at_least 4.3 && IUSE+=" fixed-point" + tc_version_is_at_least 4.6 && IUSE+=" graphite" + tc_version_is_at_least 4.6 && IUSE+=" lto" + tc_version_is_at_least 4.7 && IUSE+=" go" fi # Support upgrade paths here or people get pissed @@ -128,12 +130,11 @@ fi #----<< SLOT+IUSE logic >>---- #---->> DEPEND <<---- - RDEPEND="sys-libs/zlib nls? ( sys-devel/gettext )" -if tc_version_is_at_least 3 ; then - RDEPEND+=" virtual/libiconv" -fi + +tc_version_is_at_least 3 && RDEPEND+=" virtual/libiconv" + if tc_version_is_at_least 4 ; then GMP_MPFR_DEPS=">=dev-libs/gmp-4.3.2 >=dev-libs/mpfr-2.4.2" if tc_version_is_at_least 4.3 ; then @@ -141,10 +142,10 @@ if tc_version_is_at_least 4 ; then elif in_iuse fortran ; then RDEPEND+=" fortran? ( ${GMP_MPFR_DEPS} )" fi - if tc_version_is_at_least 4.5 ; then - RDEPEND+=" >=dev-libs/mpc-0.8.1" - fi fi + +tc_version_is_at_least 4.5 && RDEPEND+=" >=dev-libs/mpc-0.8.1" + if in_iuse graphite ; then if tc_version_is_at_least 4.8 ; then RDEPEND+=" @@ -168,7 +169,9 @@ DEPEND="${RDEPEND} >=dev-util/dejagnu-1.4.4 >=sys-devel/autogen-5.5.4 )" + if in_iuse gcj ; then + GCJ_DEPS=">=media-libs/libart_lgpl-2.1" GCJ_GTK_DEPS=" x11-libs/libXt x11-libs/libX11 @@ -183,13 +186,11 @@ if in_iuse gcj ; then ) ) " tc_version_is_at_least 3.4 && GCJ_GTK_DEPS+=" x11-libs/pango" - GCJ_DEPS=">=media-libs/libart_lgpl-2.1" tc_version_is_at_least 4.2 && GCJ_DEPS+=" app-arch/zip app-arch/unzip" DEPEND+=" gcj? ( gtk? ( ${GCJ_GTK_DEPS} ) ${GCJ_DEPS} )" fi PDEPEND=">=sys-devel/gcc-config-1.7" - #----<< DEPEND >>---- #---->> S + SRC_URI essentials <<---- @@ -292,8 +293,10 @@ get_gcc_src_uri() { GCC_SRC_URI+=" $(gentoo_urls gcc-${GCC_RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2)" fi - [[ -n ${UCLIBC_VER} ]] && GCC_SRC_URI+=" $(gentoo_urls gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2)" - [[ -n ${PATCH_VER} ]] && GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2)" + [[ -n ${UCLIBC_VER} ]] && \ + GCC_SRC_URI+=" $(gentoo_urls gcc-${UCLIBC_GCC_VER}-uclibc-patches-${UCLIBC_VER}.tar.bz2)" + [[ -n ${PATCH_VER} ]] && \ + GCC_SRC_URI+=" $(gentoo_urls gcc-${PATCH_GCC_VER}-patches-${PATCH_VER}.tar.bz2)" # strawberry pie, Cappuccino and a Gauloises (it's a good thing) [[ -n ${PIE_VER} ]] && \ @@ -301,7 +304,8 @@ get_gcc_src_uri() { GCC_SRC_URI+=" $(gentoo_urls ${PIE_CORE})" # gcc minispec for the hardened gcc 4 compiler - [[ -n ${SPECS_VER} ]] && GCC_SRC_URI+=" $(gentoo_urls gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2)" + [[ -n ${SPECS_VER} ]] && \ + GCC_SRC_URI+=" $(gentoo_urls gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.bz2)" # gcc bounds checking patch if [[ -n ${HTB_VER} ]] ; then @@ -313,14 +317,13 @@ get_gcc_src_uri() { )" fi - [[ -n ${D_VER} ]] && GCC_SRC_URI+=" d? ( mirror://sourceforge/dgcc/gdc-${D_VER}-src.tar.bz2 )" + [[ -n ${D_VER} ]] && \ + GCC_SRC_URI+=" d? ( mirror://sourceforge/dgcc/gdc-${D_VER}-src.tar.bz2 )" - # >= gcc-4.3 uses ecj.jar and we only add gcj as a use flag under certain - # conditions - if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then - if tc_version_is_at_least "4.5" ; then + if in_iuse gcj ; then + if tc_version_is_at_least 4.5 ; then GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.5.jar )" - elif tc_version_is_at_least "4.3" ; then + elif tc_version_is_at_least 4.3 ; then GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.3.jar )" fi fi @@ -330,7 +333,6 @@ get_gcc_src_uri() { SRC_URI=$(get_gcc_src_uri) #---->> S + SRC_URI essentials >>---- - #---->> support checks <<---- # Grab a variable from the build system (taken from linux-info.eclass) @@ -404,7 +406,7 @@ want_pie() { want_minispecs() { if tc_version_is_at_least 4.3.2 && use hardened ; then if ! want_pie ; then - ewarn "PIE_VER or SPECS_VER is not defiend in the GCC ebuild." + ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild." elif use vanilla ; then ewarn "You will not get hardened features if you have the vanilla USE-flag." elif use nopie && use nossp ; then @@ -430,7 +432,6 @@ gcc-lang-supported() { [[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0 has $1 ${TOOLCHAIN_ALLOWED_LANGS} } - #----<< support checks >>---- #---->> specs + env.d logic <<---- @@ -517,6 +518,7 @@ create_gcc_env_entry() { MULTIOSDIRS="${mosdirs}" EOF } + setup_minispecs_gcc_build_specs() { # Setup the "build.specs" file for gcc 4.3 to use when building. if hardened_gcc_works pie ; then @@ -532,6 +534,7 @@ setup_minispecs_gcc_build_specs() { done export GCC_SPECS="${WORKDIR}"/build.specs } + copy_minispecs_gcc_specs() { # setup the hardenedno* specs files and the vanilla specs file. if hardened_gcc_works ; then @@ -548,7 +551,6 @@ copy_minispecs_gcc_specs() { doins "${WORKDIR}"/specs/*.specs || die "failed to install specs" # Build system specs file which, if it exists, must be a complete set of # specs as it completely and unconditionally overrides the builtin specs. - # For gcc 4.3 if ! tc_version_is_at_least 4.4 ; then $(XGCC) -dumpspecs > "${WORKDIR}"/specs/specs cat "${WORKDIR}"/build.specs >> "${WORKDIR}"/specs/specs @@ -561,10 +563,9 @@ copy_minispecs_gcc_specs() { #---->> pkg_* <<---- toolchain_pkg_setup() { if [[ -n ${PRERELEASE}${SNAPSHOT} || ${PV} == *9999* ]] && - [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] - then - die "Please \`export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1\` or define it in your make.conf if you want to use this version." \ - "This is to try and cut down on people filing bugs for a compiler we do not currently support." + [[ -z ${I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS} ]] ; then + die "Please \`export I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1\` or define it" \ + "in your make.conf if you want to use this version." fi # we dont want to use the installed compiler's specs to build gcc! @@ -593,10 +594,6 @@ toolchain_pkg_postinst() { ewarn "major versions (like 4.2 to 4.3):" ewarn "http://www.gentoo.org/doc/en/gcc-upgrading.xml" echo - fi - - if ! is_crosscompile ; then - # hack to prevent collisions between SLOTs # Clean up old paths rm -f "${ROOT}"/*/rcscripts/awk/fixlafiles.awk "${ROOT}"/sbin/fix_libtool_files.sh @@ -660,6 +657,7 @@ guess_patch_type_in_dir() { && EPATCH_SUFFIX="patch.bz2" \ || EPATCH_SUFFIX="patch" } + do_gcc_rename_java_bins() { # bug #139918 - conflict between gcc and java-config-2 for ownership of # /usr/bin/rmi{c,registry}. Done with mv & sed rather than a patch @@ -669,12 +667,12 @@ do_gcc_rename_java_bins() { # Kevin F. Quinn 2006-07-12 einfo "Renaming jdk executables rmic and rmiregistry to grmic and grmiregistry." # 1) Move the man files if present (missing prior to gcc-3.4) - for manfile in rmic rmiregistry; do + for manfile in rmic rmiregistry ; do [[ -f ${S}/gcc/doc/${manfile}.1 ]] || continue mv "${S}"/gcc/doc/${manfile}.1 "${S}"/gcc/doc/g${manfile}.1 done # 2) Fixup references in the docs if present (mission prior to gcc-3.4) - for jfile in gcc/doc/gcj.info gcc/doc/grmic.1 gcc/doc/grmiregistry.1 gcc/java/gcj.texi; do + for jfile in gcc/doc/gcj.info gcc/doc/grmic.1 gcc/doc/grmiregistry.1 gcc/java/gcj.texi ; do [[ -f ${S}/${jfile} ]] || continue sed -i -e 's:rmiregistry:grmiregistry:g' "${S}"/${jfile} || die "Failed to fixup file ${jfile} for rename to grmiregistry" @@ -684,7 +682,7 @@ do_gcc_rename_java_bins() { # 3) Fixup Makefiles to build the changed executable names # These are present in all 3.x versions, and are the important bit # to get gcc to build with the new names. - for jfile in libjava/Makefile.am libjava/Makefile.in gcc/java/Make-lang.in; do + for jfile in libjava/Makefile.am libjava/Makefile.in gcc/java/Make-lang.in ; do sed -i -e 's:rmiregistry:grmiregistry:g' "${S}"/${jfile} || die "Failed to fixup file ${jfile} for rename to grmiregistry" # Careful with rmic on these files; it's also the name of a directory @@ -694,8 +692,10 @@ do_gcc_rename_java_bins() { die "Failed to fixup file ${jfile} for rename to grmic" done } + toolchain_src_unpack() { - [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && die "Sorry, this version does not support uClibc" + [[ -z ${UCLIBC_VER} ]] && [[ ${CTARGET} == *-uclibc* ]] && \ + die "Sorry, this version does not support uClibc" if [[ ${PV} == *9999* ]]; then git-2_src_unpack @@ -749,8 +749,8 @@ toolchain_src_unpack() { fi setup_multilib_osdirnames - gcc_version_patch + if tc_version_is_at_least 4.1 ; then if [[ -n ${SNAPSHOT} || -n ${PRERELEASE} ]] ; then # BASE-VER must be a three-digit version number @@ -764,10 +764,10 @@ toolchain_src_unpack() { # >= gcc-4.3 doesn't bundle ecj.jar, so copy it if tc_version_is_at_least 4.3 && use gcj ; then - if tc_version_is_at_least "4.5" ; then + if tc_version_is_at_least 4.5 ; then einfo "Copying ecj-4.5.jar" cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die - elif tc_version_is_at_least "4.3" ; then + else einfo "Copying ecj-4.3.jar" cp -pPR "${DISTDIR}/ecj-4.3.jar" "${S}/ecj.jar" || die fi @@ -787,13 +787,12 @@ toolchain_src_unpack() { fi # Prevent libffi from being installed - if tc_version_is_at_least 3.0 ; then + if tc_version_is_at_least 3.0 && ! tc_version_is_at_least 4.8 ; then sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in || die fi # Fixup libtool to correctly generate .la files with portage - cd "${S}" elibtoolize --portage --shallow --no-uclibc gnuconfig_update @@ -801,6 +800,7 @@ toolchain_src_unpack() { # update configure files local f einfo "Fixing misc issues in configure files" + # TODO - check if we can drop this now that we don't gen info files tc_version_is_at_least 4.1 && epatch "${GCC_FILESDIR}"/gcc-configure-texinfo.patch for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do ebegin " Updating ${f/${S}\/} [LANG]" @@ -863,7 +863,7 @@ gcc-multilib-configure() { gcc-compiler-configure() { gcc-multilib-configure - if tc_version_is_at_least "4.0" ; then + if tc_version_is_at_least 4.0 ; then if in_iuse mudflap ; then confgcc+=( $(use_enable mudflap libmudflap) ) else @@ -882,7 +882,7 @@ gcc-compiler-configure() { confgcc+=( $(use_enable hardened esp) ) fi - if tc_version_is_at_least "4.2" ; then + if tc_version_is_at_least 4.2 ; then if in_iuse openmp ; then # Make sure target has pthreads support. #326757 #335883 # There shouldn't be a chicken&egg problem here as openmp won't @@ -912,7 +912,7 @@ gcc-compiler-configure() { # then --with-python-dir=/lib/python2.5/site-packages should be passed. # # This should translate into "/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}/python" - if tc_version_is_at_least "4.4" ; then + if tc_version_is_at_least 4.4 ; then confgcc+=( --with-python-dir=${DATAPATH/$PREFIX/}/python ) fi fi @@ -983,7 +983,7 @@ gcc-compiler-configure() { # Enable hardvfp if [[ $(tc-is-softfloat) == "no" ]] && \ [[ ${CTARGET} == armv[67]* ]] && \ - tc_version_is_at_least "4.5" + tc_version_is_at_least 4.5 then # Follow the new arm hardfp distro standard by default confgcc+=( --with-float=hard ) @@ -1027,7 +1027,7 @@ gcc-compiler-configure() { is_go && GCC_LANG+=",go" if is_objc || is_objcxx ; then GCC_LANG+=",objc" - if tc_version_is_at_least "4.0" ; then + if tc_version_is_at_least 4 ; then use objc-gc && confgcc+=( --enable-objc-gc ) fi is_objcxx && GCC_LANG+=",obj-c++" @@ -1083,28 +1083,28 @@ gcc_do_configure() { # gcc has fixed-point arithmetic support in 4.3 for mips targets that can # significantly increase compile time by several hours. This will allow # users to control this feature in the event they need the support. - tc_version_is_at_least "4.3" && confgcc+=( $(use_enable fixed-point) ) + tc_version_is_at_least 4.3 && confgcc+=( $(use_enable fixed-point) ) # graphite was added in 4.4 but we only support it in 4.6+ due to external # library issues. 4.6/4.7 uses cloog-ppl which is a fork of CLooG with a # PPL backend. 4.8+ uses upstream CLooG with the ISL backend. We install # cloog-ppl into a non-standard location to prevent collisions. - if tc_version_is_at_least "4.8" ; then + if tc_version_is_at_least 4.8 ; then confgcc+=( $(use_with graphite cloog) ) use graphite && confgcc+=( --disable-isl-version-check ) - elif tc_version_is_at_least "4.6" ; then + elif tc_version_is_at_least 4.6 ; then confgcc+=( $(use_with graphite cloog) ) confgcc+=( $(use_with graphite ppl) ) use graphite && confgcc+=( --with-cloog-include=/usr/include/cloog-ppl ) use graphite && confgcc+=( --disable-ppl-version-check ) - elif tc_version_is_at_least "4.4" ; then + elif tc_version_is_at_least 4.4 ; then confgcc+=( --without-cloog ) confgcc+=( --without-ppl ) fi - if tc_version_is_at_least "4.6" ; then + if tc_version_is_at_least 4.6 ; then confgcc+=( $(use_enable lto) ) - elif tc_version_is_at_least "4.5" ; then + elif tc_version_is_at_least 4.5 ; then confgcc+=( --disable-lto ) fi @@ -1225,6 +1225,7 @@ gcc_do_configure() { confgcc+=( --enable-__cxa_atexit ) ;; esac + tc_version_is_at_least 3.4 || confgcc+=( --disable-libunwind-exceptions ) # if the target can do biarch (-m32/-m64), enable it. overhead should @@ -1240,6 +1241,7 @@ gcc_do_configure() { --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion="${BRANDING_GCC_PKGVERSION}" ) + confgcc+=( "$@" ${EXTRA_ECONF} @@ -1376,66 +1378,75 @@ gcc_do_make() { popd >/dev/null } -# This is mostly a stub function to be overwritten in an ebuild gcc_do_filter_flags() { - strip-flags - # In general gcc does not like optimization, and add -O2 where + # In general gcc does not like optimization, and adds -O2 where # it is safe. This is especially true for gcc 3.3 + 3.4 replace-flags -O? -O2 - # ... sure, why not? - strip-unsupported-flags - # dont want to funk ourselves filter-flags '-mabi*' -m31 -m32 -m64 case ${GCC_BRANCH_VER} in - 3.2|3.3) - replace-cpu-flags k8 athlon64 opteron i686 x86-64 - replace-cpu-flags pentium-m pentium3m pentium3 - case $(tc-arch) in - amd64|x86) filter-flags '-mtune=*' ;; - # in gcc 3.3 there is a bug on ppc64 where if -mcpu is used, - # the compiler wrongly assumes a 32bit target - ppc64) filter-flags "-mcpu=*";; - esac - case $(tc-arch) in - amd64) replace-cpu-flags core2 nocona;; - x86) replace-cpu-flags core2 prescott;; - esac + 3.2|3.3) + replace-cpu-flags k8 athlon64 opteron x86-64 + replace-cpu-flags pentium-m pentium3m pentium3 + replace-cpu-flags G3 750 + replace-cpu-flags G4 7400 + replace-cpu-flags G5 7400 + + case $(tc-arch) in + amd64) + replace-cpu-flags core2 nocona + filter-flags '-mtune=*' + ;; + x86) + replace-cpu-flags core2 prescott + filter-flags '-mtune=*' + ;; + esac - replace-cpu-flags G3 750 - replace-cpu-flags G4 7400 - replace-cpu-flags G5 7400 - - # XXX: should add a sed or something to query all supported flags - # from the gcc source and trim everything else ... - filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs - filter-flags -f{no-,}stack-protector{,-all} - filter-flags -fvisibility-inlines-hidden -fvisibility=hidden - ;; - 3.4|4.*) - case $(tc-arch) in - x86|amd64) filter-flags '-mcpu=*';; - *-macos) - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25127 - [[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \ - filter-flags '-mcpu=*' '-march=*' '-mtune=*' + # XXX: should add a sed or something to query all supported flags + # from the gcc source and trim everything else ... + filter-flags -f{no-,}unit-at-a-time -f{no-,}web -mno-tls-direct-seg-refs + filter-flags -f{no-,}stack-protector{,-all} + filter-flags -fvisibility-inlines-hidden -fvisibility=hidden + ;; + 3.4|4.*) + case $(tc-arch) in + amd64|x86) + filter-flags '-mcpu=*' + ;; + alpha) + # https://bugs.gentoo.org/454426 + append-ldflags -Wl,--no-relax + ;; + *-macos) + # http://gcc.gnu.org/PR25127 + [[ ${GCC_BRANCH_VER} == 4.0 || ${GCC_BRANCH_VER} == 4.1 ]] && \ + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + ;; + esac ;; - esac - ;; esac case ${GCC_BRANCH_VER} in - 4.6) - # https://bugs.gentoo.org/411333 - # https://bugs.gentoo.org/466454 - replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686 - ;; + 4.6) + case $(tc-arch) in + amd64|x86) + # https://bugs.gentoo.org/411333 + # https://bugs.gentoo.org/466454 + replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686 + ;; + esac + ;; esac + strip-unsupported-flags + + # TODO: Move to gcc_do_make() + # CFLAGS logic (verified with 3.4.3): # CFLAGS: # This conflicts when creating a crosscompiler, so set to a sane @@ -1508,28 +1519,31 @@ toolchain_src_test() { } toolchain_src_install() { - local x= - cd "${WORKDIR}"/build + # Do allow symlinks in private gcc include dir as this can break the build find gcc/include*/ -type l -delete + # Copy over the info pages. We disabled their generation earlier, but the # build system only expects to install out of the build dir, not the source. #464008 mkdir -p gcc/doc + local x= for x in "${S}"/gcc/doc/*.info* ; do if [[ -f ${x} ]] ; then cp "${x}" gcc/doc/ || die fi done + # Remove generated headers, as they can cause things to break # (ncurses, openssl, etc). while read x ; do grep -q 'It has been auto-edited by fixincludes from' "${x}" \ && rm -f "${x}" done < <(find gcc/include*/ -name '*.h') + # Do the 'make install' from the build directory - S=${WORKDIR}/build \ - emake -j1 DESTDIR="${D}" install || die + S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die + # Punt some tools which are really only useful while building gcc find "${D}" -name install-tools -prune -type d -exec rm -rf "{}" \; # This one comes with binutils @@ -1549,15 +1563,12 @@ toolchain_src_install() { create_gcc_env_entry # Setup the gcc_env_entry for hardened gcc 4 with minispecs - if want_minispecs ; then - copy_minispecs_gcc_specs - fi + want_minispecs && copy_minispecs_gcc_specs + # Make sure we dont have stuff lying around that # can nuke multiple versions of gcc - gcc_slot_java - # These should be symlinks dodir /usr/bin cd "${D}"${BINPATH} # Ugh: we really need to auto-detect this list. @@ -1573,8 +1584,7 @@ toolchain_src_install() { dosym ${BINPATH}/${CTARGET}-${x} \ /usr/bin/${x}-${GCC_CONFIG_VER} fi - - # Create version-ed symlinks + # Create versioned symlinks dosym ${BINPATH}/${CTARGET}-${x} \ /usr/bin/${CTARGET}-${x}-${GCC_CONFIG_VER} fi @@ -1753,7 +1763,6 @@ gcc_movelibs() { done find "${D}" -type d | xargs rmdir >& /dev/null } - #----<< src_* >>---- #---->> unorganized crap in need of refactoring follows @@ -1838,7 +1847,7 @@ do_gcc_PIE_patches() { use vanilla && return 0 - if tc_version_is_at_least 4.3.2; then + if tc_version_is_at_least 4.3.2 ; then guess_patch_type_in_dir "${WORKDIR}"/piepatch/ EPATCH_MULTI_MSG="Applying pie patches ..." \ epatch "${WORKDIR}"/piepatch/ @@ -1862,7 +1871,7 @@ do_gcc_PIE_patches() { -e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \ -i "${S}"/gcc/Makefile.in # Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7 - if tc_version_is_at_least 4.7.0 ; then + if tc_version_is_at_least 4.7 ; then sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \ -e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \ -i "${S}"/gcc/Makefile.in @@ -1935,15 +1944,13 @@ do_gcc_config() { ewarn "due to enabling/disabling hardened or switching to a version" ewarn "of gcc that doesnt create multiple specs files. The default" ewarn "config will be used, and the previous preference forgotten." - ebeep - epause use_specs="" fi gcc-config ${CTARGET}-${GCC_CONFIG_VER}${use_specs} } -# This function allows us to gentoo-ize gcc's version number and bugzilla +# This function allows us to gentoo-ize GCCs version number and bugzilla # URL without needing to use patches. gcc_version_patch() { # gcc-4.3+ has configure flags (whoo!) @@ -2097,9 +2104,3 @@ is_treelang() { #use treelang return 0 } - -# should kill these off once all the ebuilds are migrated -gcc_pkg_setup() { toolchain_pkg_setup ; } -gcc_src_unpack() { toolchain_src_unpack ; } -gcc_src_compile() { toolchain_src_compile ; } -gcc_src_test() { toolchain_src_test ; } 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 8641f44601..3032b9718f 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,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/udev.eclass,v 1.9 2013/01/29 15:33:37 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/udev.eclass,v 1.11 2013/03/24 15:52:01 ssuominen Exp $ # @ECLASS: udev.eclass # @MAINTAINER: @@ -98,3 +98,18 @@ udev_newrules() { newins "${@}" ) } + +# @FUNCTION: udev_reload +# @DESCRIPTION: +# Run udevadm control --reload to refresh rules and databases +udev_reload() { + if [[ ${ROOT} != "" ]] && [[ ${ROOT} != "/" ]]; then + return 0 + fi + + if [[ -d ${ROOT}/run/udev ]]; then + ebegin "Running udev control --reload for reloading rules and databases" + udevadm control --reload + eend $? + fi +} diff --git a/sdk_container/src/third_party/portage-stable/eclass/unipatch-001.eclass b/sdk_container/src/third_party/portage-stable/eclass/unipatch-001.eclass deleted file mode 100644 index 905a79ace1..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/unipatch-001.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/unipatch-001.eclass,v 1.7 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 9f457356e0..896250f06e 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vala.eclass,v 1.5 2012/12/02 11:26:07 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/vala.eclass,v 1.6 2013/03/29 12:27:04 pacho Exp $ # @ECLASS: vala.eclass # @MAINTAINER: @@ -32,7 +32,7 @@ VALA_MIN_API_VERSION=${VALA_MIN_API_VERSION:-0.10} # @ECLASS-VARIABLE: VALA_MAX_API_VERSION # @DESCRIPTION: # Maximum vala API version (e.g. 0.18). -VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.18} +VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.20} # @ECLASS-VARIABLE: VALA_USE_DEPEND # @DEFAULT_UNSET 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 a1bc5e2578..8c144ad1e4 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,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vcs-snapshot.eclass,v 1.5 2012/09/27 16:35:42 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/vcs-snapshot.eclass,v 1.7 2013/07/25 07:51:16 mgorny Exp $ # @ECLASS: vcs-snapshot.eclass # @MAINTAINER: @@ -42,7 +42,15 @@ esac EXPORT_FUNCTIONS src_unpack +# @FUNCTION: vcs-snapshot_src_unpack +# @DESCRIPTION: +# Extract all the archives from ${A}. The .tar, .tar.gz, .tar.bz2 +# and .tar.xz archives will be unpacked to directories matching their +# local names. Other archive types will be passed down to regular +# unpack. vcs-snapshot_src_unpack() { + debug-print-function ${FUNCNAME} "${@}" + local f for f in ${A} @@ -51,6 +59,8 @@ vcs-snapshot_src_unpack() { *.tar|*.tar.gz|*.tar.bz2|*.tar.xz) local destdir=${WORKDIR}/${f%.tar*} + debug-print "${FUNCNAME}: unpacking ${f} to ${destdir}" + # XXX: check whether the directory structure inside is # fine? i.e. if the tarball has actually a parent dir. mkdir "${destdir}" || die @@ -58,6 +68,8 @@ vcs-snapshot_src_unpack() { -f "${DISTDIR}/${f}" || die ;; *) + debug-print "${FUNCNAME}: falling back to unpack for ${f}" + # fall back to the default method unpack "${f}" ;; 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 49996b0abe..decbd98962 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin-2.eclass,v 1.21 2013/01/27 13:32:44 hd_brummy Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin-2.eclass,v 1.24 2013/04/13 19:07:31 hd_brummy Exp $ # @ECLASS: vdr-plugin-2.eclass # @MAINTAINER: @@ -104,31 +104,6 @@ create_plugindb_file() { } > "${D}/${DB_FILE}" } -# Delete files created outside of vdr-plugin-2.eclass -# vdrplugin-rebuild.ebuild converted plugindb and files are -# not deleted by portage itself - should only be needed as -# long as not every system has switched over to -# vdrplugin-rebuild-0.2 / gentoo-vdr-scripts-0.4.2 -delete_orphan_plugindb_file() { - #elog Testing for orphaned plugindb file - local NEW_VDRPLUGINDB_DIR=/usr/share/vdr/vdrplugin-rebuild/ - local DB_FILE="${ROOT}/${NEW_VDRPLUGINDB_DIR}/${CATEGORY}-${PF}" - - # file exists - [[ -f ${DB_FILE} ]] || return - - # will portage handle the file itself - if grep -q CREATOR=ECLASS "${DB_FILE}"; then - #elog file owned by eclass - don't touch it - return - fi - - elog "Removing orphaned plugindb-file." - elog "\t#rm ${DB_FILE}" - rm "${DB_FILE}" -} - - create_header_checksum_file() { # Danger: Not using $ROOT here, as compile will also not use it !!! # If vdr in $ROOT and / differ, plugins will not run anyway @@ -212,12 +187,6 @@ vdr_patchmakefile() { -e '/^CXXFLAGS[[:space:]]*=/s/=/?=/' \ -e '/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:' - # Do not use {C,CXX}FLAGS from pkg-config vdr.pc, >=media-video/vdr-1.7.34 - # we do not have the chance to overwrite it with *.eclass - sed -e "/^export[[:space:]]*CFLAGS[[:space:]]*=/s/=/?=/" \ - -e "/^export[[:space:]]*CXXFLAGS[[:space:]]*=/s/=/?=/" \ - -i Makefile - # Disabling file stripping, the package manager takes care of it sed -i Makefile \ -e '/@.*strip/d' \ @@ -248,7 +217,7 @@ gettext_missing() { } detect_po_dir() { -# Some plugins have po/ in a subdir +# Some plugins have /po in a subdir # set PO_SUBDIR in .ebuild # i.e media-plugins/vdr-streamdev # PO_SUBDIR="client server" @@ -258,18 +227,12 @@ detect_po_dir() { local f pofile_dir=( ${po_dir} ${po_subdir[*]} ) - - # maintainer check - if [[ ! -d ${pofile_dir[*]} ]]; then - dev_check "po dir not found? May be in subdir? \n" - fi } linguas_support() { # Patching Makefile for linguas support. # Only locales, enabled through the LINGUAS (make.conf) variable will be # "compiled" and installed. -# einfo "Patching for Linguas support" einfo "available Languages for ${P} are:" @@ -277,7 +240,6 @@ linguas_support() { detect_po_dir for f in ${pofile_dir[*]}; do - PLUGIN_LINGUAS=$( ls ${f}/po --ignore="*.pot" | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' ) einfo "LINGUAS=\"${PLUGIN_LINGUAS}\"" @@ -338,35 +300,10 @@ remove_i18n_include() { -e "s:^#include[[:space:]]*\"i18n.h\"://:" done - dev_check "removed i18n.h for ${@}" + dev_check "removed i18n.h include in ${@}" } # end new vdr-plugin-2.eclass content -# ToDo: we don't support included plugins from vdr source for install in this way !!! -# obsolet, remove it, later... -#vdr-plugin-2_copy_source_tree() { -# pushd . >/dev/null -# cp -r "${S}" "${T}"/source-tree -# cd "${T}"/source-tree -# cp "${WORKDIR}"/Makefile.before Makefile -# # TODO: Fix this, maybe no longer needed -# sed -i Makefile \ -# -e "s:^DVBDIR.*$:DVBDIR = ${DVB_INCLUDE_DIR}:" \ -# -e 's:^CXXFLAGS:#CXXFLAGS:' \ -# -e 's:-I$(DVBDIR)/include:-I$(DVBDIR):' \ -# -e 's:-I$(VDRDIR) -I$(DVBDIR):-I$(DVBDIR) -I$(VDRDIR):' -# popd >/dev/null -#} - -#vdr-plugin-2_install_source_tree() { -# einfo "Installing sources" -# destdir="${VDRSOURCE_DIR}/vdr-${VDRVERSION}/PLUGINS/src/${VDRPLUGIN}" -# insinto "${destdir}-${PV}" -# doins -r "${T}"/source-tree/* -# -# dosym "${VDRPLUGIN}-${PV}" "${destdir}" -#} - vdr-plugin-2_print_enable_command() { local p_name c=0 l="" for p_name in ${vdr_plugin_list}; do @@ -443,6 +380,7 @@ vdr-plugin-2_pkg_setup() { fi if has_version ">=media-video/vdr-1.7.34"; then + VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) APIVERSION=$(pkg-config --variable=apiversion vdr) else VDRVERSION=$(awk -F'"' '/define VDRVERSION/ {print $2}' "${VDR_INCLUDE_DIR}"/config.h) @@ -524,14 +462,10 @@ vdr-plugin-2_src_prepare() { } vdr-plugin-2_src_compile() { - [ -z "$1" ] && vdr-plugin-2_src_compile copy_source compile + [ -z "$1" ] && vdr-plugin-2_src_compile compile while [ "$1" ]; do case "$1" in - copy_source) - [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin-2_copy_source_tree - dev_check "ToDo: obsoleted handling, vdr-plugin-2_copy_source_tree" - ;; compile) if [[ ! -f ${WORKDIR}/.vdr-plugin_makefile_patched ]]; then eerror "Wrong use of vdr-plugin-2.eclass." @@ -567,8 +501,6 @@ vdr-plugin-2_src_install() { die "vdr-plugin-2_src_install not called!" fi -# ToDo: obsolet, remove it, later... -# [[ -n "${VDRSOURCE_DIR}" ]] && vdr-plugin-2_install_source_tree cd "${WORKDIR}" if [[ -n ${VDR_MAINTAINER_MODE} ]]; then @@ -598,14 +530,12 @@ vdr-plugin-2_src_install() { einstall ${BUILD_PARAMS} \ ${BUILD_TARGETS} \ TMPDIR="${T}" \ - LOCDIR="${TMP_LOCALE_DIR}" \ - LIBDIR="${S}" \ DESTDIR="${D}" \ || die "einstall (makefile target) failed" - fi - - insinto "${VDR_PLUGIN_DIR}" - doins libvdr-*.so.* + else + insinto "${VDR_PLUGIN_DIR}" + doins libvdr-*.so.* + fi if [[ -d ${TMP_LOCALE_DIR} ]]; then einfo "Installing locales" @@ -618,7 +548,7 @@ vdr-plugin-2_src_install() { done fi - cd "${S}" + cd "${D}/usr/$(get_libdir)/vdr/plugins" # create list of all created plugin libs vdr_plugin_list="" @@ -629,6 +559,8 @@ vdr-plugin-2_src_install() { vdr_plugin_list="${vdr_plugin_list} ${p_name}" done + cd "${S}" + create_header_checksum_file ${vdr_plugin_list} create_plugindb_file ${vdr_plugin_list} @@ -664,7 +596,7 @@ vdr-plugin-2_pkg_postinst() { } vdr-plugin-2_pkg_postrm() { - delete_orphan_plugindb_file +: } vdr-plugin-2_pkg_config() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin.eclass b/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin.eclass index 61bed8e424..32455e61b7 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vdr-plugin.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.90 2012/09/27 16:35:42 axs Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/vdr-plugin.eclass,v 1.91 2013/02/18 09:43:18 hd_brummy Exp $ # @ECLASS: vdr-plugin.eclass # @MAINTAINER: @@ -441,6 +441,11 @@ vdr-plugin_src_util() { } vdr-plugin_src_unpack() { + # mark vdr-plugin.eclass deprecated + eerror "\n\tvdr-plugin.eclass is deprecated" + eerror "\tMaintainer: please fix your ebuilds to use" + eerror "\tvdr-plugin-2.eclass \n" + if [[ -z ${VDR_INCLUDE_DIR} ]]; then eerror "Wrong use of vdr-plugin.eclass." eerror "An ebuild for a vdr-plugin will not work without calling vdr-plugin_pkg_setup." 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 01e070b3e9..f24063aa74 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vim-plugin.eclass,v 1.34 2013/01/27 23:59:35 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/vim-plugin.eclass,v 1.37 2013/06/17 07:57:30 radhermit Exp $ # # This eclass simplifies installation of app-vim plugins into # /usr/share/vim/vimfiles. This is a version-independent directory @@ -10,14 +10,15 @@ inherit vim-doc EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm -VIM_PLUGIN_VIM_VERSION="${VIM_PLUGIN_VIM_VERSION:-7.0}" +VIM_PLUGIN_VIM_VERSION="${VIM_PLUGIN_VIM_VERSION:-7.3}" -IUSE="" DEPEND="|| ( >=app-editors/vim-${VIM_PLUGIN_VIM_VERSION} >=app-editors/gvim-${VIM_PLUGIN_VIM_VERSION} )" RDEPEND="${DEPEND}" -SRC_URI="mirror://gentoo/${P}.tar.bz2 - http://dev.gentoo.org/~radhermit/vim/${P}.tar.bz2" +if [[ ${PV} != 9999* ]] ; then + SRC_URI="mirror://gentoo/${P}.tar.bz2 + http://dev.gentoo.org/~radhermit/vim/${P}.tar.bz2" +fi SLOT="0" vim-plugin_src_install() { diff --git a/sdk_container/src/third_party/portage-stable/eclass/vim.eclass b/sdk_container/src/third_party/portage-stable/eclass/vim.eclass index fd5246fc2c..77451d0b6e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/vim.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/vim.eclass @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vim.eclass,v 1.205 2012/10/24 18:55:30 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/vim.eclass,v 1.220 2013/06/11 09:25:45 radhermit Exp $ # Authors: # Jim Ramsay @@ -10,9 +10,7 @@ # Ciaran McCreesh # Mike Kelly -# This eclass handles vim, gvim and vim-core. Support for -cvs ebuilds is -# included in the eclass, since it's rather easy to do, but there are no -# official vim*-cvs ebuilds in the tree. +# This eclass handles vim, gvim and vim-core. # gvim's GUI preference order is as follows: # aqua CARBON (not tested) @@ -22,51 +20,54 @@ # -aqua -gtk -motif neXt NEXTAW # -aqua -gtk -motif -neXt ATHENA -# Support -cvs ebuilds, even though they're not in the official tree. -MY_PN=${PN%-cvs} - -if [[ ${MY_PN} != "vim-core" ]] ; then - # vim supports python-2 only - PYTHON_DEPEND="python? 2" - PYTHON_USE_WITH_OPT="python" - PYTHON_USE_WITH="threads" -fi -inherit eutils vim-doc flag-o-matic versionator fdo-mime bash-completion-r1 prefix python - -HOMEPAGE="http://www.vim.org/" -SLOT="0" -LICENSE="vim" - # Check for EAPI functions we need: case "${EAPI:-0}" in 0|1) die "vim.eclass no longer supports EAPI 0 or 1" ;; 2|3) - HAS_SRC_PREPARE=1 - HAS_USE_DEP=1 + ;; + 5) + HAS_PYTHON_R1=1 ;; *) die "Unknown EAPI ${EAPI}" ;; esac -if [[ ${PN##*-} == "cvs" ]] ; then - inherit cvs +if [[ ${PN} != "vim-core" ]] ; then + if [[ ${HAS_PYTHON_R1} ]]; then + PYTHON_REQ_USE=threads + inherit python-single-r1 + else + # vim supports python-2 only + PYTHON_DEPEND="python? 2" + PYTHON_USE_WITH_OPT="python" + PYTHON_USE_WITH="threads" + inherit python + fi fi +inherit eutils vim-doc flag-o-matic versionator fdo-mime bash-completion-r1 prefix + +if [[ ${PV} == 9999* ]] ; then + inherit mercurial + EHG_REPO_URI="https://vim.googlecode.com/hg/" + EHG_PROJECT="vim" +fi + +HOMEPAGE="http://www.vim.org/" +SLOT="0" +LICENSE="vim" + IUSE="nls acl" -TO_EXPORT="pkg_setup src_compile src_install src_test pkg_postinst pkg_postrm" -if [[ $HAS_SRC_PREPARE ]]; then - TO_EXPORT="${TO_EXPORT} src_prepare src_configure" -else - TO_EXPORT="${TO_EXPORT} src_unpack" -fi -EXPORT_FUNCTIONS ${TO_EXPORT} +EXPORT_FUNCTIONS pkg_setup src_prepare src_compile src_configure \ + src_install src_test pkg_postinst pkg_postrm DEPEND="${DEPEND} >=app-admin/eselect-vi-1.1 + sys-apps/gawk >=sys-apps/sed-4 sys-devel/autoconf >=sys-libs/ncurses-5.2-r2 @@ -76,12 +77,20 @@ RDEPEND="${RDEPEND} >=sys-libs/ncurses-5.2-r2 nls? ( virtual/libintl )" -if [[ ${MY_PN} == "vim-core" ]] ; then +if [[ ${PN} == "vim-core" ]] ; then IUSE="${IUSE} livecd" PDEPEND="!livecd? ( app-vim/gentoo-syntax )" else IUSE="${IUSE} cscope debug gpm perl python ruby" + if [[ ${HAS_PYTHON_R1} ]]; then + DEPEND="${DEPEND} + python? ( ${PYTHON_DEPS} )" + RDEPEND="${RDEPEND} + python? ( ${PYTHON_DEPS} )" + REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + fi + DEPEND="${DEPEND} cscope? ( dev-util/cscope ) gpm? ( >=sys-libs/gpm-1.19.3 ) @@ -106,7 +115,7 @@ else # RDEPEND="${RDEPEND} # mzscheme? ( dev-scheme/mzscheme )" - if [[ ${MY_PN} == vim ]] ; then + if [[ ${PN} == vim ]] ; then IUSE="${IUSE} X minimal vim-pager" DEPEND="${DEPEND} X? ( x11-libs/libXt x11-libs/libX11 @@ -117,7 +126,7 @@ else !minimal? ( ~app-editors/vim-core-${PV} dev-util/ctags ) !> "$c" ; done # conditionally make the manpager.sh script - if [[ ${MY_PN} == vim ]] && use vim-pager ; then + if [[ ${PN} == vim ]] && use vim-pager ; then cat < "${S}"/runtime/macros/manpager.sh #!/bin/sh sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \\ @@ -363,11 +348,6 @@ END fi } -vim_src_unpack() { - unpack ${A} - vim_src_prepare -} - vim_src_configure() { local myconf @@ -400,8 +380,8 @@ vim_src_configure() { [[ -e ${file} ]] && addwrite $file done - if [[ ${MY_PN} == "vim-core" ]] || - ( [[ ${MY_PN} == vim ]] && use minimal ); then + if [[ ${PN} == "vim-core" ]] || + ( [[ ${PN} == vim ]] && use minimal ); then myconf="--with-features=tiny \ --enable-gui=no \ --without-x \ @@ -416,18 +396,32 @@ vim_src_configure() { myconf="--with-features=huge \ --enable-multibyte" - myconf="${myconf} `use_enable cscope`" - myconf="${myconf} `use_enable gpm`" - myconf="${myconf} `use_enable perl perlinterp`" - myconf="${myconf} `use_enable python pythoninterp`" - myconf="${myconf} `use_enable ruby rubyinterp`" + myconf="${myconf} $(use_enable cscope)" + myconf="${myconf} $(use_enable gpm)" + myconf="${myconf} $(use_enable perl perlinterp)" + if [[ ${HAS_PYTHON_R1} ]]; then + if use python; then + if [[ ${EPYTHON} == python3* ]]; then + myconf="${myconf} --enable-python3interp" + export vi_cv_path_python3="${PYTHON}" + else + myconf="${myconf} --enable-pythoninterp" + export vi_cv_path_python="${PYTHON}" + fi + else + myconf="${myconf} --disable-pythoninterp --disable-python3interp" + fi + else + myconf="${myconf} $(use_enable python pythoninterp)" + fi + myconf="${myconf} $(use_enable ruby rubyinterp)" # tclinterp is broken; when you --enable-tclinterp flag, then # the following command never returns: # VIMINIT='let OS=system("uname -s")' vim # mzscheme support is currently broken. bug #91970 - #myconf="${myconf} `use_enable mzscheme mzschemeinterp`" - if [[ ${MY_PN} == gvim ]] ; then - myconf="${myconf} `use_enable netbeans`" + #myconf="${myconf} $(use_enable mzscheme mzschemeinterp)" + if [[ ${PN} == gvim ]] ; then + myconf="${myconf} $(use_enable netbeans)" fi # --with-features=huge forces on cscope even if we --disable it. We need @@ -437,12 +431,12 @@ vim_src_configure() { die "couldn't disable cscope" fi - if [[ ${MY_PN} == vim ]] ; then + if [[ ${PN} == vim ]] ; then # don't test USE=X here ... see bug #19115 # but need to provide a way to link against X ... see bug #20093 - myconf="${myconf} --enable-gui=no --disable-darwin `use_with X x`" + myconf="${myconf} --enable-gui=no --disable-darwin $(use_with X x)" - elif [[ ${MY_PN} == gvim ]] ; then + elif [[ ${PN} == gvim ]] ; then myconf="${myconf} --with-vim-name=gvim --with-x" echo ; echo @@ -471,20 +465,16 @@ vim_src_configure() { echo ; echo else - die "vim.eclass doesn't understand MY_PN=${MY_PN}" + die "vim.eclass doesn't understand PN=${PN}" fi fi - if [[ ${MY_PN} == vim ]] && use minimal ; then + if [[ ${PN} == vim ]] && use minimal ; then myconf="${myconf} --disable-nls --disable-multibyte --disable-acl" else - myconf="${myconf} `use_enable nls` `use_enable acl`" + myconf="${myconf} $(use_enable nls) $(use_enable acl)" fi - # Note: If USE=gpm, then ncurses will still be required. See bug #93970 - # for the reasons behind the USE flag change. - myconf="${myconf} --with-tlib=curses" - myconf="${myconf} --disable-selinux" # Let Portage do the stripping. Some people like that. @@ -493,7 +483,7 @@ vim_src_configure() { # Keep Gentoo Prefix env contained within the EPREFIX use prefix && myconf="${myconf} --without-local-dir" - if [[ ${MY_PN} == "*vim" ]] ; then + if [[ ${PN} == "*vim" ]] ; then if [[ ${CHOST} == *-interix* ]]; then # avoid finding of this function, to avoid having to patch either # configure or the source, which would be much more hackish. @@ -507,12 +497,10 @@ vim_src_configure() { } vim_src_compile() { - has src_configure ${TO_EXPORT} || vim_src_configure - # The following allows emake to be used emake -j1 -C src auto/osdef.h objects || die "make failed" - if [[ ${MY_PN} == "vim-core" ]] ; then + if [[ ${PN} == "vim-core" ]] ; then emake tools || die "emake tools failed" rm -f src/vim else @@ -532,7 +520,7 @@ vim_src_install() { has "${EAPI:-0}" 0 1 2 && use !prefix && ED="${D}" local vimfiles=/usr/share/vim/vim${VIM_VERSION/.} - if [[ ${MY_PN} == "vim-core" ]] ; then + if [[ ${PN} == "vim-core" ]] ; then dodir /usr/{bin,share/{man/man1,vim}} cd src || die "cd src failed" make \ @@ -585,7 +573,7 @@ vim_src_install() { # exist. rm "${ED}${vimfiles}"/tools/{vimspell.sh,tcltags} 2>/dev/null - elif [[ ${MY_PN} == gvim ]] ; then + elif [[ ${PN} == gvim ]] ; then dobin src/gvim dosym gvim /usr/bin/gvimdiff dosym gvim /usr/bin/evim @@ -593,9 +581,11 @@ vim_src_install() { dosym gvim /usr/bin/gview dosym gvim /usr/bin/rgvim dosym gvim /usr/bin/rgview - dosym vim.1.gz /usr/share/man/man1/gvim.1.gz - dosym vim.1.gz /usr/share/man/man1/gview.1.gz - dosym vimdiff.1.gz /usr/share/man/man1/gvimdiff.1.gz + + dodir /usr/share/man/man1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gvim.1 + echo ".so vim.1" > "${ED}"/usr/share/man/man1/gview.1 + echo ".so vimdiff.1" > "${ED}"/usr/share/man/man1/gvimdiff.1 insinto /etc/vim newins "${FILESDIR}"/gvimrc${GVIMRC_FILE_SUFFIX} gvimrc @@ -623,10 +613,10 @@ vim_src_install() { fi # bash completion script, bug #79018. - if [[ ${MY_PN} == "vim-core" ]] ; then + if [[ ${PN} == "vim-core" ]] ; then newbashcomp "${FILESDIR}"/xxd-completion xxd else - newbashcomp "${FILESDIR}"/${MY_PN}-completion ${MY_PN} + newbashcomp "${FILESDIR}"/${PN}-completion ${PN} fi # We shouldn't be installing the ex or view man page symlinks, as they # are managed by eselect-vi @@ -674,11 +664,11 @@ vim_pkg_postinst() { update_vim_helptags # Update fdo mime stuff, bug #78394 - if [[ ${MY_PN} == gvim ]] ; then + if [[ ${PN} == gvim ]] ; then fdo-mime_mime_database_update fi - if [[ ${MY_PN} == vim ]] ; then + if [[ ${PN} == vim ]] ; then if use X; then echo elog "The 'X' USE flag enables vim <-> X communication, like" @@ -697,33 +687,15 @@ vim_pkg_postinst() { echo ewarn "Note that the English word lists are no longer installed by" ewarn "default." + echo - if [[ ${MY_PN} != "vim-core" ]] ; then + if [[ ${PN} != "vim-core" ]] ; then echo elog "To see what's new in this release, use :help version${VIM_VERSION/.*/}.txt" fi - # Warn about VIMRUNTIME - if [ -n "$VIMRUNTIME" -a "${VIMRUNTIME##*/vim}" != "${VIM_VERSION/./}" ] ; then - echo - ewarn "WARNING: You have VIMRUNTIME set in your environment from an old" - ewarn "installation. You will need to either unset VIMRUNTIME in each" - ewarn "terminal, or log out completely and back in. This problem won't" - ewarn "happen again since the ebuild no longer sets VIMRUNTIME." - fi - - # Scream loudly if the user is using a -cvs ebuild - if [[ -z "${PN/*-cvs/}" ]] ; then - ewarn - ewarn "You are using a -cvs ebuild. Be warned that this is not" - ewarn "officially supported and may not work." - ebeep 5 - fi - - echo - # Make convenience symlinks - if [[ ${MY_PN} != "vim-core" ]] ; then + if [[ ${PN} != "vim-core" ]] ; then # But only for vim/gvim, bug #252724 update_vim_symlinks fi @@ -734,20 +706,20 @@ vim_pkg_postrm() { update_vim_helptags # Make convenience symlinks - if [[ ${MY_PN} != "vim-core" ]] ; then + if [[ ${PN} != "vim-core" ]] ; then # But only for vim/gvim, bug #252724 update_vim_symlinks fi # Update fdo mime stuff, bug #78394 - if [[ ${MY_PN} == gvim ]] ; then + if [[ ${PN} == gvim ]] ; then fdo-mime_mime_database_update fi } vim_src_test() { - if [[ ${MY_PN} == "vim-core" ]] ; then + if [[ ${PN} == "vim-core" ]] ; then einfo "No testing needs to be done for vim-core" return fi @@ -765,7 +737,7 @@ vim_src_test() { # Don't let vim talk to X unset DISPLAY - if [[ ${MY_PN} == gvim ]] ; then + if [[ ${PN} == gvim ]] ; then # Make gvim not try to connect to X. See :help gui-x11-start # in vim for how this evil trickery works. ln -s "${S}"/src/gvim "${S}"/src/testvim diff --git a/sdk_container/src/third_party/portage-stable/eclass/vmware-mod.eclass b/sdk_container/src/third_party/portage-stable/eclass/vmware-mod.eclass deleted file mode 100644 index 8a5a315a58..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/vmware-mod.eclass +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vmware-mod.eclass,v 1.18 2009/01/10 12:26:04 ikelos Exp $ - - -# Ensure vmware comes before linux-mod since we want linux-mod's pkg_preinst and -# pkg_postinst, along with our own pkg_setup, src_unpack and src_compile -inherit flag-o-matic eutils vmware linux-mod - -DESCRIPTION="Modules for Vmware Programs" -HOMEPAGE="http://www.vmware.com/" -SRC_URI="http://platan.vc.cvut.cz/ftp/pub/vmware/${ANY_ANY}.tar.gz - http://platan.vc.cvut.cz/ftp/pub/vmware/obsolete/${ANY_ANY}.tar.gz - http://knihovny.cvut.cz/ftp/pub/vmware/${ANY_ANY}.tar.gz - http://knihovny.cvut.cz/ftp/pub/vmware/obsolete/${ANY_ANY}.tar.gz - http://ftp.cvut.cz/vmware/${ANY_ANY}.tar.gz - http://ftp.cvut.cz/vmware/obsolete/${ANY_ANY}.tar.gz" -LICENSE="vmware" -SLOT="0" -IUSE="" - -# Provide vaguely sensible defaults -[[ -z "${VMWARE_VER}" ]] && VMWARE_VER="VME_V55" -VMWARE_MOD_DIR="${ANY_ANY}" - -S="${WORKDIR}" - -# We needn't restrict this since it was only required to read -# /etc/vmware/locations to determine the version (which is now fixed by -# VMWARE_VER) -# RESTRICT="userpriv" - -EXPORT_FUNCTIONS pkg_setup src_unpack src_install - -vmware-mod_pkg_setup() { - linux-mod_pkg_setup - # Must define VMWARE_VER to make, otherwise it'll try and run getversion.pl - BUILD_TARGETS="auto-build VMWARE_VER=${VMWARE_VER} KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}" - - vmware_determine_product - # We create a group for VMware users due to bugs #104480 and #106170 - enewgroup "${VMWARE_GROUP}" - - if [[ -z "${VMWARE_MODULE_LIST}" ]]; then - case ${product} in - vmware-tools) - VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmxnet" - [ "$shortname" != "server-tools" ] && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmhgfs vmmemctl" - use amd64 || VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmdesched" - ;; - *) - VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmmon vmnet" - ;; - esac - fi - - filter-flags -mfpmath=sse - - for mod in ${VMWARE_MODULE_LIST}; do - MODULE_NAMES="${MODULE_NAMES} - ${mod}(misc:${S}/${mod}-only)" - done -} - -vmware-mod_src_unpack() { - case ${product} in - vmware-tools) - # Do nothing, this should be dealt with by vmware.eclass unpack - ;; - *) - unpack ${A} - ;; - esac - - for mod in ${VMWARE_MODULE_LIST}; do - cd "${S}" - unpack ./"${VMWARE_MOD_DIR}"/${mod}.tar - cd "${S}"/${mod}-only - # Ensure it's not used - # rm getversion.pl - if [[ "${VMWARE_MOD_DIR}" = "${ANY_ANY}" ]] ; then - EPATCH_SUFFIX="patch" - epatch "${FILESDIR}"/patches - [[ -d "${FILESDIR}"/patches/${mod} ]] && epatch "${FILESDIR}"/patches/${mod} - fi - convert_to_m "${S}"/${mod}-only/Makefile - done -} - -vmware-mod_src_install() { - # this adds udev rules for vmmon* - if [[ -n "`echo ${VMWARE_MODULE_LIST} | grep vmmon`" ]]; - then - dodir /etc/udev/rules.d - echo 'KERNEL=="vmmon*", GROUP="'$VMWARE_GROUP'" MODE=660' >> "${D}/etc/udev/rules.d/60-vmware.rules" || die - echo 'KERNEL=="vmnet*", GROUP="'$VMWARE_GROUP'" MODE=660' >> "${D}/etc/udev/rules.d/60-vmware.rules" || die - fi - - linux-mod_src_install -} - -# Current VMWARE product mappings -# 'VME_TOT' = .0 -# 'VME_GSX1' = .1 -# 'VME_GSX2' = .2 -# 'VME_GSX251' = .3 -# 'VME_GSX25' = .4 -# 'VME_GSX32' = .5 -# 'VME_V3' = .6 -# 'VME_V32' = .7 -# 'VME_V321' = .8 -# 'VME_V4' = .9 -# 'VME_V45' = .10 -# 'VME_V452' = .11 -# 'VME_V5' = .12 -# 'VME_V55' = .13 -# 'VME_S1B1' = .14 -# 'VME_S1??' = .15 -# 'VME_V6' = .16 -# 'VME_V6' = .17 (6.0.2) -# 'VME_S2B1' = .18 diff --git a/sdk_container/src/third_party/portage-stable/eclass/vmware.eclass b/sdk_container/src/third_party/portage-stable/eclass/vmware.eclass deleted file mode 100644 index be7b68734c..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/vmware.eclass +++ /dev/null @@ -1,412 +0,0 @@ -# Copyright 1999-2006 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/vmware.eclass,v 1.33 2010/03/09 13:12:08 abcd Exp $ - -# This eclass is for all vmware-* ebuilds in the tree and should contain all -# of the common components across the multiple packages. - -# Only one package per "product" is allowed to be installed at any given time. - -inherit pax-utils eutils - -EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_setup src_install src_unpack pkg_postrm - -DEPEND="x11-misc/shared-mime-info" - -export ANY_ANY="vmware-any-any-update115" -#export TOOLS_ANY="vmware-tools-any-update1" -export VMWARE_GROUP=${VMWARE_GROUP:-vmware} -export VMWARE_INSTALL_DIR=/opt/${PN//-//} - -vmware_create_initd() { - dodir "${config_dir}"/init.d/rc{0,1,2,3,4,5,6}.d - # This is to fix a problem where if someone merges vmware and then - # before configuring vmware they upgrade or re-merge the vmware - # package which would rmdir the /etc/vmware/init.d/rc?.d directories. - keepdir "${config_dir}"/init.d/rc{0,1,2,3,4,5,6}.d -} - -vmware_run_questions() { - vmware_determine_product - # Questions: - einfo "Adding answers to ${config_dir}/locations" - locations="${D}${config_dir}/locations" - echo "answer BINDIR ${VMWARE_INSTALL_DIR}/bin" >> ${locations} - echo "answer LIBDIR ${VMWARE_INSTALL_DIR}/lib" >> ${locations} - echo "answer MANDIR ${VMWARE_INSTALL_DIR}/man" >> ${locations} - echo "answer DOCDIR ${VMWARE_INSTALL_DIR}/doc" >> ${locations} - if [ "${product}" == "vmware" -o "${product}" == "vmware-tools" ] - then - echo "answer SBINDIR ${VMWARE_INSTALL_DIR}/sbin" >> ${locations} - echo "answer RUN_CONFIGURATOR no" >> ${locations} - echo "answer INITDIR ${config_dir}/init.d" >> ${locations} - echo "answer INITSCRIPTSDIR ${config_dir}/init.d" >> ${locations} - fi -} - -vmware_determine_product() { - # Set the product category, and the category options - shortname=$(echo ${PN} | cut -d- -f2-) - case "${shortname}" in - workstation|server|player) - product="vmware" - config_program="vmware-config.pl" - ;; - server-console|esx-console|gsx-console) - product="vmware-console" - config_program="vmware-config-console.pl" - ;; - workstation-tools|esx-tools|gsx-tools|server-tools) - product="vmware-tools" - config_program="vmware-config-tools.pl" - ;; - *) - product="unknown" - ;; - esac - config_dir="/etc/${product}" - - # Set per package options - case "${shortname}" in - workstation) - FULL_NAME="Workstation" - ;; - player) - FULL_NAME="Player" - ;; - server) - FULL_NAME="Server" - ;; - server-console) - FULL_NAME="Server Console" - config_program="vmware-config-server-console.pl" - config_dir="/etc/${PN}" - ;; - esx-console) - FULL_NAME="ESX Console" - ;; - esac -} - -vmware_pkg_setup() { - vmware_determine_product -} - -vmware_src_unpack() { - vmware_determine_product - case "${product}" in - vmware-tools) - # We grab our tarball from "CD" - einfo "You will need ${TARBALL} from the VMware installation." - einfo "Select VM->Install VMware Tools from VMware's menu." - cdrom_get_cds ${TARBALL} - ;; - esac - # If there is anything to unpack, at all, then we should be using MY_P. - if [[ -n "${MY_P}" ]] - then - if [[ -e "${CDROM_ROOT}"/${MY_P}.tar.gz ]] - then - tar xzf "${CDROM_ROOT}"/${MY_P}.tar.gz || die - else - unpack "${MY_P}".tar.gz - fi - - if [[ -n "${ANY_ANY}" ]] - then - unpack "${ANY_ANY}".tar.gz - # Move the relevant ANY_ANY files now, so that they can be patched later... - mv -f "${ANY_ANY}"/services.sh "${S}"/installer/services.sh - # We should be able to get rid of this eventually, - # since we'll be using vmware-modules in future... - [[ "${product}" == "vmware" ]] && \ - mv -f "${ANY_ANY}"/*.tar "${S}"/lib/modules/source - [[ -e lib/bin/vmware ]] && \ - chmod 755 lib/bin/vmware - [[ -e bin/vmnet-bridge ]] && \ - chmod 755 bin/vmnet-bridge - [[ -e lib/bin/vmware-vmx ]] && \ - chmod 755 lib/bin/vmware-vmx - [[ -e lib/bin-debug/vmware-vmx ]] && \ - chmod 755 lib/bin-debug/vmware-vmx - if [[ "${RUN_UPDATE}" == "yes" ]] - then - cd "${S}"/"${ANY_ANY}" - ./update vmware ../lib/bin/vmware || die - ./update bridge ../bin/vmnet-bridge || die - ./update vmx ../lib/bin/vmware-vmx || die - ./update vmxdebug ../lib/bin-debug/vmware-vmx || die - fi - fi - - # Remove PAX MPROTECT flag from all applicable files in /bin, /sbin for - # the vmware package only (since modules, tools and console should not - # need to generate code on the fly in memory). - [[ "${product}" == "vmware" ]] && pax-mark -m \ - $(list-paxables ${S}/{bin{,-debug},sbin}/{vmware-serverd,vmware-vmx}) - - # Run through any patches that might need to be applied - cd "${S}" - if [[ -d "${FILESDIR}/${PV}" ]] - then - EPATCH_SUFFIX="patch" - epatch "${FILESDIR}"/${PV} - fi - if [[ -n "${PATCHES}" ]] - then - for patch in ${PATCHES} - do - epatch "${FILESDIR}"/${patch} - done - fi - # Unpack our new libs - for a in ${A} - do - case ${a} in - vmware-libssl.so.0.9.7l.tar.bz2) - unpack vmware-libssl.so.0.9.7l.tar.bz2 - ;; - vmware-libcrypto.so.0.9.7l.tar.bz2) - unpack vmware-libcrypto.so.0.9.7l.tar.bz2 - ;; - esac - done - fi -} - -vmware_src_install() { - # We won't want any perl scripts from VMware once we've finally got all - # of the configuration done, but for now, they're necessary. - #rm -f bin/*.pl - - # As backwards as this seems, we're installing our icons first. - if [[ -e lib/share/icons/48x48/apps/${PN}.png ]] - then - doicon lib/share/icons/48x48/apps/${PN}.png - elif [[ -e doc/icon48x48.png ]] - then - newicon doc/icon48x48.png ${PN}.png - elif [[ -e "${DISTDIR}/${product}.png" ]] - then - newicon "${DISTDIR}"/${product}.png ${PN}.png - fi - - # Since with Gentoo we compile everthing it doesn't make sense to keep - # the precompiled modules arround. Saves about 4 megs of disk space too. - rm -rf "${S}"/lib/modules/binary - # We also don't need to keep the icons around, or do we? - #rm -rf ${S}/lib/share/icons - - # Just like any good monkey, we install the documentation and man pages. - [[ -d doc ]] && dodoc doc/* - if [[ -d man ]] - then - cd man - for x in * - do - doman ${x}/* || die "doman" - done - fi - cd "${S}" - - # We remove the shipped libssl for bug #148682 - if [ -d "${S}"/libssl.so.0.9.7 ] - then - rm -rf "${S}"/lib/lib/libssl.so.0.9.7 - # Now, we move in our own - cp -pPR "${S}"/libssl.so.0.9.7 "${S}"/lib/lib - fi - # We remove the shipped libcrypto for bug #148682 - if [ -d "${S}"/libcrypto.so.0.9.7 ] - then - rm -rf "${S}"/lib/lib/libcrypto.so.0.9.7 - # Now, we move in our own - cp -pPR "${S}"/libcrypto.so.0.9.7 "${S}"/lib/lib - fi - - # We loop through our directories and copy everything to our system. - for x in bin lib sbin - do - if [[ -e "${S}/${x}" ]] - then - dodir "${VMWARE_INSTALL_DIR}"/${x} - cp -pPR "${S}"/${x}/* "${D}""${VMWARE_INSTALL_DIR}"/${x} \ - || die "copying ${x}" - fi - done - - # If we have an /etc directory, we copy it. - if [[ -e "${S}/etc" ]] - then - dodir "${config_dir}" - cp -pPR "${S}"/etc/* "${D}""${config_dir}" - fowners root:${VMWARE_GROUP} "${config_dir}" - fperms 770 "${config_dir}" - fi - - # If we have any helper files, we install them. First, we check for an - # init script. - if [[ -e "${FILESDIR}/${PN}.rc" ]] - then - newinitd "${FILESDIR}"/${PN}.rc ${product} || die "newinitd" - fi - # Then we check for an environment file. - if [[ -e "${FILESDIR}/90${PN}" ]] - then - doenvd "${FILESDIR}"/90${PN} || die "doenvd" - fi - # Last, we check for any mime files. - if [[ -e "${FILESDIR}/${PN}.xml" ]] - then - insinto /usr/share/mime/packages - doins "${FILESDIR}"/${PN}.xml || die "mimetypes" - fi - - # Blame bug #91191 for this one. - if [[ -e doc/EULA ]] - then - insinto "${VMWARE_INSTALL_DIR}"/doc - doins doc/EULA || die "copying EULA" - fi - - # Do we have vmware-ping/vmware-vmx? If so, make them setuid. - for p in /bin/vmware-ping /lib/bin/vmware-vmx /lib/bin-debug/vmware-vmx /lib/bin/vmware-vmx-debug /sbin/vmware-authd; - do - if [ -x "${D}${VMWARE_INSTALL_DIR}${p}" ] - then - fowners root:${VMWARE_GROUP} "${VMWARE_INSTALL_DIR}"${p} - fperms 4750 "${VMWARE_INSTALL_DIR}"${p} - fi - done - - # This removed the user/group warnings - # But also broke vmware-server with FEATURES="userpriv" since it removes - # the set-UID bit - #chown -R root:${VMWARE_GROUP} ${D} || die - - # We like desktop icons. - # TODO: Fix up the icon creation, across the board. - #make_desktop_entry ${PN} "VMware ${FULL_NAME}" - - # We like symlinks for console users. - # TODO: Fix up the symlink creation, across the board. - # dosym ${VMWARE_INSTALL_DIR}/bin/${PN} /usr/bin/${PN} - - # TODO: Replace this junk - # Everything after this point will hopefully go away once we can rid - # ourselves of the evil perl configuration scripts. - - if [ "${product}" == "vmware" -o "${product}" == "vmware-tools" ] - then - - # We have to create a bunch of rc directories for the init script - vmware_create_initd || die "creating rc directories" - - # Now, we copy in our services.sh file - exeinto "${config_dir}"/init.d - newexe installer/services.sh ${product} || die "services.sh" - - # Set the name - dosed "s:%LONGNAME%:Vmware ${FULL_NAME}:" \ - "${config_dir}"/init.d/${product} - [ "${shortname}" == "server" ] && dosed "s:%SHORTNAME%:wgs:" \ - "${config_dir}"/init.d/${product} - fi - - # Finally, we run the "questions" - vmware_run_questions || die "running questions" -} - -vmware_pkg_preinst() { - # This is run here due to bug #143150 - [ -z "${product}" ] && vmware_determine_product - - # This must be done after the install to get the mtimes on each file - # right. - - #Note: it's a bit weird to use ${D} in a preinst script but it should work - #(drobbins, 1 Feb 2002) - - einfo "Generating ${config_dir}/locations file." - d=`echo ${D} | wc -c` - for x in `find ${D}${VMWARE_INSTALL_DIR} ${D}${config_dir}` ; do - x="`echo ${x} | cut -c ${d}-`" - if [ -d "${D}/${x}" ] ; then - echo "directory ${x}" >> "${D}${config_dir}"/locations - else - echo -n "file ${x}" >> "${D}${config_dir}"/locations - if [ "${x}" == "${config_dir}/locations" ] ; then - echo "" >> "${D}${config_dir}"/locations - elif [ "${x}" == "${config_dir}/not_configured" ] ; then - echo "" >> "${D}${config_dir}"/locations - else - echo -n " " >> "${D}${config_dir}"/locations - find ${D}${x} -printf %T@ >> "${D}${config_dir}"/locations - echo "" >> "${D}${config_dir}"/locations - fi - fi - done -} - -vmware_pkg_postinst() { - update-mime-database /usr/share/mime - [[ -d "${config_dir}" ]] && chown -R root:${VMWARE_GROUP} ${config_dir} - - # This is to fix the problem where the not_configured file doesn't get - # removed when the configuration is run. This doesn't remove the file - # It just tells the vmware-config.pl script it can delete it. - einfo "Updating ${config_dir}/locations" - for x in "${config_dir}"/._cfg????_locations ; do - if [ -f $x ] ; then - cat $x >> "${config_dir}"/locations - rm $x - fi - done - - echo - elog "You need to run " - elog " ${VMWARE_INSTALL_DIR}/bin/${config_program}" - elog "to complete the install." - echo - einfo "For VMware Add-Ons just visit" - einfo "http://www.vmware.com/download/downloadaddons.html" - echo - if [ "${PN}" == "vmware-player" ] - then - elog "After configuring, run vmplayer to launch" - else - elog "After configuring, run ${PN} to launch" - fi - echo - if [ "${product}" == "vmware" -o "${product}" == "vmware-tools" ] - then - elog "Also note that when you reboot you should run:" - elog " /etc/init.d/${product} start" - elog "before trying to run ${product}. Or you could just add it to" - elog "the default runlevel:" - elog " rc-update add ${product} default" - echo - ewarn "VMWare allows for the potential of overwriting files as root. Only" - ewarn "give VMWare access to trusted individuals." - echo - fi - ewarn "Remember, in order to run VMware ${FULL_NAME}, you have to" - ewarn "be in the '${VMWARE_GROUP}' group." - echo -} - -vmware_pkg_postrm() { - [ -z "${product}" ] && vmware_determine_product - local product_extras - if [ "${product}" == "vmware" ] - then - product_extras=" and /etc/init.d/${product}" - fi - if ! has_version app-emulation/${PN}; then - echo - elog "To remove all traces of ${product} you will need to remove the files" - elog "in ${config_dir}${product_extras}." - elog "If the vmware-modules package is installed, you may no longer need it." - echo - fi -} 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 1260835a4e..16a0cc5b58 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,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/wxwidgets.eclass,v 1.32 2011/12/27 17:55:13 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/wxwidgets.eclass,v 1.34 2013/08/16 07:59:17 heroxbd Exp $ # @ECLASS: wxwidgets.eclass # @MAINTAINER: @@ -71,13 +71,13 @@ if [[ -z ${WX_CONFIG} ]]; then # newer versions don't have a seperate debug profile for wxdebug in xxx release- debug-; do wxconf="${wxtoolkit}-${wxchar}-${wxdebug/xxx/}${WX_GTK_VER}" - if [[ -f /usr/$(get_libdir)/wx/config/${wxconf} ]]; then + if [[ -f ${EPREFIX}/usr/$(get_libdir)/wx/config/${wxconf} ]]; then # if this is a wxBase install, die in pkg_setup [[ ${wxtoolkit} == "base" ]] && WXBASE_DIE=1 else continue fi - WX_CONFIG="/usr/$(get_libdir)/wx/config/${wxconf}" + WX_CONFIG="${EPREFIX}/usr/$(get_libdir)/wx/config/${wxconf}" WX_ECLASS_CONFIG="${WX_CONFIG}" break done @@ -229,7 +229,7 @@ need-wxwidgets() { debug-print "wxconf is ${wxconf}" # if this doesn't work, something is seriously screwed - if [[ ! -f /usr/$(get_libdir)/wx/config/${wxconf} ]]; then + if [[ ! -f ${EPREFIX}/usr/$(get_libdir)/wx/config/${wxconf} ]]; then echo eerror "Failed to find configuration ${wxconf}" echo @@ -238,7 +238,7 @@ need-wxwidgets() { debug-print "Found config ${wxconf} - setting WX_CONFIG" - export WX_CONFIG="/usr/$(get_libdir)/wx/config/${wxconf}" + export WX_CONFIG="${EPREFIX}/usr/$(get_libdir)/wx/config/${wxconf}" debug-print "WX_CONFIG is ${WX_CONFIG}" 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 0054602067..3b94efddf4 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,8 +1,8 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/x-modular.eclass,v 1.125 2012/05/02 18:31:45 jdhore Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/x-modular.eclass,v 1.126 2013/07/05 17:39:10 ulm Exp $ # -# @DEPRECATED +# DEPRECATED # This eclass has been superseded by xorg-2 # Please modify your ebuilds to use that instead # diff --git a/sdk_container/src/third_party/portage-stable/eclass/x11.eclass b/sdk_container/src/third_party/portage-stable/eclass/x11.eclass deleted file mode 100644 index 74b56df9cd..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/x11.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/x11.eclass,v 1.12 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/xfce4.eclass b/sdk_container/src/third_party/portage-stable/eclass/xfce4.eclass deleted file mode 100644 index 8b2da2a0a8..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/xfce4.eclass +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/xfce4.eclass,v 1.33 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/09/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" - -xfce4_pkg_postrm() { - fdo-mime_desktop_database_update - fdo-mime_mime_database_update - gnome2_icon_cache_update -} - -EXPORT_FUNCTIONS pkg_postrm diff --git a/sdk_container/src/third_party/portage-stable/eclass/xfce42.eclass b/sdk_container/src/third_party/portage-stable/eclass/xfce42.eclass deleted file mode 100644 index aaf54166fb..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/xfce42.eclass +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/xfce42.eclass,v 1.10 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/09/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" diff --git a/sdk_container/src/third_party/portage-stable/eclass/xfce44.eclass b/sdk_container/src/third_party/portage-stable/eclass/xfce44.eclass deleted file mode 100644 index 21e046f0d5..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/xfce44.eclass +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/xfce44.eclass,v 1.25 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# To be removed on 2011/09/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" - -xfce44_pkg_postrm() { - : -} - -EXPORT_FUNCTIONS pkg_postrm diff --git a/sdk_container/src/third_party/portage-stable/eclass/xmms-plugin.eclass b/sdk_container/src/third_party/portage-stable/eclass/xmms-plugin.eclass deleted file mode 100644 index 9322b0d8e2..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/xmms-plugin.eclass +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/xmms-plugin.eclass,v 1.24 2009/11/30 04:19:36 abcd Exp $ - -# @DEAD -# XMMS is no longer in the tree, so there can't be any plugins for it -# To be removed on 2011/11/30. -ewarn "Please fix your package (${CATEGORY}/${PF}) to not use ${ECLASS}.eclass" 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 11b7c09ee9..33a608eac8 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,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/xorg-2.eclass,v 1.60 2013/01/31 14:12:12 chithanh Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/xorg-2.eclass,v 1.63 2013/07/30 18:59:18 mgorny Exp $ # @ECLASS: xorg-2.eclass # @MAINTAINER: @@ -37,10 +37,20 @@ if [[ ${PN} == font* \ FONT_ECLASS="font" fi +# @ECLASS-VARIABLE: XORG_MULTILIB +# @DESCRIPTION: +# If set to 'yes', the multilib support for package will be enabled. Set +# before inheriting this eclass. +: ${XORG_MULTILIB:="no"} + # we need to inherit autotools first to get the deps inherit autotools autotools-utils eutils libtool multilib toolchain-funcs \ flag-o-matic ${FONT_ECLASS} ${GIT_ECLASS} +if [[ ${XORG_MULTILIB} == yes ]]; then + inherit autotools-multilib +fi + EXPORTED_FUNCTIONS="src_unpack src_compile src_install pkg_postinst pkg_postrm" case "${EAPI:-0}" in 3|4|5) EXPORTED_FUNCTIONS="${EXPORTED_FUNCTIONS} src_prepare src_configure" ;; @@ -296,6 +306,10 @@ DEPEND+=" ${COMMON_DEPEND}" RDEPEND+=" ${COMMON_DEPEND}" unset COMMON_DEPEND +if [[ ${XORG_MULTILIB} == yes ]]; then + RDEPEND+=" abi_x86_32? ( !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] )" +fi + debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND=${DEPEND}" debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND=${RDEPEND}" debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: PDEPEND=${PDEPEND}" @@ -460,7 +474,11 @@ xorg-2_src_configure() { "${xorgconfadd[@]}" ) - autotools-utils_src_configure "$@" + if [[ ${XORG_MULTILIB} == yes ]]; then + autotools-multilib_src_configure "$@" + else + autotools-utils_src_configure "$@" + fi } # @FUNCTION: xorg-2_src_compile @@ -469,7 +487,11 @@ xorg-2_src_configure() { xorg-2_src_compile() { debug-print-function ${FUNCNAME} "$@" - autotools-utils_src_compile "$@" + if [[ ${XORG_MULTILIB} == yes ]]; then + autotools-multilib_src_compile "$@" + else + autotools-utils_src_compile "$@" + fi } # @FUNCTION: xorg-2_src_install @@ -479,13 +501,18 @@ xorg-2_src_compile() { xorg-2_src_install() { debug-print-function ${FUNCNAME} "$@" + local install_args=( docdir="${EPREFIX}/usr/share/doc/${PF}" ) + if [[ ${CATEGORY} == x11-proto ]]; then - autotools-utils_src_install \ - ${PN/proto/}docdir="${EPREFIX}/usr/share/doc/${PF}" \ - docdir="${EPREFIX}/usr/share/doc/${PF}" + install_args+=( + ${PN/proto/}docdir="${EPREFIX}/usr/share/doc/${PF}" + ) + fi + + if [[ ${XORG_MULTILIB} == yes ]]; then + autotools-multilib_src_install "${install_args[@]}" else - autotools-utils_src_install \ - docdir="${EPREFIX}/usr/share/doc/${PF}" + autotools-utils_src_install "${install_args[@]}" fi if [[ -n ${GIT_ECLASS} ]]; then