diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-10-27 03:04:35 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-10-27 03:04:35 +0000 |
commit | 83d9fce566bb89f6976f36f5314bfc88b6d261fa (patch) | |
tree | 8d8a18f75ff0a6a98313046fcd757ee0135db98c /app-editors | |
parent | d0349ca0f4903608beca459a9db2068dab9fa6ea (diff) |
gentoo auto-resync : 27:10:2024 - 03:04:35
Diffstat (limited to 'app-editors')
-rw-r--r-- | app-editors/Manifest.gz | bin | 14123 -> 14129 bytes | |||
-rw-r--r-- | app-editors/emacs/Manifest | 2 | ||||
-rw-r--r-- | app-editors/emacs/emacs-30.0.92.ebuild | 612 | ||||
-rw-r--r-- | app-editors/levee/Manifest | 5 | ||||
-rw-r--r-- | app-editors/levee/files/levee-3.4o-darwin.patch | 16 | ||||
-rw-r--r-- | app-editors/levee/files/levee-3.5-glibc210.patch | 75 | ||||
-rw-r--r-- | app-editors/levee/files/levee-3.5a-QA.patch | 15 | ||||
-rw-r--r-- | app-editors/levee/levee-3.5a.ebuild | 46 |
8 files changed, 614 insertions, 157 deletions
diff --git a/app-editors/Manifest.gz b/app-editors/Manifest.gz Binary files differindex 5761f8bc2169..ceb7a408f4b2 100644 --- a/app-editors/Manifest.gz +++ b/app-editors/Manifest.gz diff --git a/app-editors/emacs/Manifest b/app-editors/emacs/Manifest index 7fead1769735..d850accd829f 100644 --- a/app-editors/emacs/Manifest +++ b/app-editors/emacs/Manifest @@ -15,6 +15,7 @@ DIST emacs-29.3.tar.xz 52203168 BLAKE2B 73651c52e508d5341f66659bbaf98e8390402391 DIST emacs-29.4-patches-3.tar.xz 2364 BLAKE2B bf0d044ad0b12eeea1b87d76f143f3a542857eff6b29685abb2b37efd0105580cba2f4ca49655b4da6e13d3997e6c26f2966e597f66753b5321f6aa09f8c563d SHA512 4c6321a63a3f917f9644d464c74925fad0942caeb57966b2a5a0ed171eeb8987230b7039b2829f96526d205b4ad97fcc94f991ecdf7296d8dee355eb14d4df36 DIST emacs-29.4.tar.xz 52210344 BLAKE2B 825fd2665b6427dbc3cb618b40df2f71fa6b08883bdd07be6d8acf0039df2aeebd294e679e98f4c64a9dd9bdad93589fc7c176cf3860d4fb823fce23f7f2b3cd SHA512 66b38081cb01d2c46ff7beefb45986cc225b4c922c30712ad0d456c6cae5507176ed99418c8f26948c5375c8afde4e4b2507d23ed997dbb5392d12150a121d80 DIST emacs-30.0.91.tar.xz 54782188 BLAKE2B 9ef6f6bcca6b33fb9f70530ff1bb2ff8d56d88d201b8a9267d503e75f23efdb6e9707353495d1c504fbdd26a6a260d39cf98077188f41d65118af21e02715069 SHA512 43dd5d21dab16d88c1ca2e430a11dad1e4a7e173f217f5762aea0b6e68b526c6486a9e2856622c1f9aa06553192d2d0fa04454115f1e77e221b14b6b03dc31b6 +DIST emacs-30.0.92.tar.xz 54813380 BLAKE2B adb5eb9e9b8f6eb059688d28730276db07ac82878bc56c98f68c790053d7d7803c16e7898dc2497464d2394c6778e917104df7f0ca869c48decc5c4e41feac1a SHA512 d5cf786733986d8233379859eb15d382c69e71737b790a8732d66818361e1632c9137c26a14534ad14baa4f38bfdc5e4e3e0d94017cfe54586693067e5ff7d05 EBUILD emacs-18.59-r15.ebuild 4452 BLAKE2B 054147542f5dcdb5fb86d07194e231ff00babde084c417a648516753cf276e0e65a4da3f78c0154bf31d3f410c4afcdf9ccbeaa2a1275c29fd01aacc15fd6d70 SHA512 c1c377cd37bec24c0b845123f109d69de113c22ce85eac9a9efd4b063f7c2c2f07666f7dbf93cf2c9c89d1b15290ba63f1e83e446a245e27c2d8a4b6ef15c9e2 EBUILD emacs-26.3-r18.ebuild 11787 BLAKE2B bfb95fe441cf2810a9681054f9f35a487b762d9d3391b2a0664aa4c31514977e5213c6665e98c62fa5e6d1f53d85e057ffe7c3627c7f2697aae8d6c11eda4505 SHA512 670084f3a91a891f62ee7da60a1d57313ace855a5e0d372dfb417dc213c2eb31c9f847855d3e2781b5e2e35e10f8b073f72620f530ee6a6255e55a20f069391f EBUILD emacs-26.3-r19.ebuild 11826 BLAKE2B d13a967449c17f38bfc621b8a47dee2882d3ef68e69b3c2ddcab57514cbb9ae1207d802f786fd5feef8e307d1a89d6f838e4b915315b455f5458f47c5e5558fb SHA512 6eb8d050d25bbf6d8afda716f11493d4f2418e8e8f5a6f1925e6348e37ecf28173c78c3708069e561241c40e4e6a82ef206f233bd05d8303c599ae01135ebed7 @@ -26,6 +27,7 @@ EBUILD emacs-29.3-r2.ebuild 20259 BLAKE2B d2f6bbdc2e388ff6a01c08729fc2f0ced620bb EBUILD emacs-29.3-r3.ebuild 20263 BLAKE2B 8f032628862d78b46174a8159a12f19a7dcbd843e488d702f6a233801829c87bb4288c43a0b59f0a4bffd9b17e930008d94d271e16999e2527c6b930d52b8d22 SHA512 a23634b49af2323cc603a131859c1ddd15995610c729e19a5e4e5cb2b441a42b812a9893448ca21324e4a07f162efc15e71c885d749ac6124b7f5927896f28bc EBUILD emacs-29.4.ebuild 20316 BLAKE2B 4fee8e9f95d5ca876ad8f4d1e6070abf7aedc380c87d21e15aef917a3fdcb14e40c7025cda48d0c67537ce7f71b2d0b558bd31918bb5c3bb848a97ca9f9a5e91 SHA512 61df5db9794508338ca6cd3400109ccc51fe287f6ff18c1d736c3125668cf2e52f20527123cee3ae8c707ce39ab20c8fea752249622a28b276dba5cc42092e58 EBUILD emacs-30.0.91.ebuild 19912 BLAKE2B 10e286ce3b148b00a141a2e7fcda409b4d435d086d9fc36d70e7fe80297622de7bf4f71f1c0891d5568d1b1eab84ac43be7e445465b84131628eedb27cfbab2b SHA512 974d515f958201512ab3970fc85f0e52970906e1c75879fee6eb65cd5b0f03abedc9a085bd86ffdd2f56e2fed0fe7fce5e16c706bce9c1c94318947a8f896b6d +EBUILD emacs-30.0.92.ebuild 19912 BLAKE2B 10e286ce3b148b00a141a2e7fcda409b4d435d086d9fc36d70e7fe80297622de7bf4f71f1c0891d5568d1b1eab84ac43be7e445465b84131628eedb27cfbab2b SHA512 974d515f958201512ab3970fc85f0e52970906e1c75879fee6eb65cd5b0f03abedc9a085bd86ffdd2f56e2fed0fe7fce5e16c706bce9c1c94318947a8f896b6d EBUILD emacs-30.0.9999-r1.ebuild 19912 BLAKE2B 10e286ce3b148b00a141a2e7fcda409b4d435d086d9fc36d70e7fe80297622de7bf4f71f1c0891d5568d1b1eab84ac43be7e445465b84131628eedb27cfbab2b SHA512 974d515f958201512ab3970fc85f0e52970906e1c75879fee6eb65cd5b0f03abedc9a085bd86ffdd2f56e2fed0fe7fce5e16c706bce9c1c94318947a8f896b6d EBUILD emacs-31.0.9999.ebuild 19910 BLAKE2B 818482ea630b65111461e2ff1c68d803edfa020cab07e22c1e872f905b00619484df13cafe267d504e7712fb51d1bc323b7b11d4f61ae820bca572358ae883d3 SHA512 0ffc027a1dabcea82b5d525e0fa151fd98ee57a48c8208d576ecc7ced8a955fbc4d1bd932f9909bf1faaac35dc60988b0e70c09cd52919eadd4eba26df30a253 MISC metadata.xml 3434 BLAKE2B aaeef31ce265ae3b3c67ddfe01b3b41724b6fed7353e83f3efa1fe401944707391f3160d7cfea423802c67e78830387e210966f5fdc03a5a0a20b0e38f493b6d SHA512 2ad8128bfe05cbef0cdf19840e809918331c5e98976fb1af14127e0cb7adfba597ff83457a45079d1facd571953210c1650eb11b87d9bce2352e9ca865ebcc38 diff --git a/app-editors/emacs/emacs-30.0.92.ebuild b/app-editors/emacs/emacs-30.0.92.ebuild new file mode 100644 index 000000000000..3c000ffedb94 --- /dev/null +++ b/app-editors/emacs/emacs-30.0.92.ebuild @@ -0,0 +1,612 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools elisp-common flag-o-matic readme.gentoo-r1 toolchain-funcs + +if [[ ${PV##*.} = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.savannah.gnu.org/git/emacs.git" + EGIT_BRANCH="emacs-30" + EGIT_CHECKOUT_DIR="${WORKDIR}/emacs" + S="${EGIT_CHECKOUT_DIR}" + SLOT="${PV%%.*}-vcs" +else + # 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%%_*}" + SRC_URI="mirror://gnu/emacs/${P}.tar.xz" + S="${WORKDIR}/emacs-${FULL_VERSION}" + # PV can be in any of the following formats: + # 27.1 released version (slot 27) + # 27.1_rc1 upstream release candidate (27) + # 27.0.9999 live ebuild (slot 27-vcs) + # 27.0.90 upstream prerelease snapshot (27-vcs) + # 27.0.50_pre20191223 snapshot by Gentoo developer (27-vcs) + if [[ ${PV} == *_pre* ]]; then + SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz" + S="${WORKDIR}/emacs" + elif [[ ${PV//[0-9]} != "." ]]; then + SRC_URI="https://alpha.gnu.org/gnu/emacs/pretest/${PN}-${PV/_/-}.tar.xz" + fi + SLOT="${PV%%.*}" + [[ ${PV} == *.*.* ]] && SLOT+="-vcs" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +fi + +DESCRIPTION="The extensible, customizable, self-documenting real-time display editor" +HOMEPAGE="https://www.gnu.org/software/emacs/" + +LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2" +IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif +gmp gpm gsettings gtk gui gzip-el harfbuzz imagemagick +inotify jit jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source sqlite ssl svg systemd +threads tiff toolkit-scroll-bars tree-sitter valgrind webp wide-int +X xattr Xaw3d xft +xpm zlib" + +X_DEPEND="x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libxcb + x11-libs/xcb-util + x11-misc/xbitmaps + xpm? ( x11-libs/libXpm ) + xft? ( + media-libs/fontconfig + media-libs/freetype + x11-libs/libXrender + cairo? ( >=x11-libs/cairo-1.12.18[X] ) + !cairo? ( x11-libs/libXft ) + harfbuzz? ( media-libs/harfbuzz:0= ) + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) + gtk? ( x11-libs/gtk+:3 ) + !gtk? ( + motif? ( + >=x11-libs/motif-2.3:0 + x11-libs/libXpm + x11-libs/libXmu + x11-libs/libXt + ) + !motif? ( + Xaw3d? ( + x11-libs/libXaw3d + x11-libs/libXmu + x11-libs/libXt + ) + !Xaw3d? ( athena? ( + x11-libs/libXaw + x11-libs/libXmu + x11-libs/libXt + ) ) + ) + )" + +RDEPEND="app-emacs/emacs-common[games?,gui(-)?] + sys-libs/ncurses:0= + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + games? ( acct-group/gamestat ) + gmp? ( dev-libs/gmp:0= ) + gpm? ( sys-libs/gpm ) + !inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) ) + jit? ( + sys-devel/gcc:=[jit(-)] + sys-libs/zlib + ) + kerberos? ( virtual/krb5 ) + lcms? ( media-libs/lcms:2 ) + libxml2? ( >=dev-libs/libxml2-2.2.0 ) + mailutils? ( net-mail/mailutils[clients] ) + !mailutils? ( acct-group/mail net-libs/liblockfile ) + selinux? ( sys-libs/libselinux ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( net-libs/gnutls:0= ) + systemd? ( sys-apps/systemd ) + tree-sitter? ( dev-libs/tree-sitter:= ) + valgrind? ( dev-debug/valgrind ) + xattr? ( sys-apps/attr ) + zlib? ( sys-libs/zlib ) + gui? ( + gif? ( media-libs/giflib:0= ) + jpeg? ( media-libs/libjpeg-turbo:0= ) + png? ( >=media-libs/libpng-1.4:0= ) + svg? ( >=gnome-base/librsvg-2.0 ) + tiff? ( media-libs/tiff:= ) + webp? ( media-libs/libwebp:0= ) + imagemagick? ( media-gfx/imagemagick:0=[jpeg?,png?,svg?,tiff?] ) + !aqua? ( + gsettings? ( + app-emacs/emacs-common[gsettings(-)] + >=dev-libs/glib-2.28.6 + ) + gtk? ( !X? ( + media-libs/fontconfig + media-libs/freetype + >=x11-libs/cairo-1.12.18 + x11-libs/gtk+:3 + harfbuzz? ( media-libs/harfbuzz:0= ) + m17n-lib? ( + >=dev-libs/libotf-0.9.4 + >=dev-libs/m17n-lib-1.5.1 + ) + ) ) + !gtk? ( ${X_DEPEND} ) + X? ( ${X_DEPEND} ) + ) + )" + +DEPEND="${RDEPEND} + gui? ( !aqua? ( + !gtk? ( x11-base/xorg-proto ) + X? ( x11-base/xorg-proto ) + ) )" + +BDEPEND="sys-apps/texinfo + virtual/pkgconfig + gzip-el? ( app-arch/gzip )" + +IDEPEND="app-eselect/eselect-emacs" + +RDEPEND+=" ${IDEPEND}" + +EMACS_SUFFIX="emacs-${SLOT}" +SITEFILE="20${EMACS_SUFFIX}-gentoo.el" + +# Suppress false positive QA warnings #898304 #925091 +QA_CONFIG_IMPL_DECL_SKIP=( + malloc_set_state malloc_get_state MIN static_assert alignof unreachable + statvfs64 re_set_syntax re_compile_pattern re_search re_match +) + +src_prepare() { + if [[ ${PV##*.} = 9999 ]]; then + FULL_VERSION=$(sed -n 's/^AC_INIT([^,]*,[^0-9.]*\([0-9.]*\).*/\1/p' \ + configure.ac) + [[ ${FULL_VERSION} ]] || die "Cannot determine current Emacs version" + einfo "Emacs branch: ${EGIT_BRANCH}" + einfo "Commit: ${EGIT_VERSION}" + einfo "Emacs version number: ${FULL_VERSION}" + [[ ${FULL_VERSION} =~ ^${PV%.*}(\..*)?$ ]] \ + || die "Upstream version number changed to ${FULL_VERSION}" + fi + + default + + if use jit; then + find lisp -type f -name "*.elc" -delete || die + + # These files ignore LDFLAGS. We assign the variable here, because + # for live ebuilds FULL_VERSION doesn't exist in global scope + QA_FLAGS_IGNORED="usr/$(get_libdir)/emacs/${FULL_VERSION}/native-lisp/.*" + + # gccjit doesn't play well with ccache or distcc #801580 + # For now, work around the problem with an explicit LIBRARY_PATH + has ccache ${FEATURES} || has distcc ${FEATURES} && tc-is-gcc \ + && export LIBRARY_PATH=$("$(tc-getCC)" -print-search-dirs \ + | sed -n '/^libraries:/{s:^[^/]*::;p}') + fi + + # Fix filename reference in redirected man page + sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die + + # libseccomp is detected by configure but doesn't appear to have any + # effect on the installed image. Suppress it by supplying pkg-config + # with a wrong library name. + sed -i -e "/CHECK_MODULES/s/libseccomp/DiSaBlE&/" configure.ac || die + + # Tests that use bubblewrap don't work in the sandbox: + # "bwrap: setting up uid map: Permission denied" + # So, disrupt the search for the bwrap executable. + sed -i -e 's/(executable-find "bwrap")/nil/' test/src/emacs-tests.el \ + test/lisp/emacs-lisp/bytecomp-tests.el || die + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + replace-flags "-O[3-9]" -O2 #839405 + + # We want floating-point arithmetic to be correct #933380 + replace-flags -Ofast -O2 + append-flags -fno-fast-math -ffp-contract=off + + local myconf + + # Prevents e.g. tests interfering with running Emacs. + unset EMACS_SOCKET_NAME + + 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 jit; then + use zlib || ewarn \ + "USE flag \"jit\" overrides \"-zlib\"; enabling zlib support." + myconf+=" --with-zlib" + else + myconf+=" $(use_with zlib)" + fi + + # Emacs supports these window systems: + # X11, pure GTK (without X11), or Nextstep (Aqua/Cocoa). + # General GUI support is enabled by the "gui" USE flag, then + # the window system is selected as follows: + # "aqua" -> Nextstep + # "gtk -X" -> pure GTK + # otherwise -> X11 + # For X11 there is the further choice of toolkits GTK, Motif, + # Athena (Lucid), or no toolkit. They are enabled (in order of + # preference) with the "gtk", "motif", "Xaw3d", and "athena" flags. + + if ! use gui; then + einfo "Configuring to build without window system support" + myconf+=" --without-x --without-pgtk --without-ns" + elif use aqua; then + einfo "Configuring to build with Nextstep (Macintosh Cocoa) support" + myconf+=" --with-ns --disable-ns-self-contained" + myconf+=" --without-x --without-pgtk" + elif use gtk && ! use X; then + einfo "Configuring to build with pure GTK (without X11) support" + myconf+=" --with-pgtk --without-x --without-ns" + myconf+=" --with-toolkit-scroll-bars" #836392 + myconf+=" --without-gconf" + myconf+=" --without-xwidgets" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with harfbuzz)" + myconf+=" $(use_with m17n-lib libotf)" + myconf+=" $(use_with m17n-lib m17n-flt)" + else + # X11 + myconf+=" --with-x --without-pgtk --without-ns" + myconf+=" --without-gconf" + myconf+=" $(use_with gsettings)" + myconf+=" $(use_with toolkit-scroll-bars)" + myconf+=" $(use_with xpm)" + + if use xft; then + myconf+=" --with-xft" + myconf+=" $(use_with cairo)" + myconf+=" $(use_with harfbuzz)" + 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://gitlab.gnome.org/GNOME/gtk/-/issues/221> and + <https://gitlab.gnome.org/GNOME/gtk/-/issues/2315>. + If you intend to use more than one display, then it is strongly + recommended that you compile Emacs with the Athena/Lucid or the + Motif toolkit instead. + EOF + myconf+=" --with-x-toolkit=gtk3 --without-xwidgets" + for f in motif Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"gtk\" is set." + done + elif use motif; then + einfo "Configuring to build with Motif toolkit" + myconf+=" --with-x-toolkit=motif" + for f in Xaw3d athena; do + use ${f} && ewarn \ + "USE flag \"${f}\" has no effect if \"motif\" is set." + done + elif use athena || use Xaw3d; then + einfo "Configuring to build with Athena/Lucid toolkit" + myconf+=" --with-x-toolkit=lucid $(use_with Xaw3d xaw3d)" + else + einfo "Configuring to build with no toolkit" + myconf+=" --with-x-toolkit=no" + fi + fi + + if use gui; then + # Common flags recognised for all GUIs + myconf+=" $(use_with gif)" + myconf+=" $(use_with jpeg)" + myconf+=" $(use_with png)" + myconf+=" $(use_with svg rsvg)" + myconf+=" $(use_with tiff)" + myconf+=" $(use_with webp)" + myconf+=" $(use_with imagemagick)" + fi + + if tc-is-cross-compiler; then + # Configure a CBUILD directory when cross-compiling to make tools + mkdir -p "${S}-build" && pushd "${S}-build" >/dev/null || die + ECONF_SOURCE="${S}" econf_build --without-all --without-x-toolkit + popd >/dev/null || die + # Don't try to execute the binary for dumping during the build + myconf+=" --with-dumping=none" + elif use m68k; then + # Workaround for https://debbugs.gnu.org/44531 + myconf+=" --with-dumping=unexec" + else + myconf+=" --with-dumping=pdumper" + fi + + econf \ + --program-suffix="-${EMACS_SUFFIX}" \ + --includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \ + --infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \ + --localstatedir="${EPREFIX}"/var \ + --enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \ + --without-compress-install \ + --without-hesiod \ + --without-pop \ + --with-file-notification=$(usev inotify || usev gfile || echo no) \ + --with-pdumper \ + $(use_enable acl) \ + $(use_enable xattr) \ + $(use_with dbus) \ + $(use_with dynamic-loading modules) \ + $(use_with games gameuser ":gamestat") \ + $(use_with gmp libgmp) \ + $(use_with gpm) \ + $(use_with jit native-compilation aot) \ + $(use_with kerberos) $(use_with kerberos kerberos5) \ + $(use_with lcms lcms2) \ + $(use_with libxml2 xml2) \ + $(use_with mailutils) \ + $(use_with selinux) \ + $(use_with sqlite sqlite3) \ + $(use_with ssl gnutls) \ + $(use_with systemd libsystemd) \ + $(use_with threads) \ + $(use_with tree-sitter) \ + $(use_with wide-int) \ + ${myconf} +} + +src_compile() { + export ac_cv_header_valgrind_valgrind_h=$(usex valgrind) + append-cppflags -DUSE_VALGRIND=$(usex valgrind) + + if tc-is-cross-compiler; then + # Build native tools for compiling lisp etc. + emake -C "${S}-build" src + emake lib # Cross-compile dependencies first for timestamps + # Save native build tools in the cross-directory + cp "${S}-build"/lib-src/make-{docfile,fingerprint} lib-src || die + # Specify the native Emacs to compile lisp + EMACS_EMAKE_ARGS=( EMACS="${S}-build/src/emacs" ) + emake "${EMACS_EMAKE_ARGS[@]}" actual-all + else + EMACS_EMAKE_ARGS=() + emake + fi +} + +src_test() { + # List .el test files with a comment above listing the exact + # subtests which caused failure. Elements should begin with a %. + # e.g. %lisp/gnus/mml-sec-tests.el. + local exclude_tests=( + # Reason: permission denied on /nonexistent + # (vc-*-bzr only fails if breezy is installed, as they + # try to access cache dirs under /nonexistent) + # + # rmail-undigest-test-multipart-mixed-digest + # rmail-undigest-test-rfc1153-less-strict-digest + # rmail-undigest-test-rfc1153-sloppy-digest + # rmail-undigest-test-rfc934-digest + # vc-test-bzr02-state + # vc-test-bzr05-rename-file + # vc-test-bzr06-version-diff + # vc-bzr-test-bug9781 + %lisp/mail/undigest-tests.el + %lisp/vc/vc-tests.el + %lisp/vc/vc-bzr-tests.el + + # Reason: tries to access network + # internet-is-working + %src/process-tests.el + + # Reason: fails with stable version of tree-sitter-json due to + # ast changes. Bug #922525 + %src/treesit-tests.log + + # Reason: test is not skipped if tree-sitter-tsx is not installed + # Bug #922525 + %lisp/progmodes/typescript-ts-mode-tests.el + ) + use threads || exclude_tests+=( + %lisp/server-tests.el + %lisp/progmodes/eglot-tests.el + %src/emacs-module-tests.el + %src/keyboard-tests.el + ) + use xpm || exclude_tests+=( %src/image-tests.el ) + + # Redirect GnuPG's sockets, in order not to exceed the 108 char limit + # for socket paths on Linux. + mkdir -p "${T}"/gpg || die + local f + for f in browser extra ssh; do + printf "%%Assuan%%\nsocket=%s\n" "${T}/gpg/S.${f}" \ + > "test/lisp/gnus/mml-sec-resources/S.gpg-agent.${f}" || die + done + + # See test/README for possible options + emake \ + EMACS_TEST_VERBOSE=1 \ + EXCLUDE_TESTS="${exclude_tests[*]}" \ + TERM=dumb \ + TEST_BACKTRACE_LINE_LENGTH=nil \ + check +} + +src_install() { + emake \ + "${EMACS_EMAKE_ARGS[@]}" \ + DESTDIR="${D}" \ + NO_BIN_LINK=t \ + BLESSMAIL_TARGET="" \ + install + + mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die + mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die + mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.metainfo.xml || die + + # dissuade Portage from removing our dir file #257260 + touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir + docompress -x /usr/share/info/${EMACS_SUFFIX}/dir + + # movemail must be setgid mail + if ! use mailutils; then + fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail + fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail + fi + + # avoid collision between slots, see bug #169033 e.g. + rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die + rm -rf "${ED}"/usr/share/{applications,icons} || die + rm -rf "${ED}"/usr/share/glib-2.0 || die #911117 + rm -rf "${ED}/usr/$(get_libdir)/systemd" || die + rm -rf "${ED}"/var || die + + # remove unused <version>/site-lisp dir + rm -rf "${ED}"/usr/share/emacs/${FULL_VERSION}/site-lisp || die + + # remove COPYING file (except for etc/COPYING used by describe-copying) + rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die + + if use systemd; then + insinto /usr/lib/systemd/user + sed -e "/^##/d" \ + -e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \ + -e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \ + etc/emacs.service | newins - ${EMACS_SUFFIX}.service + assert + fi + + if use gzip-el; then + # compress .el files when a corresponding .elc exists + find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \ + -name "*.elc" -print | sed 's/\.elc$/.el/' | xargs gzip -9n + assert "gzip .el failed" + fi + + local cdir + if use source; then + cdir="/usr/share/emacs/${FULL_VERSION}/src" + insinto "${cdir}" + # This is not meant to install all the source -- just the + # C source you might find via find-function + doins src/*.{c,h,m} + elif has installsources ${FEATURES}; then + cdir="/usr/src/debug/${CATEGORY}/${PF}/${S#"${WORKDIR}/"}/src" + fi + + sed -e "${cdir:+#}/^Y/d" -e "s/^[XY]//" >"${T}/${SITEFILE}" <<-EOF || die + X + ;;; ${EMACS_SUFFIX} site-lisp configuration + X + (when (string-match "\\\\\`${FULL_VERSION//./\\\\.}\\\\>" emacs-version) + Y (setq find-function-C-source-directory + Y "${EPREFIX}${cdir}") + X (let ((path (getenv "INFOPATH")) + X (dir "${EPREFIX}/usr/share/info/${EMACS_SUFFIX}") + X (re "\\\\\`${EPREFIX}/usr/share\\\\>")) + X (and path + X ;; move Emacs Info dir before anything else in /usr/share + X (let* ((p (cons nil (split-string path ":" t))) (q p)) + X (while (and (cdr q) (not (string-match re (cadr q)))) + X (setq q (cdr q))) + X (setcdr q (cons dir (delete dir (cdr q)))) + X (setenv "INFOPATH" (mapconcat 'identity (cdr p) ":")))))) + EOF + elisp-site-file-install "${T}/${SITEFILE}" || die + + dodoc README BUGS CONTRIBUTE + + if use gui && use aqua; then + dodir /Applications/Gentoo + rm -rf "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die + mv nextstep/Emacs.app \ + "${ED}"/Applications/Gentoo/${EMACS_SUFFIX^}.app || die + fi + + local DOC_CONTENTS="You can set the version to be started by + /usr/bin/emacs through the Emacs eselect module, which also + redirects man and info pages. Therefore, several Emacs versions can + be installed at the same time. \"man emacs.eselect\" for details. + \\n\\nIf you upgrade from a previous major version of Emacs, then + it is strongly recommended that you use app-admin/emacs-updater + to rebuild all byte-compiled elisp files of the installed Emacs + packages." + if use gui; then + DOC_CONTENTS+="\\n\\nYou need to install some fonts for Emacs. + Installing media-fonts/font-adobe-{75,100}dpi on the X server's + machine would satisfy basic Emacs requirements under X11. + See also https://wiki.gentoo.org/wiki/Xft_support_for_GNU_Emacs + for how to enable anti-aliased fonts." + use aqua && DOC_CONTENTS+="\\n\\n${EMACS_SUFFIX^}.app is in + \"${EPREFIX}/Applications/Gentoo\". You may want to copy or + symlink it into /Applications by yourself." + fi + if ! use mailutils; then + DOC_CONTENTS+="\\n\\nThe mailutils USE flag is disabled. If Emacs' + own e-mail features are going to be used as an e-mail client + (e.g. Rmail), you are strongly encouraged to enable it. If not, + Emacs will use its own implementation of movemail; which has + fewer features and is less secure. For more information see: + https://www.gnu.org/software/emacs/manual/html_node/emacs/Movemail.html" + fi + tc-is-cross-compiler && DOC_CONTENTS+="\\n\\nEmacs did not write + a portable dump file due to being cross-compiled. + To create this file at run time, execute the following command: + \\n${EMACS_SUFFIX} --batch -Q --eval='(dump-emacs-portable + \"/usr/libexec/emacs/${FULL_VERSION}/${CHOST}/emacs.pdmp\")'" + readme.gentoo_create_doc +} + +pkg_preinst() { + # verify that the PM hasn't removed our Info directory index #257260 + local infodir="${ED}/usr/share/info/${EMACS_SUFFIX}" + [[ -f ${infodir}/dir || ! -d ${infodir} ]] || die +} + +pkg_postinst() { + elisp-site-regen + readme.gentoo_print_elog + + if use livecd; then + # force an update of the emacs symlink for the livecd/dvd, + # because some microemacs packages set it with USE=livecd + eselect emacs update + else + eselect emacs update ifunset + fi +} + +pkg_postrm() { + elisp-site-regen + eselect emacs update ifunset +} diff --git a/app-editors/levee/Manifest b/app-editors/levee/Manifest index 921c43b2bcdb..8f5912fc1e01 100644 --- a/app-editors/levee/Manifest +++ b/app-editors/levee/Manifest @@ -1,9 +1,4 @@ -AUX levee-3.4o-darwin.patch 265 BLAKE2B c099dca875658567a788cc1bfe3928c7969266b50ec5e8ffb1194e7b88db1f691e0d4b97243198e48402f442914f19c0ef1f269e8df221153950622fa4a43328 SHA512 6b05d59021408fadf044ea388729632e9770780b2206725401aaa19f8151171f9b18f4dfdf60cbc7a74ee344855ce23978cef79978416728342999dd8fc96244 -AUX levee-3.5-glibc210.patch 1683 BLAKE2B dafaf7b7bb8a8d11ef8c74f81800449d54b582ea1ab202539c7e630dd8aca7aa4d5b302a21292a3cfe978163b9c8d5089ec7e5931e43b75448a86faeb77db265 SHA512 8aabe959dc12e551128045cda1027498a4fd0b42eb7fc47888cfaab2f1a2fe15c3e600d1952dc78e43bc58252ff8f4e1552fbb5e7f83aae9ce77681b7e62649a -AUX levee-3.5a-QA.patch 468 BLAKE2B ba4643a624b64c0a602c3717a1982af7436aa04cd17a05f5b353049fbbda30f08931d329a476ea17572c0c4e6338cb4e798e1105c8ba3f1c7d1cd8f4003c8c47 SHA512 23060c7b452b53ae6b354d4a727bc4e0430ea933ab7124be357432d46bf186a473b72f141406e834a492790057279126db6a60a51f2fd0a5522a7d2e586b4638 -DIST levee-3.5a.tar.gz 67733 BLAKE2B 291b502a8c9581c2c0f2ca6714c17c86692067d5de66e987f8a7b506965a21ff149c6fe445532e9b065e40dd7e519d1ebc6b5ff69c5b4a4129138df224f71dfd SHA512 e95b4fc6370903dda07aff0a612c7f34425ab0b854d05a08f42b7e339d1a86a436316d31f3667748943e2ce2e68be7f2369e4a3b36c0715b00d31b8ab50cdaf1 DIST levee-4.0-patches.tar.xz 12292 BLAKE2B b5ff5dbd4e9a5be0aab747ca557cd4e8235057a23ad9f10ec6aad921c4cb5da3086315162dcd0a6db97102cfc573da5ae13e4ca4738cb5875f0bf6f32ae244b2 SHA512 fe8c9f781e63b1b800e754ffda5322a266a51e905e105b5f4b2e604f3ec922f9bf5fb6657b89f290c4ecff80f7bcdce88a2c03cac3082dc5c4d70e23b10bd931 DIST levee-4.0.tar.bz2 80596 BLAKE2B c38325a04cadb78e2961d26dff605943ccc8214232ce9bf3fb61bf7ee8f91b1e6a43631326e21e38be73d8917a290d92790cc9bc2a4ca7b186b740674fbc5f8f SHA512 7551963018674431167ee2635dccfed1648268c33ec3ae1f11c0ced89dcba280ae1f6d3ab678ad4ba8331e0928b47f6c5953758da7516bae10df9e3edd65c22c -EBUILD levee-3.5a.ebuild 990 BLAKE2B 26529e9977e343637952e9e9e715a5418ca139895d05d35d1fa055e3b9733ca0a2f74dc36ace7b5568133bbef16bd5caf6269127846dfc31b9576cc28f938c55 SHA512 d7a058077e27950121a79e2c827afe440a0f28785664c077b5a6336bc1ccdc341b6aaf9933792488d8333d6f8cdb497a5088ff3f91df009958334a570b737d73 EBUILD levee-4.0.ebuild 1172 BLAKE2B 5b54fa3dd5636ee1a59d241a6f89d0104595ee0b6b4f3e7808cef23e62a8fe949a0c50637e6bcf8a2a8dbf99a915478331773d7ccc2eb090c26bd7cda4f61566 SHA512 dc67d84504c0251fb9d5bf94c299370e0ee961565b0a31300300ae5c479c2ecf10f46987bf43f9ab8683540c7e439b28c64c26113ba2d03bb84d558b4d1c7960 MISC metadata.xml 242 BLAKE2B c20b015cb3be883d9faecc16d540b477b33c4c60ffb374cc4e85e584bee424dda903e69517686d9836542115cf1468043764402cb34d5d7da383be93f92acd88 SHA512 aad2f2e7f629e1d008638bc9fab674d98efbf08a468b9d9aaba41c15447d0eb9f2cf4d40c25023571734d9a6cb1e2bdfc20bbd9beff1ad231651a00e7e509c8e diff --git a/app-editors/levee/files/levee-3.4o-darwin.patch b/app-editors/levee/files/levee-3.4o-darwin.patch deleted file mode 100644 index 0af6f7994966..000000000000 --- a/app-editors/levee/files/levee-3.4o-darwin.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/unixcall.c -+++ b/unixcall.c -@@ -77,6 +77,13 @@ - static int ioset = 0; - static struct termios old; - -+#if defined(__MACH__) -+# define TCGETS TIOCGETA -+# define TCSETS TIOCSETA -+# define TCGETA TIOCGETA -+# define TCSETAF TIOCSETAF -+#endif -+ - void - initcon() - { diff --git a/app-editors/levee/files/levee-3.5-glibc210.patch b/app-editors/levee/files/levee-3.5-glibc210.patch deleted file mode 100644 index f290613d2633..000000000000 --- a/app-editors/levee/files/levee-3.5-glibc210.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- a/editcor.c -+++ b/editcor.c -@@ -183,11 +183,11 @@ - - strcpy(scratch, "/tmp/lv.XXXXXX"); - - clrprompt(); - printch('!'); -- if ( !getline(instring) ) -+ if ( !get_line(instring) ) - return FALSE; - - if ( (tf = mkstemp(scratch)) < 0 ) { - prints("[tempfile error]"); - return FALSE; ---- a/extern.h -+++ b/extern.h -@@ -195,11 +195,11 @@ - extern exec_type PROC editcore(); - - extern char PROC line(), peekc(), readchar(); - extern char PROC *findparse(),*makepat(); - --extern bool PROC getline(); -+extern bool PROC get_line(); - extern bool PROC putfile(); - extern bool PROC doyank(), deletion(), putback(); - extern bool PROC pushb(),pushi(),pushmem(),uputcmd(), delete_to_undo(); - extern bool PROC ok_to_scroll(), move_to_undo(); - ---- a/main.c -+++ b/main.c -@@ -251,11 +251,11 @@ - println(); - - mode=emode; - do { - prompt(FALSE,":"); -- if (getline(instring)) -+ if (get_line(instring)) - exec(instring, &mode, &noquit); - indirect = FALSE; - if (mode == E_VISUAL && zotscreen && noquit) { /*ask for more*/ - prints(" [more]"); - if ((ch=peekc()) == 13 || ch == ' ' || ch == ':') ---- a/misc.c -+++ b/misc.c -@@ -19,11 +19,11 @@ - */ - #include "levee.h" - #include "extern.h" - - bool PROC --getline(str) -+get_line(str) - char *str; - { - int len; - char flag; - ---- a/move.c -+++ b/move.c -@@ -158,11 +158,11 @@ - case FSEARCH: - case BSEARCH: - clrprompt(); - if (cmd == PATT_FWD || cmd == PATT_BACK) { - printch(tsearch = instring[0] = chars[cmd-PATT_FWD]); -- if (!getline(&instring[1])) -+ if (!get_line(&instring[1])) - return ESCAPED; /* needs to skip later tests */ - } - else { - if (!lsearch) - return BADMOVE; diff --git a/app-editors/levee/files/levee-3.5a-QA.patch b/app-editors/levee/files/levee-3.5a-QA.patch deleted file mode 100644 index f6553813d8ca..000000000000 --- a/app-editors/levee/files/levee-3.5a-QA.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/configure.inc -+++ b/configure.inc -@@ -1074,11 +1074,11 @@ - else - PROG_INSTALL="$DEST" - fi - - AC_SUB 'INSTALL' "$PROG_INSTALL" -- AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -s -m 755" -+ AC_SUB 'INSTALL_PROGRAM' "$PROG_INSTALL -m 755" - AC_SUB 'INSTALL_DATA' "$PROG_INSTALL -m 444" - - # finally build a little directory installer - # if mkdir -p works, use that, otherwise use install -d, - # otherwise build a script to do it by hand. diff --git a/app-editors/levee/levee-3.5a.ebuild b/app-editors/levee/levee-3.5a.ebuild deleted file mode 100644 index ea8be6cb53cb..000000000000 --- a/app-editors/levee/levee-3.5a.ebuild +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="Really tiny vi clone, for things like rescue disks" -HOMEPAGE="http://www.pell.chi.il.us/~orc/Code/" -SRC_URI="http://www.pell.chi.il.us/~orc/Code/levee/${P}.tar.gz" - -LICENSE="levee" -SLOT="0" -KEYWORDS="amd64 ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" - -RDEPEND=" - !app-text/lv - sys-libs/ncurses:0= -" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-3.4o-darwin.patch - "${FILESDIR}"/${P}-QA.patch - "${FILESDIR}"/${PN}-3.5-glibc210.patch -) - -src_configure() { - export AC_CPP_PROG="$(tc-getCPP)" - export AC_PATH="${PATH}" - export AC_LIBDIR="$($(tc-getPKG_CONFIG) --libs ncurses)" - - ./configure.sh \ - --prefix="${PREFIX}"/usr || die "configure failed" -} - -src_compile() { - emake \ - CFLAGS="${CFLAGS} -Wall -Wextra ${LDFLAGS}" \ - CC="$(tc-getCC)" -} - -src_install() { - emake PREFIX="${D}/${EPREFIX}" install -} |