From f411db0621fca6028431b8d98db02d3cb4444fa0 Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Mon, 8 Feb 2021 10:51:24 +0100 Subject: app-editors/emacs: Keep Emacs 23 with GTK+ support for now MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Most likely slot 23 will be gone at the time GTK+ 2 leaves the tree. Bug: https://bugs.gentoo.org/769023 Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Ulrich Müller --- app-editors/emacs/emacs-23.4-r21.ebuild | 345 -------------------------------- 1 file changed, 345 deletions(-) delete mode 100644 app-editors/emacs/emacs-23.4-r21.ebuild (limited to 'app-editors') diff --git a/app-editors/emacs/emacs-23.4-r21.ebuild b/app-editors/emacs/emacs-23.4-r21.ebuild deleted file mode 100644 index d9c732a605ea..000000000000 --- a/app-editors/emacs/emacs-23.4-r21.ebuild +++ /dev/null @@ -1,345 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -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 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-gentoo[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? ( 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 - ) - ) - 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="app-eselect/eselect-emacs - virtual/pkgconfig - gzip-el? ( app-arch/gzip )" - -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 -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 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 - - local f - if 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 - rm -rf "${ED}"/usr/share/{applications,icons} - rm -rf "${ED}"/var - - # remove unused /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 - ;;; ${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 - 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 - 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 -} -- cgit v1.2.3-65-gdbad