diff --git a/dev-java/java-config/Manifest b/dev-java/java-config/Manifest
index 9ee436e..5ee5457 100644
--- a/dev-java/java-config/Manifest
+++ b/dev-java/java-config/Manifest
@@ -1,4 +1 @@
-DIST java-config-1.3.7.tar.bz2 14362 RMD160 243739cdef9ea5b2baa708eabd5358d1804631de SHA1 48a46198ceace1a27d49c5176b2b6d720aaa9eff SHA256 bed302b9643d19caa3f1bbb75ebb8d9373a4ccf68a0b437a158f7265171f56d1
-DIST java-config-2.1.10.tar.bz2 45507 RMD160 55fc34441a1553035c3e4ae674756df494a1705a SHA1 e78a8032a436a63a583960fe85bd5396144f8a97 SHA256 d0afa1279a2bf91a307e54a78227fe413aad12c1a1beaac4ee90b39cc1485ba5
-DIST java-config-2.1.8.tar.bz2 56913 RMD160 d16f8ae852580ee26644c086c12d1ca81e30ca87 SHA1 1d4a3f2c2bec42f192b49343b3ef86870261fb74 SHA256 c7b7953d1c601727904970f92df544a1508f5768d337591674a6356207967abe
-DIST java-config-2.1.9.tar.bz2 56757 RMD160 08e2cb147681fd71100aa40f892e8a71c503f256 SHA1 9a5c333ac0401d247969910e8165d77eeee86f7a SHA256 0d2ed065225474f030d63e51812b525781ec3325a5297da81c22a27e4d4a7778
+DIST java-config-2.1.12.tar.bz2 48925 SHA256 2bace29c276a9507260df505d27bdb9eeaac79e46a8ba615496ae91072b35460 SHA512 f694002baa5d4db3712b8ed9e8b15ba5f867159ea9d605ddaed93e7beb91fc98211c1431f6fcd4c3f10da88a396d73f2d85db0a5e4dca76f465b3a35a18f2a9d WHIRLPOOL fe117e36d5c1afb510f1ab696690ffcf4a5c601de8309c3b96e3e13ea72f9309bde371bd4a7c5b2d30464675557b5da33d7f73c5a391baaae41d342be24dcdc7
diff --git a/dev-java/java-config/files/java-config-1.2.11-shebang.patch b/dev-java/java-config/files/java-config-1.2.11-shebang.patch
deleted file mode 100644
index 256edc1..0000000
--- a/dev-java/java-config/files/java-config-1.2.11-shebang.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- java-config 13 Jan 2005 22:39:18 -0000      1.37
-+++ java-config 18 Jun 2005 13:43:47 -0000
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python -E
- # -*- coding: UTF-8 -*-
-  
-   # Copyright 2001-2005 Gentoo Foundation
-
diff --git a/dev-java/java-config/files/java-config-2.1.8-load_packages.patch b/dev-java/java-config/files/java-config-2.1.8-load_packages.patch
deleted file mode 100644
index dd2855a..0000000
--- a/dev-java/java-config/files/java-config-2.1.8-load_packages.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: java_config_2/EnvironmentManager.py
-===================================================================
---- src/java_config_2/EnvironmentManager.py	(revision 7809)
-+++ src/java_config_2/EnvironmentManager.py	(working copy)
-@@ -81,7 +81,7 @@
-                 raise UnexistingPackageError(name)
- 
-     def load_packages(self):
--        for package in iter(glob(self.pkg_path) % "*" ):
-+        for package in iter(glob(self.pkg_path % "*" )):
-             name = basename(dirname(package))
-             if name in self.packages:
-                 continue
diff --git a/dev-java/java-config/files/java-config-2.1.9-r2.patch b/dev-java/java-config/files/java-config-2.1.9-r2.patch
deleted file mode 100644
index 1afe135..0000000
--- a/dev-java/java-config/files/java-config-2.1.9-r2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: trunk/config/jdk-defaults-x86.conf
-===================================================================
---- trunk/config/jdk-defaults-x86.conf	(revision 7989)
-+++ trunk/config/jdk-defaults-x86.conf	(revision 7990)
-@@ -1,2 +1,2 @@
- # This files contain the default support jdk's
--*= sun-jdk blackdown-jdk ibm-jdk-bin jrockit-jdk-bin
-+*= icedtea6 icedtea6-bin sun-jdk blackdown-jdk ibm-jdk-bin jrockit-jdk-bin
-Index: trunk/config/jdk-defaults-amd64.conf
-===================================================================
---- trunk/config/jdk-defaults-amd64.conf	(revision 7989)
-+++ trunk/config/jdk-defaults-amd64.conf	(revision 7990)
-@@ -1,2 +1,2 @@
- # This files contain the default support jdk's
--*= sun-jdk blackdown-jdk ibm-jdk-bin jrockit-jdk-bin
-+*= icedtea6 icedtea6-bin sun-jdk blackdown-jdk ibm-jdk-bin jrockit-jdk-bin
diff --git a/dev-java/java-config/files/java-config-2.1.9.patch b/dev-java/java-config/files/java-config-2.1.9.patch
deleted file mode 100644
index d2e81af..0000000
--- a/dev-java/java-config/files/java-config-2.1.9.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Index: src/depend-java-query
-===================================================================
---- src/depend-java-query	(revision 7909)
-+++ src/depend-java-query	(working copy)
-@@ -40,7 +40,7 @@
- 
- def get_vm(option, opt, value, parser):
-     try:
--        vm = verman.get_vm(value, False)
-+        vm = verman.get_vm(value, True)
-         printer._print(vm)
-     except Exception, ex:
-         printer._printError(str(ex))
-Index: java-config-2
-===================================================================
---- src/java-config-2	(revision 7909)
-+++ src/java-config-2	(working copy)
-@@ -143,12 +143,15 @@
-     printer._print('%HThe following VMs are available for generation-2:%$')
-     for i, vm in vm_list.iteritems():
-         if vm is active:
--            printer._print('%G' + '*)\t%s [%s]%s' % (vm.query('VERSION'), vm.name(), '%$'))
-+            if not vm.is_build_only():
-+                printer._print('%G' + '*)\t%s [%s]%s' % (vm.query('VERSION'), vm.name(), '%$'))
-+            else:
-+                printer._print('%G' + '*)\t%s [%s]%s' % (vm.query('VERSION'), vm.name(), '%$') + '%r (Build Only)%$')
-         else:
-             if not vm.is_build_only():
-                 printer._print('%i)\t%s [%s]' % (i, vm.query('VERSION'), vm.name()))
-             else:
--                printer._print('%i)\t%s [%s]' % (i, vm.query('VERSION'), vm.name()) + '%r (Build Only)')
-+                printer._print('%i)\t%s [%s]' % (i, vm.query('VERSION'), vm.name()) + '%r (Build Only)%$')
- 
-     printer._print('')
-     printer._print('%r' + 'VMs marked as Build Only may contain Security Vulnerabilities and/or be EOL.')
diff --git a/dev-java/java-config/java-config-2.1.10.ebuild b/dev-java/java-config/java-config-2.1.10.ebuild
deleted file mode 100644
index d39863b..0000000
--- a/dev-java/java-config/java-config-2.1.10.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/java-config/java-config-2.1.10.ebuild,v 1.8 2010/02/26 19:26:02 arfrever Exp $
-
-EAPI="2"
-SUPPORT_PYTHON_ABIS="1"
-
-inherit fdo-mime gnome2-utils distutils eutils
-
-DESCRIPTION="Java environment configuration tool"
-HOMEPAGE="http://www.gentoo.org/proj/en/java/"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="2"
-KEYWORDS="*"
-IUSE=""
-
-DEPEND=">=dev-lang/python-2.4"
-RDEPEND=">=dev-java/java-config-wrapper-0.15"
-# Tests fail when java-config isn't already installed.
-RESTRICT="test"
-RESTRICT_PYTHON_ABIS="3.*"
-
-PYTHON_MODNAME="java_config_2"
-
-src_prepare() {
-	sed -e "s/if not self.dry_run/& and not os.path.exists(s)/" -i setup.py || die "sed failed"
-}
-
-src_test() {
-	testing() {
-		PYTHONPATH="build-${PYTHON_ABI}/lib" "$(PYTHON)" src/run-test-suite.py
-	}
-	python_execute_function testing
-}
-
-src_install() {
-	distutils_src_install
-
-	insinto /usr/share/java-config-2/config/
-	newins config/jdk-defaults-${ARCH}.conf jdk-defaults.conf || die "arch config not found"
-}
-
-pkg_postrm() {
-	distutils_pkg_postrm
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
-
-pkg_postinst() {
-	distutils_pkg_postinst
-	fdo-mime_desktop_database_update
-	gnome2_icon_cache_update
-}
diff --git a/dev-java/java-config/java-config-2.1.12-r1.ebuild b/dev-java/java-config/java-config-2.1.12-r1.ebuild
new file mode 100644
index 0000000..e9af248
--- /dev/null
+++ b/dev-java/java-config/java-config-2.1.12-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/java-config/java-config-2.1.12-r1.ebuild,v 1.9 2013/09/05 18:27:44 mgorny Exp $
+
+EAPI="5"
+
+# jython depends on java-config, so don't add it or things will breake.
+PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
+
+inherit distutils-r1 eutils fdo-mime gnome2-utils
+
+DESCRIPTION="Java environment configuration tool"
+HOMEPAGE="http://www.gentoo.org/proj/en/java/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="*"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=dev-java/java-config-wrapper-0.15
+	!sys-apps/baselayout-java
+	!app-admin/eselect-java"
+# https://bugs.gentoo.org/show_bug.cgi?id=315229
+PDEPEND=">=virtual/jre-1.5"
+# Tests fail when java-config isn't already installed.
+RESTRICT="test"
+
+python_test() {
+	"${PYTHON}" src/run-test-suite.py || die
+	"${PYTHON}" src/run-test-suite2.py || die
+}
+
+python_install_all() {
+	distutils-r1_python_install_all
+
+	insinto /usr/share/java-config-2/config/
+	newins config/jdk-defaults-${ARCH}.conf jdk-defaults.conf
+}
+
+pkg_postrm() {
+	fdo-mime_desktop_database_update
+	gnome2_icon_cache_update
+}
+
+pkg_postinst() {
+	fdo-mime_desktop_database_update
+	gnome2_icon_cache_update
+}
diff --git a/metadata/md5-cache/dev-java/java-config-2.1.10 b/metadata/md5-cache/dev-java/java-config-2.1.10
deleted file mode 100644
index cfb3de3..0000000
--- a/metadata/md5-cache/dev-java/java-config-2.1.10
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install postinst postrm prepare test
-DEPEND=>=dev-lang/python-2.4 >=sys-apps/sed-4 dev-lang/python
-DESCRIPTION=Java environment configuration tool
-EAPI=2
-HOMEPAGE=http://www.gentoo.org/proj/en/java/
-KEYWORDS=*
-LICENSE=GPL-2
-RDEPEND=>=dev-java/java-config-wrapper-0.15 dev-lang/python
-RESTRICT=test
-SLOT=2
-SRC_URI=mirror://gentoo/java-config-2.1.10.tar.bz2
-_eclasses_=distutils	c2658824b3debc637c77b58e1d658fab	eutils	a108f00cccac414097bcbbbb5de01762	fdo-mime	9c46e30acd923ff12e325dbe96bb98b9	gnome2-utils	794d2847b4af390a1e020924876c8297	multilib	fac675dcccf94392371a6abee62d909f	python	305197b0aa1194fa3ef67ca21f6faa7e	toolchain-funcs	48b38a216afb92db6314d6c3187abea3
-_md5_=3d9776dd0cbc4676dfffef2c51f73d99
diff --git a/metadata/md5-cache/dev-java/java-config-2.1.12-r1 b/metadata/md5-cache/dev-java/java-config-2.1.12-r1
new file mode 100644
index 0000000..cfcaf03
--- /dev/null
+++ b/metadata/md5-cache/dev-java/java-config-2.1.12-r1
@@ -0,0 +1,15 @@
+DEFINED_PHASES=compile configure install postinst postrm prepare test
+DEPEND=python_targets_python2_6? ( >=dev-lang/python-2.6.8-r3:2.6 ) python_targets_python2_7? ( >=dev-lang/python-2.7.3-r2:2.7 ) python_targets_python3_2? ( >=dev-lang/python-3.2.5-r2:3.2 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) dev-lang/python-exec:=[python_targets_python2_6(-)?,python_targets_python2_7(-)?,python_targets_python3_2(-)?,python_targets_python3_3(-)?,-python_single_target_python2_6(-),-python_single_target_python2_7(-),-python_single_target_python3_2(-),-python_single_target_python3_3(-)] >=sys-apps/sed-4
+DESCRIPTION=Java environment configuration tool
+EAPI=5
+HOMEPAGE=http://www.gentoo.org/proj/en/java/
+IUSE=python_targets_python2_6 python_targets_python2_7 python_targets_python3_2 python_targets_python3_3
+KEYWORDS=*
+LICENSE=GPL-2
+PDEPEND=>=virtual/jre-1.5
+RDEPEND=>=dev-java/java-config-wrapper-0.15 !sys-apps/baselayout-java !app-admin/eselect-java python_targets_python2_6? ( >=dev-lang/python-2.6.8-r3:2.6 ) python_targets_python2_7? ( >=dev-lang/python-2.7.3-r2:2.7 ) python_targets_python3_2? ( >=dev-lang/python-3.2.5-r2:3.2 ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3 ) dev-lang/python-exec:=[python_targets_python2_6(-)?,python_targets_python2_7(-)?,python_targets_python3_2(-)?,python_targets_python3_3(-)?,-python_single_target_python2_6(-),-python_single_target_python2_7(-),-python_single_target_python3_2(-),-python_single_target_python3_3(-)]
+RESTRICT=test
+SLOT=2
+SRC_URI=mirror://gentoo/java-config-2.1.12.tar.bz2
+_eclasses_=distutils-r1	52a35bc5600044dfdf1a3f1fa258dc93	eutils	a108f00cccac414097bcbbbb5de01762	fdo-mime	9c46e30acd923ff12e325dbe96bb98b9	gnome2-utils	794d2847b4af390a1e020924876c8297	multibuild	c2f33b0eedd7bcfd5bc226baa8da7837	multilib	fac675dcccf94392371a6abee62d909f	multiprocessing	1512bdfe7004902b8cd2c466fc3df772	python-r1	cd956d5a4bac2209a64d0f4851cc115d	python-utils-r1	4fc11614abf37ede29a4eb8aaae8a22a	toolchain-funcs	48b38a216afb92db6314d6c3187abea3
+_md5_=c0f06b6e3463d660c5a003db09c7d48b
