From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D71A8158020 for ; Wed, 30 Nov 2022 12:55:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 04D46E0919; Wed, 30 Nov 2022 12:55:29 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DE514E0919 for ; Wed, 30 Nov 2022 12:55:28 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A6E163406C2 for ; Wed, 30 Nov 2022 12:55:27 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id EEB6C477 for ; Wed, 30 Nov 2022 12:55:25 +0000 (UTC) From: "Ulrich Müller" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Müller" Message-ID: <1669812919.18ea2a525b01417e67a503c9a003dbfdf76246df.ulm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-editors/emacs/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-editors/emacs/Manifest app-editors/emacs/emacs-18.59-r15.ebuild X-VCS-Directories: app-editors/emacs/ X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Müller X-VCS-Revision: 18ea2a525b01417e67a503c9a003dbfdf76246df X-VCS-Branch: master Date: Wed, 30 Nov 2022 12:55:25 +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-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 04081c38-0193-4fa9-859e-69b3df9d1733 X-Archives-Hash: cb9e81f9f9ab8ac8f96c3f1d079d7128 commit: 18ea2a525b01417e67a503c9a003dbfdf76246df Author: Ulrich Müller gentoo org> AuthorDate: Wed Nov 30 12:54:02 2022 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Wed Nov 30 12:55:19 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18ea2a52 app-editors/emacs: Don't install ctags and etags in slot 18 Bug: https://bugs.gentoo.org/883687 Signed-off-by: Ulrich Müller gentoo.org> app-editors/emacs/Manifest | 1 + app-editors/emacs/emacs-18.59-r15.ebuild | 161 +++++++++++++++++++++++++++++++ 2 files changed, 162 insertions(+) diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest index bba1f3c9607e..f00b0f0aa73c 100644 --- a/app-editors/emacs/Manifest +++ b/app-editors/emacs/Manifest @@ -1,4 +1,5 @@ DIST emacs-18.59-patches-14.tar.xz 33760 BLAKE2B 9235d720e1218e9b1912c6968ba22e0971e3cc8ef1b3ea5023f1970499874c145fb03f883d37455ebdc83a0a3091f054f42fc63f1d5f75ca9ba5f4f66364e6d1 SHA512 74cc19cce1b65c01f5d2f7c1aa674e3923f68e52a61108d4140c41c7fac90d32833fc457eccbe4fb551e0453d1c01f12fcf760fda394a5c34668675c52a24459 +DIST emacs-18.59-patches-15.tar.xz 34104 BLAKE2B 9d14004d5188ec0ffe11099ae1beb431adfe159d220fc1b6f1d0be67da19b88911b66a206386beee9498bdcaa48e40a185755734cad2d60927c79bc8ddf0fa7d SHA512 c82cd8e81acf63addd137716a60191b916ee9ac9f8176661be1e8dd0f347f63f8ca8bf9d4d225141499dcbf4c20444eb6526cc3a3912a2d4136fb2bd295e2c26 DIST emacs-18.59.tar.gz 2962652 BLAKE2B d617636daff41e672af2dcda26ec24b2495cf0a3e6373561ee26a2a922b7252c074dd6b79289d771853a4720c60f084f5726b904bf65989718173232ac874b0b SHA512 03ce565e346e89b7aacb1852f4783e8907f394de7da0c543b475cb038eb89b87f980d0f7ca1841b1d2108b20f211e95113c7214e4a33e5767a1827ff43173f33 DIST emacs-23.4-patches-23.tar.xz 19932 BLAKE2B 941d939d1a66af162016eb7f4a34a3a6d19736ecbd06e2499ccb0bf8806b2b3583de324308698b00d0b47a3d0b8a046e5d5dcb2d681c2bba90ec40b58b4e9855 SHA512 83e2cef7ebe07fc69806d01946c6e96fa0e92b363e9c6531992593eeb29413518217fef05bba48729356af7d1326c3667748185aad971a625daccb803b2bfe58 DIST emacs-23.4.tar.bz2 38646508 BLAKE2B 33dac5d27a63b7aab6b4053964a0ecf7f7939c7aea5af15103f2da7bd34fbb18dba7a1bf44cc4fcc2e3fb1439cdf7085d8dfc4b0005f5485748996e75ca6872d SHA512 def7a95ecaefae24d8102b96b1d575a23def1b11a8f0bb17b68f7913bd118e2ea4449a8feee76c1bd649f099b70419f0d494ddd9bb32b26f92720cda842b0296 diff --git a/app-editors/emacs/emacs-18.59-r15.ebuild b/app-editors/emacs/emacs-18.59-r15.ebuild new file mode 100644 index 000000000000..90cbdc933227 --- /dev/null +++ b/app-editors/emacs/emacs-18.59-r15.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs flag-o-matic multilib + +DESCRIPTION="The extensible self-documenting text editor" +HOMEPAGE="https://www.gnu.org/software/emacs/" +SRC_URI="ftp://ftp.gnu.org/old-gnu/emacs/${P}.tar.gz + https://dev.gentoo.org/~ulm/emacs/${P}-patches-15.tar.xz" + +LICENSE="GPL-1+ GPL-2+ BSD HPND" +SLOT="18" +KEYWORDS="~amd64 ~x86" +IUSE="abi_x86_x32 gui" + +RDEPEND="sys-libs/ncurses:0= + amd64? ( + abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_x32(-)?] ) + !abi_x86_x32? ( >=sys-libs/ncurses-5.9-r3:0=[abi_x86_32(-)] ) + ) + gui? ( x11-libs/libX11 )" + +DEPEND="${RDEPEND} + gui? ( + x11-base/xorg-proto + x11-misc/xbitmaps + )" + +BDEPEND="virtual/pkgconfig" +IDEPEND="app-eselect/eselect-emacs" +RDEPEND+=" ${IDEPEND}" + +PATCHES=("${WORKDIR}/patch") + +src_prepare() { + default + + # Do not use the sandbox, or the dumped Emacs will be twice as large + sed -i -e 's:\./temacs.*dump:SANDBOX_ON=0 LD_PRELOAD= env &:' \ + src/ymakefile || die +} + +src_configure() { + # autoconf? What's autoconf? We are living in 1992. ;-) + local arch + case ${ARCH} in + amd64) + if use abi_x86_x32; then + arch=x86-x32 + multilib_toolchain_setup x32 + else + arch=intel386 + multilib_toolchain_setup x86 + fi + ;; + x86) arch=intel386 ;; + *) die "Architecture ${ARCH} not yet supported" ;; + esac + local cmd="s/\"s-.*\.h\"/\"s-linux.h\"/;s/\"m-.*\.h\"/\"m-${arch}.h\"/" + use gui && cmd="${cmd};s/.*\(#define HAVE_X_WINDOWS\).*/\1/" + sed -e "${cmd}" src/config.h-dist >src/config.h || die + + cat <<-END >src/paths.h + #define PATH_LOADSEARCH "/usr/share/emacs/${PV}/lisp" + #define PATH_EXEC "/usr/share/emacs/${PV}/etc" + #define PATH_LOCK "/var/lib/emacs/lock/" + #define PATH_SUPERLOCK "/var/lib/emacs/lock/!!!SuperLock!!!" + END + + sed -i -e "s:/usr/lib/\([^ ]*\).o:/usr/$(get_libdir)/\1.o:g" \ + -e "s:-lncurses:$("$(tc-getPKG_CONFIG)" --libs ncurses):" \ + src/s-linux.h || die + + # -O3 and -finline-functions cause segmentation faults at run time. + # -Wno-implicit and -Wno-return-type will quieten newer versions of GCC; + # feel free to submit a patch adding all those missing prototypes. + strip-flags + filter-flags -finline-functions -fpie + append-flags -fno-strict-aliasing -Wno-implicit -Wno-return-type + append-ldflags $(test-flags -no-pie) #639562 + replace-flags -O[3-9] -O2 +} + +src_compile() { + addpredict /var/lib/emacs/lock #nowarn + 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 + mv "${D}"/usr/bin/emacsclient{,-emacs-${SLOT}} || die + rm "${D}"${basedir}/etc/emacsclient || die + + 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 -r /usr/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 -r /usr/share/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 +}