Gentoo Archives: gentoo-commits

From: Mats Lidell <matsl@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-editors/xemacs/, app-editors/xemacs/files/
Date: Sat, 11 Jan 2020 16:50:22
Message-Id: 1578761227.5af69d7aa4d3b0169eb11d5b38dd5262b753aa80.matsl@gentoo
1 commit: 5af69d7aa4d3b0169eb11d5b38dd5262b753aa80
2 Author: Mats Lidell <matsl <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 11 16:47:07 2020 +0000
4 Commit: Mats Lidell <matsl <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 11 16:47:07 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5af69d7a
7
8 app-editors/xemacs: Use EAPI=7 and use utf-8 for info
9
10 Use utf-8 in info files to allow use of texinfo 6.7
11
12 Package-Manager: Portage-2.3.79, Repoman-2.3.16
13 Signed-off-by: Mats Lidell <matsl <AT> gentoo.org>
14
15 .../xemacs/files/xemacs-21.4.24-makeinfo.patch | 65 ++++++
16 app-editors/xemacs/xemacs-21.4.24-r2.ebuild | 246 +++++++++++++++++++++
17 2 files changed, 311 insertions(+)
18
19 diff --git a/app-editors/xemacs/files/xemacs-21.4.24-makeinfo.patch b/app-editors/xemacs/files/xemacs-21.4.24-makeinfo.patch
20 new file mode 100644
21 index 00000000000..511e2b146a3
22 --- /dev/null
23 +++ b/app-editors/xemacs/files/xemacs-21.4.24-makeinfo.patch
24 @@ -0,0 +1,65 @@
25 +diff -r e2da872593c0 man/lispref/ldap.texi
26 +--- a/man/lispref/ldap.texi Tue Mar 24 22:15:53 2015 -0400
27 ++++ b/man/lispref/ldap.texi Wed Jan 01 22:53:19 2020 +0100
28 +@@ -105,7 +105,7 @@
29 + library XEmacs was compiled with, they may include @code{simple},
30 + @code{krbv41} and @code{krbv42}.
31 + @item base
32 +-The base for the search. This may look like @samp{cÿ, o¬me}, see
33 ++The base for the search. This may look like @samp{cÿ, o¬me}, see
34 + RFC 1779 for syntax details.
35 + @item scope
36 + One of the symbols @code{base}, @code{onelevel} or @code{subtree}
37 +diff -r e2da872593c0 man/xemacs-faq.texi
38 +--- a/man/xemacs-faq.texi Tue Mar 24 22:15:53 2015 -0400
39 ++++ b/man/xemacs-faq.texi Wed Jan 01 22:53:19 2020 +0100
40 +@@ -1,4 +1,4 @@
41 +-\input texinfo.tex @c -*- mode: texinfo; coding: iso-2022-8 -*-
42 ++\input texinfo.tex @c -*- mode: texinfo; coding: utf-8 -*-
43 + @c %**start of header
44 + @setfilename ../info/xemacs-faq.info
45 + @settitle Frequently asked questions about XEmacs
46 +@@ -2831,7 +2831,7 @@
47 + all of the ISO 8859 family, the Indic languages, Thai, and so on), and
48 + SKK, for Japanese. (SKK also supports an interface to an external
49 + "dictionary server" process.) Quail supports both typical "dead-key"
50 +-methods (eg, in the "latin-1-prefix" method, @kbd{" a} produces ä, LATIN
51 ++methods (eg, in the "latin-1-prefix" method, @kbd{" a} produces ä, LATIN
52 + SMALL LETTER A WITH DIAERESIS), and the complex dictionary-based phonetic
53 + methods used for Asian ideographic languages like Chinese.
54 +
55 +@@ -2877,7 +2877,7 @@
56 + Wnn and SJ3 use the @code{egg} user interface. The interface for Canna
57 + is specialized to Canna.
58 +
59 +-Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
60 ++Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
61 + University. It is a powerful and complex system. Wnn4 is free and Wnn6
62 + is not. Wnn uses grammatical hints and probability of word association,
63 + so in principle Wnn can be cleverer than other methods.
64 +@@ -4800,10 +4800,10 @@
65 + @node Q3.0.6, Q3.0.7, Q3.0.5, Editing
66 + @unnumberedsubsec Q3.0.6: How can you type in special characters in XEmacs?
67 + One way is to use the package @code{x-compose}. Then you can use
68 +-sequences like @kbd{Compose " a} to get ä, etc.
69 ++sequences like @kbd{Compose " a} to get ä, etc.
70 +
71 + Another way is to use the @code{iso-insert} package. Then you can use
72 +-sequences like @kbd{C-x 8 " a} to get ä, etc.
73 ++sequences like @kbd{C-x 8 " a} to get ä, etc.
74 +
75 + @email{glynn@@sensei.co.uk, Glynn Clements} writes:
76 +
77 +@@ -4826,9 +4826,9 @@
78 +
79 + Once you have Multi_key defined, you can use e.g.
80 + @example
81 +- Multi a ' => á
82 +- Multi e " => ë
83 +- Multi c , => ç
84 ++ Multi a ' => á
85 ++ Multi e " => ë
86 ++ Multi c , => ç
87 + @end example
88 +
89 + etc.
90
91 diff --git a/app-editors/xemacs/xemacs-21.4.24-r2.ebuild b/app-editors/xemacs/xemacs-21.4.24-r2.ebuild
92 new file mode 100644
93 index 00000000000..7364c9f7242
94 --- /dev/null
95 +++ b/app-editors/xemacs/xemacs-21.4.24-r2.ebuild
96 @@ -0,0 +1,246 @@
97 +# Copyright 1999-2020 Gentoo Authors
98 +# Distributed under the terms of the GNU General Public License v2
99 +
100 +# Note: xemacs currently does not work with position independent code
101 +# so the build forces the use of the -no-pie option
102 +
103 +EAPI=7
104 +
105 +WANT_AUTOCONF="2.1"
106 +inherit autotools eutils flag-o-matic toolchain-funcs xdg-utils desktop
107 +
108 +DESCRIPTION="highly customizable open source text editor and application development system"
109 +HOMEPAGE="http://www.xemacs.org/"
110 +SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
111 + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
112 +
113 +LICENSE="GPL-2+"
114 +SLOT="0"
115 +KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
116 +IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
117 +
118 +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
119 +
120 +RDEPEND="
121 + berkdb? ( sys-libs/db:= )
122 + gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb] )
123 + >=sys-libs/zlib-1.1.4
124 + >=dev-libs/openssl-0.9.6:0
125 + >=media-libs/audiofile-0.2.3
126 + gpm? ( >=sys-libs/gpm-1.19.6 )
127 + postgres? ( dev-db/postgresql:= )
128 + ldap? ( net-nds/openldap )
129 + nas? ( media-libs/nas )
130 + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
131 + dnd? ( x11-libs/dnd )
132 + motif? ( >=x11-libs/motif-2.3:0 )
133 + athena? ( x11-libs/libXaw )
134 + Xaw3d? ( x11-libs/libXaw3d )
135 + neXt? ( x11-libs/neXtaw )
136 + xface? ( media-libs/compface )
137 + tiff? ( media-libs/tiff:0 )
138 + png? ( >=media-libs/libpng-1.2:0 )
139 + jpeg? ( virtual/jpeg:0 )
140 + canna? ( app-i18n/canna )
141 + !amd64? ( freewnn? ( app-i18n/freewnn ) )
142 + >=sys-libs/ncurses-5.2:=
143 + >=app-eselect/eselect-emacs-1.15"
144 +
145 +DEPEND="${RDEPEND}
146 + >=sys-apps/texinfo-5"
147 +
148 +PDEPEND="app-xemacs/xemacs-base
149 + mule? ( app-xemacs/mule-base )"
150 +
151 +src_unpack() {
152 + unpack ${P}.tar.gz
153 + use neXt && unpack NeXT_XEmacs.tar.gz
154 +}
155 +
156 +src_prepare() {
157 + # see bug 58350, 102540 and 143580
158 + eapply "${FILESDIR}"/xemacs-21.4.19-db.patch
159 + # see bug 576512
160 + eapply "${FILESDIR}"/xemacs-21.4.24-gcc5.patch
161 + eapply "${FILESDIR}"/xemacs-21.4.24-glibc-macro.patch
162 + # see bug 615544
163 + eapply "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch
164 + eapply "${FILESDIR}"/xemacs-21.4.24-makeinfo.patch
165 +
166 + eapply_user
167 +
168 + # Some binaries and man pages are installed under suffixed names
169 + # to avoid collions with their GNU Emacs counterparts (see below).
170 + # Fix internal filename references.
171 + sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
172 + sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
173 + sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
174 +
175 + # Run autoconf. XEmacs tries to be smart by providing a stub
176 + # configure.ac file for autoconf 2.59 but this throws our
177 + # autotools eclass so it must be removed first.
178 + rm "${S}"/configure.ac || die
179 + eautoconf
180 +
181 + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
182 +}
183 +
184 +src_configure() {
185 + local myconf=""
186 +
187 + # Can't build with pie. See bug #75028
188 + test-flags -no-pie >/dev/null && append-flags -no-pie
189 + filter-flags -pie
190 +
191 + if use X; then
192 +
193 + myconf="${myconf} --with-widgets=athena"
194 + myconf="${myconf} --with-dialogs=athena"
195 + myconf="${myconf} --with-menubars=lucid"
196 + myconf="${myconf} --with-scrollbars=lucid"
197 + if use motif ; then
198 + myconf="--with-widgets=motif"
199 + myconf="${myconf} --with-dialogs=motif"
200 + myconf="${myconf} --with-scrollbars=motif"
201 + myconf="${myconf} --with-menubars=lucid"
202 + fi
203 + if use athena ; then
204 + myconf="--with-scrollbars=athena"
205 + fi
206 +
207 + if use Xaw3d; then
208 + myconf="${myconf} --with-athena=3d"
209 + elif use neXt; then
210 + myconf="${myconf} --with-athena=next"
211 + else
212 + myconf="${myconf} --with-athena=xaw"
213 + fi
214 +
215 + use dnd && myconf="${myconf} --with-dragndrop --with-offix"
216 +
217 + myconf="${myconf} $(use_with tiff ) $(use_with png )"
218 + myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
219 + else
220 + myconf="${myconf}
221 + --without-x
222 + --without-xpm
223 + --without-dragndrop
224 + --with-gif=no"
225 + fi
226 +
227 + if use mule ; then
228 + myconf="${myconf} --with-mule"
229 +
230 + if use xim ; then
231 + if use motif ; then
232 + myconf="${myconf} --with-xim=motif"
233 + else
234 + myconf="${myconf} --with-xim=xlib"
235 + fi
236 + else
237 + myconf="${myconf} --with-xim=no"
238 + fi
239 +
240 + myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
241 + fi
242 +
243 + # This determines the type of sounds we are playing
244 + local soundconf="native"
245 +
246 + # This determines how these sounds should be played
247 + use nas && soundconf="${soundconf},nas"
248 +
249 + myconf="${myconf} --with-sound=${soundconf}"
250 +
251 + if use gdbm || use berkdb ; then
252 + use gdbm && mydb="gdbm"
253 +
254 + use berkdb && mydb="${mydb},berkdb"
255 +
256 + myconf="${myconf} --with-database=${mydb}"
257 + else
258 + myconf="${myconf} --without-database"
259 + fi
260 +
261 + # Enabling modules will cause segfaults outside the XEmacs build directory
262 + use ia64 && myconf="${myconf} --without-modules"
263 +
264 + einfo "${myconf}"
265 +
266 + # see bug 576512
267 + append-cflags -fgnu89-inline
268 +
269 + # Don't use econf because it uses options which this configure
270 + # script does not understand (like --host).
271 + ./configure ${myconf} ${EXTRA_ECONF} \
272 + $(use_with gif ) \
273 + $(use_with gpm ) \
274 + $(use_with postgres postgresql ) \
275 + $(use_with ldap ) \
276 + $(use_with eolconv file-coding ) \
277 + $(use_with pop ) \
278 + --compiler=$(tc-getCC) \
279 + --prefix=/usr \
280 + --with-ncurses \
281 + --with-system-malloc \
282 + --with-msw=no \
283 + --mail-locking=flock \
284 + --with-site-lisp=yes \
285 + --with-site-modules=yes \
286 + || die "The configure script failed to run properly"
287 +}
288 +
289 +src_install() {
290 + emake prefix="${D}"/usr \
291 + mandir="${D}"/usr/share/man/man1 \
292 + infodir="${D}"/usr/share/info \
293 + install gzip-el || die "emake install failed"
294 +
295 + # Rename some applications installed in bin so that it is clear
296 + # which application installed them and so that conflicting
297 + # packages (emacs) can't clobber the actual applications.
298 + # Addresses bug #62991.
299 + for i in b2m ctags etags rcs-checkin gnuclient gnudoit gnuattach; do
300 + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
301 + done
302 +
303 + # rename man pages
304 + for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
305 + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
306 + done
307 +
308 + # install base packages directories
309 + dodir /usr/lib/xemacs/xemacs-packages/
310 + dodir /usr/lib/xemacs/site-packages/
311 + dodir /usr/lib/xemacs/site-modules/
312 + dodir /usr/lib/xemacs/site-lisp/
313 +
314 + if use mule;
315 + then
316 + dodir /usr/lib/xemacs/mule-packages
317 + fi
318 +
319 + # remove extraneous info files
320 + cd "${D}"/usr/share/info
321 + rm -f dir info.info texinfo* termcap* standards*
322 +
323 + cd "${S}"
324 + dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
325 + dodoc "${FILESDIR}"/README.Gentoo
326 +
327 + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
328 +
329 + domenu "${FILESDIR}"/${PN}.desktop
330 +}
331 +
332 +pkg_postinst() {
333 + eselect emacs update ifunset
334 + eselect gnuclient update ifunset
335 + xdg_desktop_database_update
336 +}
337 +
338 +pkg_postrm() {
339 + eselect emacs update ifunset
340 + eselect gnuclient update ifunset
341 + xdg_desktop_database_update
342 +}