From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 72C501387FD for ; Fri, 4 Apr 2014 18:08:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C9612E09CB; Fri, 4 Apr 2014 18:08:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 30731E09CB for ; Fri, 4 Apr 2014 18:08:47 +0000 (UTC) Received: from flycatcher.gentoo.org (flycatcher.gentoo.org [81.93.255.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 33C4833FE7B for ; Fri, 4 Apr 2014 18:08:46 +0000 (UTC) Received: by flycatcher.gentoo.org (Postfix, from userid 2178) id DD4C420047; Fri, 4 Apr 2014 18:08:44 +0000 (UTC) From: "Ulrich Mueller (ulm)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, ulm@gentoo.org Subject: [gentoo-commits] gentoo-x86 commit in app-editors/emacs: emacs-22.3-r11.ebuild emacs-18.59-r10.ebuild emacs-21.4-r25.ebuild emacs-24.3-r3.ebuild ChangeLog emacs-23.4-r7.ebuild emacs-21.4-r24.ebuild emacs-22.3-r10.ebuild X-VCS-Repository: gentoo-x86 X-VCS-Files: emacs-22.3-r11.ebuild emacs-18.59-r10.ebuild emacs-21.4-r25.ebuild emacs-24.3-r3.ebuild ChangeLog emacs-23.4-r7.ebuild emacs-21.4-r24.ebuild emacs-22.3-r10.ebuild X-VCS-Directories: app-editors/emacs X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Mueller Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Message-Id: <20140404180844.DD4C420047@flycatcher.gentoo.org> Date: Fri, 4 Apr 2014 18:08:44 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: a87d085e-e6fb-4de2-b602-6ca31f7c764f X-Archives-Hash: c2a0854e29f4a83df2568425b234b8f9 ulm 14/04/04 18:08:44 Modified: ChangeLog Added: emacs-22.3-r11.ebuild emacs-18.59-r10.ebuild emacs-21.4-r25.ebuild emacs-24.3-r3.ebuild emacs-23.4-r7.ebuild Removed: emacs-21.4-r24.ebuild emacs-22.3-r10.ebuild Log: Install emacs man page under the same name as the binary. Remove old compatibility code. (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 9433907D693FB5B8!) Revision Changes Path 1.610 app-editors/emacs/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?rev=1.610&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?rev=1.610&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/ChangeLog?r1=1.609&r2=1.610 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v retrieving revision 1.609 retrieving revision 1.610 diff -u -r1.609 -r1.610 --- ChangeLog 29 Mar 2014 11:56:09 -0000 1.609 +++ ChangeLog 4 Apr 2014 18:08:44 -0000 1.610 @@ -1,6 +1,18 @@ # ChangeLog for app-editors/emacs # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.609 2014/03/29 11:56:09 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.610 2014/04/04 18:08:44 ulm Exp $ + +*emacs-24.3-r3 (04 Apr 2014) +*emacs-23.4-r7 (04 Apr 2014) +*emacs-22.3-r11 (04 Apr 2014) +*emacs-21.4-r25 (04 Apr 2014) +*emacs-18.59-r10 (04 Apr 2014) + + 04 Apr 2014; Ulrich Müller +emacs-18.59-r10.ebuild, + -emacs-21.4-r24.ebuild, +emacs-21.4-r25.ebuild, -emacs-22.3-r10.ebuild, + +emacs-22.3-r11.ebuild, +emacs-23.4-r7.ebuild, +emacs-24.3-r3.ebuild: + Install emacs man page under the same name as the binary. Remove old + compatibility code. 29 Mar 2014; Ulrich Müller emacs-18.59-r8.ebuild: Drop x32 support in stable ebuild due to broken dependency tree. 1.1 app-editors/emacs/emacs-22.3-r11.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-22.3-r11.ebuild?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-22.3-r11.ebuild?rev=1.1&content-type=text/plain Index: emacs-22.3-r11.ebuild =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-22.3-r11.ebuild,v 1.1 2014/04/04 18:08:44 ulm Exp $ EAPI=5 WANT_AUTOMAKE="none" inherit autotools elisp-common eutils flag-o-matic DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" HOMEPAGE="http://www.gnu.org/software/emacs/" SRC_URI="mirror://gnu/emacs/${P}.tar.gz mirror://gentoo/${P}-patches-8.tar.bz2" LICENSE="GPL-3+ FDL-1.2+ BSD HPND MIT" SLOT="22" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" IUSE="alsa games gif gtk gzip-el hesiod jpeg kerberos motif png sound source tiff toolkit-scroll-bars X Xaw3d +xpm" RDEPEND="sys-libs/ncurses >=app-admin/eselect-emacs-1.16 >=app-emacs/emacs-common-gentoo-1.3-r3[games?,X?] net-libs/liblockfile hesiod? ( net-dns/hesiod ) kerberos? ( virtual/krb5 ) alsa? ( media-libs/alsa-lib ) X? ( x11-libs/libXmu x11-libs/libXt x11-misc/xbitmaps gif? ( media-libs/giflib ) jpeg? ( virtual/jpeg:0= ) png? ( >=media-libs/libpng-1.4:0= ) tiff? ( media-libs/tiff ) xpm? ( x11-libs/libXpm ) gtk? ( x11-libs/gtk+:2 ) !gtk? ( Xaw3d? ( x11-libs/libXaw3d ) !Xaw3d? ( motif? ( >=x11-libs/motif-2.3:0 ) ) ) )" DEPEND="${RDEPEND} alsa? ( virtual/pkgconfig ) X? ( gtk? ( virtual/pkgconfig ) ) gzip-el? ( app-arch/gzip )" # 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}" EMACS_SUFFIX="emacs-${SLOT}" SITEFILE="20${PN}-${SLOT}-gentoo.el" src_prepare() { EPATCH_SUFFIX=patch epatch sed -i \ -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \ -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \ "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings" sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" etc/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 } src_configure() { strip-flags filter-flags -fstack-protector -fstack-protector-all #285778 replace-flags "-O[3-9]" -O2 sed -i -e "s/-lungif/-lgif/g" configure* src/Makefile* || die 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="${myconf} --with-sound" else myconf="${myconf} $(use_with sound)" fi if use X; then myconf="${myconf} --with-x" myconf="${myconf} $(use_with toolkit-scroll-bars)" myconf="${myconf} $(use_with gif) $(use_with jpeg)" myconf="${myconf} $(use_with png) $(use_with tiff)" myconf="${myconf} $(use_with xpm)" # GTK+ is the default toolkit if USE=gtk is chosen with other # possibilities. Emacs upstream thinks this should be standard # policy on all distributions if use gtk; then einfo "Configuring to build with GIMP Toolkit (GTK+)" myconf="${myconf} --with-x-toolkit=gtk" elif use Xaw3d; then einfo "Configuring to build with Xaw3d (Athena/Lucid) toolkit" myconf="${myconf} --with-x-toolkit=athena" myconf="${myconf} --without-gtk" elif use motif; then einfo "Configuring to build with Motif toolkit" myconf="${myconf} --with-x-toolkit=motif" myconf="${myconf} --without-gtk" else einfo "Configuring to build with no toolkit" myconf="${myconf} --with-x-toolkit=no" myconf="${myconf} --without-gtk" fi local f tk= for f in gtk Xaw3d motif; do use ${f} || continue [ "${tk}" ] \ && ewarn "USE flag \"${f}\" ignored (superseded by \"${tk}\")" tk="${tk}${tk:+ }${f}" done else myconf="${myconf} --without-x" fi econf \ --program-suffix=-${EMACS_SUFFIX} \ --infodir=/usr/share/info/${EMACS_SUFFIX} \ --enable-locallisppath="/etc/emacs:${SITELISP}" \ --without-carbon \ --with-gameuser="${GAMES_USER_DED:-games}" \ $(use_with hesiod) \ $(use_with kerberos) $(use_with kerberos kerberos5) \ ${myconf} } src_compile() { export SANDBOX_ON=0 # for the unbelievers, see Bug #131505 emake CC="$(tc-getCC)" } src_install () { emake DESTDIR="${D}" install rm "${D}"/usr/bin/emacs-${FULL_VERSION}-${EMACS_SUFFIX} \ || die "removing duplicate emacs executable failed" mv "${D}"/usr/bin/emacs-${EMACS_SUFFIX} "${D}"/usr/bin/${EMACS_SUFFIX} \ || die "moving emacs executable failed" # move man pages to the correct place local m mv "${D}"/usr/share/man/man1/{emacs,${EMACS_SUFFIX}}.1 \ || die "moving emacs man page failed" for m in ctags emacsclient etags; do mv "${D}"/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 "${D}"/usr/share/info/${EMACS_SUFFIX}/dir{,.orig} \ || die "moving info dir failed" touch "${D}"/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 "${D}"/usr/share/emacs/site-lisp/subdirs.el rm -rf "${D}"/var # remove unused /site-lisp dir rm -rf "${D}"/usr/share/emacs/${FULL_VERSION}/site-lisp local c=";;" if use source; then insinto /usr/share/emacs/${FULL_VERSION}/src # This is not meant to install all the source -- just the # C source you might find via find-function doins src/*.[ch] c="" fi sed 's/^X//' >"${T}/${SITEFILE}" <<-EOF X ;;; ${PN}-${SLOT} site-lisp configuration X (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) X ${c}(setq find-function-C-source-directory X ${c} "/usr/share/emacs/${FULL_VERSION}/src") X (let ((path (getenv "INFOPATH")) X (dir "/usr/share/info/${EMACS_SUFFIX}") X (re "\\\\\`/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 AUTHORS BUGS CONTRIBUTE README } pkg_preinst() { # move Info dir file to correct name local infodir=/usr/share/info/${EMACS_SUFFIX} f if [ -f "${D}"${infodir}/dir.orig ]; then mv "${D}"${infodir}/dir{.orig,} || die "moving info dir failed" elif [[ -d "${D}"${infodir} ]]; then # this should not happen in EAPI 4 ewarn "Regenerating Info directory index in ${infodir} ..." rm -f "${D}"${infodir}/dir{,.*} for f in "${D}"${infodir}/*; do if [[ ${f##*/} != *-[0-9]* && -e ${f} ]]; then install-info --info-dir="${D}"${infodir} "${f}" \ || die "install-info failed" fi done fi } pkg_postinst() { elisp-site-regen eselect emacs update ifunset if use X; then elog "You need to install some fonts for Emacs." elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's" elog "machine would satisfy basic Emacs requirements under X11." elog fi elog "You can set the version to be started by /usr/bin/emacs through" elog "the Emacs eselect module, which also redirects man and info pages." elog "Therefore, several Emacs versions can be installed at the same time." elog "\"man emacs.eselect\" for details." } pkg_postrm() { elisp-site-regen eselect emacs update ifunset } 1.1 app-editors/emacs/emacs-18.59-r10.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-18.59-r10.ebuild?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-18.59-r10.ebuild?rev=1.1&content-type=text/plain Index: emacs-18.59-r10.ebuild =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-18.59-r10.ebuild,v 1.1 2014/04/04 18:08:44 ulm Exp $ EAPI=5 inherit eutils toolchain-funcs flag-o-matic multilib DESCRIPTION="The extensible self-documenting text editor" HOMEPAGE="http://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 http://dev.gentoo.org/~ulm/emacs/${P}-patches-8.tar.bz2" LICENSE="GPL-1+ GPL-2+ BSD" #HPND SLOT="18" KEYWORDS="~amd64 ~x86" IUSE="+abi_x86_32 abi_x86_x32" REQUIRED_USE="amd64? ( || ( abi_x86_32 abi_x86_x32 ) )" RDEPEND="sys-libs/ncurses >=app-admin/eselect-emacs-1.16 amd64? ( sys-libs/ncurses[abi_x86_x32(-)?] !abi_x86_x32? ( sys-libs/ncurses[abi_x86_32(-)?] ) )" # X? ( x11-libs/libX11[-xcb] ) DEPEND="${RDEPEND} virtual/pkgconfig" src_prepare() { epatch "${WORKDIR}/${P}-linux22x-elf-glibc21.diff" EPATCH_SUFFIX=patch epatch epatch_user } 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 elif use abi_x86_32; then arch=intel386 multilib_toolchain_setup x86 else die "Need 32 bit ABI on amd64" 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. filter-flags -finline-functions replace-flags -O[3-9] -O2 strip-flags } 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 } 1.1 app-editors/emacs/emacs-21.4-r25.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-21.4-r25.ebuild?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-21.4-r25.ebuild?rev=1.1&content-type=text/plain Index: emacs-21.4-r25.ebuild =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-21.4-r25.ebuild,v 1.1 2014/04/04 18:08:44 ulm Exp $ EAPI=5 WANT_AUTOMAKE="none" inherit elisp-common flag-o-matic eutils multilib toolchain-funcs autotools DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" HOMEPAGE="http://www.gnu.org/software/emacs/" SRC_URI="mirror://gnu/emacs/${P}a.tar.gz mirror://gentoo/${P}-patches-13.tar.bz2 leim? ( mirror://gnu/emacs/leim-${PV}.tar.gz )" LICENSE="GPL-2+ FDL-1.1+ BSD HPND MIT" SLOT="21" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" IUSE="X Xaw3d leim motif sendmail" DEPEND="sys-libs/ncurses >=app-admin/eselect-emacs-1.16 X? ( x11-libs/libXext x11-libs/libICE x11-libs/libSM x11-libs/libXmu x11-libs/libXpm x11-misc/xbitmaps >=media-libs/giflib-4.1.0.1b virtual/jpeg:0= >=media-libs/tiff-3.5.5-r3 >=media-libs/libpng-1.4:0= Xaw3d? ( x11-libs/libXaw3d ) !Xaw3d? ( motif? ( >=x11-libs/motif-2.3:0 ) ) )" RDEPEND="${DEPEND} >=app-emacs/emacs-common-gentoo-1.3[X?] sendmail? ( virtual/mta )" src_prepare() { EPATCH_SUFFIX=patch epatch sed -i \ -e "s:/usr/lib/crtbegin.o:$(`tc-getCC` -print-file-name=crtbegin.o):g" \ -e "s:/usr/lib/crtend.o:$(`tc-getCC` -print-file-name=crtend.o):g" \ "${S}"/src/s/freebsd.h || die "unable to sed freebsd.h settings" # This will need to be updated for X-Compilation sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \ "${S}/src/s/gnu-linux.h" || die sed -i -e "/^\\.so/s/etags/&-emacs-${SLOT}/" etc/ctags.1 \ || die "unable to sed ctags.1" # custom aclocal.m4 was only needed for autoconf 2.13 and earlier rm aclocal.m4 eaclocal eautoconf } src_configure() { # -fstack-protector gets internal compiler error at xterm.c (bug 33265) filter-flags -fstack-protector -fstack-protector-all # emacs doesn't handle LDFLAGS properly (bug #77430 and bug #65002) unset LDFLAGS # ever since GCC 3.2 replace-flags "-O[3-9]" -O2 # -march is known to cause signal 6 on some environment filter-flags "-march=*" local myconf if use X ; then myconf="${myconf} --with-x --with-xpm --with-jpeg --with-tiff --with-gif --with-png" if use Xaw3d ; then einfo "Configuring to build with Xaw3d (Athena/Lucid) toolkit" myconf="${myconf} --with-x-toolkit=athena" use motif \ && ewarn "USE flag \"motif\" ignored (superseded by \"Xaw3d\")" elif use motif ; then einfo "Configuring to build with Motif toolkit" myconf="${myconf} --with-x-toolkit=motif" else # do not build emacs with any toolkit, bug 35300 einfo "Configuring to build with no toolkit" myconf="${myconf} --with-x-toolkit=no" fi else myconf="${myconf} --without-x" fi econf ${myconf} # leave this in src_configure emake \ locallisppath="/etc/emacs:${SITELISP}:/usr/share/emacs/${PV}/leim" \ epaths-force } src_compile() { export SANDBOX_ON=0 emake CC="$(tc-getCC)" einfo "Recompiling patched lisp files..." (cd lisp; emake recompile) (cd src; emake versionclean) emake CC="$(tc-getCC)" } src_install() { local i m einstall infodir="${D}/usr/share/info/emacs-${SLOT}" for i in "${D}"/usr/bin/* ; do mv "${i}" "${i}-emacs-${SLOT}" || die "mv ${i} failed" done mv "${D}"/usr/bin/emacs{-emacs,}-${SLOT} || die "mv emacs failed" rm "${D}"/usr/bin/emacs-${PV}-emacs-${SLOT} # move man pages to the correct place for m in "${D}"/usr/share/man/man1/* ; do mv "${m}" "${m%.1}-emacs-${SLOT}.1" || die "mv ${m} failed" done mv "${D}"/usr/share/man/man1/emacs{-emacs,}-${SLOT}.1 \ || die "moving emacs man page failed" # move info dir to avoid collisions with the dir file generated by portage mv "${D}"/usr/share/info/emacs-${SLOT}/dir{,.orig} \ || die "moving info dir failed" touch "${D}"/usr/share/info/emacs-${SLOT}/.keepinfodir docompress -x /usr/share/info/emacs-${SLOT}/dir.orig # avoid collision between slots rm "${D}"/usr/share/emacs/site-lisp/subdirs.el # remove unused /site-lisp dir rm -rf "${D}"/usr/share/emacs/${PV}/site-lisp # fix permissions find "${D}" -perm 664 |xargs chmod -f 644 2>/dev/null find "${D}" -type d |xargs chmod -f 755 2>/dev/null keepdir /usr/share/emacs/${PV}/leim dodoc BUGS ChangeLog README } pkg_preinst() { # move Info dir file to correct name local infodir=/usr/share/info/emacs-${SLOT} f if [ -f "${D}"${infodir}/dir.orig ]; then mv "${D}"${infodir}/dir{.orig,} || die "moving info dir failed" elif [[ -d "${D}"${infodir} ]]; then # this should not happen in EAPI 4 ewarn "Regenerating Info directory index in ${infodir} ..." rm -f "${D}"${infodir}/dir{,.*} for f in "${D}"${infodir}/*; do if [[ ${f##*/} != *[0-9].info* && -e ${f} ]]; then install-info --info-dir="${D}"${infodir} "${f}" \ || die "install-info failed" fi done fi } pkg_postinst() { eselect emacs update ifunset if ! use sendmail && ! has_version "virtual/mta"; then elog "You disabled sendmail support for Emacs. If you later install" elog "a MTA then you will need to recompile Emacs. See Bug #11104." fi if use X; then elog "You need to install some fonts for Emacs." elog "Installing media-fonts/font-adobe-{75,100}dpi on the X server's" elog "machine would satisfy basic Emacs requirements under X11." fi } pkg_postrm() { eselect emacs update ifunset } 1.1 app-editors/emacs/emacs-24.3-r3.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-24.3-r3.ebuild?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-24.3-r3.ebuild?rev=1.1&content-type=text/plain Index: emacs-24.3-r3.ebuild =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-24.3-r3.ebuild,v 1.1 2014/04/04 18:08:44 ulm Exp $ EAPI=5 inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" HOMEPAGE="http://www.gnu.org/software/emacs/" SRC_URI="mirror://gnu/emacs/${P}.tar.xz http://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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" IUSE="alsa aqua athena dbus games gconf gif gnutls gpm gsettings gtk +gtk3 gzip-el hesiod imagemagick jpeg kerberos libxml2 livecd m17n-lib motif pax_kernel png selinux sound source svg tiff toolkit-scroll-bars wide-int X Xaw3d xft +xpm" REQUIRED_USE="?? ( aqua X )" RDEPEND="sys-libs/ncurses >=app-admin/eselect-emacs-1.16 >=app-emacs/emacs-common-gentoo-1.3-r3[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 ) gnutls? ( net-libs/gnutls ) libxml2? ( >=dev-libs/libxml2-2.2.0 ) selinux? ( sys-libs/libselinux ) X? ( x11-libs/libXmu x11-libs/libXt x11-misc/xbitmaps gconf? ( >=gnome-base/gconf-2.26.2 ) gsettings? ( >=dev-libs/glib-2.28.6 ) gif? ( media-libs/giflib ) jpeg? ( virtual/jpeg:0= ) png? ( >=media-libs/libpng-1.4:0= ) svg? ( >=gnome-base/librsvg-2.0 ) tiff? ( media-libs/tiff ) xpm? ( x11-libs/libXpm ) imagemagick? ( >=media-gfx/imagemagick-6.6.2 ) xft? ( media-libs/fontconfig media-libs/freetype x11-libs/libXft 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 ) !motif? ( Xaw3d? ( x11-libs/libXaw3d ) !Xaw3d? ( athena? ( x11-libs/libXaw ) ) ) ) )" DEPEND="${RDEPEND} app-arch/xz-utils alsa? ( virtual/pkgconfig ) dbus? ( virtual/pkgconfig ) gnutls? ( virtual/pkgconfig ) libxml2? ( virtual/pkgconfig ) X? ( virtual/pkgconfig ) gzip-el? ( app-arch/gzip ) pax_kernel? ( sys-apps/attr sys-apps/paxctl )" RDEPEND="${RDEPEND} !/site-lisp dir rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp 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 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/Project:Emacs/Xft_support 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 local pvr for pvr in ${REPLACING_VERSIONS}; do [[ ${pvr%%[-_]*} = 24.[12] ]] && FORCE_PRINT_ELOG=1 done 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 } 1.1 app-editors/emacs/emacs-23.4-r7.ebuild file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-23.4-r7.ebuild?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-editors/emacs/emacs-23.4-r7.ebuild?rev=1.1&content-type=text/plain Index: emacs-23.4-r7.ebuild =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-23.4-r7.ebuild,v 1.1 2014/04/04 18:08:44 ulm Exp $ EAPI=5 WANT_AUTOMAKE="none" inherit autotools elisp-common eutils flag-o-matic multilib readme.gentoo DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" HOMEPAGE="http://www.gnu.org/software/emacs/" SRC_URI="mirror://gnu/emacs/${P}.tar.bz2 http://dev.gentoo.org/~ulm/emacs/${P}-patches-10.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 ~x86-freebsd ~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 >=app-admin/eselect-emacs-1.16 >=app-emacs/emacs-common-gentoo-1.3-r3[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/libXmu x11-libs/libXt x11-misc/xbitmaps gconf? ( >=gnome-base/gconf-2.26.2 ) gif? ( media-libs/giflib ) jpeg? ( virtual/jpeg:0= ) png? ( >=media-libs/libpng-1.4:0= ) svg? ( >=gnome-base/librsvg-2.0 ) tiff? ( media-libs/tiff ) xpm? ( x11-libs/libXpm ) xft? ( media-libs/fontconfig media-libs/freetype x11-libs/libXft 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 ) !motif? ( Xaw3d? ( x11-libs/libXaw3d ) !Xaw3d? ( athena? ( x11-libs/libXaw ) ) ) ) )" DEPEND="${RDEPEND} alsa? ( virtual/pkgconfig ) dbus? ( virtual/pkgconfig ) X? ( virtual/pkgconfig ) gzip-el? ( app-arch/gzip ) pax_kernel? ( sys-apps/attr sys-apps/paxctl )" RDEPEND="${RDEPEND} !/site-lisp dir rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp 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 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/Project:Emacs/Xft_support 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 }