diff options
author | 2018-12-29 11:15:24 -0500 | |
---|---|---|
committer | 2018-12-29 11:15:31 -0500 | |
commit | 34d70352d1e25613117aff022aae253a4ff15333 (patch) | |
tree | 984e71ac4da5243000bd4892e2a8729edb66fd9c | |
parent | sys-libs/queue: moved to tree as sys-libs/queue-standalone (diff) | |
download | musl-34d70352d1e25613117aff022aae253a4ff15333.tar.gz musl-34d70352d1e25613117aff022aae253a4ff15333.tar.bz2 musl-34d70352d1e25613117aff022aae253a4ff15333.zip |
app-editors/emacs: in tree version (probably) works
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
-rw-r--r-- | app-editors/emacs/Manifest | 3 | ||||
-rw-r--r-- | app-editors/emacs/emacs-24.5-r5.ebuild | 367 | ||||
-rw-r--r-- | app-editors/emacs/emacs-25.3-r1.ebuild | 371 | ||||
-rw-r--r-- | app-editors/emacs/emacs-25.3-r3.ebuild | 371 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-24.3-alloc-invalid-frees.patch | 58 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-24.3-stderr.patch | 11 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-24.4-configure.patch | 10 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-24.4-lisp.patch | 10 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-24.4-preload-hack.patch | 11 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-vcs-musl.patch | 89 | ||||
-rw-r--r-- | app-editors/emacs/files/preload.c | 88 | ||||
-rw-r--r-- | app-editors/emacs/metadata.xml | 52 |
12 files changed, 0 insertions, 1441 deletions
diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest deleted file mode 100644 index ffd77aa8..00000000 --- a/app-editors/emacs/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST emacs-24.5-patches-4.tar.xz 13632 SHA256 3b2d7c2034711d114494745780b6521150aa0c524966cbaceeb8d4d053dcbdd3 SHA512 569c3a55aaf1102c0bae4ab25ee06372763cd2de8a54e26b3eefd54e585cf90b53c8ffe1ca48eb4fd312a340380fd3f2fcdb584697814bf429129b48fa56ffb5 WHIRLPOOL 1855ac4178faafcc2d86141e023ff2626246c87e7ff2e7bfbaf9a989e9a48d2767acb9f7af99924cd7db04d34913a42764490831b7b45a34bcd131999180ff28 -DIST emacs-24.5.tar.xz 39759804 BLAKE2B aec253528038686822d1f8ed9a52dff276789ef7744053fc9b6176fceba4d4d8684fe979cf97e756b3feaf734d2377baef81f5efaa5450930a4e94d9f3bca355 SHA512 89dee4c3aadb6e505c523f84c65b5e40e5bf28a586cc8a4518a59581c22972f942bb6f3c772df0d5b2685c3e78247c545c6bb2576e981d1ef0f9298c18ad1677 -DIST emacs-25.3.tar.xz 42854740 SHA256 253ac5e7075e594549b83fd9ec116a9dc37294d415e2f21f8ee109829307c00b SHA512 1cce656451b6ca8502ebb229e88bd3ef48b7f9444a10eeac4ea43bd5491b2efacd641dfa35227a33362c3866493d3449cf1df81606563eef44bba0ed668e457f WHIRLPOOL 603ec6b203523a22556e48616b4a5ab227c32d3653ac4b713e6cb0357e3556964bc92a1818b417bbf9037cca7dac55935da9458dc3d29b3bb24d66157e74c8df 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 48fb51c7..00000000 --- a/app-editors/emacs/emacs-24.5-r5.ebuild +++ /dev/null @@ -1,367 +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="amd64 arm arm64 ia64 ~mips ppc ~sh ~sparc x86" -IUSE="acl alsa aqua athena dbus games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el 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 ) - !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 "${FILESDIR}/${PN}-24.3-stderr.patch" - eapply "${FILESDIR}/${PN}-24.3-alloc-invalid-frees.patch" - eapply "${FILESDIR}/${PN}-24.4-configure.patch" - eapply "${FILESDIR}/${PN}-24.4-preload-hack.patch" - eapply "${FILESDIR}/${PN}-24.4-lisp.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 \ - --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() { - # compile preload hack - $(tc-getCC) -shared -fPIC -o preload.so "${FILESDIR}/preload.c" || die - - # Disable sandbox when dumping. For the unbelievers, see bug #131505 - emake RUN_TEMACS="env SANDBOX_ON=0 LD_PRELOAD=preload.so ./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-r1.ebuild b/app-editors/emacs/emacs-25.3-r1.ebuild deleted file mode 100644 index 030e523a..00000000 --- a/app-editors/emacs/emacs-25.3-r1.ebuild +++ /dev/null @@ -1,371 +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" -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el 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 ) - !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 "${FILESDIR}/${PN}-vcs-musl.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 - - 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 \ - --without-hesiod \ - --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 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/{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/emacs-25.3-r3.ebuild b/app-editors/emacs/emacs-25.3-r3.ebuild deleted file mode 100644 index 8883244e..00000000 --- a/app-editors/emacs/emacs-25.3-r3.ebuild +++ /dev/null @@ -1,371 +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" -IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gconf gfile gif gpm gsettings gtk +gtk3 gzip-el 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 ) - !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 "${FILESDIR}/${PN}-vcs-musl.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 - - 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 \ - --without-hesiod \ - --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 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/files/emacs-24.3-alloc-invalid-frees.patch b/app-editors/emacs/files/emacs-24.3-alloc-invalid-frees.patch deleted file mode 100644 index 1638e5fc..00000000 --- a/app-editors/emacs/files/emacs-24.3-alloc-invalid-frees.patch +++ /dev/null @@ -1,58 +0,0 @@ -From http://www.openwall.com/lists/musl/2015/02/03/1 - ---- emacs-24.3.orig/src/alloc.c -+++ emacs-24.3/src/alloc.c -@@ -47,6 +47,13 @@ - - #include <verify.h> - -+static void *initial_brk; -+__attribute__((__constructor__)) -+static void init() -+{ -+ initial_brk = sbrk(0); -+} -+ - /* GC_CHECK_MARKED_OBJECTS means do sanity checks on allocated objects. - Doable only if GC_MARK_STACK. */ - #if ! GC_MARK_STACK -@@ -699,6 +706,14 @@ - { - void *val; - -+ if (block && block < initial_brk) { -+ size_t len = (char *)initial_brk - (char *)block; -+ if (len > size) len = size; -+ void *p = xmalloc(size); -+ memcpy(p, block, len); -+ return p; -+ } -+ - MALLOC_BLOCK_INPUT; - /* We must call malloc explicitly when BLOCK is 0, since some - reallocs don't do this. */ -@@ -720,6 +735,7 @@ - void - xfree (void *block) - { -+ if (block < initial_brk) return; - if (!block) - return; - MALLOC_BLOCK_INPUT; -@@ -910,6 +926,7 @@ - static void - lisp_free (void *block) - { -+ if (block < initial_brk) return; - MALLOC_BLOCK_INPUT; - free (block); - #if GC_MARK_STACK && !defined GC_MALLOC_CHECK -@@ -1117,6 +1134,8 @@ - { - struct ablock *ablock = block; - struct ablocks *abase = ABLOCK_ABASE (ablock); -+ -+ if (block < initial_brk) return; - - MALLOC_BLOCK_INPUT; - #if GC_MARK_STACK && !defined GC_MALLOC_CHECK diff --git a/app-editors/emacs/files/emacs-24.3-stderr.patch b/app-editors/emacs/files/emacs-24.3-stderr.patch deleted file mode 100644 index 8c7d552e..00000000 --- a/app-editors/emacs/files/emacs-24.3-stderr.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- emacs-24.3.orig/src/print.c -+++ emacs-24.3/src/print.c -@@ -733,7 +733,7 @@ - print_output_debug_flag = x; - } - --#if defined (GNU_LINUX) -+#if 0 - - /* This functionality is not vitally important in general, so we rely on - non-portable ability to use stderr as lvalue. */ diff --git a/app-editors/emacs/files/emacs-24.4-configure.patch b/app-editors/emacs/files/emacs-24.4-configure.patch deleted file mode 100644 index 8c630091..00000000 --- a/app-editors/emacs/files/emacs-24.4-configure.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/configure.ac 2015-02-03 20:27:53.649248696 -0100 -+++ b/configure.ac 2015-02-03 20:29:40.708910266 -0100 -@@ -2004,6 +2004,7 @@ - ## darwin ld insists on the use of malloc routines in the System framework. - darwin|sol2-10) system_malloc=yes ;; - esac -+system_malloc=yes - - GMALLOC_OBJ= - if test "${system_malloc}" = "yes"; then diff --git a/app-editors/emacs/files/emacs-24.4-lisp.patch b/app-editors/emacs/files/emacs-24.4-lisp.patch deleted file mode 100644 index bc8a3f7f..00000000 --- a/app-editors/emacs/files/emacs-24.4-lisp.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/lisp.h 2015-02-03 20:42:39.233177373 -0100 -+++ b/src/lisp.h 2015-02-03 20:44:01.780145394 -0100 -@@ -270,6 +270,7 @@ - This can be used in #if, e.g., '#if VAL_MAX < UINTPTR_MAX' below. */ - #define VAL_MAX (EMACS_INT_MAX >> (GCTYPEBITS - 1)) - -+#define USE_LSB_TAG 1 - /* Unless otherwise specified, use USE_LSB_TAG on systems where: */ - #ifndef USE_LSB_TAG - /* 1. We know malloc returns a multiple of 8. */ diff --git a/app-editors/emacs/files/emacs-24.4-preload-hack.patch b/app-editors/emacs/files/emacs-24.4-preload-hack.patch deleted file mode 100644 index 8bed0bd1..00000000 --- a/app-editors/emacs/files/emacs-24.4-preload-hack.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/Makefile.in 2014-05-26 16:50:55.000000000 -0100 -+++ b/src/Makefile.in 2015-02-03 20:25:11.915270649 -0100 -@@ -292,7 +292,7 @@ - - GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ - --RUN_TEMACS = ./temacs -+RUN_TEMACS = LD_PRELOAD=../preload.so ./temacs - - ## Invoke ../nt/addsection for MinGW, ":" elsewhere. - TEMACS_POST_LINK = @TEMACS_POST_LINK@ diff --git a/app-editors/emacs/files/emacs-vcs-musl.patch b/app-editors/emacs/files/emacs-vcs-musl.patch deleted file mode 100644 index 95a2c268..00000000 --- a/app-editors/emacs/files/emacs-vcs-musl.patch +++ /dev/null @@ -1,89 +0,0 @@ -http://www.openwall.com/lists/musl/2015/02/03/1 - ---- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/configure.ac -+++ emacs/configure.ac -@@ -2092,7 +2092,7 @@ - - system_malloc=$emacs_cv_sanitize_address - --hybrid_malloc= -+hybrid_malloc=yes - - case "$opsys" in - ## darwin ld insists on the use of malloc routines in the System framework. ---- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/Makefile.in -+++ emacs/src/Makefile.in -@@ -373,6 +373,7 @@ - region-cache.o sound.o atimer.o \ - doprnt.o intervals.o textprop.o composite.o xml.o $(NOTIFY_OBJ) \ - profiler.o decompress.o \ -+ sheap.o \ - $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) \ - $(W32_OBJ) $(WINDOW_SYSTEM_OBJ) $(XGSELOBJ) - obj = $(base_obj) $(NS_OBJC_OBJ) ---- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/gmalloc.c -+++ emacs/src/gmalloc.c -@@ -72,7 +72,7 @@ - #define free gfree - #endif /* HYBRID_MALLOC */ - --#ifdef CYGWIN -+//#ifdef CYGWIN - extern void *bss_sbrk (ptrdiff_t size); - extern int bss_sbrk_did_unexec; - extern char bss_sbrk_buffer[]; -@@ -80,7 +80,7 @@ - #define DUMPED bss_sbrk_did_unexec - #define ALLOCATED_BEFORE_DUMPING(P) \ - ((P) < bss_sbrk_buffer_end && (P) >= (void *) bss_sbrk_buffer) --#endif -+//#endif - - #ifdef __cplusplus - extern "C" -@@ -1525,16 +1525,19 @@ - __default_morecore (ptrdiff_t increment) - { - void *result; --#if defined (CYGWIN) -+//#if defined (CYGWIN) - if (!DUMPED) - { - return bss_sbrk (increment); - } --#endif -+//#endif -+#if 0 - result = (void *) __sbrk (increment); - if (result == (void *) -1) - return NULL; - return result; -+#endif -+ return NULL; - } - /* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. - ---- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/print.c -+++ emacs/src/print.c -@@ -755,7 +755,7 @@ - print_output_debug_flag = x; - } - --#if defined (GNU_LINUX) -+#if defined (GNU_LINUX) && defined (__GLIBC__) - - /* This functionality is not vitally important in general, so we rely on - non-portable ability to use stderr as lvalue. */ ---- emacs-4188e3cc2bc69e75d4387b369e72e89fecc46a86/src/unexelf.c -+++ emacs/src/unexelf.c -@@ -632,6 +632,9 @@ - off_t new_file_size; - void *new_break; - -+ extern int bss_sbrk_did_unexec; -+ bss_sbrk_did_unexec = 1; -+ - /* Pointers to the base of the image of the two files. */ - caddr_t old_base, new_base; - - diff --git a/app-editors/emacs/files/preload.c b/app-editors/emacs/files/preload.c deleted file mode 100644 index 65cdceff..00000000 --- a/app-editors/emacs/files/preload.c +++ /dev/null @@ -1,88 +0,0 @@ -// http://www.openwall.com/lists/musl/2015/02/03/1 -#include <pthread.h> -#include <stdint.h> -#include <stdlib.h> -#include <string.h> -#include <dlfcn.h> -#include <unistd.h> -#include <stdio.h> - -static void *(*real_malloc)(size_t); -static void *initial_brk; - -static pthread_once_t once_control[1]; -static void once_func() -{ - real_malloc = dlsym(RTLD_NEXT, "malloc"); - initial_brk = sbrk(0); -} - -static int cmp(const void *a, const void *b) -{ - void *aa = *(void **)a, *bb = *(void **)b; - return aa < bb ? -1 : aa > bb ? 1 : 0; -} - -void *malloc(size_t n) -{ - size_t i, j, k; - pthread_once(once_control, once_func); - if (n < 100000 || n > (size_t)-1/2) { - void *p; - do p = real_malloc(n); - while (p > sbrk(0) || (p && p < initial_brk)); - return p; - } - size_t cnt = n/16384; - void **list = real_malloc(sizeof *list * cnt); - if (!list) return 0; - for (i=0; i<cnt; i++) list[i] = 0; - for (i=0; i<cnt; i++) { - list[i] = real_malloc(65536 - 2*sizeof(size_t)); - if (!list[i]) goto fail; - if (i<cnt/4) continue; - size_t base = 0; - qsort(list, i+1, sizeof(void *), cmp); - for (j=0; j<i; j++) { - char *p = list[base]; - char *s = list[j]; - char *z = list[j+1]; - if (z-s > 65536) { - base = j+1; - continue; - } - if (z-p < n+64) { - continue; - } - for (k=0; k<base; k++) free(list[k]); - *(size_t *)(p-sizeof(size_t)) = z-p | 1; - *(size_t *)(z-2*sizeof(size_t)) = z-p | 1; - for (k=j+1; k<i+1; k++) free(list[k]); - free(list); - return p; - } - } -fail: - for (i=0; i<cnt; i++) free(list[i]); - free(list); - return 0; -} - -void *calloc(size_t n, size_t m) -{ - if ((size_t)-1/n <= m) n *= m; - else n = (size_t)-1; - void *p = malloc(n); - if (p) memset(p, 0, n); - return p; -} - -void *realloc(void *p, size_t n) -{ - void *q = malloc(n); - if (!q) return 0; - size_t l = *(size_t *)((char *)p - sizeof(size_t)) & -8; - memcpy(q, p, l<n ? l : n); - free(p); - return q; -} diff --git a/app-editors/emacs/metadata.xml b/app-editors/emacs/metadata.xml deleted file mode 100644 index d0265f5f..00000000 --- a/app-editors/emacs/metadata.xml +++ /dev/null @@ -1,52 +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="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> |