app-emacs/emacs-common: add 1.12

Signed-off-by: Ulrich Müller <ulm@gentoo.org>
This commit is contained in:
Ulrich Müller 2025-06-28 19:57:43 +02:00
parent e1d9286dec
commit bec65ef6b2
No known key found for this signature in database
GPG Key ID: 5188335088415E2E
2 changed files with 141 additions and 0 deletions

View File

@ -1 +1,2 @@
DIST emacs-common-1.11.tar.xz 64480 BLAKE2B 776f1ecc656b6d0765617f1d9176e5c855a7a85b24bcd4563e846bbde1d4cd842ac928518d4e0e1254d1161b3848b6beffb87612bf82247b9862351ebdd17636 SHA512 e7e627562f637778e2391ae8b188cd045021cf5b6f32f68e1927868382be59f8cf3d878b62c6e03d6047b0b00a7ec9e44e78189c105e63629f6b672c9fdb09e4
DIST emacs-common-1.12.tar.xz 66204 BLAKE2B f356e524de96c2638679d8108da590325e65351e577b288c2dc40db7beccdcbfe31472c376dffc325cac6a9542a6e623c4badb54d662a612b231dd9b0bc9c8b5 SHA512 07a6a38cd9ac6da5a395bfb9e9d2b9b7a6f741b47d528c5b462beb3820037afe395b65b1c1241257e8e4925f09606e64727cfd3c14fbddeac53bb78dbb2b5303

View File

@ -0,0 +1,140 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp-common desktop eapi9-pipestatus gnome2-utils readme.gentoo-r1
if [[ ${PV##*.} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/emacs-tools.git"
EGIT_BRANCH="${PN}"
EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}"
S="${EGIT_CHECKOUT_DIR}"
else
SRC_URI="https://dev.gentoo.org/~ulm/emacs/${P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
fi
DESCRIPTION="Common files needed by all GNU Emacs versions"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Emacs"
LICENSE="GPL-2+ GPL-3+"
SLOT="0"
IUSE="games gsettings gui"
DEPEND="games? ( acct-group/gamestat )"
RDEPEND="${DEPEND}
!<app-emacs/emacs-daemon-0.25"
PDEPEND=">=app-editors/emacs-26.1:*"
IDEPEND="gui? ( gsettings? ( dev-libs/glib ) )"
SITEFILE="10${PN}-gentoo.el"
src_prepare() {
default
if [[ -n ${EPREFIX} ]]; then
sed -i -E -e "s,/(bin|sbin|usr)/,${EPREFIX}&," \
subdirs.el.in emacs.initd emacs.service \
emacs.desktop emacsclient.desktop || die
fi
}
src_install() {
insinto "${SITELISP}"
sed "s,@libdir@,$(get_libdir),g" subdirs.el.in | newins - subdirs.el
pipestatus || die
newins site-gentoo.el{,.orig}
keepdir /etc/emacs
insinto /etc/emacs
doins site-start.el
exeinto /etc/user/init.d
newexe emacs.initd emacs
exeinto /usr/libexec/emacs
doexe emacs-wrapper.sh
elisp-site-file-install "${SITEFILE}"
# don't use systemd_douserunit because it would require inheriting
# three eclasses (systemd pulls toolchain-funcs and multilib)
insinto "/usr/lib/systemd/user"
doins emacs.service
if use games; then
keepdir /var/games/emacs
fowners 0:gamestat /var/games/emacs
fperms g+w /var/games/emacs
fi
if use gui; then
local i
domenu emacs.desktop emacsclient.desktop
pushd icons >/dev/null || die
newicon sink.png emacs-sink.png
newicon emacs25_48.png emacs.png
for i in 16 24 32 48 128; do
[[ ${i} -le 48 ]] && newicon -s ${i} emacs22_${i}.png emacs22.png
newicon -s ${i} emacs23_${i}.png emacs23.png
newicon -s ${i} emacs25_${i}.png emacs.png
done
doicon -s scalable emacs23.svg
newicon -s scalable emacs25.svg emacs.svg
popd >/dev/null || die
if use gsettings; then
insinto /usr/share/glib-2.0/schemas
doins org.gnu.emacs.defaults.gschema.xml
fi
fi
dodoc README.daemon ChangeLog
local DOC_CONTENTS DISABLE_AUTOFORMATTING=1
DOC_CONTENTS=$(sed "s,@SITELISP@,${EPREFIX}${SITELISP},g" \
README.gentoo.in) || die
readme.gentoo_create_doc
}
pkg_preinst() {
# make sure that site-gentoo.el exists since site-start.el requires it
if [[ ! -f ${ED}${SITELISP}/site-gentoo.el ]]; then #554518
mv "${ED}${SITELISP}"/site-gentoo.el{.orig,} || die
fi
if [[ -d ${EROOT}${SITELISP} ]]; then
elisp-site-regen
cp "${EROOT}${SITELISP}/site-gentoo.el" "${ED}${SITELISP}/" || die
fi
if use games; then
local f
for f in /var/games/emacs/{snake,tetris}-scores; do
if [[ -e ${EROOT}${f} ]]; then
cp "${EROOT}${f}" "${ED}${f}" || die
fi
touch "${ED}${f}" || die
chgrp gamestat "${ED}${f}" || die
chmod g+w "${ED}${f}" || die
done
fi
}
pkg_postinst() {
elisp-site-regen
if use gui; then
xdg_desktop_database_update
xdg_icon_cache_update
use gsettings && gnome2_schemas_update
fi
readme.gentoo_print_elog
}
pkg_postrm() {
elisp-site-regen
if use gui; then
xdg_desktop_database_update
xdg_icon_cache_update
use gsettings && gnome2_schemas_update
fi
}