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/files/, app-editors/xemacs/
Date: Sat, 07 Mar 2020 12:52:31
Message-Id: 1583585497.de1c268b82e4bd5c4781231f6359ad1afe6ba672.matsl@gentoo
1 commit: de1c268b82e4bd5c4781231f6359ad1afe6ba672
2 Author: Mats Lidell <matsl <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 7 12:51:37 2020 +0000
4 Commit: Mats Lidell <matsl <AT> gentoo <DOT> org>
5 CommitDate: Sat Mar 7 12:51:37 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de1c268b
7
8 app-editors/xemacs: Fix configure warning, EAPI bump
9
10 Patch configure to locate libc in /lib64 and bump EAPI.
11
12 bug: https://bugs.gentoo.org/711040
13 Package-Manager: Portage-2.3.89, Repoman-2.3.20
14 Signed-off-by: Mats Lidell <matsl <AT> gentoo.org>
15
16 .../xemacs-21.5.34-configure-libc-version.patch | 24 ++
17 app-editors/xemacs/xemacs-21.5.34-r5.ebuild | 259 +++++++++++++++++++++
18 2 files changed, 283 insertions(+)
19
20 diff --git a/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch b/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch
21 new file mode 100644
22 index 00000000000..fdea052fba1
23 --- /dev/null
24 +++ b/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch
25 @@ -0,0 +1,24 @@
26 +diff -r 3ca291c0f7e3 configure
27 +--- a/configure Sun Jul 28 10:17:08 2019 +0100
28 ++++ b/configure Fri Mar 06 21:27:48 2020 +0100
29 +@@ -9987,7 +9987,7 @@
30 + libc_version="GNU libc $libc_version (Debian)"
31 + fi
32 + if test -z "$libc_version"; then
33 +- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
34 ++ libc_version=`ls /lib{64,}/libc-*.so 2>/dev/null | head -n1 | sed -e 's,/lib\(64\|\)/libc-\(.*\)\.so,\2,'`
35 + fi
36 + ;;
37 +
38 +diff -r 3ca291c0f7e3 configure.ac
39 +--- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
40 ++++ b/configure.ac Fri Mar 06 21:27:48 2020 +0100
41 +@@ -2347,7 +2347,7 @@
42 + fi
43 + dnl #### Tested on Debian, does this actually work elsewhere? ;-)
44 + if test -z "$libc_version"; then
45 +- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
46 ++ libc_version=`ls /lib{64,}/libc-*.so 2>/dev/null | head -n1 | sed -e 's,/lib\(64\|\)/libc-\(.*\)\.so,\2,'`
47 + fi
48 + ;;
49 +
50
51 diff --git a/app-editors/xemacs/xemacs-21.5.34-r5.ebuild b/app-editors/xemacs/xemacs-21.5.34-r5.ebuild
52 new file mode 100644
53 index 00000000000..3b27d36313f
54 --- /dev/null
55 +++ b/app-editors/xemacs/xemacs-21.5.34-r5.ebuild
56 @@ -0,0 +1,259 @@
57 +# Copyright 1999-2020 Gentoo Authors
58 +# Distributed under the terms of the GNU General Public License v2
59 +
60 +# Note: xemacs currently does not work with position independent code
61 +# so the build forces the use of the -no-pie option
62 +
63 +EAPI=7
64 +
65 +inherit autotools eutils flag-o-matic multilib xdg-utils desktop
66 +
67 +DESCRIPTION="highly customizable open source text editor and application development system"
68 +HOMEPAGE="http://www.xemacs.org/"
69 +SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
70 + http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
71 +
72 +LICENSE="GPL-3+"
73 +SLOT="0"
74 +KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
75 +IUSE="alsa debug eolconv gif gpm pop postgres ldap libressl xface nas dnd X jpeg tiff png mule motif freewnn canna xft xim athena neXt Xaw3d gdbm berkdb"
76 +
77 +X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
78 +
79 +RDEPEND="
80 + berkdb? ( >=sys-libs/db-4:= !!<sys-libs/db-4 )
81 + gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
82 + >=sys-libs/zlib-1.1.4
83 + !libressl? ( >=dev-libs/openssl-0.9.6:0 )
84 + libressl? ( dev-libs/libressl )
85 + >=media-libs/audiofile-0.2.3
86 + gpm? ( >=sys-libs/gpm-1.19.6 )
87 + postgres? ( dev-db/postgresql:= )
88 + ldap? ( net-nds/openldap )
89 + alsa? ( media-libs/alsa-lib )
90 + nas? ( media-libs/nas )
91 + X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
92 + dnd? ( x11-libs/dnd )
93 + motif? ( >=x11-libs/motif-2.3:0[xft=] )
94 + athena? ( x11-libs/libXaw )
95 + Xaw3d? ( x11-libs/libXaw3d )
96 + xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
97 + neXt? ( x11-libs/neXtaw )
98 + xface? ( media-libs/compface )
99 + tiff? ( media-libs/tiff:0 )
100 + png? ( >=media-libs/libpng-1.2:0 )
101 + jpeg? ( virtual/jpeg:0 )
102 + canna? ( app-i18n/canna )
103 + freewnn? ( app-i18n/freewnn )
104 + >=sys-libs/ncurses-5.2:=
105 + >=app-eselect/eselect-emacs-1.15"
106 +
107 +DEPEND="${RDEPEND}
108 + virtual/pkgconfig"
109 +
110 +PDEPEND="app-xemacs/xemacs-base
111 + mule? ( app-xemacs/mule-base )"
112 +
113 +src_unpack() {
114 + default_src_unpack
115 +
116 + use neXt && unpack NeXT_XEmacs.tar.gz
117 +}
118 +
119 +src_prepare() {
120 + use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
121 + find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
122 + eapply "${FILESDIR}/${P}-ncurses-tinfo.patch"
123 + eapply "${FILESDIR}/${P}-gcc5.patch"
124 + eapply "${FILESDIR}/${P}-glibc-macro.patch"
125 + eapply "${FILESDIR}/${P}-as-needed.patch"
126 + eapply "${FILESDIR}/${P}-configure-libc-version.patch"
127 +
128 + eapply_user
129 +
130 + # Some binaries and man pages are installed under suffixed names
131 + # to avoid collions with their GNU Emacs counterparts (see below).
132 + # Fix internal filename references.
133 + sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
134 + sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
135 + sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
136 +}
137 +
138 +src_configure() {
139 + local myconf=""
140 +
141 + # bug #639642
142 + test-flags -no-pie >/dev/null && append-flags -no-pie
143 + filter-flags -pie
144 +
145 + if use X; then
146 +
147 + myconf="${myconf} --with-widgets=athena"
148 + myconf="${myconf} --with-dialogs=athena"
149 + myconf="${myconf} --with-menubars=lucid"
150 + myconf="${myconf} --with-scrollbars=lucid"
151 + if use motif ; then
152 + myconf="--with-widgets=motif"
153 + myconf="${myconf} --with-dialogs=motif"
154 + myconf="${myconf} --with-scrollbars=motif"
155 + myconf="${myconf} --with-menubars=lucid"
156 + fi
157 + if use athena or use Xaw3d ; then
158 + myconf="--with-scrollbars=athena"
159 + fi
160 +
161 + if use Xaw3d; then
162 + myconf="${myconf} --with-athena=3d"
163 + elif use neXt; then
164 + myconf="${myconf} --with-athena=next"
165 + else
166 + myconf="${myconf} --with-athena=xaw"
167 + fi
168 +
169 + use dnd && myconf="${myconf} --with-dragndrop --with-offix"
170 +
171 + myconf="${myconf} $(use_with tiff )"
172 + myconf="${myconf} $(use_with png )"
173 + myconf="${myconf} $(use_with jpeg )"
174 + myconf="${myconf} $(use_with xface )"
175 +
176 + use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" ||
177 + myconf="${myconf} --with-xft=no"
178 +
179 + else
180 + myconf="${myconf}
181 + --without-x
182 + --without-xpm
183 + --without-dragndrop
184 + --with-xft=no
185 + --with-gif=no"
186 + fi
187 +
188 + if use mule ; then
189 + myconf="${myconf} --with-mule"
190 +
191 + if use xim ; then
192 + if use motif ; then
193 + myconf="${myconf} --with-xim=motif"
194 + else
195 + myconf="${myconf} --with-xim=xlib"
196 + fi
197 + else
198 + myconf="${myconf} --with-xim=no"
199 + fi
200 +
201 + myconf="${myconf} $(use_with canna )"
202 + myconf="${myconf} $(use_with freewnn wnn )"
203 + fi
204 +
205 + # This determines the type of sounds we are playing
206 + local soundconf="native"
207 +
208 + # This determines how these sounds should be played
209 + use nas && soundconf="${soundconf},nas"
210 + use alsa && soundconf="${soundconf},alsa"
211 +
212 + myconf="${myconf} --with-sound=${soundconf}"
213 +
214 + if use gdbm || use berkdb ; then
215 + use gdbm && mydb="gdbm"
216 + use berkdb && mydb="${mydb},berkdb"
217 +
218 + myconf="${myconf} --with-database=${mydb}"
219 + else
220 + myconf="${myconf} --without-database"
221 + fi
222 +
223 + use debug && myconf="${myconf} --with-debug" ||
224 + myconf="${myconf} --with-optimization"
225 +
226 + econf ${myconf} \
227 + $(use_with gif ) \
228 + $(use_with gpm ) \
229 + $(use_with postgres postgresql ) \
230 + $(use_with ldap ) \
231 + $(use_with eolconv file-coding ) \
232 + $(use_with pop ) \
233 + --prefix=/usr \
234 + --with-ncurses \
235 + --with-msw=no \
236 + --with-mail-locking=flock \
237 + --with-site-lisp=yes \
238 + --with-site-modules=yes \
239 + --with-newgc \
240 + --with-system-malloc \
241 + --enable-option-checking=no \
242 + --with-last-packages=/usr/lib/xemacs
243 +}
244 +
245 +src_compile() {
246 + emake EMACSLOADPATH="${S}"/lisp
247 +}
248 +
249 +src_install() {
250 + emake prefix="${D}"/usr \
251 + mandir="${D}"/usr/share/man/man1 \
252 + infodir="${D}"/usr/share/info \
253 + libdir="${D}"/usr/$(get_libdir) \
254 + datadir="${D}"/usr/share \
255 + install
256 +
257 + # Rename some applications installed in bin so that it is clear
258 + # which application installed them and so that conflicting
259 + # packages (emacs) can't clobber the actual applications.
260 + # Addresses bug #62991.
261 + for i in b2m ctags etags gnuclient gnudoit gnuattach; do
262 + mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
263 + done
264 +
265 + # rename man pages
266 + for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
267 + mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
268 + done
269 +
270 + # install base packages directories
271 + dodir /usr/lib/xemacs/xemacs-packages/
272 + dodir /usr/lib/xemacs/site-packages/
273 + dodir /usr/lib/xemacs/site-modules/
274 + dodir /usr/lib/xemacs/site-lisp/
275 +
276 + if use mule;
277 + then
278 + dodir /usr/lib/xemacs/mule-packages
279 + fi
280 +
281 + # remove extraneous info files
282 + cd "${D}"/usr/share/info
283 + rm -f dir info.info texinfo* termcap* standards*
284 +
285 + cd "${S}"
286 + dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README*
287 +
288 + newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
289 +
290 + domenu "${FILESDIR}"/${PN}.desktop
291 +}
292 +
293 +pkg_postinst() {
294 + eselect emacs update ifunset
295 + eselect gnuclient update ifunset
296 + xdg_desktop_database_update
297 +
298 + einfo "If you are upgrading from XEmacs 21.4 you should note the following"
299 + einfo "incompatibilities:"
300 + einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5"
301 + einfo "- The X resource class has changed from Emacs to XEmacs,"
302 + einfo " settings in your .Xdefaults file should be updated accordingly."
303 +
304 + if use xft;
305 + then
306 + einfo "You have enabled Xft font support. Xft requires font names to be provided"
307 + einfo "in a different way, so you may need to adjust your .Xdefaults accordingly."
308 + fi
309 +}
310 +
311 +pkg_postrm() {
312 + eselect emacs update ifunset
313 + eselect gnuclient update ifunset
314 + xdg_desktop_database_update
315 +}