diff --git a/app-text/ghostscript-gpl/Manifest b/app-text/ghostscript-gpl/Manifest
deleted file mode 100644
index 2f36b65..0000000
--- a/app-text/ghostscript-gpl/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST ghostscript-9.15.tar.bz2 28826065 SHA256 e65daf25059e2f3dabd3535df3d936a42ca4933d36473a03095e39adcdd5315c SHA512 5c800615bb813f827c218145eb3238773e01f0941efca51abf4233ac6fdb96154b362c65a9567dc6b22794cb2caff69a58eb436c7f9c8e5370a4a64087e50c7e WHIRLPOOL 9e434278560af8fcc92119309eaaf80d615571d971b06d6e26f40317224bd7af49f2115eda4c914ed9c0bd4755439c91929fa3884eca5beb968c73377eab5f28
-DIST ghostscript-gpl-9.12-patchset-1.tar.bz2 4940 SHA256 5c0e99a192a6d0e142c4c5f38a2d80ceeeb4a8e2265264d31360b06f3d94e0b5 SHA512 e3daf758c75ecb6a38dbece91b0f44ae06985920080b376384a9b3ad2ad35295530c144832158af2933d5fc49782c1fc6733efc60106193499c615a502f5e656 WHIRLPOOL e9436e1681e95a4b578a9de577d9b487ad119893c141baf840cd5dae0b89f5eedbde6d2f1225fb97c425a6dc3f3fb7f1ea6a02ab02b799438c3002fb933575c6
-DIST gsdjvu-1.6.tar.gz 207122 SHA256 6236b14b79345eda87cce9ba22387e166e7614cca2ca86b1c6f0d611c26005df SHA512 57f3866f1f863fa31f066b45ee679cfbdf2c6a9bec922f24fa9f50dd3ea52f192b4c9889b0c9657e96ca9e3528d3fea7dcc53b4d1ea87dd49d138ce9c9684884 WHIRLPOOL 66e5222412d9da2d616ba0a3f73548d031b3e6726eff7bc60bea703b02ce4d22e100adad1faf3fabaac379b4ef8324324eabb8b5320f74ebafe929b577dd6c8d
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.15-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.15-r1.ebuild
deleted file mode 100644
index 113f5a0..0000000
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.15-r1.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/ghostscript-gpl/ghostscript-gpl-9.15-r1.ebuild,v 1.3 2015/03/22 07:18:33 ulm Exp $
-
-EAPI=5
-
-inherit autotools eutils multilib versionator flag-o-matic
-
-DESCRIPTION="Ghostscript is an interpreter for the PostScript language and for PDF"
-HOMEPAGE="http://ghostscript.com/"
-
-MY_P=${P/-gpl}
-GSDJVU_PV=1.6
-PVM=$(get_version_component_range 1-2)
-SRC_URI="
-	http://downloads.ghostscript.com/public/${MY_P}.tar.bz2
-	mirror://gentoo/${PN}-9.12-patchset-1.tar.bz2
-	djvu? ( mirror://sourceforge/djvu/gsdjvu-${GSDJVU_PV}.tar.gz )"
-
-LICENSE="AGPL-3 CPL-1.0"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cups dbus djvu gtk idn linguas_de static-libs X"
-RESTRICT="djvu? ( bindist )"
-
-COMMON_DEPEND="
-	app-text/libpaper
-	media-libs/fontconfig
-	>=media-libs/freetype-2.4.9:2=
-	media-libs/jbig2dec
-	>=media-libs/lcms-2.6:2
-	>=media-libs/libpng-1.6.2:0=
-	>=media-libs/tiff-4.0.1:0=
-	>=sys-libs/zlib-1.2.7:=
-	virtual/jpeg:0
-	cups? ( >=net-print/cups-1.3.8 )
-	dbus? ( sys-apps/dbus )
-	djvu? ( app-text/djvu )
-	gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
-	idn? ( net-dns/libidn )
-	X? ( x11-libs/libXt x11-libs/libXext )
-"
-
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-RDEPEND="${COMMON_DEPEND}
-	>=app-text/poppler-data-0.4.5-r1
-	>=media-fonts/urw-fonts-2.4.9
-	linguas_ja? ( media-fonts/kochi-substitute )
-	linguas_ko? ( media-fonts/baekmuk-fonts )
-	linguas_zh_CN? ( media-fonts/arphicfonts )
-	linguas_zh_TW? ( media-fonts/arphicfonts )
-	!!media-fonts/gnu-gs-fonts-std
-	!!media-fonts/gnu-gs-fonts-other
-	!<net-print/cups-filters-1.0.36-r2
-"
-
-S="${WORKDIR}/${MY_P}"
-
-LANGS="ja ko zh_CN zh_TW"
-for X in ${LANGS} ; do
-	IUSE="${IUSE} linguas_${X}"
-done
-
-pkg_setup() {
-	if use djvu; then
-		ewarn "With USE=\"djvu\", distribution of binaries is restricted!"
-		ewarn "See http://djvu.sourceforge.net/gsdjvu/COPYING for details on licensing issues."
-	fi
-}
-
-src_prepare() {
-	# remove internal copies of various libraries
-	rm -rf "${S}"/cups/libs
-	rm -rf "${S}"/expat
-	rm -rf "${S}"/freetype
-	rm -rf "${S}"/jbig2dec
-	rm -rf "${S}"/jpeg{,xr}
-	rm -rf "${S}"/lcms{,2}
-	rm -rf "${S}"/libpng
-	rm -rf "${S}"/tiff
-	rm -rf "${S}"/zlib
-	# remove internal CMaps (CMaps from poppler-data are used instead)
-	rm -rf "${S}"/Resource/CMap
-
-	# apply various patches, many borrowed from Fedora
-	# http://pkgs.fedoraproject.org/cgit/ghostscript.git
-	EPATCH_SUFFIX="patch" EPATCH_FORCE="yes"
-	EPATCH_SOURCE="${WORKDIR}/patches/"
-	epatch
-
-	if use djvu ; then
-		unpack gsdjvu-${GSDJVU_PV}.tar.gz
-		cp gsdjvu-${GSDJVU_PV}/gsdjvu "${S}"
-		cp gsdjvu-${GSDJVU_PV}/gdevdjvu.c "${S}"/base
-		epatch "${WORKDIR}"/patches-gsdjvu/gsdjvu-1.3-${PN}-8.64.patch
-		cp "${S}"/contrib/contrib.mak "${S}"/base/contrib.mak.gsdjvu
-		grep -q djvusep "${S}"/contrib/contrib.mak || \
-			cat gsdjvu-${GSDJVU_PV}/gsdjvu.mak >> "${S}"/contrib/contrib.mak
-
-		# install ps2utf8.ps, bug #197818
-		cp gsdjvu-${GSDJVU_PV}/ps2utf8.ps "${S}"/lib
-		sed -i -e '/$(EXTRA_INIT_FILES)/ a\ps2utf8.ps \\' \
-			"${S}"/base/unixinst.mak || die "sed failed"
-	fi
-
-	if ! use gtk ; then
-		sed -i -e "s:\$(GSSOX)::" \
-			-e "s:.*\$(GSSOX_XENAME)$::" \
-			"${S}"/base/unix-dll.mak || die "sed failed"
-	fi
-
-	# search path fix
-	# put LDFLAGS after BINDIR, bug #383447
-	sed -i -e "s:\$\(gsdatadir\)/lib:/usr/share/ghostscript/${PVM}/$(get_libdir):" \
-		-e "s:exdir=.*:exdir=/usr/share/doc/${PF}/examples:" \
-		-e "s:docdir=.*:docdir=/usr/share/doc/${PF}/html:" \
-		-e "s:GS_DOCDIR=.*:GS_DOCDIR=/usr/share/doc/${PF}/html:" \
-		-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
-		"${S}"/Makefile.in "${S}"/base/*.mak || die "sed failed"
-
-	cd "${S}"
-	eautoreconf
-
-	cd "${S}/ijs"
-	eautoreconf
-}
-
-src_configure() {
-	local FONTPATH
-	for path in \
-		/usr/share/fonts/urw-fonts \
-		/usr/share/fonts/Type1 \
-		/usr/share/fonts \
-		/usr/share/poppler/cMap/Adobe-CNS1 \
-		/usr/share/poppler/cMap/Adobe-GB1 \
-		/usr/share/poppler/cMap/Adobe-Japan1 \
-		/usr/share/poppler/cMap/Adobe-Japan2 \
-		/usr/share/poppler/cMap/Adobe-Korea1
-	do
-		FONTPATH="$FONTPATH${FONTPATH:+:}$path"
-	done
-
-	econf \
-		--enable-dynamic \
-		--enable-freetype \
-		--enable-fontconfig \
-		--enable-openjpeg \
-		--disable-compile-inits \
-		--with-drivers=ALL \
-		--with-fontpath="$FONTPATH" \
-		--with-ijs \
-		--with-jbig2dec \
-		--with-libpaper \
-		--with-system-libtiff \
-		--without-lcms \
-		--without-luratech \
-		$(use_enable cups) \
-		$(use_enable dbus) \
-		$(use_enable gtk) \
-		$(use_with cups pdftoraster) \
-		$(use_with idn libidn) \
-		$(use_with X x)
-
-	if use djvu ; then
-		sed -i -e 's!$(DD)bbox.dev!& $(DD)djvumask.dev $(DD)djvusep.dev!g' \
-			"${S}"/Makefile || die "sed failed"
-	fi
-
-	cd "${S}/ijs"
-	econf \
-		--enable-shared \
-		$(use_enable static-libs static)
-}
-
-src_compile() {
-
-	emake so all
-
-	cd "${S}/ijs"
-	emake
-}
-
-src_install() {
-	emake DESTDIR="${D}" install-so install
-
-	if use djvu ; then
-		dobin gsdjvu
-	fi
-
-	# move gsc to gs, bug #343447
-	# gsc collides with gambit, bug #253064
-	mv -f "${D}/usr/bin/gsc" "${D}/usr/bin/gs" || die
-
-	cd "${S}/ijs"
-	emake DESTDIR="${D}" install
-
-	# rename the original cidfmap to cidfmap.GS
-	mv "${D}/usr/share/ghostscript/${PVM}/Resource/Init/cidfmap"{,.GS} || die
-
-	# install our own cidfmap to handle CJK fonts
-	insinto "/usr/share/ghostscript/${PVM}/Resource/Init"
-	doins "${WORKDIR}/fontmaps/CIDFnmap"
-	doins "${WORKDIR}/fontmaps/cidfmap"
-	for X in ${LANGS} ; do
-		if use linguas_${X} ; then
-			doins "${WORKDIR}/fontmaps/cidfmap.${X}"
-		fi
-	done
-
-	# install the CMaps from poppler-data properly, bug #409361
-	dosym /usr/share/poppler/cMaps /usr/share/ghostscript/${PVM}/Resource/CMap
-
-	use static-libs || find "${D}" -name '*.la' -delete
-
-	use linguas_de || rm -r "${D}"/usr/share/man/de
-}
diff --git a/app-text/ghostscript-gpl/metadata.xml b/app-text/ghostscript-gpl/metadata.xml
deleted file mode 100644
index e450ba2..0000000
--- a/app-text/ghostscript-gpl/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<herd>printing</herd>
-</pkgmetadata>
