11 |
11 |
https://dev.gentoo.org/~ulm/emacs/${P}-patches-5.tar.xz"
|
12 |
12 |
|
13 |
13 |
LICENSE="GPL-3+ FDL-1.3+ BSD HPND MIT W3C unicode PSF-2"
|
14 |
|
SLOT="25"
|
15 |
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
16 |
|
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos libxml2 livecd m17n-lib motif png selinux sound source ssl svg tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm zlib"
|
17 |
|
|
18 |
|
RDEPEND="acct-group/mail
|
19 |
|
app-emacs/emacs-common[games?,gui(-)?]
|
20 |
|
net-libs/liblockfile
|
|
14 |
SLOT="26"
|
|
15 |
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
|
16 |
IUSE="acl alsa aqua athena cairo dbus dynamic-loading games gfile gif gpm gsettings gtk gui gzip-el imagemagick +inotify jpeg kerberos lcms libxml2 livecd m17n-lib mailutils motif png selinux sound source ssl svg systemd +threads tiff toolkit-scroll-bars valgrind wide-int Xaw3d xft +xpm xwidgets zlib"
|
|
17 |
|
|
18 |
RDEPEND="app-emacs/emacs-common[games?,gui(-)?]
|
21 |
19 |
sys-libs/ncurses:0=
|
22 |
20 |
acl? ( virtual/acl )
|
23 |
21 |
alsa? ( media-libs/alsa-lib )
|
... | ... | |
26 |
24 |
gpm? ( sys-libs/gpm )
|
27 |
25 |
!inotify? ( gfile? ( >=dev-libs/glib-2.28.6 ) )
|
28 |
26 |
kerberos? ( virtual/krb5 )
|
|
27 |
lcms? ( media-libs/lcms:2 )
|
29 |
28 |
libxml2? ( >=dev-libs/libxml2-2.2.0 )
|
|
29 |
mailutils? ( net-mail/mailutils[clients] )
|
|
30 |
!mailutils? ( acct-group/mail net-libs/liblockfile )
|
30 |
31 |
selinux? ( sys-libs/libselinux )
|
31 |
32 |
ssl? ( net-libs/gnutls:0= )
|
|
33 |
systemd? ( sys-apps/systemd )
|
32 |
34 |
valgrind? ( dev-util/valgrind )
|
33 |
35 |
zlib? ( sys-libs/zlib )
|
34 |
36 |
gui? ( !aqua? (
|
... | ... | |
60 |
62 |
>=dev-libs/m17n-lib-1.5.1
|
61 |
63 |
)
|
62 |
64 |
)
|
63 |
|
gtk? ( x11-libs/gtk+:3 )
|
|
65 |
gtk? (
|
|
66 |
x11-libs/gtk+:3
|
|
67 |
xwidgets? (
|
|
68 |
net-libs/webkit-gtk:4.1=
|
|
69 |
x11-libs/libXcomposite
|
|
70 |
)
|
|
71 |
)
|
64 |
72 |
!gtk? (
|
65 |
73 |
motif? (
|
66 |
74 |
>=x11-libs/motif-2.3:0
|
... | ... | |
106 |
114 |
default
|
107 |
115 |
|
108 |
116 |
# Fix filename reference in redirected man page
|
109 |
|
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 \
|
110 |
|
|| die "unable to sed ctags.1"
|
|
117 |
sed -i -e "/^\\.so/s/etags/&-${EMACS_SUFFIX}/" doc/man/ctags.1 || die
|
111 |
118 |
|
112 |
119 |
AT_M4DIR=m4 eautoreconf
|
113 |
|
touch src/stamp-h.in || die
|
114 |
120 |
}
|
115 |
121 |
|
116 |
122 |
src_configure() {
|
... | ... | |
123 |
129 |
replace-flags "-O[3-9]" -O2
|
124 |
130 |
fi
|
125 |
131 |
|
126 |
|
# Don't trigger a floating point exception for NaNs on alpha
|
127 |
|
use alpha && append-flags -mieee
|
128 |
|
|
129 |
132 |
local myconf
|
130 |
133 |
|
131 |
134 |
if use alsa; then
|
... | ... | |
184 |
187 |
recommended that you compile Emacs with the Athena/Lucid or the
|
185 |
188 |
Motif toolkit instead.
|
186 |
189 |
EOF
|
187 |
|
myconf+=" --with-x-toolkit=gtk3"
|
188 |
|
myconf+=" --without-xwidgets"
|
|
190 |
myconf+=" --with-x-toolkit=gtk3 $(use_with xwidgets)"
|
189 |
191 |
for f in motif Xaw3d athena; do
|
190 |
192 |
use ${f} && ewarn \
|
191 |
193 |
"USE flag \"${f}\" has no effect if \"gtk\" is set."
|
... | ... | |
204 |
206 |
einfo "Configuring to build with no toolkit"
|
205 |
207 |
myconf+=" --with-x-toolkit=no"
|
206 |
208 |
fi
|
|
209 |
! use gtk && use xwidgets && ewarn \
|
|
210 |
"USE flag \"xwidgets\" has no effect if \"gtk\" is not set."
|
207 |
211 |
fi
|
208 |
212 |
|
209 |
213 |
econf \
|
210 |
214 |
--program-suffix="-${EMACS_SUFFIX}" \
|
|
215 |
--includedir="${EPREFIX}"/usr/include/${EMACS_SUFFIX} \
|
211 |
216 |
--infodir="${EPREFIX}"/usr/share/info/${EMACS_SUFFIX} \
|
212 |
217 |
--localstatedir="${EPREFIX}"/var \
|
213 |
218 |
--enable-locallisppath="${EPREFIX}/etc/emacs:${EPREFIX}${SITELISP}" \
|
214 |
|
--with-gameuser=":gamestat" \
|
215 |
219 |
--without-compress-install \
|
216 |
220 |
--without-hesiod \
|
|
221 |
--without-pop \
|
217 |
222 |
--with-file-notification=$(usev inotify || usev gfile || echo no) \
|
218 |
223 |
$(use_enable acl) \
|
219 |
224 |
$(use_with dbus) \
|
220 |
225 |
$(use_with dynamic-loading modules) \
|
|
226 |
$(use_with games gameuser ":gamestat") \
|
221 |
227 |
$(use_with gpm) \
|
222 |
228 |
$(use_with kerberos) $(use_with kerberos kerberos5) \
|
|
229 |
$(use_with lcms lcms2) \
|
223 |
230 |
$(use_with libxml2 xml2) \
|
|
231 |
$(use_with mailutils) \
|
224 |
232 |
$(use_with selinux) \
|
225 |
233 |
$(use_with ssl gnutls) \
|
|
234 |
$(use_with systemd libsystemd) \
|
|
235 |
$(use_with threads) \
|
226 |
236 |
$(use_with wide-int) \
|
227 |
237 |
$(use_with zlib) \
|
228 |
238 |
${myconf}
|
... | ... | |
238 |
248 |
src_install() {
|
239 |
249 |
emake DESTDIR="${D}" NO_BIN_LINK=t BLESSMAIL_TARGET= install
|
240 |
250 |
|
241 |
|
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} \
|
242 |
|
|| die "moving emacs executable failed"
|
243 |
|
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 \
|
244 |
|
|| die "moving emacs man page failed"
|
|
251 |
mv "${ED}"/usr/bin/{emacs-${FULL_VERSION}-,}${EMACS_SUFFIX} || die
|
|
252 |
mv "${ED}"/usr/share/man/man1/{emacs-,}${EMACS_SUFFIX}.1 || die
|
|
253 |
mv "${ED}"/usr/share/metainfo/{emacs-,}${EMACS_SUFFIX}.appdata.xml || die
|
245 |
254 |
|
246 |
255 |
# dissuade Portage from removing our dir file #257260
|
247 |
256 |
touch "${ED}"/usr/share/info/${EMACS_SUFFIX}/.keepinfodir
|
248 |
257 |
docompress -x /usr/share/info/${EMACS_SUFFIX}/dir
|
249 |
258 |
|
250 |
259 |
# movemail must be setgid mail
|
251 |
|
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
252 |
|
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
|
260 |
if ! use mailutils; then
|
|
261 |
fowners root:mail /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
|
262 |
fperms 2751 /usr/libexec/emacs/${FULL_VERSION}/${CHOST}/movemail
|
|
263 |
fi
|
253 |
264 |
|
254 |
265 |
# avoid collision between slots, see bug #169033 e.g.
|
255 |
266 |
rm "${ED}"/usr/share/emacs/site-lisp/subdirs.el || die
|
256 |
|
rm -rf "${ED}"/usr/share/{appdata,applications,icons} || die
|
|
267 |
rm -rf "${ED}"/usr/share/{applications,icons} || die
|
|
268 |
rm -rf "${ED}/usr/$(get_libdir)" || die
|
257 |
269 |
rm -rf "${ED}"/var || die
|
258 |
270 |
|
259 |
271 |
# remove unused <version>/site-lisp dir
|
... | ... | |
262 |
274 |
# remove COPYING file (except for etc/COPYING used by describe-copying)
|
263 |
275 |
rm "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp/COPYING || die
|
264 |
276 |
|
|
277 |
if use systemd; then
|
|
278 |
insinto /usr/lib/systemd/user
|
|
279 |
sed -e "/^##/d" \
|
|
280 |
-e "/^ExecStart/s,emacs,${EPREFIX}/usr/bin/${EMACS_SUFFIX}," \
|
|
281 |
-e "/^ExecStop/s,emacsclient,${EPREFIX}/usr/bin/&-${EMACS_SUFFIX}," \
|
|
282 |
etc/emacs.service | newins - ${EMACS_SUFFIX}.service
|
|
283 |
assert
|
|
284 |
fi
|
|
285 |
|
265 |
286 |
if use gzip-el; then
|
266 |
287 |
# compress .el files when a corresponding .elc exists
|
267 |
288 |
find "${ED}"/usr/share/emacs/${FULL_VERSION}/lisp -type f \
|