/[gentoo-x86]/app-editors/xemacs/xemacs-21.4.22-r2.ebuild
Gentoo

Contents of /app-editors/xemacs/xemacs-21.4.22-r2.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (show annotations) (download)
Wed Oct 24 18:58:39 2012 UTC (21 months ago) by ulm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.15: +2 -2 lines
Update dependency after package move from x11-libs/openmotif to x11-libs/motif.

(Portage version: 2.1.11.30/cvs/Linux x86_64, signed Manifest commit with key E7BE08CA7DC6EA25)

1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/app-editors/xemacs/xemacs-21.4.22-r2.ebuild,v 1.15 2012/09/05 08:48:48 jlec Exp $
4
5 # Note: xemacs currently does not work with a hardened profile. If you
6 # want to use xemacs on a hardened profile then compile with the
7 # -nopie flag in CFLAGS or help fix bug #75028.
8
9 EAPI="1"
10
11 export WANT_AUTOCONF="2.1"
12 inherit autotools eutils toolchain-funcs
13
14 DESCRIPTION="highly customizable open source text editor and application development system"
15 HOMEPAGE="http://www.xemacs.org/"
16 SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
17 http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
18
19 LICENSE="GPL-2"
20 SLOT="0"
21 KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86"
22 IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
23
24 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
25
26 RDEPEND="
27 berkdb? ( sys-libs/db )
28 gdbm? ( >=sys-libs/gdbm-1.8.3 )
29 >=sys-libs/zlib-1.1.4
30 >=dev-libs/openssl-0.9.6
31 >=media-libs/audiofile-0.2.3
32 gpm? ( >=sys-libs/gpm-1.19.6 )
33 postgres? ( dev-db/postgresql-base )
34 ldap? ( net-nds/openldap )
35 nas? ( media-libs/nas )
36 X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
37 dnd? ( x11-libs/dnd )
38 motif? ( >=x11-libs/motif-2.3:0 )
39 athena? ( x11-libs/libXaw )
40 Xaw3d? ( x11-libs/libXaw3d )
41 neXt? ( x11-libs/neXtaw )
42 xface? ( media-libs/compface )
43 tiff? ( media-libs/tiff )
44 png? ( >=media-libs/libpng-1.2 )
45 jpeg? ( virtual/jpeg )
46 canna? ( app-i18n/canna )
47 !amd64? ( freewnn? ( app-i18n/freewnn ) )
48 >=sys-libs/ncurses-5.2
49 >=app-admin/eselect-emacs-1.2"
50 DEPEND="${DEPEND}"
51
52 PDEPEND="app-xemacs/xemacs-base
53 mule? ( app-xemacs/mule-base )"
54
55 src_unpack() {
56 unpack ${P}.tar.gz
57 use neXt && unpack NeXT_XEmacs.tar.gz
58
59 cd "${S}"
60 epatch "${FILESDIR}"/xemacs-21.4.19-texi.patch
61
62 # see bug 58350, 102540 and 143580
63 epatch "${FILESDIR}"/xemacs-21.4.19-db.patch
64
65 # Security bug #216880
66 epatch "${FILESDIR}"/xemacs-21.4.21-vcdiff.patch
67
68 # Security bug #275397
69 epatch "${FILESDIR}"/${P}-large-images.patch
70
71 # Make sure to include deprecated LDAP symbols to avoid runtime
72 # crashes.
73 epatch "${FILESDIR}"/${P}-deprecated-ldap.patch
74
75 # Fix compilation with libpng 1.5, bug 384461
76 epatch "${FILESDIR}"/${P}-libpng15.patch
77
78 # Run autoconf. XEmacs tries to be smart by providing a stub
79 # configure.ac file for autoconf 2.59 but this throws our
80 # autotools eclass so it must be removed first.
81 rm "${S}"/configure.ac
82 eautoconf
83
84 use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
85 }
86
87 src_compile() {
88 local myconf=""
89
90 if use X; then
91
92 myconf="${myconf} --with-widgets=athena"
93 myconf="${myconf} --with-dialogs=athena"
94 myconf="${myconf} --with-menubars=lucid"
95 myconf="${myconf} --with-scrollbars=lucid"
96 if use motif ; then
97 myconf="--with-widgets=motif"
98 myconf="${myconf} --with-dialogs=motif"
99 myconf="${myconf} --with-scrollbars=motif"
100 myconf="${myconf} --with-menubars=lucid"
101 fi
102 if use athena ; then
103 myconf="--with-scrollbars=athena"
104 fi
105
106 if use Xaw3d; then
107 myconf="${myconf} --with-athena=3d"
108 elif use neXt; then
109 myconf="${myconf} --with-athena=next"
110 else
111 myconf="${myconf} --with-athena=xaw"
112 fi
113
114 use dnd && myconf="${myconf} --with-dragndrop --with-offix"
115
116 myconf="${myconf} $(use_with tiff ) $(use_with png )"
117 myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
118 else
119 myconf="${myconf}
120 --without-x
121 --without-xpm
122 --without-dragndrop
123 --with-gif=no"
124 fi
125
126 if use mule ; then
127 myconf="${myconf} --with-mule"
128
129 if use xim ; then
130 if use motif ; then
131 myconf="${myconf} --with-xim=motif"
132 else
133 myconf="${myconf} --with-xim=xlib"
134 fi
135 else
136 myconf="${myconf} --with-xim=no"
137 fi
138
139 myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
140 fi
141
142 # This determines the type of sounds we are playing
143 local soundconf="native"
144
145 # This determines how these sounds should be played
146 use nas && soundconf="${soundconf},nas"
147
148 myconf="${myconf} --with-sound=${soundconf}"
149
150 if use gdbm || use berkdb ; then
151 use gdbm && mydb="gdbm"
152
153 use berkdb && mydb="${mydb},berkdb"
154
155 myconf="${myconf} --with-database=${mydb}"
156 else
157 myconf="${myconf} --without-database"
158 fi
159
160 # fixes #21264, this should be fixed in 21.4.21 and has been fixed
161 # in 21.5 for sure. Now that 21.4.21 is out there is no real
162 # evidence that this indeed got fixed, so keep these exceptions
163 # for now.
164 use alpha && myconf="${myconf} --with-system-malloc"
165 use ppc64 && myconf="${myconf} --with-system-malloc"
166 use ia64 && myconf="${myconf} --with-system-malloc"
167
168 # Enabling modules will cause segfaults outside the XEmacs build directory
169 use ia64 && myconf="${myconf} --without-modules"
170
171 einfo "${myconf}"
172
173 # Don't use econf because it uses options which this configure
174 # script does not understand (like --host).
175 ./configure ${myconf} ${EXTRA_ECONF} \
176 $(use_with gif ) \
177 $(use_with gpm ) \
178 $(use_with postgres postgresql ) \
179 $(use_with ldap ) \
180 $(use_with eolconv file-coding ) \
181 $(use_with pop ) \
182 --compiler=$(tc-getCC) \
183 --prefix=/usr \
184 --with-ncurses \
185 --with-msw=no \
186 --mail-locking=flock \
187 --with-site-lisp=yes \
188 --with-site-modules=yes \
189 || die "The configure script failed to run properly"
190
191 emake || die "emake failed"
192 }
193
194 src_install() {
195 emake prefix="${D}"/usr \
196 mandir="${D}"/usr/share/man/man1 \
197 infodir="${D}"/usr/share/info \
198 install gzip-el || die "emake install failed"
199
200 # Rename some applications installed in bin so that it is clear
201 # which application installed them and so that conflicting
202 # packages (emacs) can't clobber the actual applications.
203 # Addresses bug #62991.
204 for i in b2m ctags etags rcs-checkin ; do
205 mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
206 done
207
208 # rename man pages
209 for i in ctags etags; do
210 mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
211 done
212
213 # install base packages directories
214 dodir /usr/lib/xemacs/xemacs-packages/
215 dodir /usr/lib/xemacs/site-packages/
216 dodir /usr/lib/xemacs/site-modules/
217 dodir /usr/lib/xemacs/site-lisp/
218
219 if use mule;
220 then
221 dodir /usr/lib/xemacs/mule-packages
222 fi
223
224 # remove extraneous info files
225 cd "${D}"/usr/share/info
226 rm -f dir info.info texinfo* termcap* standards*
227
228 cd "${S}"
229 dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
230 dodoc "${FILESDIR}"/README.Gentoo
231
232 newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
233
234 domenu "${FILESDIR}"/${PN}.desktop
235 }
236
237 pkg_postinst() {
238 eselect emacs update ifunset
239 }
240
241 pkg_postrm() {
242 eselect emacs update ifunset
243 }

  ViewVC Help
Powered by ViewVC 1.1.20