summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-db/mysql-workbench/Manifest4
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-5.2.17-as-needed-modules.patch20
-rw-r--r--dev-db/mysql-workbench/files/mysql-workbench-5.2.17-python-libs.patch21
-rw-r--r--dev-db/mysql-workbench/mysql-workbench-5.2.20.ebuild61
-rw-r--r--eclass/multilib-native.eclass712
-rw-r--r--media-gfx/gimp/Manifest2
-rw-r--r--media-gfx/gimp/gimp-2.7.0.ebuild94
7 files changed, 914 insertions, 0 deletions
diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest
new file mode 100644
index 0000000..b5d996c
--- /dev/null
+++ b/dev-db/mysql-workbench/Manifest
@@ -0,0 +1,4 @@
+AUX mysql-workbench-5.2.17-as-needed-modules.patch 817 RMD160 07a91a62a364ead59597317738df334a8773338a SHA1 60c17b4337adef0257e3c9dc9facefcc5b6364fe SHA256 2b2503059228381ff16135bb6bf9987807661215b8b45f91acb7c6c156c5d7da
+AUX mysql-workbench-5.2.17-python-libs.patch 853 RMD160 b2ca54f9342c082395c5b5cac92e6247362531b9 SHA1 405a46f1d15f8d428dc3e6f0eada4d36cc00bb93 SHA256 8625ec48e17d3871d37dce559118868edc840a235a0010b47ea4f1afb277872b
+DIST mysql-workbench-oss-5.2.20.tar.gz 16511576 RMD160 e3ab3e6d9c03d4f496e6025e41771dad43dcc6f2 SHA1 daaa467c44bb3459d3c7be4d16fe1036d4dab210 SHA256 9aa9dfe9a654c4c2aae846aef2d32988dc03a6e7489f15919a3b1e95d8cace07
+EBUILD mysql-workbench-5.2.20.ebuild 1452 RMD160 2d0bec7932c58ad9d1c8ea965709e8bb0846d3a7 SHA1 ad40e219e5e4a1c06073d3f4d8dad340fe1b1836 SHA256 83f2648eed6c90239ed4ef676aa501f82af48f1bf76fef444e885ec9b25ba528
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-5.2.17-as-needed-modules.patch b/dev-db/mysql-workbench/files/mysql-workbench-5.2.17-as-needed-modules.patch
new file mode 100644
index 0000000..a53b49d
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-5.2.17-as-needed-modules.patch
@@ -0,0 +1,20 @@
+--- modules/wb.validation/Makefile.am.~1~ 2010-04-02 03:26:24.000000000 +0200
++++ modules/wb.validation/Makefile.am 2010-04-09 16:18:16.703343478 +0200
+@@ -19,6 +19,7 @@
+
+
+ wb_validation_grt_la_LDFLAGS=-module
++wb_validation_grt_la_LIBADD=@GRT_LIBS@ @GLIB_LIBS@ @SIGC_LIBS@
+ #wb_mysql_import_grt_la_LIBADD=$(top_srcdir)/backend/grtdb/libgrtdbbe.la
+
+ wb_validation_grt_la_SOURCES=src/register_plugin.cpp\
+--- modules/wb.mysql.validation/Makefile.am.~1~ 2010-04-02 03:26:24.000000000 +0200
++++ modules/wb.mysql.validation/Makefile.am 2010-04-09 16:17:53.991717921 +0200
+@@ -21,6 +21,7 @@
+
+
+ wb_mysql_validation_grt_la_LDFLAGS=-module
++wb_mysql_validation_grt_la_LIBADD=@GRT_LIBS@ @GLIB_LIBS@ @SIGC_LIBS@
+ #wb_mysql_import_grt_la_LIBADD=$(top_srcdir)
+
+ wb_mysql_validation_grt_la_SOURCES=src/register_plugin.cpp\
diff --git a/dev-db/mysql-workbench/files/mysql-workbench-5.2.17-python-libs.patch b/dev-db/mysql-workbench/files/mysql-workbench-5.2.17-python-libs.patch
new file mode 100644
index 0000000..8fb6b71
--- /dev/null
+++ b/dev-db/mysql-workbench/files/mysql-workbench-5.2.17-python-libs.patch
@@ -0,0 +1,21 @@
+Use a simpler check for Python's libs that return an actual linker
+invocation (e.g. -lpython2.6) instead of the .so file. This fixes the
+case with forced as-needed where the .so gets re-ordered to the front
+during link.
+
+--- configure.in.~1~ 2010-04-02 03:26:27.000000000 +0200
++++ configure.in 2010-04-09 16:06:10.271092660 +0200
+@@ -303,12 +303,7 @@
+ dnl enable_python=$enableval, enable_python=no)
+
+ AC_MSG_CHECKING(for Python)
+-PYTHON_LIBS=[$(python -c "from distutils import sysconfig
+-import os
+-cfg=sysconfig.get_config_vars()
+-lib = os.path.join(cfg['LIBDIR'], cfg['LDLIBRARY'])
+-if os.path.exists(lib):
+- print lib")]
++PYTHON_LIBS=[$(python -c 'import sys; print("-lpython%s.%s" % sys.version_info[:2])')]
+ PYTHON_CFLAGS=[$(python -c "from distutils import sysconfig
+ print sysconfig.get_python_inc()")]
+ PYTHON_CFLAGS="-I$PYTHON_CFLAGS"
diff --git a/dev-db/mysql-workbench/mysql-workbench-5.2.20.ebuild b/dev-db/mysql-workbench/mysql-workbench-5.2.20.ebuild
new file mode 100644
index 0000000..3f921dd
--- /dev/null
+++ b/dev-db/mysql-workbench/mysql-workbench-5.2.20.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-workbench/mysql-workbench-5.2.20.ebuild,v 1.1 2010/04/28 05:59:48 graaff Exp $
+
+EAPI="2"
+GCONF_DEBUG="no"
+
+inherit gnome2 eutils flag-o-matic autotools
+
+MY_P="${PN}-oss-${PV}"
+
+DESCRIPTION="MySQL Workbench"
+HOMEPAGE="http://dev.mysql.com/workbench/"
+SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug nls readline static-libs"
+
+RDEPEND=">=x11-libs/gtk+-2.6
+ dev-libs/glib:2
+ gnome-base/libglade:2.0
+ dev-libs/libsigc++:2
+ dev-libs/boost
+ >=dev-libs/libxml2-2.6.2
+ >=dev-cpp/glibmm-2.14
+ >=dev-cpp/gtkmm-2.14
+ dev-libs/libzip
+ >=virtual/mysql-5.0
+ dev-libs/libpcre
+ virtual/opengl
+ >=dev-lang/lua-5.1[deprecated]
+ gnome-base/libgnome
+ x11-libs/pango
+ || ( sys-libs/e2fsprogs-libs
+ dev-libs/ossp-uuid )
+ >=x11-libs/cairo-1.5.12[svg]
+ dev-python/pexpect
+ dev-python/paramiko
+ readline? ( sys-libs/readline )"
+DEPEND="${RDEPEND}
+ >=dev-cpp/ctemplate-0.95
+ dev-util/pkgconfig"
+
+S="${WORKDIR}"/"${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-5.2.17-python-libs.patch"
+ epatch "${FILESDIR}/${PN}-5.2.17-as-needed-modules.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls i18n) \
+ $(use_enable readline readline) \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ --with-system-ctemplate
+}
diff --git a/eclass/multilib-native.eclass b/eclass/multilib-native.eclass
new file mode 100644
index 0000000..5bc8d3c
--- /dev/null
+++ b/eclass/multilib-native.eclass
@@ -0,0 +1,712 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+#
+# Got this from multilib overlay. Thanks!
+#
+# @ECLASS: multilib-native.eclass
+# @MAINTAINER:
+# Steven Newbury <steve@snewbury.org.uk>
+# @BLURB: Provide infrastructure for native multilib ebuilds
+
+IUSE="${IUSE} lib32"
+
+DEPEND="${DEPEND} sys-apps/abi-wrapper"
+RDEPEND="${RDEPEND} sys-apps/abi-wrapper"
+
+if use lib32; then
+ EMULTILIB_PKG="true"
+fi
+
+inherit base multilib
+
+case "${EAPI:-0}" in
+ 2|3)
+ EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_preinst pkg_postinst pkg_postrm
+ ;;
+ *)
+ EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm
+ ;;
+esac
+
+# -----------------------------------------------------------------------------
+
+# @VARIABLE: EMULTILIB_SAVE_VARS
+# @DESCRIPTION: Environment variables to save
+# EMULTILIB_SAVE_VARS="${EMULTILIB_SAVE_VARS}
+# AS CC CXX FC LD ASFLAGS CFLAGS CXXFLAGS FCFLAGS FFLAGS LDFLAGS
+# CHOST CBUILD CDEFINE LIBDIR S CCACHE_DIR myconf PYTHON PERLBIN
+# QMAKE QMAKESPEC QTBINDIR QTBASEDIR QTLIBDIR QTPCDIR
+# QTPLUGINDIR CMAKE_BUILD_DIR mycmakeargs KDE_S POPPLER_MODULE_S
+# ECONF_SOURCE MY_LIBDIR MOZLIBDIR SDKDIR G2CONF PKG_CONFIG_PATH
+# DESTTREE SRC_PREP USE_64"
+EMULTILIB_SAVE_VARS="${EMULTILIB_SAVE_VARS}
+ AS CC CXX FC LD ASFLAGS CFLAGS CXXFLAGS FCFLAGS FFLAGS LDFLAGS
+ CHOST CBUILD CDEFINE LIBDIR S CCACHE_DIR myconf PYTHON PERLBIN
+ QMAKE QMAKESPEC QTBINDIR QTBASEDIR QTLIBDIR QTPCDIR
+ QTPLUGINDIR CMAKE_BUILD_DIR mycmakeargs KDE_S POPPLER_MODULE_S
+ ECONF_SOURCE MY_LIBDIR MOZLIBDIR SDKDIR G2CONF PKG_CONFIG_PATH
+ DESTTREE SRC_PREP USE_64"
+
+# @VARIABLE: EMULTILIB_SOURCE_DIRNAME
+# @DESCRIPTION: Holds the name of the source directory
+# EMULTILIB_SOURCE_DIRNAME=""
+EMULTILIB_SOURCE_DIRNAME=""
+
+# @VARIABLE: EMULTILIB_SOURCE
+# @DESCRIPTION:
+# PATH to the top-level source directory. This may be used in multilib-ised
+# ebuilds choosing to make use of external build directories for installing
+# files from the top of the source tree although for builds with external
+# build directories it's sometimes more appropriate to use ${ECONF_SOURCE}.
+# EMULTILIB_SOURCE=""
+EMULTILIB_SOURCE=""
+
+# @VARIABLE: EMULTILIB_RELATIVE_BUILD_DIR
+# @DESCRIPTION:
+# EMULTILIB_RELATIVE_BUILD_DIR=""
+EMULTILIB_RELATIVE_BUILD_DIR=""
+
+# @VARIABLE: CMAKE_BUILD_DIR
+# @DESCRIPTION:
+# Despite the name, this is used for all build systems within this eclass.
+# Usually this is the same as ${S}, except when using an external build
+# directory. (This is per ABI and so is saved/restored for each phase.)
+# CMAKE_BUILD_DIR=""
+CMAKE_BUILD_DIR=""
+
+# @VARIABLE: EMULTILIB_INHERITED
+# @DESCRIPTION:
+# Holds a list of inherited eclasses
+# is this var is onlky used in multilib-native_check_inherited_funcs
+EMULTILIB_INHERITED=""
+
+# -----------------------------------------------------------------------------
+
+# @FUNCTION: multilib-native_pkg_setup
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the pkg_setup phase
+multilib-native_pkg_setup() {
+ multilib-native_src_generic pkg_setup
+}
+
+# @FUNCTION: multilib-native_src_unpack
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the src_unpack phase
+multilib-native_src_unpack() {
+ multilib-native_src_generic src_unpack
+}
+
+# @FUNCTION: multilib-native_src_prepare
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the src_prepare phase
+multilib-native_src_prepare() {
+ multilib-native_src_generic src_prepare
+}
+
+# @FUNCTION: multilib-native_src_configure
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the src_configure phase
+multilib-native_src_configure() {
+ multilib-native_src_generic src_configure
+}
+
+# @FUNCTION: multilib-native_src_compile
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the src_compile phase
+multilib-native_src_compile() {
+ multilib-native_src_generic src_compile
+}
+
+# @FUNCTION: multilib-native_src_install
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the src_install phase
+multilib-native_src_install() {
+ multilib-native_src_generic src_install
+}
+
+# @FUNCTION: multilib-native_pkg_preinst
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the pkg_preinst phase
+multilib-native_pkg_preinst() {
+ multilib-native_src_generic pkg_preinst
+}
+
+# @FUNCTION: multilib-native_pkg_postinst
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the pkg_postinst phase
+multilib-native_pkg_postinst() {
+ multilib-native_src_generic pkg_postinst
+}
+
+# @FUNCTION: multilib-native_pkg_postrm
+# @USAGE:
+# @DESCRIPTION: This is a multilib wrapper for the pkg_postrm phase
+multilib-native_pkg_postrm() {
+ multilib-native_src_generic pkg_postrm
+}
+
+# @FUNCTION: multilib_debug
+# @USAGE: <name_of_variable> <content_of_variable>
+# @DESCRIPTION: print debug output if MULTILIB_DEBUG is set
+multilib_debug() {
+ [[ -n ${MULTILIB_DEBUG} ]] && einfo "MULTILIB_DEBUG: ${1}=\"${2}\""
+}
+
+# -----------------------------------------------------------------------------
+
+# Internal function
+# @FUNCTION: multilib-native_src_generic
+# @USAGE: <phase>
+# @DESCRIPTION: Run each phase for each "install ABI"
+multilib-native_src_generic() {
+# Recurse this function for each ABI from get_install_abis()
+ if [[ -n ${EMULTILIB_PKG} ]] && [[ -z ${OABI} ]] ; then
+ local abilist=""
+ if has_multilib_profile ; then
+ abilist=$(get_install_abis)
+ einfo "${1/src_/} multilib ${PN} for ABIs: ${abilist}"
+ elif is_crosscompile || tc-is-cross-compiler ; then
+ abilist=${DEFAULT_ABI}
+ fi
+ if [[ -n ${abilist} ]] ; then
+ OABI=${ABI}
+ for ABI in ${abilist} ; do
+ export ABI
+ multilib-native_src_generic ${1}
+ done
+ ABI=${OABI}
+ unset OABI
+ return 0
+ fi
+ fi
+
+# If this is the first time through, initialise the source path variables early
+# and unconditionally, whether building for multilib or not. (This allows
+# multilib-native ebuilds to always make use of them.) Then save the initial
+# environment.
+#
+# Sometimes, packages assume a directory structure ABOVE "S". ("S" is set to a
+# subdirectory of the tree they unpack into ${WORKDIR}.) We need to deal with
+# this by finding the top-level of the source tree and keeping track of ${S}
+# relative to it.
+
+ if [[ -z ${EMULTILIB_INITIALISED[$(multilib-native_abi_to_index_key "INIT")]} ]]; then
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: Determining EMULTILIB_SOURCE from S and WORKDIR"
+ EMULTILIB_RELATIVE_BUILD_DIR="${S#*${WORKDIR}\/}"
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: EMULTILIB_RELATIVE_BUILD_DIR=\"${EMULTILIB_RELATIVE_BUILD_DIR}\""
+ EMULTILIB_SOURCE_DIRNAME="${EMULTILIB_RELATIVE_BUILD_DIR%%/*}"
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: EMULTILIB_SOURCE_DIRNAME=\"${EMULTILIB_SOURCE_DIRNAME}\""
+ EMULTILIB_SOURCE="${WORKDIR}/${EMULTILIB_SOURCE_DIRNAME}"
+ CMAKE_BUILD_DIR="${S}"
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: EMULTILIB_SOURCE=\"${EMULTILIB_SOURCE}\""
+ multilib-native_save_abi_env "INIT"
+ EMULTILIB_INITIALISED[$(multilib-native_abi_to_index_key "INIT")]=1
+ fi
+
+ if [[ -n ${EMULTILIB_PKG} ]] && has_multilib_profile; then
+ multilib-native_src_generic_sub ${1}
+
+# Save the environment for this ABI
+ multilib-native_save_abi_env "${ABI}"
+
+# If this is the default ABI and we have a build tree, update the INIT
+# environment
+ [[ "${ABI}" == "${DEFAULT_ABI}" ]] && \
+ [[ -d "${WORKDIR}/${PN}_build_${ABI}" ]] && \
+ multilib-native_save_abi_env "INIT"
+
+# This assures the environment is correctly configured for non-multilib phases
+# such as a src_unpack override in ebuilds.
+ multilib-native_restore_abi_env "INIT"
+ else
+ multilib-native_${1}_internal
+ fi
+}
+
+# Internal function
+# @FUNCTION: multilib-native_src_generic_sub
+# @USAGE: <phase>
+# @DESCRIPTION: This function gets used for each ABI pass of each phase
+multilib-native_src_generic_sub() {
+# We support two kinds of build: By default we copy/move the source dir for
+# each ABI. Where supported with the underlying package, we can just create an
+# external build dir. This requires a modified ebuild which makes use of the
+# EMULTILIB_SOURCE variable (which points the the top of the original
+# source dir) to install doc files etc. This latter behaviour is enabled with
+# MULTILIB_EXT_SOURCE_BUILD. For CMake based packages default is reversed and
+# the CMAKE_IN_SOURCE_BUILD environment variable is used to specify the former
+# behaviour.
+#
+
+ if [[ -z ${EMULTILIB_INITIALISED[$(multilib-native_abi_to_index_key ${ABI})]} ]]; then
+ multilib-native_restore_abi_env "INIT"
+ multilib-native_setup_abi_env "${ABI}"
+ else
+ multilib-native_restore_abi_env "${ABI}"
+ fi
+
+# If this is the unpack or prepare phase we only need to run for the
+# DEFAULT_ABI when we are building out of the source tree since it is shared
+# between each ABI.
+#
+# After the unpack phase, some eclasses change into the unpacked source tree
+# (gnome2.eclass for example), we need to change back to the WORKDIR otherwise
+# the next ABI tree will get unpacked into a subdir of previous tree.
+
+
+ case ${1/*_} in
+ setup)
+ ;;
+ unpack)
+ [[ -d "${WORKDIR}" ]] && cd "${WORKDIR}"
+ if multilib-native_is_EBD && \
+ [[ ! "${ABI}" == "${DEFAULT_ABI}" ]]; then
+ einfo "Skipping ${1} for ${ABI}"
+ return
+ fi
+ ;;
+ prepare)
+ if multilib-native_is_EBD; then
+ if [[ ! "${ABI}" == "${DEFAULT_ABI}" ]]; then
+ einfo "Skipping ${1} for ${ABI}"
+ return
+ fi
+ else
+ [[ ! -d "${WORKDIR}/${PN}_build_${ABI}" ]] && multilib-native_setup_build_directory
+ fi
+ if [[ -d "${S}" ]]; then
+ einfo "Working in ${S}"
+ cd "${S}"
+ else
+ ewarn "Not changing to non-existant source directory"
+ fi
+ ;;
+ configure|compile|install)
+ [[ ! -d "${WORKDIR}/${PN}_build_${ABI}" ]] && multilib-native_setup_build_directory
+ [[ -d "${S}" ]] && cd "${S}"
+ ;;
+ *)
+ [[ -d "${S}" ]] && cd "${S}"
+ ;;
+ esac
+
+
+ # FIXME: There is a failure case when there is no source directory
+ # at ${EMULTILIB_SOURCE}, creating a directory there is the *wrong*
+ # thing to do, certianly not unconditionally!
+ # mkdir -p "${EMULTILIB_SOURCE}"
+
+# Call the "real" phase function
+ multilib-native_${1}_internal
+
+# If we've just unpacked the source, move it into place.
+ if [[ ! "${1/unpack}" == "${1}" ]] && \
+ ( [[ -d "${EMULTILIB_SOURCE}" ]] && \
+ [[ ! -d "${WORKDIR}/${PN}_build_${ABI}" ]] ) && ! (multilib-native_is_EBD); then
+ einfo "Moving source tree from ${EMULTILIB_SOURCE} to ${WORKDIR}/${PN}_build_${ABI}"
+ mv "${EMULTILIB_SOURCE}" "${WORKDIR}/${PN}_build_${ABI}"
+ S="${CMAKE_BUILD_DIR}"
+ [[ -n ${KDE_S} ]] && KDE_S="${S}"
+ [[ -n ${POPPLER_MODULE_S} ]] && \
+ POPPLER_MODULE_S=${S}/${POPPLER_MODULE}
+ fi
+}
+
+multilib-native_setup_build_directory() {
+ if multilib-native_is_EBD; then
+ einfo "Preparing external build directory for ABI: ${ABI} ..."
+ einfo "Creating build directory: ${WORKDIR}/${PN}_build_${ABI}"
+ mkdir -p "${CMAKE_BUILD_DIR}"
+ ECONF_SOURCE="${S}"
+ else
+ if [[ -d ${EMULTILIB_SOURCE} ]]; then
+ if ! is_final_abi; then
+ einfo "Copying source tree from ${EMULTILIB_SOURCE} to ${WORKDIR}/${PN}_build_${ABI}"
+ cp -al "${EMULTILIB_SOURCE}" "${WORKDIR}/${PN}_build_${ABI}"
+ else
+ einfo "Moving source tree from ${EMULTILIB_SOURCE} to ${WORKDIR}/${PN}_build_${ABI}"
+ mv "${EMULTILIB_SOURCE}" "${WORKDIR}/${PN}_build_${ABI}"
+ fi
+ fi
+ fi
+ if ([[ -n "${CMAKE_BUILD_TYPE}" ]] && \
+ [[ -n "${CMAKE_IN_SOURCE_BUILD}" ]]) || \
+ [[ -z "${CMAKE_BUILD_TYPE}" ]]; then
+ S="${CMAKE_BUILD_DIR}"
+ fi
+
+}
+
+# Internal function
+# @FUNCTION: multilib-native_is_EBD
+# @USAGE:
+# @DESCRIPTION: Returns true if we're building with an "External Build Directory"
+multilib-native_is_EBD() {
+! ( [[ -n "${CMAKE_IN_SOURCE_BUILD}" ]] || \
+ ( [[ -z "${CMAKE_BUILD_TYPE}" ]] && \
+ [[ -z "${MULTILIB_EXT_SOURCE_BUILD}" ]] ) )
+}
+
+# Internal function
+# @FUNCTION: multilib-native_setup_abi_env
+# @USAGE: <ABI>
+# @DESCRIPTION: Setup initial environment for ABI, flags, workarounds etc.
+multilib-native_setup_abi_env() {
+ local pyver="" libsuffix=""
+ [[ -z $(multilib-native_abi_to_index_key ${1}) ]] && \
+ die "Unknown ABI (${1})"
+
+# Set the CHOST native first so that we pick up the native #202811.
+ export CHOST=$(get_abi_CHOST ${DEFAULT_ABI})
+ export AS="$(tc-getAS)"
+ export CC="$(tc-getCC)"
+ export CXX="$(tc-getCXX)"
+ export FC="$(tc-getFC)"
+ export LD="$(tc-getLD) $(get_abi_LDFLAGS)"
+ export ASFLAGS="${ASFLAGS} $(get_abi_ASFLAGS)"
+ export CFLAGS="${CFLAGS} $(get_abi_CFLAGS)"
+ export CXXFLAGS="${CXXFLAGS} $(get_abi_CFLAGS)"
+ export FCFLAGS="${FCFLAGS} ${CFLAGS}"
+ export FFLAGS="${FFLAGS} ${CFLAGS}"
+ export CHOST=$(get_abi_CHOST $1)
+ export CBUILD=$(get_abi_CHOST $1)
+ export CDEFINE="${CDEFINE} $(get_abi_CDEFINE $1)"
+ export LDFLAGS="${LDFLAGS} -L/$(get_abi_LIBDIR $1) -L/usr/$(get_abi_LIBDIR $1)"
+
+ if [[ -z PKG_CONFIG_PATH ]]; then
+ export PKG_CONFIG_PATH="/usr/$(get_libdir)/pkgconfig"
+ else
+ PKG_CONFIG_PATH="${PKG_CONFIG_PATH/lib*\//$(get_libdir)/}:/usr/$(get_libdir)/pkgconfig"
+ fi
+
+# if ! [[ "${ABI}" == "${DEFAULT_ABI}" ]]; then
+# built_with_use dev-lang/perl lib32 && [[ "$(readlink /usr/bin/perl)" == "/usr/bin/abi-wrapper" ]] || eerror multilib-native.eclass: please rebuild dev-lang/perl to avoid problems
+# pyver=$(python --version 2>&1)
+# pyver=${pyver/Python /python}
+# pyver=${pyver%.*}
+# built_with_use dev-lang/python lib32 && [[ "$(readlink /usr/bin/${pyver})" == "/usr/bin/abi-wrapper" ]] || eerror multilib-native.eclass: please rebuild dev-lang/python to avoid problems
+# fi
+
+# ccache is ABI dependent
+ if [[ -z ${CCACHE_DIR} ]] ; then
+ CCACHE_DIR="/var/tmp/ccache-${1}"
+ else
+ CCACHE_DIR="${CCACHE_DIR}-${1}"
+ fi
+
+ CMAKE_BUILD_DIR="${WORKDIR}/${PN}_build_${ABI}/${EMULTILIB_RELATIVE_BUILD_DIR/${EMULTILIB_SOURCE_DIRNAME}}"
+
+ # Strip any trailing slash (fixes build failure with python.eclass)
+ CMAKE_BUILD_DIR="${CMAKE_BUILD_DIR%/}"
+
+ EMULTILIB_INITIALISED[$(multilib-native_abi_to_index_key ${1})]=1
+}
+
+# Internal function
+# @FUNCTION: multilib-native_abi_to_index_key
+# @USAGE: <ABI>
+# @RETURN: <index key>
+# @DESCRIPTION: Return an array index key for a given ABI
+multilib-native_abi_to_index_key() {
+# Until we can count on bash version > 4, we can't use associative arrays.
+ local index=0 element=""
+ if [[ -z "${EMULTILIB_ARRAY_INDEX}" ]]; then
+ local abilist=""
+ abilist=$(get_install_abis)
+ EMULTILIB_ARRAY_INDEX=(INIT ${abilist})
+ fi
+ for element in ${EMULTILIB_ARRAY_INDEX[@]}; do
+ [[ "${element}" == "${1}" ]] && echo "${index}"
+ let index++
+ done
+}
+
+# Internal function
+# @FUNCTION: multilib-native_save_abi_env
+# @USAGE: <ABI>
+# @DESCRIPTION: Save environment for ABI
+multilib-native_save_abi_env() {
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: Saving Environment:" "${1}"
+ local _var _array
+ for _var in ${EMULTILIB_SAVE_VARS}; do
+ _array="EMULTILIB_${_var}"
+ declare -p ${_var} &>/dev/null || continue
+ multilib_debug ${_array}[$(multilib-native_abi_to_index_key ${1})] "${!_var}"
+ eval "${_array}[$(multilib-native_abi_to_index_key ${1})]"=\"${!_var}\"
+ done
+}
+
+# Internal function
+# @FUNCTION: multilib-native_restore_abi_env
+# @USAGE: <ABI>
+# @DESCRIPTION: Restore environment for ABI
+multilib-native_restore_abi_env() {
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: Restoring Environment:" "${1}"
+ local _var _array
+ for _var in ${EMULTILIB_SAVE_VARS}; do
+ _array="EMULTILIB_${_var}[$(multilib-native_abi_to_index_key ${1})]"
+ if ! (declare -p EMULTILIB_${_var} &>/dev/null) || \
+ [[ -z ${!_array} ]]; then
+ if (declare -p ${_var} &>/dev/null); then
+ [[ -n ${MULTILIB_DEBUG} ]] && \
+ einfo "MULTILIB_DEBUG: unsetting ${_var}"
+ unset ${_var}
+ fi
+ continue
+ fi
+ multilib_debug "${_var}" "${!_array}"
+ export ${_var}="${!_array}"
+ done
+}
+
+# Internal function
+# @FUNCTION multilib-native_check_inherited_funcs
+# @USAGE: <phase>
+# @DESCRIPTION: Checks all inherited eclasses for requested phase function
+multilib-native_check_inherited_funcs() {
+# Check all eclasses for given function, in order of inheritance.
+# If none provides it, the var stays empty. If more have it, the last one wins.
+# Ignore the ones we inherit ourselves, base doesn't matter, as we default on
+# it.
+ local declared_func=""
+ if [[ -z ${EMULTILIB_INHERITED} ]]; then
+ if [[ -f "${T}"/eclass-debug.log ]]; then
+ EMULTILIB_INHERITED="$(grep EXPORT_FUNCTIONS "${T}"/eclass-debug.log | cut -d ' ' -f 4 | cut -d '_' -f 1)"
+ else
+ ewarn "You are using a package manager that does not provide "${T}"/eclass-debug.log."
+ ewarn "Join #gentoo-multilib-overlay on freenode to help finding another way for you."
+ ewarn "Falling back to old behaviour ..."
+ EMULTILIB_INHERITED="${INHERITED}"
+ fi
+ EMULTILIB_INHERITED="${EMULTILIB_INHERITED//base/}"
+ EMULTILIB_INHERITED="${EMULTILIB_INHERITED//multilib-native/}"
+ fi
+
+ multilib_debug EMULTILIB_INHERITED ${EMULTILIB_INHERITED}
+
+ for func in ${EMULTILIB_INHERITED}; do
+ if [[ -n $(declare -f ${func}_${1}) ]]; then
+ multilib_debug declared_func "${declared_func}"
+ declared_func="${func}_${1}"
+ fi
+ done
+
+ if [[ "$declared_func" == "distutils_src_unpack" ]]; then
+ if ! has "${EAPI:-0}" 0 1; then
+ unset declared_func
+ fi
+ fi
+
+# Now if $declared_func is still empty, none of the inherited eclasses provides
+# it, so default on base.eclass. Do nothing for "phase != src_*".
+ if [[ -z "${declared_func}" ]]; then
+ if [[ "${1/_*}" != "src" ]]; then
+ declared_func="return"
+ else
+ declared_func="base_${1}"
+ fi
+ fi
+
+ if [[ -z ${SRC_URI} && ( "${declared_func}" == "base_src_prepare" || "${declared_func}" == "base_src_install" ) ]]; then
+ # those functions do not work if we do not have sources
+ declared_func="return"
+ fi
+
+ einfo "Using ${declared_func} for ABI ${ABI} ..."
+ ${declared_func}
+}
+
+# @FUNCTION: multilib-native_src_prepare_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom src_configure.
+multilib-native_src_prepare_internal() {
+ multilib-native_check_inherited_funcs src_prepare
+}
+
+# @FUNCTION: multilib-native_src_configure_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom src_configure.
+multilib-native_src_configure_internal() {
+ multilib-native_check_inherited_funcs src_configure
+}
+
+# @FUNCTION: multilib-native_src_compile_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom src_compile.
+multilib-native_src_compile_internal() {
+ multilib-native_check_inherited_funcs src_compile
+}
+
+# @FUNCTION: multilib-native_src_install_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom src_install
+multilib-native_src_install_internal() {
+ multilib-native_check_inherited_funcs src_install
+}
+
+# @FUNCTION: multilib-native_pkg_setup_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom pkg_setup
+multilib-native_pkg_setup_internal() {
+ multilib-native_check_inherited_funcs pkg_setup
+}
+
+# @FUNCTION: multilib-native_src_unpack_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom src_unpack
+multilib-native_src_unpack_internal() {
+ multilib-native_check_inherited_funcs src_unpack
+}
+
+
+# @FUNCTION: multilib-native_pkg_preinst_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom pkg_preinst
+multilib-native_pkg_preinst_internal() {
+ multilib-native_check_inherited_funcs pkg_preinst
+}
+
+
+# @FUNCTION: multilib-native_pkg_postinst_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom pkg_postinst
+multilib-native_pkg_postinst_internal() {
+ multilib-native_check_inherited_funcs pkg_postinst
+}
+
+
+# @FUNCTION: multilib-native_pkg_postrm_internal
+# @USAGE:
+# @DESCRIPTION: Override this function if you want a custom pkg_postrm
+multilib-native_pkg_postrm_internal() {
+ multilib-native_check_inherited_funcs pkg_postrm
+}
+
+# @FUNCTION: is_crosscompile
+# @USAGE:
+# @DESCRIPTION:
+# True if we are cross-compiling.
+# This is identical to the version in
+# toolchain.eclass, but inheriting that eclass from here breaks many packages
+# so just define locally.
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+# @FUNCTION: _check_build_dir
+# @USAGE:
+# @DESCRIPTION:
+# This function overrides the function of the same name
+# in cmake-utils.eclass. We handle the build dir ourselves.
+# Determine using IN or OUT source build
+_check_build_dir() {
+ # @ECLASS-VARIABLE: CMAKE_USE_DIR
+ # @DESCRIPTION:
+ # Sets the directory where we are working with cmake.
+ # For example when application uses autotools and only one
+ # plugin needs to be done by cmake. By default it uses ${S}.
+ : ${CMAKE_USE_DIR:=${S}}
+
+# in/out source build
+ echo ">>> Working in BUILD_DIR: \"$CMAKE_BUILD_DIR\""
+}
+
+# @FUNCTION prep_ml_binaries
+# @USAGE:
+# @DESCRIPTION: Use wrapper to support non-default binaries
+prep_ml_binaries() {
+ if [[ -n $EMULTILIB_PKG ]] ; then
+ for binary in "$@"; do
+ mv ${D}/${binary} ${D}/${binary}-${ABI} || \
+ die "${D}/${binary} not found!"
+ echo mv ${D}/${binary} ${D}/${binary}-${ABI}
+ if is_final_abi; then
+ ln -s /usr/bin/abi-wrapper ${D}/${binary} || \
+ die "could link abi-wrapper to ${D}/${binary}!"
+ echo ln -s /usr/bin/abi-wrapper ${D}/${binary}
+ fi
+ done
+ fi
+}
+
+# @FUNCTION: prep_ml_includes
+# @DESCRIPTION:
+# Some includes (include/asm, glibc, etc) are ABI dependent. In this case,
+# We can install them in different locations for each ABI and create a common
+# header which includes the right one based on CDEFINE_${ABI}. If your
+# package installs ABI-specific headers, just add 'prep_ml_includes' to the
+# end of your src_install(). It takes a list of directories that include
+# files are installed in (default is /usr/include if none are passed).
+#
+# Example:
+# src_install() {
+# ...
+# prep_ml_includes /usr/qt/3/include
+# }
+prep_ml_includes() {
+ if [[ $(number_abis) -gt 1 ]] ; then
+ local dir
+ local dirs
+ local base
+
+ if [[ $# -eq 0 ]] ; then
+ dirs=/usr/include
+ else
+ dirs="$@"
+ fi
+
+ for dir in ${dirs} ; do
+ base=${T}/gentoo-multilib/${dir}/gentoo-multilib
+ mkdir -p "${base}"
+ [[ -d ${base}/${ABI} ]] && rm -rf "${base}/${ABI}"
+ mv "${D}/${dir}" "${base}/${ABI}"
+ done
+
+ if is_final_abi; then
+ base=${T}/gentoo-multilib
+
+ local files_differ=
+ local install_abis=$(get_install_abis)
+ local alternate_abis=${install_abis% *}
+ for dir in ${dirs}; do
+ pushd "${base}${dir}/gentoo-multilib/${ABI}"
+ for i in $(find . -type f); do
+ for diffabi in ${alternate_abis}; do
+ diff -q "${i}" ../${diffabi}/"${i}" >/dev/null || files_differ=1
+ done
+ if [ -z "${files_differ}" ]; then
+ [ -d "${D}${dir}/${i%/*}" ] || mkdir -p "${D}${dir}/${i%/*}"
+ mv ${base}${dir}/gentoo-multilib/${ABI}/"${i}" "${D}${dir}/${i}"
+ einfo rm -rf ${base}${dir}/gentoo-multilib/*/"${i}"
+ rm -rf ${base}${dir}/gentoo-multilib/*/"${i}"
+ fi
+ files_differ=
+ done
+ popd
+ done
+
+
+ pushd "${base}"
+ find . | tar -c -T - -f - | tar -x --no-same-owner -f - -C "${D}"
+ popd
+
+ # This 'set' stuff is required by mips profiles to properly pass
+ # CDEFINE's (which have spaces) to sub-functions
+ set --
+ for dir in ${dirs} ; do
+ set -- "$@" "${dir}"
+ local abi
+ for abi in $(get_install_abis); do
+ set -- "$@" "$(get_abi_CDEFINE ${abi}):${dir}/gentoo-multilib/${abi}"
+ done
+ create_ml_includes "$@"
+ done
+ fi
+ fi
+}
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
new file mode 100644
index 0000000..6f421fb
--- /dev/null
+++ b/media-gfx/gimp/Manifest
@@ -0,0 +1,2 @@
+DIST gimp-2.7.0.tar.bz2 16641029 RMD160 d24fdbfbe83af1deada00f7f8b399483f903312a SHA1 15f3797e025ee23463149225b92af1bd67ed6fd3 SHA256 733aa47b03364a6d71b61afae265ffd2446cfa6b940cc86f49d6516437a27753
+EBUILD gimp-2.7.0.ebuild 2467 RMD160 fc1553e19f2872865a8a93036cecdfffc54b6ecf SHA1 284ab5b2edd3dbcf09f0aafb6452ad17624a6ffb SHA256 147d519a56fefc54336682102c146fb13ed98ca311554c3c8bd095cd4faff790
diff --git a/media-gfx/gimp/gimp-2.7.0.ebuild b/media-gfx/gimp/gimp-2.7.0.ebuild
new file mode 100644
index 0000000..d1b3c9c
--- /dev/null
+++ b/media-gfx/gimp/gimp-2.7.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+
+inherit eutils gnome2 fdo-mime multilib python versionator
+
+DESCRIPTION="GNU Image Manipulation Program"
+HOMEPAGE="http://www.gimp.org/"
+SRC_URI="mirror://gimp/v$(get_version_component_range 1-2)/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+IUSE="alsa aalib altivec curl dbus debug doc exif gnome hal jpeg lcms mmx mng pdf png python smp sse svg tiff webkit wmf"
+
+RDEPEND=">=dev-libs/glib-2.20.0
+ >=x11-libs/gtk+-2.16.1
+ >=x11-libs/pango-1.20.1
+ >=media-libs/freetype-2.1.7
+ >=media-libs/fontconfig-2.2.0
+ sys-libs/zlib
+ dev-libs/libxml2
+ dev-libs/libxslt
+ x11-misc/xdg-utils
+ x11-themes/hicolor-icon-theme
+ >=media-libs/gegl-0.1.0
+ >=media-libs/babl-0.1.0
+ aalib? ( media-libs/aalib )
+ alsa? ( media-libs/alsa-lib )
+ curl? ( net-misc/curl )
+ dbus? ( dev-libs/dbus-glib )
+ hal? ( sys-apps/hal )
+ gnome? ( gnome-base/gvfs )
+ webkit? ( net-libs/webkit-gtk )
+ jpeg? ( >=media-libs/jpeg-6b-r2 )
+ exif? ( >=media-libs/libexif-0.6.15 )
+ lcms? ( media-libs/lcms )
+ mng? ( media-libs/libmng )
+ pdf? ( >=app-text/poppler-0.12.3 )
+ png? ( >=media-libs/libpng-1.2.2 )
+ python? ( >=dev-lang/python-2.5.0
+ >=dev-python/pygtk-2.10.4 )
+ tiff? ( >=media-libs/tiff-3.5.7 )
+ svg? ( >=gnome-base/librsvg-2.8.0 )
+ wmf? ( >=media-libs/libwmf-0.2.8 )"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.22
+ >=dev-util/intltool-0.40.1
+ >=sys-devel/gettext-0.17
+ doc? ( >=dev-util/gtk-doc-1 )"
+
+DOCS="AUTHORS ChangeLog* HACKING NEWS README*"
+
+pkg_setup() {
+ G2CONF="--enable-default-binary \
+ --with-x \
+ $(use_with aalib aa) \
+ $(use_with alsa) \
+ $(use_enable altivec) \
+ $(use_with curl libcurl) \
+ $(use_with dbus) \
+ $(use_with hal) \
+ $(use_with gnome gvfs) \
+ --without-gnomevfs \
+ $(use_with webkit) \
+ $(use_with jpeg libjpeg) \
+ $(use_with exif libexif) \
+ $(use_with lcms) \
+ $(use_enable mmx) \
+ $(use_with mng libmng) \
+ $(use_with pdf poppler) \
+ $(use_with png libpng) \
+ $(use_enable python) \
+ $(use_enable smp mp) \
+ $(use_enable sse) \
+ $(use_with svg librsvg) \
+ $(use_with tiff libtiff) \
+ $(use_with wmf)"
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ python_mod_optimize /usr/$(get_libdir)/gimp/2.0/python \
+ /usr/$(get_libdir)/gimp/2.0/plug-ins
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+ python_mod_cleanup /usr/$(get_libdir)/gimp/2.0/python \
+ /usr/$(get_libdir)/gimp/2.0/plug-ins
+}