public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2018-03-01 10:14 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2018-03-01 10:14 UTC (permalink / raw
  To: gentoo-commits

commit:     2f89a7930905cb23958ad1d8574cd38fe5d73be0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  1 10:14:30 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar  1 10:14:30 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=2f89a793

app-editors/emacs: Sync from gentoo repo.

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-editors/emacs/emacs-23.4-r17.ebuild | 1 -
 app-editors/emacs/emacs-24.5-r5.ebuild  | 1 -
 app-editors/emacs/emacs-25.3-r3.ebuild  | 1 -
 3 files changed, 3 deletions(-)

diff --git a/app-editors/emacs/emacs-23.4-r17.ebuild b/app-editors/emacs/emacs-23.4-r17.ebuild
index 7879999..b331aae 100644
--- a/app-editors/emacs/emacs-23.4-r17.ebuild
+++ b/app-editors/emacs/emacs-23.4-r17.ebuild
@@ -52,7 +52,6 @@ RDEPEND="sys-libs/ncurses:0=
 		!gtk? (
 			motif? (
 				>=x11-libs/motif-2.3:0
-				x11-libs/libXp
 				x11-libs/libXpm
 				x11-libs/libXext
 				x11-libs/libXmu

diff --git a/app-editors/emacs/emacs-24.5-r5.ebuild b/app-editors/emacs/emacs-24.5-r5.ebuild
index 9fa543d..2668c73 100644
--- a/app-editors/emacs/emacs-24.5-r5.ebuild
+++ b/app-editors/emacs/emacs-24.5-r5.ebuild
@@ -65,7 +65,6 @@ RDEPEND="sys-libs/ncurses:0=
 		!gtk? (
 			motif? (
 				>=x11-libs/motif-2.3:0
-				x11-libs/libXp
 				x11-libs/libXpm
 				x11-libs/libXmu
 				x11-libs/libXt

diff --git a/app-editors/emacs/emacs-25.3-r3.ebuild b/app-editors/emacs/emacs-25.3-r3.ebuild
index 8267aed..a091afd 100644
--- a/app-editors/emacs/emacs-25.3-r3.ebuild
+++ b/app-editors/emacs/emacs-25.3-r3.ebuild
@@ -67,7 +67,6 @@ RDEPEND="sys-libs/ncurses:0=
 		!gtk? (
 			motif? (
 				>=x11-libs/motif-2.3:0
-				x11-libs/libXp
 				x11-libs/libXpm
 				x11-libs/libXmu
 				x11-libs/libXt


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2022-11-30 18:25 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2022-11-30 18:25 UTC (permalink / raw
  To: gentoo-commits

commit:     60d75ccbf52cea54bf7542d0e78555b58ac0eeb4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 30 16:46:55 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 30 16:46:55 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=60d75ccb

app-editors/emacs: Ebuilds for 23.4 and 24.5 copied from Gentoo repo

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/Manifest              |   2 +
 app-editors/emacs/emacs-23.4-r21.ebuild | 354 ++++++++++++++++++++++++++++++++
 app-editors/emacs/emacs-24.5-r11.ebuild | 346 +++++++++++++++++++++++++++++++
 app-editors/emacs/metadata.xml          |  42 ++--
 4 files changed, 727 insertions(+), 17 deletions(-)

diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
index ae8fb8c..2fc5ee1 100644
--- a/app-editors/emacs/Manifest
+++ b/app-editors/emacs/Manifest
@@ -1,5 +1,7 @@
 DIST emacs-23.4-patches-23.tar.xz 19932 BLAKE2B 941d939d1a66af162016eb7f4a34a3a6d19736ecbd06e2499ccb0bf8806b2b3583de324308698b00d0b47a3d0b8a046e5d5dcb2d681c2bba90ec40b58b4e9855 SHA512 83e2cef7ebe07fc69806d01946c6e96fa0e92b363e9c6531992593eeb29413518217fef05bba48729356af7d1326c3667748185aad971a625daccb803b2bfe58
+DIST emacs-23.4.tar.bz2 38646508 BLAKE2B 33dac5d27a63b7aab6b4053964a0ecf7f7939c7aea5af15103f2da7bd34fbb18dba7a1bf44cc4fcc2e3fb1439cdf7085d8dfc4b0005f5485748996e75ca6872d SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296
 DIST emacs-24.3-patches-7.tar.xz 6484 BLAKE2B 42da9c01a6fc7fd44b9281f11e1aed9ccc7273533c6deeab54125cabad9ff25757c410f43e32f55e13fc0d5354688a4fdd7e5c05dd8a98e36d9cd1a87f414ce9 SHA512 6e3f6f053ad66e6d298b4fd904c57a6c2a03269ec53e9dfc56f834672a42c8f48eeb20a7ed1bcfb534eb62e0cca6e01b4a1663bebb046a0ce7325b732a378868
 DIST emacs-24.3.tar.xz 35565352 BLAKE2B 12474f0d4fb99449bb226834aabcaa15aa4e6c3cd6382786959636d53ea1c9a9662cb158cd6c88589e2760bd3030c3970c919fe35967a90830b77fce9e315df8 SHA512 a1300fa10a9fba2db9735db3d01382bcda89ceec033976c4622796dfdf6d2748ed5fa73edf229182b368190c8acbf706810dd5f344542d2c0d294154bc2d0ca9
 DIST emacs-24.4-patches-5.tar.xz 6000 BLAKE2B 5a36e15de2237e8c42bbc57038c301ad9548a24af08b072dcfd175f07950605804649c5c4c3fd3504a864bf314d6a742c588cad26b84a1c283de68e4adb139fd SHA512 0a337ad5b7601f5e453645d1fba99717328c6bc7a5505bcb4bd8e853179cf61be43eb6f3b9370edf0f44aa6485d4847c14554c1592ccc7da87b10dabaaa9d421
 DIST emacs-24.5-patches-5.tar.xz 14796 BLAKE2B 3e097f9cdf96a8b0255ce69770f79259ac9bdddbf5aa77c381973e4348d0900ee6dc6ed4af26021811afbb14eff84bc2a370bc8e803d112476554d03b074ce66 SHA512 fe9f9c19ff760e61dcbf1828d4e9e2806c141b47372bdd736be8237183660a28e2ef86a97034d060e244ff81540a2503a1b47655ef84222fddacb3a87f0f34ae
+DIST emacs-24.5.tar.xz 39759804 BLAKE2B aec253528038686822d1f8ed9a52dff276789ef7744053fc9b6176fceba4d4d8684fe979cf97e756b3feaf734d2377baef81f5efaa5450930a4e94d9f3bca355 SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677

diff --git a/app-editors/emacs/emacs-23.4-r21.ebuild b/app-editors/emacs/emacs-23.4-r21.ebuild
new file mode 100644
index 0000000..697eed5
--- /dev/null
+++ b/app-editors/emacs/emacs-23.4-r21.ebuild
@@ -0,0 +1,354 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+WANT_AUTOMAKE="none"
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1 toolchain-funcs
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
+	https://dev.gentoo.org/~ulm/emacs/${P}-patches-23.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="23"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="alsa aqua athena dbus games gconf gif gpm gtk gui gzip-el jpeg kerberos livecd m17n-lib motif png sound source svg tiff toolkit-scroll-bars Xaw3d xft +xpm"
+
+RDEPEND="acct-group/mail
+	app-emacs/emacs-common[games?,gui(-)?]
+	net-libs/liblockfile
+	sys-libs/ncurses:0=
+	kerberos? ( virtual/krb5 )
+	alsa? ( media-libs/alsa-lib )
+	games? ( acct-group/gamestat )
+	gpm? ( sys-libs/gpm )
+	dbus? ( sys-apps/dbus )
+	gui? ( !aqua? (
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-misc/xbitmaps
+		gconf? ( >=gnome-base/gconf-2.26.2 )
+		gif? ( media-libs/giflib:0= )
+		jpeg? ( media-libs/libjpeg-turbo:0= )
+		png? ( >=media-libs/libpng-1.4:0= )
+		svg? ( >=gnome-base/librsvg-2.0 )
+		tiff? ( media-libs/tiff:0 )
+		xpm? ( x11-libs/libXpm )
+		xft? (
+			media-libs/fontconfig
+			media-libs/freetype
+			x11-libs/libXft
+			x11-libs/libXrender
+			m17n-lib? (
+				>=dev-libs/libotf-0.9.4
+				>=dev-libs/m17n-lib-1.5.1
+			)
+		)
+		gtk? ( x11-libs/gtk+:2 )
+		!gtk? (
+			motif? (
+				>=x11-libs/motif-2.3:0
+				x11-libs/libXpm
+				x11-libs/libXext
+				x11-libs/libXmu
+				x11-libs/libXt
+			)
+			!motif? (
+				Xaw3d? (
+					x11-libs/libXaw3d
+					x11-libs/libXext
+					x11-libs/libXmu
+					x11-libs/libXt
+				)
+				!Xaw3d? ( athena? (
+					x11-libs/libXaw
+					x11-libs/libXext
+					x11-libs/libXmu
+					x11-libs/libXt
+				) )
+			)
+		)
+	) )"
+
+DEPEND="${RDEPEND}
+	gui? ( !aqua? ( x11-base/xorg-proto ) )"
+
+BDEPEND="virtual/pkgconfig
+	gzip-el? ( app-arch/gzip )"
+
+IDEPEND="app-eselect/eselect-emacs"
+
+RDEPEND+=" ${IDEPEND}"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+PATCHES=("${WORKDIR}/patch")
+
+src_prepare() {
+	default
+
+	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+		|| die "unable to sed ctags.1"
+
+	if ! use alsa; then
+		# ALSA is detected even if not requested by its USE flag.
+		# Suppress it by supplying pkg-config with a wrong library name.
+		sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
+			|| die "unable to sed configure.in"
+	fi
+	if ! use gzip-el; then
+		# Emacs' build system automatically detects the gzip binary and
+		# compresses el files. We don't want that so confuse it with a
+		# wrong binary name
+		sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
+			|| die "unable to sed configure.in"
+	fi
+
+	eautoreconf
+	touch src/stamp-h.in || die
+}
+
+src_configure() {
+	strip-flags
+	filter-flags -fstrict-aliasing -pie
+	append-flags $(test-flags -fno-strict-aliasing)
+	append-ldflags $(test-flags -no-pie)	#639568
+
+	if use ia64; then
+		replace-flags "-O[2-9]" -O1		#325373
+	else
+		replace-flags "-O[3-9]" -O2
+	fi
+
+	# Don't trigger a floating point exception for NaNs on alpha
+	use alpha && append-flags -mieee
+
+	local myconf
+
+	if use alsa && ! use sound; then
+		einfo "Although sound USE flag is disabled you chose to have alsa,"
+		einfo "so sound is switched on anyway."
+		myconf+=" --with-sound"
+	else
+		myconf+=" $(use_with sound)"
+	fi
+
+	if ! use gui; then
+		einfo "Configuring to build without window system support"
+		myconf+=" --without-x --without-ns"
+	elif use aqua; then
+		einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
+		myconf+=" --with-ns --disable-ns-self-contained"
+		myconf+=" --without-x"
+	else
+		myconf+=" --with-x --without-ns"
+		myconf+=" $(use_with gconf)"
+		myconf+=" $(use_with toolkit-scroll-bars)"
+		myconf+=" $(use_with gif)"
+		myconf+=" $(use_with jpeg)"
+		myconf+=" $(use_with png)"
+		myconf+=" $(use_with svg rsvg)"
+		myconf+=" $(use_with tiff)"
+		myconf+=" $(use_with xpm)"
+
+		if use xft; then
+			myconf+=" --with-xft"
+			myconf+=" $(use_with m17n-lib libotf)"
+			myconf+=" $(use_with m17n-lib m17n-flt)"
+		else
+			myconf+=" --without-xft"
+			myconf+=" --without-libotf --without-m17n-flt"
+			use m17n-lib && ewarn \
+				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+		fi
+
+		# GTK+ is the default toolkit if USE=gtk is chosen with other
+		# possibilities. Emacs upstream thinks this should be standard
+		# policy on all distributions
+		local f
+		if use gtk; then
+			einfo "Configuring to build with GIMP Toolkit (GTK+)"
+			myconf+=" --with-x-toolkit=gtk"
+			for f in motif Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"gtk\" is set."
+			done
+		elif use motif; then
+			einfo "Configuring to build with Motif toolkit"
+			myconf+=" --with-x-toolkit=motif"
+			for f in Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"motif\" is set."
+			done
+		elif use athena || use Xaw3d; then
+			einfo "Configuring to build with Athena/Lucid toolkit"
+			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+		else
+			einfo "Configuring to build with no toolkit"
+			myconf+=" --with-x-toolkit=no"
+		fi
+	fi
+
+	# According to configure, this option is only used for GNU/Linux
+	# (x86_64 and s390). For Gentoo Prefix we have to explicitly spell
+	# out the location because $(get_libdir) does not necessarily return
+	# something that matches the host OS's libdir naming (e.g. RHEL).
+	local crtdir=$($(tc-getCC) -print-file-name=crt1.o)
+	crtdir=${crtdir%/*}
+
+	econf \
+		--program-suffix="-${EMACS_SUFFIX}" \
+		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+		--localstatedir="${EPREFIX}"/var \
+		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+		--with-crt-dir="${crtdir}" \
+		--with-gameuser=":gamestat" \
+		--without-hesiod \
+		$(use_with kerberos) $(use_with kerberos kerberos5) \
+		$(use_with gpm) \
+		$(use_with dbus) \
+		${myconf}
+}
+
+src_compile() {
+	# Disable sandbox when dumping. For the unbelievers, see bug #131505
+	emake CC="$(tc-getCC)" \
+		AR="$(tc-getAR) cq" \
+		RANLIB="$(tc-getRANLIB)" \
+		RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+
+	rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
+		|| die "removing duplicate emacs executable failed"
+	mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \
+		|| die "moving emacs executable failed"
+
+	# move man pages to the correct place
+	local m
+	mv "${ED}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \
+		|| die "moving emacs man page failed"
+	for m in b2m ctags ebrowse emacsclient etags grep-changelog rcs-checkin; do
+		mv "${ED}"/usr/share/man/man1/${m}{,-${EMACS_SUFFIX}}.1 \
+			|| die "moving ${m} man page failed"
+	done
+
+	# move info dir to avoid collisions with the dir file generated by portage
+	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+		|| die "moving info dir failed"
+	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+	# movemail must be setgid mail
+	fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
+	fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
+
+	# avoid collision between slots, see bug #169033 e.g.
+	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
+	rm -rf "${ED}"/usr/share/{applications,icons} || die
+	rm -rf "${ED}"/var || die
+
+	# remove unused <version>/site-lisp dir
+	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
+
+	# remove COPYING file (except for etc/COPYING used by describe-copying)
+	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
+
+	local cdir
+	if use source; then
+		cdir="/usr/share/emacs/${FULL_VERSION}/src"
+		insinto "${cdir}"
+		# This is not meant to install all the source -- just the
+		# C source you might find via find-function
+		doins src/*.{c,h,m}
+		doins -r src/{m,s}
+		rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c || die
+		rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README || die
+	elif has installsources ${FEATURES}; then
+		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+	fi
+
+	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
+	X
+	;;; ${EMACS_SUFFIX} site-lisp configuration
+	X
+	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+	Y  (setq find-function-C-source-directory
+	Y	"${EPREFIX}${cdir}")
+	X  (let ((path (getenv "INFOPATH"))
+	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+	X	(re "\\\\\`${EPREFIX}/usr/share\\\\>"))
+	X    (and path
+	X	 ;; move Emacs Info dir before anything else in /usr/share
+	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
+	X	   (while (and (cdr q) (not (string-match re (cadr q))))
+	X	     (setq q (cdr q)))
+	X	   (setcdr q (cons dir (delete dir (cdr q))))
+	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
+	EOF
+	elisp-site-file-install "${T}/${SITEFILE}" || die
+
+	dodoc README BUGS
+
+	if use gui && use aqua; then
+		dodir /Applications/Gentoo
+		rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+		mv nextstep/Emacs.app \
+			"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+	fi
+
+	local DOC_CONTENTS="You can set the version to be started by
+		/usr/bin/emacs through the Emacs eselect module, which also
+		redirects man and info pages. Therefore, several Emacs versions can
+		be installed at the same time. \"man emacs.eselect\" for details.
+		\\n\\nIf you upgrade from a previous major version of Emacs, then
+		it is strongly recommended that you use app-admin/emacs-updater
+		to rebuild all byte-compiled elisp files of the installed Emacs
+		packages."
+	if use gui; then
+		DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+			Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+			machine would satisfy basic Emacs requirements under X11.
+			See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+			for how to enable anti-aliased fonts."
+		use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
+			\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
+			symlink it into /Applications by yourself."
+	fi
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# move Info dir file to correct name
+	if [[ -d ${ED}/usr/share/info ]]; then
+		mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+	fi
+}
+
+pkg_postinst() {
+	elisp-site-regen
+	readme.gentoo_print_elog
+
+	if use livecd; then
+		# force an update of the emacs symlink for the livecd/dvd,
+		# because some microemacs packages set it with USE=livecd
+		eselect emacs update
+	else
+		eselect emacs update ifunset
+	fi
+}
+
+pkg_postrm() {
+	elisp-site-regen
+	eselect emacs update ifunset
+}

diff --git a/app-editors/emacs/emacs-24.5-r11.ebuild b/app-editors/emacs/emacs-24.5-r11.ebuild
new file mode 100644
index 0000000..1ae3f49
--- /dev/null
+++ b/app-editors/emacs/emacs-24.5-r11.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+	https://dev.gentoo.org/~ulm/emacs/${P}-patches-5.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="24"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="acl alsa aqua athena dbus games gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm zlib"
+
+RDEPEND="acct-group/mail
+	app-emacs/emacs-common[games?,gui(-)?]
+	net-libs/liblockfile
+	sys-libs/ncurses:0=
+	acl? ( virtual/acl )
+	alsa? ( media-libs/alsa-lib )
+	dbus? ( sys-apps/dbus )
+	games? ( acct-group/gamestat )
+	gpm? ( sys-libs/gpm )
+	!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+	kerberos? ( virtual/krb5 )
+	libxml2? ( >=dev-libs/libxml2-2.2.0 )
+	selinux? ( sys-libs/libselinux )
+	ssl? ( net-libs/gnutls:0= )
+	zlib? ( sys-libs/zlib )
+	gui? ( !aqua? (
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXinerama
+		x11-libs/libXrandr
+		x11-misc/xbitmaps
+		gsettings? ( >=dev-libs/glib-2.28.6 )
+		gif? ( media-libs/giflib:0= )
+		jpeg? ( media-libs/libjpeg-turbo:0= )
+		png? ( >=media-libs/libpng-1.4:0= )
+		svg? ( >=gnome-base/librsvg-2.0 )
+		tiff? ( media-libs/tiff:0 )
+		xpm? ( x11-libs/libXpm )
+		imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
+		xft? (
+			media-libs/fontconfig
+			media-libs/freetype
+			x11-libs/libXft
+			x11-libs/libXrender
+			m17n-lib? (
+				>=dev-libs/libotf-0.9.4
+				>=dev-libs/m17n-lib-1.5.1
+			)
+		)
+		gtk? ( x11-libs/gtk+:3 )
+		!gtk? (
+			motif? (
+				>=x11-libs/motif-2.3:0
+				x11-libs/libXpm
+				x11-libs/libXmu
+				x11-libs/libXt
+			)
+			!motif? (
+				Xaw3d? (
+					x11-libs/libXaw3d
+					x11-libs/libXmu
+					x11-libs/libXt
+				)
+				!Xaw3d? ( athena? (
+					x11-libs/libXaw
+					x11-libs/libXmu
+					x11-libs/libXt
+				) )
+			)
+		)
+	) )"
+
+DEPEND="${RDEPEND}
+	gui? ( !aqua? ( x11-base/xorg-proto ) )"
+
+BDEPEND="virtual/pkgconfig
+	gzip-el? ( app-arch/gzip )"
+
+IDEPEND="app-eselect/eselect-emacs"
+
+RDEPEND+=" ${IDEPEND}"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+PATCHES=("${WORKDIR}/patch")
+
+src_prepare() {
+	default
+
+	# Fix filename reference in redirected man page
+	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+		|| die "unable to sed ctags.1"
+
+	AT_M4DIR=m4 eautoreconf
+	touch src/stamp-h.in || die
+}
+
+src_configure() {
+	strip-flags
+	filter-flags -pie					#526948
+	append-ldflags $(test-flags -no-pie)	#639570
+
+	if use ia64; then
+		replace-flags "-O[2-9]" -O1		#325373
+	else
+		replace-flags "-O[3-9]" -O2
+	fi
+
+	# Don't trigger a floating point exception for NaNs on alpha
+	use alpha && append-flags -mieee
+
+	local myconf
+
+	if use alsa; then
+		use sound || ewarn \
+			"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+		myconf+=" --with-sound=alsa"
+	else
+		myconf+=" --with-sound=$(usex sound oss)"
+	fi
+
+	if ! use gui; then
+		einfo "Configuring to build without window system support"
+		myconf+=" --without-x --without-ns"
+	elif use aqua; then
+		einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
+		myconf+=" --with-ns --disable-ns-self-contained"
+		myconf+=" --without-x"
+	else
+		myconf+=" --with-x --without-ns"
+		myconf+=" --without-gconf"
+		myconf+=" $(use_with gsettings)"
+		myconf+=" $(use_with toolkit-scroll-bars)"
+		myconf+=" $(use_with gif)"
+		myconf+=" $(use_with jpeg)"
+		myconf+=" $(use_with png)"
+		myconf+=" $(use_with svg rsvg)"
+		myconf+=" $(use_with tiff)"
+		myconf+=" $(use_with xpm)"
+		myconf+=" $(use_with imagemagick)"
+
+		if use xft; then
+			myconf+=" --with-xft"
+			myconf+=" $(use_with m17n-lib libotf)"
+			myconf+=" $(use_with m17n-lib m17n-flt)"
+		else
+			myconf+=" --without-xft"
+			myconf+=" --without-libotf --without-m17n-flt"
+			use m17n-lib && ewarn \
+				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+		fi
+
+		local f line
+		if use gtk; then
+			einfo "Configuring to build with GIMP Toolkit (GTK+)"
+			while read line; do ewarn "${line}"; done <<-EOF
+				Your version of GTK+ will have problems with closing open
+				displays. This is no problem if you just use one display, but
+				if you use more than one and close one of them Emacs may crash.
+				See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
+				<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
+				If you intend to use more than one display, then it is strongly
+				recommended that you compile Emacs with the Athena/Lucid or the
+				Motif toolkit instead.
+			EOF
+			myconf+=" --with-x-toolkit=gtk3"
+			for f in motif Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"gtk\" is set."
+			done
+		elif use motif; then
+			einfo "Configuring to build with Motif toolkit"
+			myconf+=" --with-x-toolkit=motif"
+			for f in Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"motif\" is set."
+			done
+		elif use athena || use Xaw3d; then
+			einfo "Configuring to build with Athena/Lucid toolkit"
+			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+		else
+			einfo "Configuring to build with no toolkit"
+			myconf+=" --with-x-toolkit=no"
+		fi
+	fi
+
+	econf \
+		--program-suffix="-${EMACS_SUFFIX}" \
+		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+		--localstatedir="${EPREFIX}"/var \
+		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+		--with-gameuser=":gamestat" \
+		--without-compress-install \
+		--without-hesiod \
+		--with-file-notification=$(usev inotify || usev gfile || echo no) \
+		$(use_enable acl) \
+		$(use_with dbus) \
+		$(use_with gpm) \
+		$(use_with kerberos) $(use_with kerberos kerberos5) \
+		$(use_with libxml2 xml2) \
+		$(use_with selinux) \
+		$(use_with ssl gnutls) \
+		$(use_with wide-int) \
+		$(use_with zlib) \
+		${myconf}
+}
+
+src_compile() {
+	# Disable sandbox when dumping. For the unbelievers, see bug #131505
+	emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
+}
+
+src_install() {
+	emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install
+
+	mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+		|| die "moving emacs executable failed"
+	mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+		|| die "moving emacs man page failed"
+
+	# move info dir to avoid collisions with the dir file generated by portage
+	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+		|| die "moving info dir failed"
+	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+	# movemail must be setgid mail
+	fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
+	fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
+
+	# avoid collision between slots, see bug #169033 e.g.
+	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
+	rm -rf "${ED}"/usr/share/{applications,icons} || die
+	rm -rf "${ED}"/var || die
+
+	# remove unused <version>/site-lisp dir
+	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
+
+	# remove COPYING file (except for etc/COPYING used by describe-copying)
+	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
+
+	if use gzip-el; then
+		# compress .el files when a corresponding .elc exists
+		find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+			-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+		assert "gzip .el failed"
+	fi
+
+	local cdir
+	if use source; then
+		cdir="/usr/share/emacs/${FULL_VERSION}/src"
+		insinto "${cdir}"
+		# This is not meant to install all the source -- just the
+		# C source you might find via find-function
+		doins src/*.{c,h,m}
+	elif has installsources ${FEATURES}; then
+		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+	fi
+
+	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
+	X
+	;;; ${EMACS_SUFFIX} site-lisp configuration
+	X
+	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+	Y  (setq find-function-C-source-directory
+	Y	"${EPREFIX}${cdir}")
+	X  (let ((path (getenv "INFOPATH"))
+	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+	X	(re "\\\\\`${EPREFIX}/usr/share\\\\>"))
+	X    (and path
+	X	 ;; move Emacs Info dir before anything else in /usr/share
+	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
+	X	   (while (and (cdr q) (not (string-match re (cadr q))))
+	X	     (setq q (cdr q)))
+	X	   (setcdr q (cons dir (delete dir (cdr q))))
+	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
+	EOF
+	elisp-site-file-install "${T}/${SITEFILE}" || die
+
+	dodoc README BUGS
+
+	if use gui && use aqua; then
+		dodir /Applications/Gentoo
+		rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+		mv nextstep/Emacs.app \
+			"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
+	fi
+
+	local DOC_CONTENTS="You can set the version to be started by
+		/usr/bin/emacs through the Emacs eselect module, which also
+		redirects man and info pages. Therefore, several Emacs versions can
+		be installed at the same time. \"man emacs.eselect\" for details.
+		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+		strongly recommended that you use app-admin/emacs-updater to rebuild
+		all byte-compiled elisp files of the installed Emacs packages."
+	if use gui; then
+		DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+			Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+			machine would satisfy basic Emacs requirements under X11.
+			See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+			for how to enable anti-aliased fonts."
+		use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
+			\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
+			symlink it into /Applications by yourself."
+	fi
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# move Info dir file to correct name
+	if [[ -d ${ED}/usr/share/info ]]; then
+		mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
+	fi
+}
+
+pkg_postinst() {
+	elisp-site-regen
+	readme.gentoo_print_elog
+
+	if use livecd; then
+		# force an update of the emacs symlink for the livecd/dvd,
+		# because some microemacs packages set it with USE=livecd
+		eselect emacs update
+	else
+		eselect emacs update ifunset
+	fi
+}
+
+pkg_postrm() {
+	elisp-site-regen
+	eselect emacs update ifunset
+}

diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
index 3625f6f..098739b 100644
--- a/app-editors/emacs/metadata.xml
+++ b/app-editors/emacs/metadata.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<maintainer type="project">
-  <email>gnu-emacs@gentoo.org</email>
-  <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<longdescription>
+  <maintainer type="project">
+    <email>gnu-emacs@gentoo.org</email>
+    <name>Gentoo GNU Emacs project</name>
+  </maintainer>
+  <longdescription>
   GNU Emacs is an extensible, customizable text editor - and more. At its core
   is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
   with extensions to support text editing. The features of GNU Emacs include:
@@ -18,25 +18,33 @@
      project planner, mail and news reader, debugger interface, calendar, and
      more. Many of these extensions are distributed with GNU Emacs; others are
      available separately.
-</longdescription>
-<use>
-  <flag name="athena">Enable the MIT Athena widget set
+  </longdescription>
+  <use>
+    <flag name="athena">Enable the MIT Athena widget set
     (<pkg>x11-libs/libXaw</pkg>)</flag>
-  <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
+    <flag name="games">Support shared score files for games</flag>
+    <flag name="gconf">Use <pkg>gnome-base/gconf</pkg> to read the system
+    font name</flag>
+    <flag name="gfile">Use gfile (<pkg>dev-libs/glib</pkg>) for file
+    notification</flag>
+    <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
     system font name</flag>
-  <flag name="gtk2">Prefer version 2 of the GIMP Toolkit to version 3
+    <flag name="gtk2">Prefer version 2 of the GIMP Toolkit to version 3
     (<pkg>x11-libs/gtk+</pkg>)</flag>
-  <flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
-  <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image
+    <flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
+    <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image
     processing</flag>
-  <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
+    <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
     of the internal Lisp implementations</flag>
-  <flag name="source">Install C source files and make them available for
+    <flag name="source">Install C source files and make them available for
     find-function</flag>
-  <flag name="toolkit-scroll-bars">Use the selected toolkit's scrollbars in
+    <flag name="toolkit-scroll-bars">Use the selected toolkit's scrollbars in
     preference to Emacs' own scrollbars</flag>
-  <flag name="wide-int">Prefer wide Emacs integers (typically 62-bit).
+    <flag name="wide-int">Prefer wide Emacs integers (typically 62-bit).
     This option has an effect only on architectures where "long" and
     "long long" types have different size.</flag>
-</use>
+  </use>
+  <upstream>
+    <remote-id type="savannah">emacs</remote-id>
+  </upstream>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2022-11-30 18:25 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2022-11-30 18:25 UTC (permalink / raw
  To: gentoo-commits

commit:     154d8ec8ce39f54eb69199da87f3f8827c5456fa
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 30 16:48:19 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 30 16:48:19 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=154d8ec8

app-editors/emacs: Apply some changes from 24.5 to 24.3

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/emacs-24.3-r8.ebuild | 63 ++++++++++++++++------------------
 1 file changed, 29 insertions(+), 34 deletions(-)

diff --git a/app-editors/emacs/emacs-24.3-r8.ebuild b/app-editors/emacs/emacs-24.3-r8.ebuild
index 565baf1..9c4d40e 100644
--- a/app-editors/emacs/emacs-24.3-r8.ebuild
+++ b/app-editors/emacs/emacs-24.3-r8.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 inherit autotools elisp-common flag-o-matic readme.gentoo-r1
 
@@ -38,7 +38,7 @@ RDEPEND="app-emacs/emacs-common[gui(-)?]
 		x11-misc/xbitmaps
 		gsettings? ( >=dev-libs/glib-2.28.6 )
 		gif? ( media-libs/giflib:0= )
-		jpeg? ( virtual/jpeg:0= )
+		jpeg? ( media-libs/libjpeg-turbo:0= )
 		png? ( >=media-libs/libpng-1.4:0= )
 		svg? ( >=gnome-base/librsvg-2.0 )
 		tiff? ( media-libs/tiff:0 )
@@ -54,10 +54,7 @@ RDEPEND="app-emacs/emacs-common[gui(-)?]
 				>=dev-libs/m17n-lib-1.5.1
 			)
 		)
-		gtk? (
-			gtk2? ( x11-libs/gtk+:2 )
-			!gtk2? ( x11-libs/gtk+:3 )
-		)
+		gtk? ( x11-libs/gtk+:3 )
 		!gtk? (
 			motif? (
 				>=x11-libs/motif-2.3:0
@@ -83,12 +80,12 @@ RDEPEND="app-emacs/emacs-common[gui(-)?]
 DEPEND="${RDEPEND}
 	gui? ( !aqua? ( x11-base/xorg-proto ) )"
 
-BDEPEND="app-eselect/eselect-emacs
-	virtual/pkgconfig
+BDEPEND="virtual/pkgconfig
 	gzip-el? ( app-arch/gzip )"
 
-RDEPEND="${RDEPEND}
-	app-eselect/eselect-emacs"
+IDEPEND="app-eselect/eselect-emacs"
+
+RDEPEND+=" ${IDEPEND}"
 
 EMACS_SUFFIX="emacs-${SLOT}"
 SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
@@ -117,7 +114,7 @@ src_prepare() {
 		"${FILESDIR}"/${P}-data-start.patch \
 		"${FILESDIR}"/${P}-imagemagick-7.patch \
 		"${FILESDIR}"/${P}-glibc-2.28.patch
-	eapply_user
+	default
 
 	# Fix filename reference in redirected man page
 	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
@@ -203,12 +200,13 @@ src_configure() {
 				Your version of GTK+ will have problems with closing open
 				displays. This is no problem if you just use one display, but
 				if you use more than one and close one of them Emacs may crash.
-				See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+				See <https://gitlab.gnome.org/GNOME/gtk/-/issues/221> and
+				<https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>.
 				If you intend to use more than one display, then it is strongly
 				recommended that you compile Emacs with the Athena/Lucid or the
 				Motif toolkit instead.
 			EOF
-			myconf+=" --with-x-toolkit=$(usex gtk2 gtk2 gtk3)"
+			myconf+=" --with-x-toolkit=gtk3"
 			for f in motif Xaw3d athena; do
 				use ${f} && ewarn \
 					"USE flag \"${f}\" has no effect if \"gtk\" is set."
@@ -227,8 +225,6 @@ src_configure() {
 			einfo "Configuring to build with no toolkit"
 			myconf+=" --with-x-toolkit=no"
 		fi
-		! use gtk && use gtk2 && ewarn \
-			"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
 	fi
 
 	econf \
@@ -269,15 +265,15 @@ src_install() {
 	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
 
 	# avoid collision between slots, see bug #169033 e.g.
-	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
-	rm -rf "${ED}"/usr/share/{applications,icons}
-	rm -rf "${ED}"/var
+	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
+	rm -rf "${ED}"/usr/share/{applications,icons} || die
+	rm -rf "${ED}"/var || die
 
 	# remove unused <version>/site-lisp dir
-	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die
 
 	# remove COPYING file (except for etc/COPYING used by describe-copying)
-	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
 
 	local cdir
 	if use source; then
@@ -312,9 +308,9 @@ src_install() {
 
 	dodoc README BUGS
 
-	if use aqua; then
+	if use gui && use aqua; then
 		dodir /Applications/Gentoo
-		rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
+		rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
 		mv nextstep/Emacs.app \
 			"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
 	fi
@@ -322,18 +318,20 @@ src_install() {
 	local DOC_CONTENTS="You can set the version to be started by
 		/usr/bin/emacs through the Emacs eselect module, which also
 		redirects man and info pages. Therefore, several Emacs versions can
-		be installed at the	same time. \"man emacs.eselect\" for details.
+		be installed at the same time. \"man emacs.eselect\" for details.
 		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
 		strongly recommended that you use app-admin/emacs-updater to rebuild
 		all byte-compiled elisp files of the installed Emacs packages."
-	use gui && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
-		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
-		machine would satisfy basic Emacs requirements under X11.
-		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
-		for how to enable anti-aliased fonts."
-	use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
-		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
-		it into /Applications by yourself."
+	if use gui; then
+		DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+			Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+			machine would satisfy basic Emacs requirements under X11.
+			See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+			for how to enable anti-aliased fonts."
+		use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
+			\"${EPREFIX}/Applications/Gentoo\". You may want to copy or
+			symlink it into /Applications by yourself."
+	fi
 	readme.gentoo_create_doc
 }
 
@@ -352,9 +350,6 @@ pkg_postinst() {
 		# force an update of the emacs symlink for the livecd/dvd,
 		# because some microemacs packages set it with USE=livecd
 		eselect emacs update
-	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
-		# refresh symlinks in case any installed files have changed
-		eselect emacs set ${EMACS_SUFFIX}
 	else
 		eselect emacs update ifunset
 	fi


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2022-04-01 11:33 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2022-04-01 11:33 UTC (permalink / raw
  To: gentoo-commits

commit:     5647b50a3da4eb559cf3b774cb1166fb01fdc0ee
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr  1 11:26:48 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr  1 11:27:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=5647b50a

app-editors/emacs: Drop deprecated dependency on gconf

Drop some keywords.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/emacs-24.3-r8.ebuild | 9 ++++-----
 app-editors/emacs/metadata.xml         | 2 --
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/app-editors/emacs/emacs-24.3-r8.ebuild b/app-editors/emacs/emacs-24.3-r8.ebuild
index b8281b6..565baf1 100644
--- a/app-editors/emacs/emacs-24.3-r8.ebuild
+++ b/app-editors/emacs/emacs-24.3-r8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -15,8 +15,8 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
 
 LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
 SLOT="24.3"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk gtk2 gui gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="alsa aqua athena dbus gif gpm gsettings gtk gtk2 gui gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm"
 
 RDEPEND="app-emacs/emacs-common[gui(-)?]
 	net-libs/liblockfile
@@ -36,7 +36,6 @@ RDEPEND="app-emacs/emacs-common[gui(-)?]
 		x11-libs/libXinerama
 		x11-libs/libXrandr
 		x11-misc/xbitmaps
-		gconf? ( >=gnome-base/gconf-2.26.2 )
 		gsettings? ( >=dev-libs/glib-2.28.6 )
 		gif? ( media-libs/giflib:0= )
 		jpeg? ( virtual/jpeg:0= )
@@ -175,7 +174,7 @@ src_configure() {
 		myconf+=" --without-x"
 	else
 		myconf+=" --with-x --without-ns"
-		myconf+=" $(use_with gconf)"
+		myconf+=" --without-gconf"
 		myconf+=" $(use_with gsettings)"
 		myconf+=" $(use_with toolkit-scroll-bars)"
 		myconf+=" $(use_with gif)"

diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
index e351ed7..3625f6f 100644
--- a/app-editors/emacs/metadata.xml
+++ b/app-editors/emacs/metadata.xml
@@ -22,8 +22,6 @@
 <use>
   <flag name="athena">Enable the MIT Athena widget set
     (<pkg>x11-libs/libXaw</pkg>)</flag>
-  <flag name="gconf">Use <pkg>gnome-base/gconf</pkg> to read the system
-    font name</flag>
   <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
     system font name</flag>
   <flag name="gtk2">Prefer version 2 of the GIMP Toolkit to version 3


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2021-03-22  9:07 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2021-03-22  9:07 UTC (permalink / raw
  To: gentoo-commits

commit:     36a451ab47592d8eb6e6cf3ed5293e3a1736ef30
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 22 09:07:44 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Mar 22 09:07:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=36a451ab

app-editors/emacs: Drop ~x86-macos keyword

Package-Manager: Portage-3.0.17, Repoman-3.0.2
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/emacs-24.3-r8.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-editors/emacs/emacs-24.3-r8.ebuild b/app-editors/emacs/emacs-24.3-r8.ebuild
index c61d069..b8281b6 100644
--- a/app-editors/emacs/emacs-24.3-r8.ebuild
+++ b/app-editors/emacs/emacs-24.3-r8.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
 
 LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
 SLOT="24.3"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
 IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk gtk2 gui gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm"
 
 RDEPEND="app-emacs/emacs-common[gui(-)?]


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2020-08-30 20:09 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2020-08-30 20:09 UTC (permalink / raw
  To: gentoo-commits

commit:     e77dba87c30ea9a686700e3b6f67cc96349e78a4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 30 20:09:16 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 20:09:16 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=e77dba87

app-editors/emacs: Sync from gentoo repository.

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/emacs-24.3-r8.ebuild | 89 +++++++++++++++-------------------
 1 file changed, 39 insertions(+), 50 deletions(-)

diff --git a/app-editors/emacs/emacs-24.3-r8.ebuild b/app-editors/emacs/emacs-24.3-r8.ebuild
index cc464f1..48fcc03 100644
--- a/app-editors/emacs/emacs-24.3-r8.ebuild
+++ b/app-editors/emacs/emacs-24.3-r8.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
-inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
+inherit autotools elisp-common flag-o-matic readme.gentoo-r1
 
 DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
 HOMEPAGE="https://www.gnu.org/software/emacs/"
@@ -15,14 +15,12 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
 
 LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
 SLOT="24.3"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk gtk2 gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm"
-REQUIRED_USE="?? ( aqua X )"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk gtk2 gui gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int Xaw3d xft +xpm"
 
-RDEPEND="sys-libs/ncurses:0=
-	>=app-eselect/eselect-emacs-1.16
-	>=app-emacs/emacs-common-gentoo-1.5[X?]
+RDEPEND="app-emacs/emacs-common-gentoo[gui(-)?]
 	net-libs/liblockfile
+	sys-libs/ncurses:0=
 	alsa? ( media-libs/alsa-lib )
 	dbus? ( sys-apps/dbus )
 	gpm? ( sys-libs/gpm )
@@ -30,7 +28,7 @@ RDEPEND="sys-libs/ncurses:0=
 	libxml2? ( >=dev-libs/libxml2-2.2.0 )
 	selinux? ( sys-libs/libselinux )
 	ssl? ( net-libs/gnutls:0= )
-	X? (
+	gui? ( !aqua? (
 		x11-libs/libICE
 		x11-libs/libSM
 		x11-libs/libX11
@@ -81,17 +79,20 @@ RDEPEND="sys-libs/ncurses:0=
 				) )
 			)
 		)
-	)"
+	) )"
 
 DEPEND="${RDEPEND}
-	X? ( x11-base/xorg-proto )"
+	gui? ( !aqua? ( x11-base/xorg-proto ) )"
 
-BDEPEND="virtual/pkgconfig
+BDEPEND="app-eselect/eselect-emacs
+	virtual/pkgconfig
 	gzip-el? ( app-arch/gzip )"
-#	pax_kernel? ( sys-apps/attr )
 
-EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
-SITEFILE="20${PN}-${SLOT}-gentoo.el"
+RDEPEND="${RDEPEND}
+	app-eselect/eselect-emacs"
+
+EMACS_SUFFIX="emacs-${SLOT}"
+SITEFILE="20${EMACS_SUFFIX}-gentoo.el"
 # FULL_VERSION keeps the full version number, which is needed in
 # order to determine some path information correctly for copy/move
 # operations later on
@@ -145,9 +146,7 @@ src_configure() {
 	filter-flags -pie					#526948
 	append-ldflags $(test-flags -no-pie)	#639570
 
-	if use sh; then
-		replace-flags "-O[1-9]" -O0		#262359
-	elif use ia64; then
+	if use ia64; then
 		replace-flags "-O[2-9]" -O1		#325373
 	else
 		replace-flags "-O[3-9]" -O2
@@ -166,7 +165,14 @@ src_configure() {
 		myconf+=" $(use_with sound)"
 	fi
 
-	if use X; then
+	if ! use gui; then
+		einfo "Configuring to build without window system support"
+		myconf+=" --without-x --without-ns"
+	elif use aqua; then
+		einfo "Configuring to build with Nextstep (Macintosh Cocoa) support"
+		myconf+=" --with-ns --disable-ns-self-contained"
+		myconf+=" --without-x"
+	else
 		myconf+=" --with-x --without-ns"
 		myconf+=" $(use_with gconf)"
 		myconf+=" $(use_with gsettings)"
@@ -223,12 +229,6 @@ src_configure() {
 		fi
 		! use gtk && use gtk2 && ewarn \
 			"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
-	elif use aqua; then
-		einfo "Configuring to build with Nextstep (Cocoa) support"
-		myconf+=" --with-ns --disable-ns-self-contained"
-		myconf+=" --without-x"
-	else
-		myconf+=" --without-x --without-ns"
 	fi
 
 	econf \
@@ -254,7 +254,7 @@ src_compile() {
 	emake RUN_TEMACS="SANDBOX_ON=0 LD_PRELOAD= env ./temacs"
 }
 
-src_install () {
+src_install() {
 	emake DESTDIR="${D}" NO_BIN_LINK=t install
 
 	mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
@@ -292,16 +292,16 @@ src_install () {
 
 	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
 	X
-	;;; ${PN}-${SLOT} site-lisp configuration
+	;;; ${EMACS_SUFFIX} site-lisp configuration
 	X
 	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
 	Y  (setq find-function-C-source-directory
 	Y	"${EPREFIX}${cdir}")
 	X  (let ((path (getenv "INFOPATH"))
 	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
-	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+	X	(re "\\\\\`${EPREFIX}/usr/share\\\\>"))
 	X    (and path
-	X	 ;; move Emacs Info dir before anything else in /usr/share/info
+	X	 ;; move Emacs Info dir before anything else in /usr/share
 	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
 	X	   (while (and (cdr q) (not (string-match re (cadr q))))
 	X	     (setq q (cdr q)))
@@ -314,24 +314,24 @@ src_install () {
 
 	if use aqua; then
 		dodir /Applications/Gentoo
-		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+		rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app
 		mv nextstep/Emacs.app \
-			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+			"${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die
 	fi
 
-	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
-		through the Emacs eselect module, which also redirects man and info
-		pages. Therefore, several Emacs versions can be installed at the
-		same time. \"man emacs.eselect\" for details.
+	local DOC_CONTENTS="You can set the version to be started by
+		/usr/bin/emacs through the Emacs eselect module, which also
+		redirects man and info pages. Therefore, several Emacs versions can
+		be installed at the	same time. \"man emacs.eselect\" for details.
 		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
 		strongly recommended that you use app-admin/emacs-updater to rebuild
 		all byte-compiled elisp files of the installed Emacs packages."
-	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+	use gui && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
 		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
 		machine would satisfy basic Emacs requirements under X11.
 		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
 		for how to enable anti-aliased fonts."
-	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+	use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in
 		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
 		it into /Applications by yourself."
 	readme.gentoo_create_doc
@@ -339,19 +339,8 @@ src_install () {
 
 pkg_preinst() {
 	# move Info dir file to correct name
-	local infodir=/usr/share/info/${EMACS_SUFFIX} f
-	if [[ -f ${ED}${infodir}/dir.orig ]]; then
-		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
-	elif [[ -d "${ED}"${infodir} ]]; then
-		# this should not happen in EAPI 4
-		ewarn "Regenerating Info directory index in ${infodir} ..."
-		rm -f "${ED}"${infodir}/dir{,.*}
-		for f in "${ED}"${infodir}/*; do
-			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
-				install-info --info-dir="${ED}"${infodir} "${f}" \
-					|| die "install-info failed"
-			fi
-		done
+	if [[ -d ${ED}/usr/share/info ]]; then
+		mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{.orig,} || die
 	fi
 }
 


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2019-12-21 18:32 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2019-12-21 18:32 UTC (permalink / raw
  To: gentoo-commits

commit:     5f3c5d2fae1e22475a09b967ea632659b517d125
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 18:32:16 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 18:32:16 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=5f3c5d2f

app-editors/emacs: Drop old blocker against emacs-vcs.

Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/emacs-24.3-r8.ebuild | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/app-editors/emacs/emacs-24.3-r8.ebuild b/app-editors/emacs/emacs-24.3-r8.ebuild
index df53b71..cc464f1 100644
--- a/app-editors/emacs/emacs-24.3-r8.ebuild
+++ b/app-editors/emacs/emacs-24.3-r8.ebuild
@@ -90,9 +90,6 @@ BDEPEND="virtual/pkgconfig
 	gzip-el? ( app-arch/gzip )"
 #	pax_kernel? ( sys-apps/attr )
 
-RDEPEND="${RDEPEND}
-	!<app-editors/emacs-vcs-${PV}"
-
 EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
 SITEFILE="20${PN}-${SLOT}-gentoo.el"
 # FULL_VERSION keeps the full version number, which is needed in


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2019-12-21 18:30 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2019-12-21 18:30 UTC (permalink / raw
  To: gentoo-commits

commit:     2e3cae99455ce0a4367491164f8cf3e27d8c14b1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 18:29:44 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 18:29:44 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=2e3cae99

app-editors/emacs: Drop invalid keywords.

Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 app-editors/emacs/emacs-24.3-r8.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app-editors/emacs/emacs-24.3-r8.ebuild b/app-editors/emacs/emacs-24.3-r8.ebuild
index e0b48c1..df53b71 100644
--- a/app-editors/emacs/emacs-24.3-r8.ebuild
+++ b/app-editors/emacs/emacs-24.3-r8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -15,7 +15,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
 
 LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
 SLOT="24.3"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
 IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk gtk2 gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm"
 REQUIRED_USE="?? ( aqua X )"
 


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2018-08-24  6:52 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2018-08-24  6:52 UTC (permalink / raw
  To: gentoo-commits

commit:     2121e950ff40bd58a313c2e3f6b7bd7f079771e2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 24 06:51:43 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Aug 24 06:51:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=2121e950

app-editors/emacs: Sync from gentoo repo.

Package-Manager: Portage-2.3.47, Repoman-2.3.10

 app-editors/emacs/emacs-24.3-r7.ebuild | 10 ++++++----
 app-editors/emacs/metadata.xml         |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/app-editors/emacs/emacs-24.3-r7.ebuild b/app-editors/emacs/emacs-24.3-r7.ebuild
index b013715..ed89687 100644
--- a/app-editors/emacs/emacs-24.3-r7.ebuild
+++ b/app-editors/emacs/emacs-24.3-r7.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://gnu/emacs/${P}.tar.xz
 LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
 SLOT="24.3"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk +gtk3 gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm"
+IUSE="alsa aqua athena dbus gconf gif gpm gsettings gtk gtk2 gzip-el imagemagick jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm"
 REQUIRED_USE="?? ( aqua X )"
 
 RDEPEND="sys-libs/ncurses:0=
@@ -58,8 +58,8 @@ RDEPEND="sys-libs/ncurses:0=
 			)
 		)
 		gtk? (
-			gtk3? ( x11-libs/gtk+:3 )
-			!gtk3? ( x11-libs/gtk+:2 )
+			gtk2? ( x11-libs/gtk+:2 )
+			!gtk2? ( x11-libs/gtk+:3 )
 		)
 		!gtk? (
 			motif? (
@@ -204,7 +204,7 @@ src_configure() {
 				recommended that you compile Emacs with the Athena/Lucid or the
 				Motif toolkit instead.
 			EOF
-			myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+			myconf+=" --with-x-toolkit=$(usex gtk2 gtk2 gtk3)"
 			for f in motif Xaw3d athena; do
 				use ${f} && ewarn \
 					"USE flag \"${f}\" has no effect if \"gtk\" is set."
@@ -223,6 +223,8 @@ src_configure() {
 			einfo "Configuring to build with no toolkit"
 			myconf+=" --with-x-toolkit=no"
 		fi
+		! use gtk && use gtk2 && ewarn \
+			"USE flag \"gtk2\" has no effect if \"gtk\" is not set."
 	elif use aqua; then
 		einfo "Configuring to build with Nextstep (Cocoa) support"
 		myconf+=" --with-ns --disable-ns-self-contained"

diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
index 720733b..61ab502 100644
--- a/app-editors/emacs/metadata.xml
+++ b/app-editors/emacs/metadata.xml
@@ -26,7 +26,7 @@
     font name</flag>
   <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
     system font name</flag>
-  <flag name="gtk3">Prefer version 3 of the GIMP Toolkit to version 2
+  <flag name="gtk2">Prefer version 2 of the GIMP Toolkit to version 3
     (<pkg>x11-libs/gtk+</pkg>)</flag>
   <flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
   <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2018-03-11 12:08 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2018-03-11 12:08 UTC (permalink / raw
  To: gentoo-commits

commit:     3bb88f279e678a29f23ec1e02ac4a0252dba0a2d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 11 12:08:19 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 11 12:08:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=3bb88f27

app-editors/emacs: Moved to gentoo repo.

 app-editors/emacs/Manifest               |   8 -
 app-editors/emacs/emacs-18.59-r11.ebuild | 157 -------------
 app-editors/emacs/emacs-23.4-r17.ebuild  | 366 ------------------------------
 app-editors/emacs/emacs-24.5-r5.ebuild   | 358 ------------------------------
 app-editors/emacs/emacs-25.3-r3.ebuild   | 370 -------------------------------
 app-editors/emacs/metadata.xml           |  53 -----
 6 files changed, 1312 deletions(-)

diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
deleted file mode 100644
index 10f4db7..0000000
--- a/app-editors/emacs/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 BLAKE2B 0106fe8053b4f65f384d451ca85138991a57afaca16b32035585055bb877c039af826859fa58c4660ec80664d3bfb0ee7a757ad76381c150ebcb22cb333a98d6 SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6
-DIST emacs-18.59-patches-10.tar.xz 21496 BLAKE2B bfa0202511a9e41d3278c63f43f174cca4ba95f42675796d85139fc43654ca3b9bc56a8c547029eaae967df66ec1e520d3bcdc67c4d53261fea70def6641574c SHA512 c0255d9d02e047cc2173cebb916677e268d8f5043c9dd08041b78019df208cdd02eb8eb49256acde7a3d5b004a7227ee9a1220d7b1e24580bdb5a5258216fc39
-DIST emacs-18.59.tar.gz 2962652 BLAKE2B d617636daff41e672af2dcda26ec24b2495cf0a3e6373561ee26a2a922b7252c074dd6b79289d771853a4720c60f084f5726b904bf65989718173232ac874b0b SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33
-DIST emacs-23.4-patches-21.tar.xz 19604 BLAKE2B 97327f2079c496c28122203d233a12199a3c11a8c4efb2107247a4ca4483b898467d73d19d4f0570ec7be2a49dc5f6bd1bc9ee0811f932e7deb6b1c4ca96e362 SHA512 135eda432de64200797456d594f7de811275a7adf792d10a1c3a51ca4bbbbaa3a2c682b9fd577c4d93fbce967ca08d4ac47eb45f031477c3e44c69c14d5d5b48
-DIST emacs-23.4.tar.bz2 38646508 BLAKE2B 33dac5d27a63b7aab6b4053964a0ecf7f7939c7aea5af15103f2da7bd34fbb18dba7a1bf44cc4fcc2e3fb1439cdf7085d8dfc4b0005f5485748996e75ca6872d SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296
-DIST emacs-24.5-patches-4.tar.xz 13632 BLAKE2B 99e70f4ee32c1ba3a66b934de692437aaf0b83eb6fa841ce4569bc58e2bd12802890c2a8496375280c0ce8fa56515918dfdcbc958f349bc2472104e37ad1fcd1 SHA512 569c3a55aaf1102c0bae4ab25ee06372763cd2de8a54e26b3eefd54e585cf90b53c8ffe1ca48eb4fd312a340380fd3f2fcdb584697814bf429129b48fa56ffb5
-DIST emacs-24.5.tar.xz 39759804 BLAKE2B aec253528038686822d1f8ed9a52dff276789ef7744053fc9b6176fceba4d4d8684fe979cf97e756b3feaf734d2377baef81f5efaa5450930a4e94d9f3bca355 SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677
-DIST emacs-25.3.tar.xz 42854740 BLAKE2B 4f4e2572bbef48b75c561497fc22046081e56099b6174725d79b15a5b16d5c886eaf8ff3f75cf561e989ebb092ab9e98ba7503e720a9db7560758b30d5116f23 SHA512 1cce656451b6ca8502ebb229e88bd3ef48b7f9444a10eeac4ea43bd5491b2efacd641dfa35227a33362c3866493d3449cf1df81606563eef44bba0ed668e457f

diff --git a/app-editors/emacs/emacs-18.59-r11.ebuild b/app-editors/emacs/emacs-18.59-r11.ebuild
deleted file mode 100644
index 9b26006..0000000
--- a/app-editors/emacs/emacs-18.59-r11.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs flag-o-matic multilib
-
-DESCRIPTION="The extensible self-documenting text editor"
-HOMEPAGE="https://www.gnu.org/software/emacs/"
-SRC_URI="ftp://ftp.gnu.org/old-gnu/emacs/${P}.tar.gz
-	ftp://ftp.splode.com/pub/users/friedman/emacs/${P}-linux22x-elf-glibc21.diff.gz
-	https://dev.gentoo.org/~ulm/emacs/${P}-patches-10.tar.xz"
-
-LICENSE="GPL-1+ GPL-2+ BSD" #HPND
-SLOT="18"
-KEYWORDS="amd64 x86"
-IUSE="abi_x86_x32"
-
-RDEPEND=">=app-eselect/eselect-emacs-1.16
-	sys-libs/ncurses:0=
-	amd64? (
-		abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_x32(-)?] )
-		!abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)] )
-	)"
-#	X? ( x11-libs/libX11[-xcb] )
-DEPEND="${RDEPEND}
-	virtual/pkgconfig"
-
-PATCHES="../${P}-linux22x-elf-glibc21.diff ../patch"
-
-src_prepare() {
-	default
-
-	# Do not use the sandbox, or the dumped Emacs will be twice as large
-	sed -i -e 's:\./temacs.*dump:env SANDBOX_ON=0 LD_PRELOAD= &:' \
-		src/ymakefile || die
-}
-
-src_configure() {
-	# autoconf? What's autoconf? We are living in 1992. ;-)
-	local arch
-	case ${ARCH} in
-		amd64)
-			if use abi_x86_x32; then
-				arch=x86-x32
-				multilib_toolchain_setup x32
-			else
-				arch=intel386
-				multilib_toolchain_setup x86
-			fi
-			;;
-		x86) arch=intel386 ;;
-		*) die "Architecture ${ARCH} not yet supported" ;;
-	esac
-	local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/"
-	#use X && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/"
-	sed -e "${cmd}" src/config.h-dist >src/config.h || die
-
-	cat <<-END >src/paths.h
-		#define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp"
-		#define PATH_EXEC "/usr/share/emacs/${PV}/etc"
-		#define PATH_LOCK "/var/lib/emacs/lock/"
-		#define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!"
-	END
-
-	sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \
-		-e "s:-lncurses:$("$(tc-getPKG_CONFIG)" --libs ncurses):" \
-		src/s-linux.h || die
-
-	# -O3 and -finline-functions cause segmentation faults at run time.
-	# -Wno-implicit will quieten GCC 5; feel free to submit a patch
-	# adding all those missing prototypes.
-	strip-flags
-	filter-flags -finline-functions -fpie
-	append-flags -Wno-implicit
-	append-ldflags $(test-flags -no-pie)	#639562
-	replace-flags -O[3-9] -O2
-}
-
-src_compile() {
-	addpredict /var/lib/emacs/lock
-	emake --jobs=1 \
-		CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \
-		LD="$(tc-getCC) -nostdlib" LDFLAGS="${LDFLAGS}"
-}
-
-src_install() {
-	local basedir="/usr/share/emacs/${PV}" i
-
-	dodir ${basedir}
-	dodir /usr/share/man/man1
-	emake --jobs=1 \
-		LIBDIR="${D}"${basedir} \
-		BINDIR="${D}"/usr/bin \
-		MANDIR="${D}"/usr/share/man/man1 \
-		install
-
-	rmdir "${D}"${basedir}/lock || die
-	find "${D}"${basedir} -type f \( -name "*.c" -o -name ChangeLog \
-		-o -name COPYING ! -path "*/etc/COPYING" \) -exec rm "{}" + || die
-	fperms -R go-w ${basedir}
-
-	# remove duplicate DOC file
-	rm "${D}"${basedir}/etc/DOC || die
-
-	# move executables to the correct place
-	mv "${D}"/usr/bin/emacs{,-${SLOT}} || die
-	for i in etags ctags emacsclient; do
-		mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die
-		rm "${D}"${basedir}/etc/${i} || die
-	done
-
-	dodir /usr/libexec/emacs/${PV}
-	for i in wakeup digest-doc sorted-doc movemail cvtmail fakemail \
-		yow env server
-	do
-		mv "${D}"${basedir}/etc/${i} "${D}"/usr/libexec/emacs/${PV}/${i} || die
-		dosym ../../../../libexec/emacs/${PV}/${i} ${basedir}/etc/${i}
-	done
-	for i in test-distrib make-docfile; do
-		rm "${D}"${basedir}/etc/${i} || die
-	done
-
-	# move man page
-	mv "${D}"/usr/share/man/man1/emacs{,-${SLOT}}.1 || die
-
-	# move Info files
-	dodir /usr/share/info
-	mv "${D}"${basedir}/info "${D}"/usr/share/info/emacs-${SLOT} || die
-	dosym ../../info/emacs-${SLOT} "${basedir}"/info
-	docompress -x /usr/share/info
-
-	# move Info dir to avoid collisions with the dir file generated by portage
-	mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} || die
-	touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir
-
-	dodir /var/lib/emacs
-	diropts -m0777
-	keepdir /var/lib/emacs/lock
-
-	dodoc README PROBLEMS
-}
-
-pkg_preinst() {
-	# move Info dir file to correct name
-	if [[ -d "${D}"/usr/share/info ]]; then
-		mv "${D}"/usr/share/info/emacs-${SLOT}/dir{.orig,} || die
-	fi
-}
-
-pkg_postinst() {
-	eselect emacs update ifunset
-}
-
-pkg_postrm() {
-	eselect emacs update ifunset
-}

diff --git a/app-editors/emacs/emacs-23.4-r17.ebuild b/app-editors/emacs/emacs-23.4-r17.ebuild
deleted file mode 100644
index b331aae..0000000
--- a/app-editors/emacs/emacs-23.4-r17.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOMAKE="none"
-
-inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
-
-DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
-HOMEPAGE="https://www.gnu.org/software/emacs/"
-SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
-	https://dev.gentoo.org/~ulm/emacs/${P}-patches-21.tar.xz"
-
-LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
-SLOT="23"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
-REQUIRED_USE="?? ( aqua X )"
-
-RDEPEND="sys-libs/ncurses:0=
-	>=app-eselect/eselect-emacs-1.16
-	>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
-	net-libs/liblockfile
-	hesiod? ( net-dns/hesiod )
-	kerberos? ( virtual/krb5 )
-	alsa? ( media-libs/alsa-lib )
-	gpm? ( sys-libs/gpm )
-	dbus? ( sys-apps/dbus )
-	X? (
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		x11-misc/xbitmaps
-		gconf? ( >=gnome-base/gconf-2.26.2 )
-		gif? ( media-libs/giflib:0= )
-		jpeg? ( virtual/jpeg:0= )
-		png? ( >=media-libs/libpng-1.4:0= )
-		svg? ( >=gnome-base/librsvg-2.0 )
-		tiff? ( media-libs/tiff:0 )
-		xpm? ( x11-libs/libXpm )
-		xft? (
-			media-libs/fontconfig
-			media-libs/freetype
-			x11-libs/libXft
-			x11-libs/libXrender
-			m17n-lib? (
-				>=dev-libs/libotf-0.9.4
-				>=dev-libs/m17n-lib-1.5.1
-			)
-		)
-		gtk? ( x11-libs/gtk+:2 )
-		!gtk? (
-			motif? (
-				>=x11-libs/motif-2.3:0
-				x11-libs/libXpm
-				x11-libs/libXext
-				x11-libs/libXmu
-				x11-libs/libXt
-			)
-			!motif? (
-				Xaw3d? (
-					x11-libs/libXaw3d
-					x11-libs/libXext
-					x11-libs/libXmu
-					x11-libs/libXt
-				)
-				!Xaw3d? ( athena? (
-					x11-libs/libXaw
-					x11-libs/libXext
-					x11-libs/libXmu
-					x11-libs/libXt
-				) )
-			)
-		)
-	)"
-
-DEPEND="${RDEPEND}
-	alsa? ( virtual/pkgconfig )
-	dbus? ( virtual/pkgconfig )
-	X? ( virtual/pkgconfig )
-	gzip-el? ( app-arch/gzip )
-	pax_kernel? ( sys-apps/attr )"
-
-RDEPEND="${RDEPEND}
-	!<app-editors/emacs-vcs-${PV}"
-
-EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
-SITEFILE="20${PN}-${SLOT}-gentoo.el"
-# FULL_VERSION keeps the full version number, which is needed in
-# order to determine some path information correctly for copy/move
-# operations later on
-FULL_VERSION="${PV%%_*}"
-S="${WORKDIR}/emacs-${FULL_VERSION}"
-
-src_prepare() {
-	eapply ../patch
-	eapply_user
-
-	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
-		|| die "unable to sed ctags.1"
-
-	if ! use alsa; then
-		# ALSA is detected even if not requested by its USE flag.
-		# Suppress it by supplying pkg-config with a wrong library name.
-		sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
-			|| die "unable to sed configure.in"
-	fi
-	if ! use gzip-el; then
-		# Emacs' build system automatically detects the gzip binary and
-		# compresses el files. We don't want that so confuse it with a
-		# wrong binary name
-		sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
-			|| die "unable to sed configure.in"
-	fi
-
-	mv configure.in configure.ac || die
-	eautoreconf
-	touch src/stamp-h.in || die
-}
-
-src_configure() {
-	strip-flags
-	filter-flags -fstrict-aliasing -pie
-	append-flags $(test-flags -fno-strict-aliasing)
-	append-ldflags $(test-flags -no-pie)	#639568
-
-	if use sh; then
-		replace-flags "-O[1-9]" -O0		#262359
-	elif use ia64; then
-		replace-flags "-O[2-9]" -O1		#325373
-	else
-		replace-flags "-O[3-9]" -O2
-	fi
-
-	local myconf
-
-	if use alsa && ! use sound; then
-		einfo "Although sound USE flag is disabled you chose to have alsa,"
-		einfo "so sound is switched on anyway."
-		myconf+=" --with-sound"
-	else
-		myconf+=" $(use_with sound)"
-	fi
-
-	if use X; then
-		myconf+=" --with-x --without-ns"
-		myconf+=" $(use_with gconf)"
-		myconf+=" $(use_with toolkit-scroll-bars)"
-		myconf+=" $(use_with gif)"
-		myconf+=" $(use_with jpeg)"
-		myconf+=" $(use_with png)"
-		myconf+=" $(use_with svg rsvg)"
-		myconf+=" $(use_with tiff)"
-		myconf+=" $(use_with xpm)"
-
-		if use xft; then
-			myconf+=" --with-xft"
-			myconf+=" $(use_with m17n-lib libotf)"
-			myconf+=" $(use_with m17n-lib m17n-flt)"
-		else
-			myconf+=" --without-xft"
-			myconf+=" --without-libotf --without-m17n-flt"
-			use m17n-lib && ewarn \
-				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
-		fi
-
-		# GTK+ is the default toolkit if USE=gtk is chosen with other
-		# possibilities. Emacs upstream thinks this should be standard
-		# policy on all distributions
-		local f
-		if use gtk; then
-			einfo "Configuring to build with GIMP Toolkit (GTK+)"
-			myconf+=" --with-x-toolkit=gtk"
-			for f in motif Xaw3d athena; do
-				use ${f} && ewarn \
-					"USE flag \"${f}\" has no effect if \"gtk\" is set."
-			done
-		elif use motif; then
-			einfo "Configuring to build with Motif toolkit"
-			myconf+=" --with-x-toolkit=motif"
-			for f in Xaw3d athena; do
-				use ${f} && ewarn \
-					"USE flag \"${f}\" has no effect if \"motif\" is set."
-			done
-		elif use athena || use Xaw3d; then
-			einfo "Configuring to build with Athena/Lucid toolkit"
-			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
-		else
-			einfo "Configuring to build with no toolkit"
-			myconf+=" --with-x-toolkit=no"
-		fi
-	elif use aqua; then
-		einfo "Configuring to build with Nextstep (Cocoa) support"
-		myconf+=" --with-ns --disable-ns-self-contained"
-		myconf+=" --without-x"
-	else
-		myconf+=" --without-x --without-ns"
-	fi
-
-	# Save version information in the Emacs binary. It will be available
-	# in variable "system-configuration-options".
-	myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
-
-	# According to configure, this option is only used for GNU/Linux
-	# (x86_64 and s390). For Gentoo Prefix we have to explicitly spell
-	# out the location because $(get_libdir) does not necessarily return
-	# something that matches the host OS's libdir naming (e.g. RHEL).
-	local crtdir=$($(tc-getCC) -print-file-name=crt1.o)
-	crtdir=${crtdir%/*}
-
-	econf \
-		--program-suffix="-${EMACS_SUFFIX}" \
-		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
-		--localstatedir="${EPREFIX}"/var \
-		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
-		--with-crt-dir="${crtdir}" \
-		--with-gameuser=":gamestat" \
-		$(use_with hesiod) \
-		$(use_with kerberos) $(use_with kerberos kerberos5) \
-		$(use_with gpm) \
-		$(use_with dbus) \
-		${myconf}
-}
-
-src_compile() {
-	# Disable sandbox when dumping. For the unbelievers, see bug #131505
-	emake CC="$(tc-getCC)" \
-		AR="$(tc-getAR) cq" \
-		RANLIB="$(tc-getRANLIB)" \
-		RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD= ./temacs"
-}
-
-src_install () {
-	emake DESTDIR="${D}" install
-
-	rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
-		|| die "removing duplicate emacs executable failed"
-	mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \
-		|| die "moving emacs executable failed"
-
-	# move man pages to the correct place
-	local m
-	mv "${ED}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \
-		|| die "moving emacs man page failed"
-	for m in b2m ctags ebrowse emacsclient etags grep-changelog rcs-checkin; do
-		mv "${ED}"/usr/share/man/man1/${m}{,-${EMACS_SUFFIX}}.1 \
-			|| die "moving ${m} man page failed"
-	done
-
-	# move info dir to avoid collisions with the dir file generated by portage
-	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
-		|| die "moving info dir failed"
-	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
-	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
-
-	# avoid collision between slots, see bug #169033 e.g.
-	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
-	rm -rf "${ED}"/usr/share/{applications,icons}
-	rm -rf "${ED}"/var
-
-	# remove unused <version>/site-lisp dir
-	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
-
-	# remove COPYING file (except for etc/COPYING used by describe-copying)
-	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
-
-	local cdir
-	if use source; then
-		cdir="/usr/share/emacs/${FULL_VERSION}/src"
-		insinto "${cdir}"
-		# This is not meant to install all the source -- just the
-		# C source you might find via find-function
-		doins src/*.{c,h,m}
-		doins -r src/{m,s}
-		rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c
-		rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README
-	elif has installsources ${FEATURES}; then
-		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
-	fi
-
-	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
-	X
-	;;; ${PN}-${SLOT} site-lisp configuration
-	X
-	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
-	Y  (setq find-function-C-source-directory
-	Y	"${EPREFIX}${cdir}")
-	X  (let ((path (getenv "INFOPATH"))
-	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
-	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
-	X    (and path
-	X	 ;; move Emacs Info dir before anything else in /usr/share/info
-	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
-	X	   (while (and (cdr q) (not (string-match re (cadr q))))
-	X	     (setq q (cdr q)))
-	X	   (setcdr q (cons dir (delete dir (cdr q))))
-	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
-	EOF
-	elisp-site-file-install "${T}/${SITEFILE}" || die
-
-	dodoc README BUGS
-
-	if use aqua; then
-		dodir /Applications/Gentoo
-		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
-		mv nextstep/Emacs.app \
-			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
-	fi
-
-	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
-		through the Emacs eselect module, which also redirects man and info
-		pages. Therefore, several Emacs versions can be installed at the
-		same time. \"man emacs.eselect\" for details.
-		\\n\\nIf you upgrade from a previous major version of Emacs, then
-		it is strongly recommended that you use app-admin/emacs-updater
-		to rebuild all byte-compiled elisp files of the installed Emacs
-		packages."
-	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
-		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
-		machine would satisfy basic Emacs requirements under X11.
-		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
-		for how to enable anti-aliased fonts."
-	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
-		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
-		it into /Applications by yourself."
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# move Info dir file to correct name
-	local infodir=/usr/share/info/${EMACS_SUFFIX} f
-	if [[ -f ${ED}${infodir}/dir.orig ]]; then
-		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
-	elif [[ -d "${ED}"${infodir} ]]; then
-		# this should not happen in EAPI 4
-		ewarn "Regenerating Info directory index in ${infodir} ..."
-		rm -f "${ED}"${infodir}/dir{,.*}
-		for f in "${ED}"${infodir}/*; do
-			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
-				install-info --info-dir="${ED}"${infodir} "${f}" \
-					|| die "install-info failed"
-			fi
-		done
-	fi
-}
-
-pkg_postinst() {
-	elisp-site-regen
-	readme.gentoo_print_elog
-
-	if use livecd; then
-		# force an update of the emacs symlink for the livecd/dvd,
-		# because some microemacs packages set it with USE=livecd
-		eselect emacs update
-	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
-		# refresh symlinks in case any installed files have changed
-		eselect emacs set ${EMACS_SUFFIX}
-	else
-		eselect emacs update ifunset
-	fi
-}
-
-pkg_postrm() {
-	elisp-site-regen
-	eselect emacs update ifunset
-}

diff --git a/app-editors/emacs/emacs-24.5-r5.ebuild b/app-editors/emacs/emacs-24.5-r5.ebuild
deleted file mode 100644
index 2668c73..0000000
--- a/app-editors/emacs/emacs-24.5-r5.ebuild
+++ /dev/null
@@ -1,358 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
-
-DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
-HOMEPAGE="https://www.gnu.org/software/emacs/"
-SRC_URI="mirror://gnu/emacs/${P}.tar.xz
-	https://dev.gentoo.org/~ulm/emacs/${P}-patches-4.tar.xz"
-
-LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
-SLOT="24"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
-REQUIRED_USE="?? ( aqua X )"
-
-RDEPEND="sys-libs/ncurses:0=
-	>=app-eselect/eselect-emacs-1.16
-	>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
-	net-libs/liblockfile
-	acl? ( virtual/acl )
-	alsa? ( media-libs/alsa-lib )
-	dbus? ( sys-apps/dbus )
-	gpm? ( sys-libs/gpm )
-	hesiod? ( net-dns/hesiod )
-	!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
-	kerberos? ( virtual/krb5 )
-	libxml2? ( >=dev-libs/libxml2-2.2.0 )
-	selinux? ( sys-libs/libselinux )
-	ssl? ( net-libs/gnutls:0= )
-	zlib? ( sys-libs/zlib )
-	X? (
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-misc/xbitmaps
-		gconf? ( >=gnome-base/gconf-2.26.2 )
-		gsettings? ( >=dev-libs/glib-2.28.6 )
-		gif? ( media-libs/giflib:0= )
-		jpeg? ( virtual/jpeg:0= )
-		png? ( >=media-libs/libpng-1.4:0= )
-		svg? ( >=gnome-base/librsvg-2.0 )
-		tiff? ( media-libs/tiff:0 )
-		xpm? ( x11-libs/libXpm )
-		imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
-		xft? (
-			media-libs/fontconfig
-			media-libs/freetype
-			x11-libs/libXft
-			x11-libs/libXrender
-			m17n-lib? (
-				>=dev-libs/libotf-0.9.4
-				>=dev-libs/m17n-lib-1.5.1
-			)
-		)
-		gtk? (
-			gtk3? ( x11-libs/gtk+:3 )
-			!gtk3? ( x11-libs/gtk+:2 )
-		)
-		!gtk? (
-			motif? (
-				>=x11-libs/motif-2.3:0
-				x11-libs/libXpm
-				x11-libs/libXmu
-				x11-libs/libXt
-			)
-			!motif? (
-				Xaw3d? (
-					x11-libs/libXaw3d
-					x11-libs/libXmu
-					x11-libs/libXt
-				)
-				!Xaw3d? ( athena? (
-					x11-libs/libXaw
-					x11-libs/libXmu
-					x11-libs/libXt
-				) )
-			)
-		)
-	)"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	gzip-el? ( app-arch/gzip )
-	pax_kernel? ( sys-apps/attr )"
-
-RDEPEND="${RDEPEND}
-	!<app-editors/emacs-vcs-${PV}"
-
-EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
-SITEFILE="20${PN}-${SLOT}-gentoo.el"
-# FULL_VERSION keeps the full version number, which is needed in
-# order to determine some path information correctly for copy/move
-# operations later on
-FULL_VERSION="${PV%%_*}"
-S="${WORKDIR}/emacs-${FULL_VERSION}"
-
-src_prepare() {
-	eapply ../patch
-	eapply_user
-
-	# Fix filename reference in redirected man page
-	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
-		|| die "unable to sed ctags.1"
-
-	AT_M4DIR=m4 eautoreconf
-	touch src/stamp-h.in || die
-}
-
-src_configure() {
-	strip-flags
-	filter-flags -pie					#526948
-	append-ldflags $(test-flags -no-pie)	#639570
-
-	if use sh; then
-		replace-flags "-O[1-9]" -O0		#262359
-	elif use ia64; then
-		replace-flags "-O[2-9]" -O1		#325373
-	else
-		replace-flags "-O[3-9]" -O2
-	fi
-
-	local myconf
-
-	if use alsa; then
-		use sound || ewarn \
-			"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
-		myconf+=" --with-sound=alsa"
-	else
-		myconf+=" --with-sound=$(usex sound oss)"
-	fi
-
-	if use X; then
-		myconf+=" --with-x --without-ns"
-		myconf+=" $(use_with gconf)"
-		myconf+=" $(use_with gsettings)"
-		myconf+=" $(use_with toolkit-scroll-bars)"
-		myconf+=" $(use_with gif)"
-		myconf+=" $(use_with jpeg)"
-		myconf+=" $(use_with png)"
-		myconf+=" $(use_with svg rsvg)"
-		myconf+=" $(use_with tiff)"
-		myconf+=" $(use_with xpm)"
-		myconf+=" $(use_with imagemagick)"
-
-		if use xft; then
-			myconf+=" --with-xft"
-			myconf+=" $(use_with m17n-lib libotf)"
-			myconf+=" $(use_with m17n-lib m17n-flt)"
-		else
-			myconf+=" --without-xft"
-			myconf+=" --without-libotf --without-m17n-flt"
-			use m17n-lib && ewarn \
-				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
-		fi
-
-		local f line
-		if use gtk; then
-			einfo "Configuring to build with GIMP Toolkit (GTK+)"
-			while read line; do ewarn "${line}"; done <<-EOF
-				Your version of GTK+ will have problems with closing open
-				displays. This is no problem if you just use one display, but
-				if you use more than one and close one of them Emacs may crash.
-				See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
-				If you intend to use more than one display, then it is strongly
-				recommended that you compile Emacs with the Athena/Lucid or the
-				Motif toolkit instead.
-			EOF
-			myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
-			for f in motif Xaw3d athena; do
-				use ${f} && ewarn \
-					"USE flag \"${f}\" has no effect if \"gtk\" is set."
-			done
-		elif use motif; then
-			einfo "Configuring to build with Motif toolkit"
-			myconf+=" --with-x-toolkit=motif"
-			for f in Xaw3d athena; do
-				use ${f} && ewarn \
-					"USE flag \"${f}\" has no effect if \"motif\" is set."
-			done
-		elif use athena || use Xaw3d; then
-			einfo "Configuring to build with Athena/Lucid toolkit"
-			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
-		else
-			einfo "Configuring to build with no toolkit"
-			myconf+=" --with-x-toolkit=no"
-		fi
-	elif use aqua; then
-		einfo "Configuring to build with Nextstep (Cocoa) support"
-		myconf+=" --with-ns --disable-ns-self-contained"
-		myconf+=" --without-x"
-	else
-		myconf+=" --without-x --without-ns"
-	fi
-
-	# Save version information in the Emacs binary. It will be available
-	# in variable "system-configuration-options".
-	myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
-
-	econf \
-		--program-suffix="-${EMACS_SUFFIX}" \
-		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
-		--localstatedir="${EPREFIX}"/var \
-		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
-		--with-gameuser=":gamestat" \
-		--without-compress-install \
-		--with-file-notification=$(usev inotify || usev gfile || echo no) \
-		$(use_enable acl) \
-		$(use_with dbus) \
-		$(use_with gpm) \
-		$(use_with hesiod) \
-		$(use_with kerberos) $(use_with kerberos kerberos5) \
-		$(use_with libxml2 xml2) \
-		$(use_with selinux) \
-		$(use_with ssl gnutls) \
-		$(use_with wide-int) \
-		$(use_with zlib) \
-		${myconf}
-}
-
-src_compile() {
-	# Disable sandbox when dumping. For the unbelievers, see bug #131505
-	emake RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD= ./temacs"
-}
-
-src_install () {
-	emake DESTDIR="${D}" NO_BIN_LINK=t install
-
-	mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
-		|| die "moving emacs executable failed"
-	mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
-		|| die "moving emacs man page failed"
-
-	# move info dir to avoid collisions with the dir file generated by portage
-	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
-		|| die "moving info dir failed"
-	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
-	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
-
-	# avoid collision between slots, see bug #169033 e.g.
-	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
-	rm -rf "${ED}"/usr/share/{applications,icons}
-	rm -rf "${ED}"/var
-
-	# remove unused <version>/site-lisp dir
-	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
-
-	# remove COPYING file (except for etc/COPYING used by describe-copying)
-	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
-
-	if use gzip-el; then
-		# compress .el files when a corresponding .elc exists
-		find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-			-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
-		assert "gzip .el failed"
-	fi
-
-	local cdir
-	if use source; then
-		cdir="/usr/share/emacs/${FULL_VERSION}/src"
-		insinto "${cdir}"
-		# This is not meant to install all the source -- just the
-		# C source you might find via find-function
-		doins src/*.{c,h,m}
-	elif has installsources ${FEATURES}; then
-		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
-	fi
-
-	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
-	X
-	;;; ${PN}-${SLOT} site-lisp configuration
-	X
-	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
-	Y  (setq find-function-C-source-directory
-	Y	"${EPREFIX}${cdir}")
-	X  (let ((path (getenv "INFOPATH"))
-	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
-	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
-	X    (and path
-	X	 ;; move Emacs Info dir before anything else in /usr/share/info
-	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
-	X	   (while (and (cdr q) (not (string-match re (cadr q))))
-	X	     (setq q (cdr q)))
-	X	   (setcdr q (cons dir (delete dir (cdr q))))
-	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
-	EOF
-	elisp-site-file-install "${T}/${SITEFILE}" || die
-
-	dodoc README BUGS
-
-	if use aqua; then
-		dodir /Applications/Gentoo
-		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
-		mv nextstep/Emacs.app \
-			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
-	fi
-
-	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
-		through the Emacs eselect module, which also redirects man and info
-		pages. Therefore, several Emacs versions can be installed at the
-		same time. \"man emacs.eselect\" for details.
-		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
-		strongly recommended that you use app-admin/emacs-updater to rebuild
-		all byte-compiled elisp files of the installed Emacs packages."
-	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
-		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
-		machine would satisfy basic Emacs requirements under X11.
-		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
-		for how to enable anti-aliased fonts."
-	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
-		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
-		it into /Applications by yourself."
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# move Info dir file to correct name
-	local infodir=/usr/share/info/${EMACS_SUFFIX} f
-	if [[ -f ${ED}${infodir}/dir.orig ]]; then
-		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
-	elif [[ -d "${ED}"${infodir} ]]; then
-		# this should not happen in EAPI 4
-		ewarn "Regenerating Info directory index in ${infodir} ..."
-		rm -f "${ED}"${infodir}/dir{,.*}
-		for f in "${ED}"${infodir}/*; do
-			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
-				install-info --info-dir="${ED}"${infodir} "${f}" \
-					|| die "install-info failed"
-			fi
-		done
-	fi
-}
-
-pkg_postinst() {
-	elisp-site-regen
-	readme.gentoo_print_elog
-
-	if use livecd; then
-		# force an update of the emacs symlink for the livecd/dvd,
-		# because some microemacs packages set it with USE=livecd
-		eselect emacs update
-	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
-		# refresh symlinks in case any installed files have changed
-		eselect emacs set ${EMACS_SUFFIX}
-	else
-		eselect emacs update ifunset
-	fi
-}
-
-pkg_postrm() {
-	elisp-site-regen
-	eselect emacs update ifunset
-}

diff --git a/app-editors/emacs/emacs-25.3-r3.ebuild b/app-editors/emacs/emacs-25.3-r3.ebuild
deleted file mode 100644
index a091afd..0000000
--- a/app-editors/emacs/emacs-25.3-r3.ebuild
+++ /dev/null
@@ -1,370 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit elisp-common flag-o-matic multilib readme.gentoo-r1
-
-DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
-HOMEPAGE="https://www.gnu.org/software/emacs/"
-SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
-
-LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
-SLOT="25"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
-REQUIRED_USE="?? ( aqua X )"
-
-RDEPEND="sys-libs/ncurses:0=
-	>=app-eselect/eselect-emacs-1.16
-	>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
-	net-libs/liblockfile
-	acl? ( virtual/acl )
-	alsa? ( media-libs/alsa-lib )
-	dbus? ( sys-apps/dbus )
-	gpm? ( sys-libs/gpm )
-	hesiod? ( net-dns/hesiod )
-	!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
-	kerberos? ( virtual/krb5 )
-	libxml2? ( >=dev-libs/libxml2-2.2.0 )
-	selinux? ( sys-libs/libselinux )
-	ssl? ( net-libs/gnutls:0= )
-	zlib? ( sys-libs/zlib )
-	X? (
-		x11-libs/libICE
-		x11-libs/libSM
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXfixes
-		x11-libs/libXinerama
-		x11-libs/libXrandr
-		x11-libs/libxcb
-		x11-misc/xbitmaps
-		gconf? ( >=gnome-base/gconf-2.26.2 )
-		gsettings? ( >=dev-libs/glib-2.28.6 )
-		gif? ( media-libs/giflib:0= )
-		jpeg? ( virtual/jpeg:0= )
-		png? ( >=media-libs/libpng-1.4:0= )
-		svg? ( >=gnome-base/librsvg-2.0 )
-		tiff? ( media-libs/tiff:0 )
-		xpm? ( x11-libs/libXpm )
-		imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
-		xft? (
-			media-libs/fontconfig
-			media-libs/freetype
-			x11-libs/libXft
-			x11-libs/libXrender
-			cairo? ( >=x11-libs/cairo-1.12.18 )
-			m17n-lib? (
-				>=dev-libs/libotf-0.9.4
-				>=dev-libs/m17n-lib-1.5.1
-			)
-		)
-		gtk? (
-			gtk3? ( x11-libs/gtk+:3 )
-			!gtk3? ( x11-libs/gtk+:2 )
-		)
-		!gtk? (
-			motif? (
-				>=x11-libs/motif-2.3:0
-				x11-libs/libXpm
-				x11-libs/libXmu
-				x11-libs/libXt
-			)
-			!motif? (
-				Xaw3d? (
-					x11-libs/libXaw3d
-					x11-libs/libXmu
-					x11-libs/libXt
-				)
-				!Xaw3d? ( athena? (
-					x11-libs/libXaw
-					x11-libs/libXmu
-					x11-libs/libXt
-				) )
-			)
-		)
-	)"
-
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	gzip-el? ( app-arch/gzip )
-	pax_kernel? ( sys-apps/attr )"
-
-RDEPEND="${RDEPEND}
-	!<app-editors/emacs-vcs-${PV}"
-
-EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
-SITEFILE="20${PN}-${SLOT}-gentoo.el"
-# FULL_VERSION keeps the full version number, which is needed in
-# order to determine some path information correctly for copy/move
-# operations later on
-FULL_VERSION="${PV%%_*}"
-S="${WORKDIR}/emacs-${FULL_VERSION}"
-
-src_prepare() {
-	eapply_user
-
-	# Fix filename reference in redirected man page
-	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
-		|| die "unable to sed ctags.1"
-
-	#AT_M4DIR=m4 eautoreconf
-	#touch src/stamp-h.in || die
-}
-
-src_configure() {
-	strip-flags
-	filter-flags -pie					#526948
-
-	if use sh; then
-		replace-flags "-O[1-9]" -O0		#262359
-	elif use ia64; then
-		replace-flags "-O[2-9]" -O1		#325373
-	else
-		replace-flags "-O[3-9]" -O2
-	fi
-
-	local myconf
-
-	if use alsa; then
-		use sound || ewarn \
-			"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
-		myconf+=" --with-sound=alsa"
-	else
-		myconf+=" --with-sound=$(usex sound oss)"
-	fi
-
-	if use X; then
-		myconf+=" --with-x --without-ns"
-		myconf+=" $(use_with gconf)"
-		myconf+=" $(use_with gsettings)"
-		myconf+=" $(use_with toolkit-scroll-bars)"
-		myconf+=" $(use_with gif)"
-		myconf+=" $(use_with jpeg)"
-		myconf+=" $(use_with png)"
-		myconf+=" $(use_with svg rsvg)"
-		myconf+=" $(use_with tiff)"
-		myconf+=" $(use_with xpm)"
-		myconf+=" $(use_with imagemagick)"
-
-		if use xft; then
-			myconf+=" --with-xft"
-			myconf+=" $(use_with cairo)"
-			myconf+=" $(use_with m17n-lib libotf)"
-			myconf+=" $(use_with m17n-lib m17n-flt)"
-		else
-			myconf+=" --without-xft"
-			myconf+=" --without-cairo"
-			myconf+=" --without-libotf --without-m17n-flt"
-			use cairo && ewarn \
-				"USE flag \"cairo\" has no effect if \"xft\" is not set."
-			use m17n-lib && ewarn \
-				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
-		fi
-
-		local f line
-		if use gtk; then
-			einfo "Configuring to build with GIMP Toolkit (GTK+)"
-			while read line; do ewarn "${line}"; done <<-EOF
-				Your version of GTK+ will have problems with closing open
-				displays. This is no problem if you just use one display, but
-				if you use more than one and close one of them Emacs may crash.
-				See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
-				If you intend to use more than one display, then it is strongly
-				recommended that you compile Emacs with the Athena/Lucid or the
-				Motif toolkit instead.
-			EOF
-			#if use xwidgets; then
-			#	myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
-			#else
-				myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
-				myconf+=" --without-xwidgets"
-			#fi
-			for f in motif Xaw3d athena; do
-				use ${f} && ewarn \
-					"USE flag \"${f}\" has no effect if \"gtk\" is set."
-			done
-		elif use motif; then
-			einfo "Configuring to build with Motif toolkit"
-			myconf+=" --with-x-toolkit=motif"
-			for f in Xaw3d athena; do
-				use ${f} && ewarn \
-					"USE flag \"${f}\" has no effect if \"motif\" is set."
-			done
-		elif use athena || use Xaw3d; then
-			einfo "Configuring to build with Athena/Lucid toolkit"
-			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
-		else
-			einfo "Configuring to build with no toolkit"
-			myconf+=" --with-x-toolkit=no"
-		fi
-		#! use gtk && use xwidgets && ewarn \
-		#	"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
-	elif use aqua; then
-		einfo "Configuring to build with Nextstep (Cocoa) support"
-		myconf+=" --with-ns --disable-ns-self-contained"
-		myconf+=" --without-x"
-	else
-		myconf+=" --without-x --without-ns"
-	fi
-
-	# Save version information in the Emacs binary. It will be available
-	# in variable "system-configuration-options".
-	myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
-
-	econf \
-		--program-suffix="-${EMACS_SUFFIX}" \
-		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
-		--localstatedir="${EPREFIX}"/var \
-		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
-		--with-gameuser=":gamestat" \
-		--without-compress-install \
-		--with-file-notification=$(usev inotify || usev gfile || echo no) \
-		$(use_enable acl) \
-		$(use_with dbus) \
-		$(use_with dynamic-loading modules) \
-		$(use_with gpm) \
-		$(use_with hesiod) \
-		$(use_with kerberos) $(use_with kerberos kerberos5) \
-		$(use_with libxml2 xml2) \
-		$(use_with selinux) \
-		$(use_with ssl gnutls) \
-		$(use_with wide-int) \
-		$(use_with zlib) \
-		${myconf}
-}
-
-src_compile() {
-	# Disable sandbox when dumping. For the unbelievers, see bug #131505
-	emake RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD= ./temacs"
-}
-
-src_install () {
-	emake DESTDIR="${D}" NO_BIN_LINK=t install
-
-	mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
-		|| die "moving emacs executable failed"
-	mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
-		|| die "moving emacs man page failed"
-
-	# move info dir to avoid collisions with the dir file generated by portage
-	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
-		|| die "moving info dir failed"
-	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
-	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
-
-	# avoid collision between slots, see bug #169033 e.g.
-	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
-	rm -rf "${ED}"/usr/share/{appdata,applications,icons}
-	rm -rf "${ED}"/var
-
-	# remove unused <version>/site-lisp dir
-	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
-
-	# remove COPYING file (except for etc/COPYING used by describe-copying)
-	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
-
-	if use gzip-el; then
-		# compress .el files when a corresponding .elc exists
-		find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
-			-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
-		assert "gzip .el failed"
-	fi
-
-	local cdir
-	if use source; then
-		cdir="/usr/share/emacs/${FULL_VERSION}/src"
-		insinto "${cdir}"
-		# This is not meant to install all the source -- just the
-		# C source you might find via find-function
-		doins src/*.{c,h,m}
-	elif has installsources ${FEATURES}; then
-		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
-	fi
-
-	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
-	X
-	;;; ${PN}-${SLOT} site-lisp configuration
-	X
-	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
-	Y  (setq find-function-C-source-directory
-	Y	"${EPREFIX}${cdir}")
-	X  (let ((path (getenv "INFOPATH"))
-	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
-	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
-	X    (and path
-	X	 ;; move Emacs Info dir before anything else in /usr/share/info
-	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
-	X	   (while (and (cdr q) (not (string-match re (cadr q))))
-	X	     (setq q (cdr q)))
-	X	   (setcdr q (cons dir (delete dir (cdr q))))
-	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
-	EOF
-	elisp-site-file-install "${T}/${SITEFILE}" || die
-
-	dodoc README BUGS CONTRIBUTE
-
-	if use aqua; then
-		dodir /Applications/Gentoo
-		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
-		mv nextstep/Emacs.app \
-			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
-	fi
-
-	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
-		through the Emacs eselect module, which also redirects man and info
-		pages. Therefore, several Emacs versions can be installed at the
-		same time. \"man emacs.eselect\" for details.
-		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
-		strongly recommended that you use app-admin/emacs-updater to rebuild
-		all byte-compiled elisp files of the installed Emacs packages."
-	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
-		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
-		machine would satisfy basic Emacs requirements under X11.
-		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
-		for how to enable anti-aliased fonts."
-	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
-		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
-		it into /Applications by yourself."
-	readme.gentoo_create_doc
-}
-
-pkg_preinst() {
-	# move Info dir file to correct name
-	local infodir=/usr/share/info/${EMACS_SUFFIX} f
-	if [[ -f ${ED}${infodir}/dir.orig ]]; then
-		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
-	elif [[ -d "${ED}"${infodir} ]]; then
-		# this should not happen in EAPI 4
-		ewarn "Regenerating Info directory index in ${infodir} ..."
-		rm -f "${ED}"${infodir}/dir{,.*}
-		for f in "${ED}"${infodir}/*; do
-			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
-				install-info --info-dir="${ED}"${infodir} "${f}" \
-					|| die "install-info failed"
-			fi
-		done
-	fi
-}
-
-pkg_postinst() {
-	elisp-site-regen
-	readme.gentoo_print_elog
-
-	if use livecd; then
-		# force an update of the emacs symlink for the livecd/dvd,
-		# because some microemacs packages set it with USE=livecd
-		eselect emacs update
-	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
-		# refresh symlinks in case any installed files have changed
-		eselect emacs set ${EMACS_SUFFIX}
-	else
-		eselect emacs update ifunset
-	fi
-}
-
-pkg_postrm() {
-	elisp-site-regen
-	eselect emacs update ifunset
-}

diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
deleted file mode 100644
index 64c34d3..0000000
--- a/app-editors/emacs/metadata.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
-  <email>gnu-emacs@gentoo.org</email>
-  <name>Gentoo GNU Emacs project</name>
-</maintainer>
-<longdescription>
-  GNU Emacs is an extensible, customizable text editor - and more. At its core
-  is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
-  with extensions to support text editing. The features of GNU Emacs include:
-   * Content-sensitive editing modes, including syntax coloring, for a variety
-     of file types including plain text, source code, and HTML.
-   * Complete built-in documentation, including a tutorial for new users.
-   * Full Unicode support for nearly all human languages and their scripts.
-   * Highly customizable, using Emacs Lisp code or a graphical interface.
-   * A large number of extensions that add other functionality, including a
-     project planner, mail and news reader, debugger interface, calendar, and
-     more. Many of these extensions are distributed with GNU Emacs; others are
-     available separately.
-</longdescription>
-<use>
-  <flag name="athena">Enable the MIT Athena widget set
-    (<pkg>x11-libs/libXaw</pkg>)</flag>
-  <flag name="dynamic-loading">Enable loading of dynamic libraries at
-    runtime</flag>
-  <flag name="games">Support shared score files for games</flag>
-  <flag name="gconf">Use <pkg>gnome-base/gconf</pkg> to read the system
-    font name</flag>
-  <flag name="gfile">Use gfile (<pkg>dev-libs/glib</pkg>) for file
-    notification</flag>
-  <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
-    system font name</flag>
-  <flag name="gtk3">Prefer version 3 of the GIMP Toolkit to version 2
-    (<pkg>x11-libs/gtk+</pkg>)</flag>
-  <flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
-  <flag name="hesiod">Enable support for <pkg>net-dns/hesiod</pkg></flag>
-  <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image
-    processing</flag>
-  <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
-    of the internal Lisp implementations</flag>
-  <flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
-  <flag name="source">Install C source files and make them available for
-    find-function</flag>
-  <flag name="toolkit-scroll-bars">Use the selected toolkit's scrollbars in
-    preference to Emacs' own scrollbars</flag>
-  <flag name="wide-int">Prefer wide Emacs integers (typically 62-bit).
-    This option has an effect only on architectures where "long" and
-    "long long" types have different size.</flag>
-  <!--flag name='xwidgets'>Enable use of GTK widgets in Emacs buffers
-    (requires GTK3)</flag-->
-</use>
-</pkgmetadata>


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2018-02-22 13:25 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2018-02-22 13:25 UTC (permalink / raw
  To: gentoo-commits

commit:     62898bdbc0f979b183ceb638ab09f98592240fa9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 13:21:05 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 13:21:05 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=62898bdb

app-editors/emacs: Disable the sandbox only when dumping.

Apply this also to slots 18, 23, and 24.

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-editors/emacs/emacs-18.59-r11.ebuild | 11 +++++++++--
 app-editors/emacs/emacs-23.4-r17.ebuild  |  5 +++--
 app-editors/emacs/emacs-24.5-r5.ebuild   |  4 ++--
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/app-editors/emacs/emacs-18.59-r11.ebuild b/app-editors/emacs/emacs-18.59-r11.ebuild
index bd7a527..9b26006 100644
--- a/app-editors/emacs/emacs-18.59-r11.ebuild
+++ b/app-editors/emacs/emacs-18.59-r11.ebuild
@@ -28,6 +28,14 @@ DEPEND="${RDEPEND}
 
 PATCHES="../${P}-linux22x-elf-glibc21.diff ../patch"
 
+src_prepare() {
+	default
+
+	# Do not use the sandbox, or the dumped Emacs will be twice as large
+	sed -i -e 's:\./temacs.*dump:env SANDBOX_ON=0 LD_PRELOAD= &:' \
+		src/ymakefile || die
+}
+
 src_configure() {
 	# autoconf? What's autoconf? We are living in 1992. ;-)
 	local arch
@@ -70,8 +78,7 @@ src_configure() {
 }
 
 src_compile() {
-	# Do not use the sandbox, or the dumped Emacs will be twice as large
-	export SANDBOX_ON=0
+	addpredict /var/lib/emacs/lock
 	emake --jobs=1 \
 		CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \
 		LD="$(tc-getCC) -nostdlib" LDFLAGS="${LDFLAGS}"

diff --git a/app-editors/emacs/emacs-23.4-r17.ebuild b/app-editors/emacs/emacs-23.4-r17.ebuild
index 0a3267b..7879999 100644
--- a/app-editors/emacs/emacs-23.4-r17.ebuild
+++ b/app-editors/emacs/emacs-23.4-r17.ebuild
@@ -224,10 +224,11 @@ src_configure() {
 }
 
 src_compile() {
-	export SANDBOX_ON=0			# for the unbelievers, see Bug #131505
+	# Disable sandbox when dumping. For the unbelievers, see bug #131505
 	emake CC="$(tc-getCC)" \
 		AR="$(tc-getAR) cq" \
-		RANLIB="$(tc-getRANLIB)"
+		RANLIB="$(tc-getRANLIB)" \
+		RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD= ./temacs"
 }
 
 src_install () {

diff --git a/app-editors/emacs/emacs-24.5-r5.ebuild b/app-editors/emacs/emacs-24.5-r5.ebuild
index 4244c1f..9fa543d 100644
--- a/app-editors/emacs/emacs-24.5-r5.ebuild
+++ b/app-editors/emacs/emacs-24.5-r5.ebuild
@@ -225,8 +225,8 @@ src_configure() {
 }
 
 src_compile() {
-	export SANDBOX_ON=0			# for the unbelievers, see Bug #131505
-	emake
+	# Disable sandbox when dumping. For the unbelievers, see bug #131505
+	emake RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD= ./temacs"
 }
 
 src_install () {


^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/
@ 2018-02-22 13:25 Ulrich Müller
  0 siblings, 0 replies; 12+ messages in thread
From: Ulrich Müller @ 2018-02-22 13:25 UTC (permalink / raw
  To: gentoo-commits

commit:     7e8f8f2c15a1eb2148b73d65ceddf6712cea5a15
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 12:36:06 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 12:36:06 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=7e8f8f2c

app-editors/emacs: Copied from gentoo repo.

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-editors/emacs/Manifest               |   8 +
 app-editors/emacs/emacs-18.59-r11.ebuild | 150 +++++++++++++
 app-editors/emacs/emacs-23.4-r17.ebuild  | 366 ++++++++++++++++++++++++++++++
 app-editors/emacs/emacs-24.5-r5.ebuild   | 359 ++++++++++++++++++++++++++++++
 app-editors/emacs/emacs-25.3-r3.ebuild   | 371 +++++++++++++++++++++++++++++++
 app-editors/emacs/metadata.xml           |  53 +++++
 6 files changed, 1307 insertions(+)

diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest
new file mode 100644
index 0000000..10f4db7
--- /dev/null
+++ b/app-editors/emacs/Manifest
@@ -0,0 +1,8 @@
+DIST emacs-18.59-linux22x-elf-glibc21.diff.gz 15671 BLAKE2B 0106fe8053b4f65f384d451ca85138991a57afaca16b32035585055bb877c039af826859fa58c4660ec80664d3bfb0ee7a757ad76381c150ebcb22cb333a98d6 SHA512 c6c6ea33850dadf08d68fff56fc6aacc80ad1aa36661260715d50b95438942d56e6244094427d50356cfe716f26559feb885254c436399bff7be639637d605b6
+DIST emacs-18.59-patches-10.tar.xz 21496 BLAKE2B bfa0202511a9e41d3278c63f43f174cca4ba95f42675796d85139fc43654ca3b9bc56a8c547029eaae967df66ec1e520d3bcdc67c4d53261fea70def6641574c SHA512 c0255d9d02e047cc2173cebb916677e268d8f5043c9dd08041b78019df208cdd02eb8eb49256acde7a3d5b004a7227ee9a1220d7b1e24580bdb5a5258216fc39
+DIST emacs-18.59.tar.gz 2962652 BLAKE2B d617636daff41e672af2dcda26ec24b2495cf0a3e6373561ee26a2a922b7252c074dd6b79289d771853a4720c60f084f5726b904bf65989718173232ac874b0b SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33
+DIST emacs-23.4-patches-21.tar.xz 19604 BLAKE2B 97327f2079c496c28122203d233a12199a3c11a8c4efb2107247a4ca4483b898467d73d19d4f0570ec7be2a49dc5f6bd1bc9ee0811f932e7deb6b1c4ca96e362 SHA512 135eda432de64200797456d594f7de811275a7adf792d10a1c3a51ca4bbbbaa3a2c682b9fd577c4d93fbce967ca08d4ac47eb45f031477c3e44c69c14d5d5b48
+DIST emacs-23.4.tar.bz2 38646508 BLAKE2B 33dac5d27a63b7aab6b4053964a0ecf7f7939c7aea5af15103f2da7bd34fbb18dba7a1bf44cc4fcc2e3fb1439cdf7085d8dfc4b0005f5485748996e75ca6872d SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296
+DIST emacs-24.5-patches-4.tar.xz 13632 BLAKE2B 99e70f4ee32c1ba3a66b934de692437aaf0b83eb6fa841ce4569bc58e2bd12802890c2a8496375280c0ce8fa56515918dfdcbc958f349bc2472104e37ad1fcd1 SHA512 569c3a55aaf1102c0bae4ab25ee06372763cd2de8a54e26b3eefd54e585cf90b53c8ffe1ca48eb4fd312a340380fd3f2fcdb584697814bf429129b48fa56ffb5
+DIST emacs-24.5.tar.xz 39759804 BLAKE2B aec253528038686822d1f8ed9a52dff276789ef7744053fc9b6176fceba4d4d8684fe979cf97e756b3feaf734d2377baef81f5efaa5450930a4e94d9f3bca355 SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677
+DIST emacs-25.3.tar.xz 42854740 BLAKE2B 4f4e2572bbef48b75c561497fc22046081e56099b6174725d79b15a5b16d5c886eaf8ff3f75cf561e989ebb092ab9e98ba7503e720a9db7560758b30d5116f23 SHA512 1cce656451b6ca8502ebb229e88bd3ef48b7f9444a10eeac4ea43bd5491b2efacd641dfa35227a33362c3866493d3449cf1df81606563eef44bba0ed668e457f

diff --git a/app-editors/emacs/emacs-18.59-r11.ebuild b/app-editors/emacs/emacs-18.59-r11.ebuild
new file mode 100644
index 0000000..bd7a527
--- /dev/null
+++ b/app-editors/emacs/emacs-18.59-r11.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs flag-o-matic multilib
+
+DESCRIPTION="The extensible self-documenting text editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="ftp://ftp.gnu.org/old-gnu/emacs/${P}.tar.gz
+	ftp://ftp.splode.com/pub/users/friedman/emacs/${P}-linux22x-elf-glibc21.diff.gz
+	https://dev.gentoo.org/~ulm/emacs/${P}-patches-10.tar.xz"
+
+LICENSE="GPL-1+ GPL-2+ BSD" #HPND
+SLOT="18"
+KEYWORDS="amd64 x86"
+IUSE="abi_x86_x32"
+
+RDEPEND=">=app-eselect/eselect-emacs-1.16
+	sys-libs/ncurses:0=
+	amd64? (
+		abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_x32(-)?] )
+		!abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)] )
+	)"
+#	X? ( x11-libs/libX11[-xcb] )
+DEPEND="${RDEPEND}
+	virtual/pkgconfig"
+
+PATCHES="../${P}-linux22x-elf-glibc21.diff ../patch"
+
+src_configure() {
+	# autoconf? What's autoconf? We are living in 1992. ;-)
+	local arch
+	case ${ARCH} in
+		amd64)
+			if use abi_x86_x32; then
+				arch=x86-x32
+				multilib_toolchain_setup x32
+			else
+				arch=intel386
+				multilib_toolchain_setup x86
+			fi
+			;;
+		x86) arch=intel386 ;;
+		*) die "Architecture ${ARCH} not yet supported" ;;
+	esac
+	local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/"
+	#use X && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/"
+	sed -e "${cmd}" src/config.h-dist >src/config.h || die
+
+	cat <<-END >src/paths.h
+		#define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp"
+		#define PATH_EXEC "/usr/share/emacs/${PV}/etc"
+		#define PATH_LOCK "/var/lib/emacs/lock/"
+		#define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!"
+	END
+
+	sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \
+		-e "s:-lncurses:$("$(tc-getPKG_CONFIG)" --libs ncurses):" \
+		src/s-linux.h || die
+
+	# -O3 and -finline-functions cause segmentation faults at run time.
+	# -Wno-implicit will quieten GCC 5; feel free to submit a patch
+	# adding all those missing prototypes.
+	strip-flags
+	filter-flags -finline-functions -fpie
+	append-flags -Wno-implicit
+	append-ldflags $(test-flags -no-pie)	#639562
+	replace-flags -O[3-9] -O2
+}
+
+src_compile() {
+	# Do not use the sandbox, or the dumped Emacs will be twice as large
+	export SANDBOX_ON=0
+	emake --jobs=1 \
+		CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Demacs" \
+		LD="$(tc-getCC) -nostdlib" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+	local basedir="/usr/share/emacs/${PV}" i
+
+	dodir ${basedir}
+	dodir /usr/share/man/man1
+	emake --jobs=1 \
+		LIBDIR="${D}"${basedir} \
+		BINDIR="${D}"/usr/bin \
+		MANDIR="${D}"/usr/share/man/man1 \
+		install
+
+	rmdir "${D}"${basedir}/lock || die
+	find "${D}"${basedir} -type f \( -name "*.c" -o -name ChangeLog \
+		-o -name COPYING ! -path "*/etc/COPYING" \) -exec rm "{}" + || die
+	fperms -R go-w ${basedir}
+
+	# remove duplicate DOC file
+	rm "${D}"${basedir}/etc/DOC || die
+
+	# move executables to the correct place
+	mv "${D}"/usr/bin/emacs{,-${SLOT}} || die
+	for i in etags ctags emacsclient; do
+		mv "${D}"/usr/bin/${i}{,-emacs-${SLOT}} || die
+		rm "${D}"${basedir}/etc/${i} || die
+	done
+
+	dodir /usr/libexec/emacs/${PV}
+	for i in wakeup digest-doc sorted-doc movemail cvtmail fakemail \
+		yow env server
+	do
+		mv "${D}"${basedir}/etc/${i} "${D}"/usr/libexec/emacs/${PV}/${i} || die
+		dosym ../../../../libexec/emacs/${PV}/${i} ${basedir}/etc/${i}
+	done
+	for i in test-distrib make-docfile; do
+		rm "${D}"${basedir}/etc/${i} || die
+	done
+
+	# move man page
+	mv "${D}"/usr/share/man/man1/emacs{,-${SLOT}}.1 || die
+
+	# move Info files
+	dodir /usr/share/info
+	mv "${D}"${basedir}/info "${D}"/usr/share/info/emacs-${SLOT} || die
+	dosym ../../info/emacs-${SLOT} "${basedir}"/info
+	docompress -x /usr/share/info
+
+	# move Info dir to avoid collisions with the dir file generated by portage
+	mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} || die
+	touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir
+
+	dodir /var/lib/emacs
+	diropts -m0777
+	keepdir /var/lib/emacs/lock
+
+	dodoc README PROBLEMS
+}
+
+pkg_preinst() {
+	# move Info dir file to correct name
+	if [[ -d "${D}"/usr/share/info ]]; then
+		mv "${D}"/usr/share/info/emacs-${SLOT}/dir{.orig,} || die
+	fi
+}
+
+pkg_postinst() {
+	eselect emacs update ifunset
+}
+
+pkg_postrm() {
+	eselect emacs update ifunset
+}

diff --git a/app-editors/emacs/emacs-23.4-r17.ebuild b/app-editors/emacs/emacs-23.4-r17.ebuild
new file mode 100644
index 0000000..0a3267b
--- /dev/null
+++ b/app-editors/emacs/emacs-23.4-r17.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOMAKE="none"
+
+inherit autotools elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.bz2
+	https://dev.gentoo.org/~ulm/emacs/${P}-patches-21.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="23"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="alsa aqua athena dbus games gconf gif gpm gtk gzip-el hesiod jpeg kerberos livecd m17n-lib motif pax_kernel png sound source svg tiff toolkit-scroll-bars X Xaw3d xft +xpm"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+	>=app-eselect/eselect-emacs-1.16
+	>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+	net-libs/liblockfile
+	hesiod? ( net-dns/hesiod )
+	kerberos? ( virtual/krb5 )
+	alsa? ( media-libs/alsa-lib )
+	gpm? ( sys-libs/gpm )
+	dbus? ( sys-apps/dbus )
+	X? (
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-misc/xbitmaps
+		gconf? ( >=gnome-base/gconf-2.26.2 )
+		gif? ( media-libs/giflib:0= )
+		jpeg? ( virtual/jpeg:0= )
+		png? ( >=media-libs/libpng-1.4:0= )
+		svg? ( >=gnome-base/librsvg-2.0 )
+		tiff? ( media-libs/tiff:0 )
+		xpm? ( x11-libs/libXpm )
+		xft? (
+			media-libs/fontconfig
+			media-libs/freetype
+			x11-libs/libXft
+			x11-libs/libXrender
+			m17n-lib? (
+				>=dev-libs/libotf-0.9.4
+				>=dev-libs/m17n-lib-1.5.1
+			)
+		)
+		gtk? ( x11-libs/gtk+:2 )
+		!gtk? (
+			motif? (
+				>=x11-libs/motif-2.3:0
+				x11-libs/libXp
+				x11-libs/libXpm
+				x11-libs/libXext
+				x11-libs/libXmu
+				x11-libs/libXt
+			)
+			!motif? (
+				Xaw3d? (
+					x11-libs/libXaw3d
+					x11-libs/libXext
+					x11-libs/libXmu
+					x11-libs/libXt
+				)
+				!Xaw3d? ( athena? (
+					x11-libs/libXaw
+					x11-libs/libXext
+					x11-libs/libXmu
+					x11-libs/libXt
+				) )
+			)
+		)
+	)"
+
+DEPEND="${RDEPEND}
+	alsa? ( virtual/pkgconfig )
+	dbus? ( virtual/pkgconfig )
+	X? ( virtual/pkgconfig )
+	gzip-el? ( app-arch/gzip )
+	pax_kernel? ( sys-apps/attr )"
+
+RDEPEND="${RDEPEND}
+	!<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+	eapply ../patch
+	eapply_user
+
+	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+		|| die "unable to sed ctags.1"
+
+	if ! use alsa; then
+		# ALSA is detected even if not requested by its USE flag.
+		# Suppress it by supplying pkg-config with a wrong library name.
+		sed -i -e "/ALSA_MODULES=/s/alsa/DiSaBlEaLsA/" configure.in \
+			|| die "unable to sed configure.in"
+	fi
+	if ! use gzip-el; then
+		# Emacs' build system automatically detects the gzip binary and
+		# compresses el files. We don't want that so confuse it with a
+		# wrong binary name
+		sed -i -e "s/ gzip/ PrEvEnTcOmPrEsSiOn/" configure.in \
+			|| die "unable to sed configure.in"
+	fi
+
+	mv configure.in configure.ac || die
+	eautoreconf
+	touch src/stamp-h.in || die
+}
+
+src_configure() {
+	strip-flags
+	filter-flags -fstrict-aliasing -pie
+	append-flags $(test-flags -fno-strict-aliasing)
+	append-ldflags $(test-flags -no-pie)	#639568
+
+	if use sh; then
+		replace-flags "-O[1-9]" -O0		#262359
+	elif use ia64; then
+		replace-flags "-O[2-9]" -O1		#325373
+	else
+		replace-flags "-O[3-9]" -O2
+	fi
+
+	local myconf
+
+	if use alsa && ! use sound; then
+		einfo "Although sound USE flag is disabled you chose to have alsa,"
+		einfo "so sound is switched on anyway."
+		myconf+=" --with-sound"
+	else
+		myconf+=" $(use_with sound)"
+	fi
+
+	if use X; then
+		myconf+=" --with-x --without-ns"
+		myconf+=" $(use_with gconf)"
+		myconf+=" $(use_with toolkit-scroll-bars)"
+		myconf+=" $(use_with gif)"
+		myconf+=" $(use_with jpeg)"
+		myconf+=" $(use_with png)"
+		myconf+=" $(use_with svg rsvg)"
+		myconf+=" $(use_with tiff)"
+		myconf+=" $(use_with xpm)"
+
+		if use xft; then
+			myconf+=" --with-xft"
+			myconf+=" $(use_with m17n-lib libotf)"
+			myconf+=" $(use_with m17n-lib m17n-flt)"
+		else
+			myconf+=" --without-xft"
+			myconf+=" --without-libotf --without-m17n-flt"
+			use m17n-lib && ewarn \
+				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+		fi
+
+		# GTK+ is the default toolkit if USE=gtk is chosen with other
+		# possibilities. Emacs upstream thinks this should be standard
+		# policy on all distributions
+		local f
+		if use gtk; then
+			einfo "Configuring to build with GIMP Toolkit (GTK+)"
+			myconf+=" --with-x-toolkit=gtk"
+			for f in motif Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"gtk\" is set."
+			done
+		elif use motif; then
+			einfo "Configuring to build with Motif toolkit"
+			myconf+=" --with-x-toolkit=motif"
+			for f in Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"motif\" is set."
+			done
+		elif use athena || use Xaw3d; then
+			einfo "Configuring to build with Athena/Lucid toolkit"
+			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+		else
+			einfo "Configuring to build with no toolkit"
+			myconf+=" --with-x-toolkit=no"
+		fi
+	elif use aqua; then
+		einfo "Configuring to build with Nextstep (Cocoa) support"
+		myconf+=" --with-ns --disable-ns-self-contained"
+		myconf+=" --without-x"
+	else
+		myconf+=" --without-x --without-ns"
+	fi
+
+	# Save version information in the Emacs binary. It will be available
+	# in variable "system-configuration-options".
+	myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+
+	# According to configure, this option is only used for GNU/Linux
+	# (x86_64 and s390). For Gentoo Prefix we have to explicitly spell
+	# out the location because $(get_libdir) does not necessarily return
+	# something that matches the host OS's libdir naming (e.g. RHEL).
+	local crtdir=$($(tc-getCC) -print-file-name=crt1.o)
+	crtdir=${crtdir%/*}
+
+	econf \
+		--program-suffix="-${EMACS_SUFFIX}" \
+		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+		--localstatedir="${EPREFIX}"/var \
+		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+		--with-crt-dir="${crtdir}" \
+		--with-gameuser=":gamestat" \
+		$(use_with hesiod) \
+		$(use_with kerberos) $(use_with kerberos kerberos5) \
+		$(use_with gpm) \
+		$(use_with dbus) \
+		${myconf}
+}
+
+src_compile() {
+	export SANDBOX_ON=0			# for the unbelievers, see Bug #131505
+	emake CC="$(tc-getCC)" \
+		AR="$(tc-getAR) cq" \
+		RANLIB="$(tc-getRANLIB)"
+}
+
+src_install () {
+	emake DESTDIR="${D}" install
+
+	rm "${ED}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \
+		|| die "removing duplicate emacs executable failed"
+	mv "${ED}"/usr/bin/emacs-${EMACS_SUFFIX} "${ED}"/usr/bin/${EMACS_SUFFIX} \
+		|| die "moving emacs executable failed"
+
+	# move man pages to the correct place
+	local m
+	mv "${ED}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \
+		|| die "moving emacs man page failed"
+	for m in b2m ctags ebrowse emacsclient etags grep-changelog rcs-checkin; do
+		mv "${ED}"/usr/share/man/man1/${m}{,-${EMACS_SUFFIX}}.1 \
+			|| die "moving ${m} man page failed"
+	done
+
+	# move info dir to avoid collisions with the dir file generated by portage
+	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+		|| die "moving info dir failed"
+	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+	# avoid collision between slots, see bug #169033 e.g.
+	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+	rm -rf "${ED}"/usr/share/{applications,icons}
+	rm -rf "${ED}"/var
+
+	# remove unused <version>/site-lisp dir
+	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+	# remove COPYING file (except for etc/COPYING used by describe-copying)
+	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+	local cdir
+	if use source; then
+		cdir="/usr/share/emacs/${FULL_VERSION}/src"
+		insinto "${cdir}"
+		# This is not meant to install all the source -- just the
+		# C source you might find via find-function
+		doins src/*.{c,h,m}
+		doins -r src/{m,s}
+		rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/Makefile.c
+		rm "${ED}"/usr/share/emacs/${FULL_VERSION}/src/{m,s}/README
+	elif has installsources ${FEATURES}; then
+		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+	fi
+
+	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
+	X
+	;;; ${PN}-${SLOT} site-lisp configuration
+	X
+	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+	Y  (setq find-function-C-source-directory
+	Y	"${EPREFIX}${cdir}")
+	X  (let ((path (getenv "INFOPATH"))
+	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+	X    (and path
+	X	 ;; move Emacs Info dir before anything else in /usr/share/info
+	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
+	X	   (while (and (cdr q) (not (string-match re (cadr q))))
+	X	     (setq q (cdr q)))
+	X	   (setcdr q (cons dir (delete dir (cdr q))))
+	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
+	EOF
+	elisp-site-file-install "${T}/${SITEFILE}" || die
+
+	dodoc README BUGS
+
+	if use aqua; then
+		dodir /Applications/Gentoo
+		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+		mv nextstep/Emacs.app \
+			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+	fi
+
+	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+		through the Emacs eselect module, which also redirects man and info
+		pages. Therefore, several Emacs versions can be installed at the
+		same time. \"man emacs.eselect\" for details.
+		\\n\\nIf you upgrade from a previous major version of Emacs, then
+		it is strongly recommended that you use app-admin/emacs-updater
+		to rebuild all byte-compiled elisp files of the installed Emacs
+		packages."
+	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+		machine would satisfy basic Emacs requirements under X11.
+		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+		for how to enable anti-aliased fonts."
+	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+		it into /Applications by yourself."
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# move Info dir file to correct name
+	local infodir=/usr/share/info/${EMACS_SUFFIX} f
+	if [[ -f ${ED}${infodir}/dir.orig ]]; then
+		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+	elif [[ -d "${ED}"${infodir} ]]; then
+		# this should not happen in EAPI 4
+		ewarn "Regenerating Info directory index in ${infodir} ..."
+		rm -f "${ED}"${infodir}/dir{,.*}
+		for f in "${ED}"${infodir}/*; do
+			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+				install-info --info-dir="${ED}"${infodir} "${f}" \
+					|| die "install-info failed"
+			fi
+		done
+	fi
+}
+
+pkg_postinst() {
+	elisp-site-regen
+	readme.gentoo_print_elog
+
+	if use livecd; then
+		# force an update of the emacs symlink for the livecd/dvd,
+		# because some microemacs packages set it with USE=livecd
+		eselect emacs update
+	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+		# refresh symlinks in case any installed files have changed
+		eselect emacs set ${EMACS_SUFFIX}
+	else
+		eselect emacs update ifunset
+	fi
+}
+
+pkg_postrm() {
+	elisp-site-regen
+	eselect emacs update ifunset
+}

diff --git a/app-editors/emacs/emacs-24.5-r5.ebuild b/app-editors/emacs/emacs-24.5-r5.ebuild
new file mode 100644
index 0000000..4244c1f
--- /dev/null
+++ b/app-editors/emacs/emacs-24.5-r5.ebuild
@@ -0,0 +1,359 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz
+	https://dev.gentoo.org/~ulm/emacs/${P}-patches-4.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="24"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+	>=app-eselect/eselect-emacs-1.16
+	>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+	net-libs/liblockfile
+	acl? ( virtual/acl )
+	alsa? ( media-libs/alsa-lib )
+	dbus? ( sys-apps/dbus )
+	gpm? ( sys-libs/gpm )
+	hesiod? ( net-dns/hesiod )
+	!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+	kerberos? ( virtual/krb5 )
+	libxml2? ( >=dev-libs/libxml2-2.2.0 )
+	selinux? ( sys-libs/libselinux )
+	ssl? ( net-libs/gnutls:0= )
+	zlib? ( sys-libs/zlib )
+	X? (
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXinerama
+		x11-libs/libXrandr
+		x11-misc/xbitmaps
+		gconf? ( >=gnome-base/gconf-2.26.2 )
+		gsettings? ( >=dev-libs/glib-2.28.6 )
+		gif? ( media-libs/giflib:0= )
+		jpeg? ( virtual/jpeg:0= )
+		png? ( >=media-libs/libpng-1.4:0= )
+		svg? ( >=gnome-base/librsvg-2.0 )
+		tiff? ( media-libs/tiff:0 )
+		xpm? ( x11-libs/libXpm )
+		imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
+		xft? (
+			media-libs/fontconfig
+			media-libs/freetype
+			x11-libs/libXft
+			x11-libs/libXrender
+			m17n-lib? (
+				>=dev-libs/libotf-0.9.4
+				>=dev-libs/m17n-lib-1.5.1
+			)
+		)
+		gtk? (
+			gtk3? ( x11-libs/gtk+:3 )
+			!gtk3? ( x11-libs/gtk+:2 )
+		)
+		!gtk? (
+			motif? (
+				>=x11-libs/motif-2.3:0
+				x11-libs/libXp
+				x11-libs/libXpm
+				x11-libs/libXmu
+				x11-libs/libXt
+			)
+			!motif? (
+				Xaw3d? (
+					x11-libs/libXaw3d
+					x11-libs/libXmu
+					x11-libs/libXt
+				)
+				!Xaw3d? ( athena? (
+					x11-libs/libXaw
+					x11-libs/libXmu
+					x11-libs/libXt
+				) )
+			)
+		)
+	)"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	gzip-el? ( app-arch/gzip )
+	pax_kernel? ( sys-apps/attr )"
+
+RDEPEND="${RDEPEND}
+	!<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+	eapply ../patch
+	eapply_user
+
+	# Fix filename reference in redirected man page
+	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+		|| die "unable to sed ctags.1"
+
+	AT_M4DIR=m4 eautoreconf
+	touch src/stamp-h.in || die
+}
+
+src_configure() {
+	strip-flags
+	filter-flags -pie					#526948
+	append-ldflags $(test-flags -no-pie)	#639570
+
+	if use sh; then
+		replace-flags "-O[1-9]" -O0		#262359
+	elif use ia64; then
+		replace-flags "-O[2-9]" -O1		#325373
+	else
+		replace-flags "-O[3-9]" -O2
+	fi
+
+	local myconf
+
+	if use alsa; then
+		use sound || ewarn \
+			"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+		myconf+=" --with-sound=alsa"
+	else
+		myconf+=" --with-sound=$(usex sound oss)"
+	fi
+
+	if use X; then
+		myconf+=" --with-x --without-ns"
+		myconf+=" $(use_with gconf)"
+		myconf+=" $(use_with gsettings)"
+		myconf+=" $(use_with toolkit-scroll-bars)"
+		myconf+=" $(use_with gif)"
+		myconf+=" $(use_with jpeg)"
+		myconf+=" $(use_with png)"
+		myconf+=" $(use_with svg rsvg)"
+		myconf+=" $(use_with tiff)"
+		myconf+=" $(use_with xpm)"
+		myconf+=" $(use_with imagemagick)"
+
+		if use xft; then
+			myconf+=" --with-xft"
+			myconf+=" $(use_with m17n-lib libotf)"
+			myconf+=" $(use_with m17n-lib m17n-flt)"
+		else
+			myconf+=" --without-xft"
+			myconf+=" --without-libotf --without-m17n-flt"
+			use m17n-lib && ewarn \
+				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+		fi
+
+		local f line
+		if use gtk; then
+			einfo "Configuring to build with GIMP Toolkit (GTK+)"
+			while read line; do ewarn "${line}"; done <<-EOF
+				Your version of GTK+ will have problems with closing open
+				displays. This is no problem if you just use one display, but
+				if you use more than one and close one of them Emacs may crash.
+				See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+				If you intend to use more than one display, then it is strongly
+				recommended that you compile Emacs with the Athena/Lucid or the
+				Motif toolkit instead.
+			EOF
+			myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+			for f in motif Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"gtk\" is set."
+			done
+		elif use motif; then
+			einfo "Configuring to build with Motif toolkit"
+			myconf+=" --with-x-toolkit=motif"
+			for f in Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"motif\" is set."
+			done
+		elif use athena || use Xaw3d; then
+			einfo "Configuring to build with Athena/Lucid toolkit"
+			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+		else
+			einfo "Configuring to build with no toolkit"
+			myconf+=" --with-x-toolkit=no"
+		fi
+	elif use aqua; then
+		einfo "Configuring to build with Nextstep (Cocoa) support"
+		myconf+=" --with-ns --disable-ns-self-contained"
+		myconf+=" --without-x"
+	else
+		myconf+=" --without-x --without-ns"
+	fi
+
+	# Save version information in the Emacs binary. It will be available
+	# in variable "system-configuration-options".
+	myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+
+	econf \
+		--program-suffix="-${EMACS_SUFFIX}" \
+		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+		--localstatedir="${EPREFIX}"/var \
+		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+		--with-gameuser=":gamestat" \
+		--without-compress-install \
+		--with-file-notification=$(usev inotify || usev gfile || echo no) \
+		$(use_enable acl) \
+		$(use_with dbus) \
+		$(use_with gpm) \
+		$(use_with hesiod) \
+		$(use_with kerberos) $(use_with kerberos kerberos5) \
+		$(use_with libxml2 xml2) \
+		$(use_with selinux) \
+		$(use_with ssl gnutls) \
+		$(use_with wide-int) \
+		$(use_with zlib) \
+		${myconf}
+}
+
+src_compile() {
+	export SANDBOX_ON=0			# for the unbelievers, see Bug #131505
+	emake
+}
+
+src_install () {
+	emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+	mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+		|| die "moving emacs executable failed"
+	mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+		|| die "moving emacs man page failed"
+
+	# move info dir to avoid collisions with the dir file generated by portage
+	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+		|| die "moving info dir failed"
+	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+	# avoid collision between slots, see bug #169033 e.g.
+	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+	rm -rf "${ED}"/usr/share/{applications,icons}
+	rm -rf "${ED}"/var
+
+	# remove unused <version>/site-lisp dir
+	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+	# remove COPYING file (except for etc/COPYING used by describe-copying)
+	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+	if use gzip-el; then
+		# compress .el files when a corresponding .elc exists
+		find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+			-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+		assert "gzip .el failed"
+	fi
+
+	local cdir
+	if use source; then
+		cdir="/usr/share/emacs/${FULL_VERSION}/src"
+		insinto "${cdir}"
+		# This is not meant to install all the source -- just the
+		# C source you might find via find-function
+		doins src/*.{c,h,m}
+	elif has installsources ${FEATURES}; then
+		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+	fi
+
+	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
+	X
+	;;; ${PN}-${SLOT} site-lisp configuration
+	X
+	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+	Y  (setq find-function-C-source-directory
+	Y	"${EPREFIX}${cdir}")
+	X  (let ((path (getenv "INFOPATH"))
+	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+	X    (and path
+	X	 ;; move Emacs Info dir before anything else in /usr/share/info
+	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
+	X	   (while (and (cdr q) (not (string-match re (cadr q))))
+	X	     (setq q (cdr q)))
+	X	   (setcdr q (cons dir (delete dir (cdr q))))
+	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
+	EOF
+	elisp-site-file-install "${T}/${SITEFILE}" || die
+
+	dodoc README BUGS
+
+	if use aqua; then
+		dodir /Applications/Gentoo
+		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+		mv nextstep/Emacs.app \
+			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+	fi
+
+	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+		through the Emacs eselect module, which also redirects man and info
+		pages. Therefore, several Emacs versions can be installed at the
+		same time. \"man emacs.eselect\" for details.
+		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+		strongly recommended that you use app-admin/emacs-updater to rebuild
+		all byte-compiled elisp files of the installed Emacs packages."
+	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+		machine would satisfy basic Emacs requirements under X11.
+		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+		for how to enable anti-aliased fonts."
+	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+		it into /Applications by yourself."
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# move Info dir file to correct name
+	local infodir=/usr/share/info/${EMACS_SUFFIX} f
+	if [[ -f ${ED}${infodir}/dir.orig ]]; then
+		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+	elif [[ -d "${ED}"${infodir} ]]; then
+		# this should not happen in EAPI 4
+		ewarn "Regenerating Info directory index in ${infodir} ..."
+		rm -f "${ED}"${infodir}/dir{,.*}
+		for f in "${ED}"${infodir}/*; do
+			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+				install-info --info-dir="${ED}"${infodir} "${f}" \
+					|| die "install-info failed"
+			fi
+		done
+	fi
+}
+
+pkg_postinst() {
+	elisp-site-regen
+	readme.gentoo_print_elog
+
+	if use livecd; then
+		# force an update of the emacs symlink for the livecd/dvd,
+		# because some microemacs packages set it with USE=livecd
+		eselect emacs update
+	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+		# refresh symlinks in case any installed files have changed
+		eselect emacs set ${EMACS_SUFFIX}
+	else
+		eselect emacs update ifunset
+	fi
+}
+
+pkg_postrm() {
+	elisp-site-regen
+	eselect emacs update ifunset
+}

diff --git a/app-editors/emacs/emacs-25.3-r3.ebuild b/app-editors/emacs/emacs-25.3-r3.ebuild
new file mode 100644
index 0000000..8267aed
--- /dev/null
+++ b/app-editors/emacs/emacs-25.3-r3.ebuild
@@ -0,0 +1,371 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit elisp-common flag-o-matic multilib readme.gentoo-r1
+
+DESCRIPTION="The extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE="https://www.gnu.org/software/emacs/"
+SRC_URI="mirror://gnu/emacs/${P}.tar.xz"
+
+LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
+SLOT="25"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source ssl svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm zlib"
+REQUIRED_USE="?? ( aqua X )"
+
+RDEPEND="sys-libs/ncurses:0=
+	>=app-eselect/eselect-emacs-1.16
+	>=app-emacs/emacs-common-gentoo-1.5[games?,X?]
+	net-libs/liblockfile
+	acl? ( virtual/acl )
+	alsa? ( media-libs/alsa-lib )
+	dbus? ( sys-apps/dbus )
+	gpm? ( sys-libs/gpm )
+	hesiod? ( net-dns/hesiod )
+	!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
+	kerberos? ( virtual/krb5 )
+	libxml2? ( >=dev-libs/libxml2-2.2.0 )
+	selinux? ( sys-libs/libselinux )
+	ssl? ( net-libs/gnutls:0= )
+	zlib? ( sys-libs/zlib )
+	X? (
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXfixes
+		x11-libs/libXinerama
+		x11-libs/libXrandr
+		x11-libs/libxcb
+		x11-misc/xbitmaps
+		gconf? ( >=gnome-base/gconf-2.26.2 )
+		gsettings? ( >=dev-libs/glib-2.28.6 )
+		gif? ( media-libs/giflib:0= )
+		jpeg? ( virtual/jpeg:0= )
+		png? ( >=media-libs/libpng-1.4:0= )
+		svg? ( >=gnome-base/librsvg-2.0 )
+		tiff? ( media-libs/tiff:0 )
+		xpm? ( x11-libs/libXpm )
+		imagemagick? ( >=media-gfx/imagemagick-6.6.2:0= )
+		xft? (
+			media-libs/fontconfig
+			media-libs/freetype
+			x11-libs/libXft
+			x11-libs/libXrender
+			cairo? ( >=x11-libs/cairo-1.12.18 )
+			m17n-lib? (
+				>=dev-libs/libotf-0.9.4
+				>=dev-libs/m17n-lib-1.5.1
+			)
+		)
+		gtk? (
+			gtk3? ( x11-libs/gtk+:3 )
+			!gtk3? ( x11-libs/gtk+:2 )
+		)
+		!gtk? (
+			motif? (
+				>=x11-libs/motif-2.3:0
+				x11-libs/libXp
+				x11-libs/libXpm
+				x11-libs/libXmu
+				x11-libs/libXt
+			)
+			!motif? (
+				Xaw3d? (
+					x11-libs/libXaw3d
+					x11-libs/libXmu
+					x11-libs/libXt
+				)
+				!Xaw3d? ( athena? (
+					x11-libs/libXaw
+					x11-libs/libXmu
+					x11-libs/libXt
+				) )
+			)
+		)
+	)"
+
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	gzip-el? ( app-arch/gzip )
+	pax_kernel? ( sys-apps/attr )"
+
+RDEPEND="${RDEPEND}
+	!<app-editors/emacs-vcs-${PV}"
+
+EMACS_SUFFIX="${PN/emacs/emacs-${SLOT}}"
+SITEFILE="20${PN}-${SLOT}-gentoo.el"
+# FULL_VERSION keeps the full version number, which is needed in
+# order to determine some path information correctly for copy/move
+# operations later on
+FULL_VERSION="${PV%%_*}"
+S="${WORKDIR}/emacs-${FULL_VERSION}"
+
+src_prepare() {
+	eapply_user
+
+	# Fix filename reference in redirected man page
+	sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
+		|| die "unable to sed ctags.1"
+
+	#AT_M4DIR=m4 eautoreconf
+	#touch src/stamp-h.in || die
+}
+
+src_configure() {
+	strip-flags
+	filter-flags -pie					#526948
+
+	if use sh; then
+		replace-flags "-O[1-9]" -O0		#262359
+	elif use ia64; then
+		replace-flags "-O[2-9]" -O1		#325373
+	else
+		replace-flags "-O[3-9]" -O2
+	fi
+
+	local myconf
+
+	if use alsa; then
+		use sound || ewarn \
+			"USE flag \"alsa\" overrides \"-sound\"; enabling sound support."
+		myconf+=" --with-sound=alsa"
+	else
+		myconf+=" --with-sound=$(usex sound oss)"
+	fi
+
+	if use X; then
+		myconf+=" --with-x --without-ns"
+		myconf+=" $(use_with gconf)"
+		myconf+=" $(use_with gsettings)"
+		myconf+=" $(use_with toolkit-scroll-bars)"
+		myconf+=" $(use_with gif)"
+		myconf+=" $(use_with jpeg)"
+		myconf+=" $(use_with png)"
+		myconf+=" $(use_with svg rsvg)"
+		myconf+=" $(use_with tiff)"
+		myconf+=" $(use_with xpm)"
+		myconf+=" $(use_with imagemagick)"
+
+		if use xft; then
+			myconf+=" --with-xft"
+			myconf+=" $(use_with cairo)"
+			myconf+=" $(use_with m17n-lib libotf)"
+			myconf+=" $(use_with m17n-lib m17n-flt)"
+		else
+			myconf+=" --without-xft"
+			myconf+=" --without-cairo"
+			myconf+=" --without-libotf --without-m17n-flt"
+			use cairo && ewarn \
+				"USE flag \"cairo\" has no effect if \"xft\" is not set."
+			use m17n-lib && ewarn \
+				"USE flag \"m17n-lib\" has no effect if \"xft\" is not set."
+		fi
+
+		local f line
+		if use gtk; then
+			einfo "Configuring to build with GIMP Toolkit (GTK+)"
+			while read line; do ewarn "${line}"; done <<-EOF
+				Your version of GTK+ will have problems with closing open
+				displays. This is no problem if you just use one display, but
+				if you use more than one and close one of them Emacs may crash.
+				See <https://bugzilla.gnome.org/show_bug.cgi?id=85715>.
+				If you intend to use more than one display, then it is strongly
+				recommended that you compile Emacs with the Athena/Lucid or the
+				Motif toolkit instead.
+			EOF
+			#if use xwidgets; then
+			#	myconf+=" --with-x-toolkit=gtk3 --with-xwidgets"
+			#else
+				myconf+=" --with-x-toolkit=$(usex gtk3 gtk3 gtk2)"
+				myconf+=" --without-xwidgets"
+			#fi
+			for f in motif Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"gtk\" is set."
+			done
+		elif use motif; then
+			einfo "Configuring to build with Motif toolkit"
+			myconf+=" --with-x-toolkit=motif"
+			for f in Xaw3d athena; do
+				use ${f} && ewarn \
+					"USE flag \"${f}\" has no effect if \"motif\" is set."
+			done
+		elif use athena || use Xaw3d; then
+			einfo "Configuring to build with Athena/Lucid toolkit"
+			myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)"
+		else
+			einfo "Configuring to build with no toolkit"
+			myconf+=" --with-x-toolkit=no"
+		fi
+		#! use gtk && use xwidgets && ewarn \
+		#	"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
+	elif use aqua; then
+		einfo "Configuring to build with Nextstep (Cocoa) support"
+		myconf+=" --with-ns --disable-ns-self-contained"
+		myconf+=" --without-x"
+	else
+		myconf+=" --without-x --without-ns"
+	fi
+
+	# Save version information in the Emacs binary. It will be available
+	# in variable "system-configuration-options".
+	myconf+=" GENTOO_PACKAGE=${CATEGORY}/${PF}"
+
+	econf \
+		--program-suffix="-${EMACS_SUFFIX}" \
+		--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
+		--localstatedir="${EPREFIX}"/var \
+		--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
+		--with-gameuser=":gamestat" \
+		--without-compress-install \
+		--with-file-notification=$(usev inotify || usev gfile || echo no) \
+		$(use_enable acl) \
+		$(use_with dbus) \
+		$(use_with dynamic-loading modules) \
+		$(use_with gpm) \
+		$(use_with hesiod) \
+		$(use_with kerberos) $(use_with kerberos kerberos5) \
+		$(use_with libxml2 xml2) \
+		$(use_with selinux) \
+		$(use_with ssl gnutls) \
+		$(use_with wide-int) \
+		$(use_with zlib) \
+		${myconf}
+}
+
+src_compile() {
+	# Disable sandbox when dumping. For the unbelievers, see bug #131505
+	emake RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD= ./temacs"
+}
+
+src_install () {
+	emake DESTDIR="${D}" NO_BIN_LINK=t install
+
+	mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
+		|| die "moving emacs executable failed"
+	mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
+		|| die "moving emacs man page failed"
+
+	# move info dir to avoid collisions with the dir file generated by portage
+	mv "${ED}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \
+		|| die "moving info dir failed"
+	touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
+	docompress -x /usr/share/info/${EMACS_SUFFIX}/dir.orig
+
+	# avoid collision between slots, see bug #169033 e.g.
+	rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el
+	rm -rf "${ED}"/usr/share/{appdata,applications,icons}
+	rm -rf "${ED}"/var
+
+	# remove unused <version>/site-lisp dir
+	rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp
+
+	# remove COPYING file (except for etc/COPYING used by describe-copying)
+	rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING
+
+	if use gzip-el; then
+		# compress .el files when a corresponding .elc exists
+		find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
+			-name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n
+		assert "gzip .el failed"
+	fi
+
+	local cdir
+	if use source; then
+		cdir="/usr/share/emacs/${FULL_VERSION}/src"
+		insinto "${cdir}"
+		# This is not meant to install all the source -- just the
+		# C source you might find via find-function
+		doins src/*.{c,h,m}
+	elif has installsources ${FEATURES}; then
+		cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src"
+	fi
+
+	sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die
+	X
+	;;; ${PN}-${SLOT} site-lisp configuration
+	X
+	(when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version)
+	Y  (setq find-function-C-source-directory
+	Y	"${EPREFIX}${cdir}")
+	X  (let ((path (getenv "INFOPATH"))
+	X	(dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}")
+	X	(re "\\\\\`${EPREFIX}/usr/share/info\\\\>"))
+	X    (and path
+	X	 ;; move Emacs Info dir before anything else in /usr/share/info
+	X	 (let* ((p (cons nil (split-string path ":" t))) (q p))
+	X	   (while (and (cdr q) (not (string-match re (cadr q))))
+	X	     (setq q (cdr q)))
+	X	   (setcdr q (cons dir (delete dir (cdr q))))
+	X	   (setq Info-directory-list (prune-directory-list (cdr p)))))))
+	EOF
+	elisp-site-file-install "${T}/${SITEFILE}" || die
+
+	dodoc README BUGS CONTRIBUTE
+
+	if use aqua; then
+		dodir /Applications/Gentoo
+		rm -rf "${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app
+		mv nextstep/Emacs.app \
+			"${ED}"/Applications/Gentoo/Emacs${EMACS_SUFFIX#emacs}.app || die
+	fi
+
+	DOC_CONTENTS="You can set the version to be started by /usr/bin/emacs
+		through the Emacs eselect module, which also redirects man and info
+		pages. Therefore, several Emacs versions can be installed at the
+		same time. \"man emacs.eselect\" for details.
+		\\n\\nIf you upgrade from Emacs version 24.2 or earlier, then it is
+		strongly recommended that you use app-admin/emacs-updater to rebuild
+		all byte-compiled elisp files of the installed Emacs packages."
+	use X && DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs.
+		Installing media-fonts/font-adobe-{75,100}dpi on the X server's
+		machine would satisfy basic Emacs requirements under X11.
+		See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs
+		for how to enable anti-aliased fonts."
+	use aqua && DOC_CONTENTS+="\\n\\nEmacs${EMACS_SUFFIX#emacs}.app is in
+		\"${EPREFIX}/Applications/Gentoo\". You may want to copy or symlink
+		it into /Applications by yourself."
+	readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+	# move Info dir file to correct name
+	local infodir=/usr/share/info/${EMACS_SUFFIX} f
+	if [[ -f ${ED}${infodir}/dir.orig ]]; then
+		mv "${ED}"${infodir}/dir{.orig,} || die "moving info dir failed"
+	elif [[ -d "${ED}"${infodir} ]]; then
+		# this should not happen in EAPI 4
+		ewarn "Regenerating Info directory index in ${infodir} ..."
+		rm -f "${ED}"${infodir}/dir{,.*}
+		for f in "${ED}"${infodir}/*; do
+			if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then
+				install-info --info-dir="${ED}"${infodir} "${f}" \
+					|| die "install-info failed"
+			fi
+		done
+	fi
+}
+
+pkg_postinst() {
+	elisp-site-regen
+	readme.gentoo_print_elog
+
+	if use livecd; then
+		# force an update of the emacs symlink for the livecd/dvd,
+		# because some microemacs packages set it with USE=livecd
+		eselect emacs update
+	elif [[ $(readlink "${EROOT}"/usr/bin/emacs) = ${EMACS_SUFFIX} ]]; then
+		# refresh symlinks in case any installed files have changed
+		eselect emacs set ${EMACS_SUFFIX}
+	else
+		eselect emacs update ifunset
+	fi
+}
+
+pkg_postrm() {
+	elisp-site-regen
+	eselect emacs update ifunset
+}

diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml
new file mode 100644
index 0000000..64c34d3
--- /dev/null
+++ b/app-editors/emacs/metadata.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+  <email>gnu-emacs@gentoo.org</email>
+  <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<longdescription>
+  GNU Emacs is an extensible, customizable text editor - and more. At its core
+  is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
+  with extensions to support text editing. The features of GNU Emacs include:
+   * Content-sensitive editing modes, including syntax coloring, for a variety
+     of file types including plain text, source code, and HTML.
+   * Complete built-in documentation, including a tutorial for new users.
+   * Full Unicode support for nearly all human languages and their scripts.
+   * Highly customizable, using Emacs Lisp code or a graphical interface.
+   * A large number of extensions that add other functionality, including a
+     project planner, mail and news reader, debugger interface, calendar, and
+     more. Many of these extensions are distributed with GNU Emacs; others are
+     available separately.
+</longdescription>
+<use>
+  <flag name="athena">Enable the MIT Athena widget set
+    (<pkg>x11-libs/libXaw</pkg>)</flag>
+  <flag name="dynamic-loading">Enable loading of dynamic libraries at
+    runtime</flag>
+  <flag name="games">Support shared score files for games</flag>
+  <flag name="gconf">Use <pkg>gnome-base/gconf</pkg> to read the system
+    font name</flag>
+  <flag name="gfile">Use gfile (<pkg>dev-libs/glib</pkg>) for file
+    notification</flag>
+  <flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read the
+    system font name</flag>
+  <flag name="gtk3">Prefer version 3 of the GIMP Toolkit to version 2
+    (<pkg>x11-libs/gtk+</pkg>)</flag>
+  <flag name="gzip-el">Compress bundled Emacs Lisp source</flag>
+  <flag name="hesiod">Enable support for <pkg>net-dns/hesiod</pkg></flag>
+  <flag name="imagemagick">Use <pkg>media-gfx/imagemagick</pkg> for image
+    processing</flag>
+  <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead
+    of the internal Lisp implementations</flag>
+  <flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
+  <flag name="source">Install C source files and make them available for
+    find-function</flag>
+  <flag name="toolkit-scroll-bars">Use the selected toolkit's scrollbars in
+    preference to Emacs' own scrollbars</flag>
+  <flag name="wide-int">Prefer wide Emacs integers (typically 62-bit).
+    This option has an effect only on architectures where "long" and
+    "long long" types have different size.</flag>
+  <!--flag name='xwidgets'>Enable use of GTK widgets in Emacs buffers
+    (requires GTK3)</flag-->
+</use>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2022-11-30 18:25 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-01 10:14 [gentoo-commits] repo/proj/emacs:master commit in: app-editors/emacs/ Ulrich Müller
  -- strict thread matches above, loose matches on Subject: below --
2022-11-30 18:25 Ulrich Müller
2022-11-30 18:25 Ulrich Müller
2022-04-01 11:33 Ulrich Müller
2021-03-22  9:07 Ulrich Müller
2020-08-30 20:09 Ulrich Müller
2019-12-21 18:32 Ulrich Müller
2019-12-21 18:30 Ulrich Müller
2018-08-24  6:52 Ulrich Müller
2018-03-11 12:08 Ulrich Müller
2018-02-22 13:25 Ulrich Müller
2018-02-22 13:25 Ulrich Müller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox