128 lines
4.1 KiB
Bash
128 lines
4.1 KiB
Bash
# Template file for 'emacs'
|
|
pkgname=emacs
|
|
version=27.2
|
|
revision=1
|
|
build_style=gnu-configure
|
|
configure_args="--with-file-notification=inotify --with-modules
|
|
$(vopt_with jpeg) $(vopt_with tiff) $(vopt_with gif) $(vopt_with png)
|
|
$(vopt_with xpm) $(vopt_with svg rsvg) $(vopt_with imagemagick)
|
|
$(vopt_with xml xml2) $(vopt_with gnutls) $(vopt_with sound) $(vopt_with m17n m17n-flt)
|
|
$(vopt_with json) $(vopt_with harfbuzz) $(vopt_with cairo) $(vopt_with gmp libgmp)"
|
|
hostmakedepends="pkg-config tar"
|
|
makedepends="ncurses-devel libXaw-devel gtk+-devel gtk+3-devel webkit2gtk-devel
|
|
dbus-devel acl-devel
|
|
$(vopt_if jpeg libjpeg-turbo-devel) $(vopt_if tiff tiff-devel)
|
|
$(vopt_if gif giflib-devel) $(vopt_if png libpng-devel) $(vopt_if xpm libXpm-devel)
|
|
$(vopt_if svg librsvg-devel) $(vopt_if imagemagick libmagick-devel)
|
|
$(vopt_if xml libxml2-devel) $(vopt_if gnutls gnutls-devel)
|
|
$(vopt_if sound alsa-lib-devel) $(vopt_if m17n m17n-lib-devel)
|
|
$(vopt_if json jansson-devel) $(vopt_if harfbuzz harfbuzz-devel)
|
|
$(vopt_if cairo cairo-devel) $(vopt_if gmp gmp-devel)"
|
|
depends="emacs-common-${version}_${revision}"
|
|
short_desc="GNU Emacs editor"
|
|
maintainer="Leah Neukirchen <leah@vuxu.org>"
|
|
license="GPL-3.0-or-later"
|
|
homepage="http://www.gnu.org/software/emacs/"
|
|
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.xz"
|
|
checksum=b4a7cc4e78e63f378624e0919215b910af5bb2a0afc819fad298272e9f40c1b9
|
|
nocross=yes
|
|
nopie=yes
|
|
|
|
# Package build options
|
|
build_options="jpeg tiff gif png xpm svg xml imagemagick gnutls sound m17n dbus json harfbuzz cairo gmp"
|
|
desc_option_xpm="Enable support for XPM images"
|
|
desc_option_sound="Enable support for sound"
|
|
desc_option_m17n="Enable support for m17n multilingual text processing"
|
|
build_options_default="jpeg tiff gif png xpm svg xml gnutls sound m17n json gmp"
|
|
|
|
pre_configure() {
|
|
# Just configuring in different directories results in
|
|
# spurious emacs rebuilds with incompatible build numbers.
|
|
mkdir -p nox
|
|
mv * nox || true
|
|
cp -a nox x11
|
|
cp -a nox gtk2
|
|
cp -a nox gtk3
|
|
}
|
|
|
|
do_configure() {
|
|
cd $wrksrc/nox
|
|
./configure --without-x $(vopt_with dbus) ${configure_args}
|
|
|
|
cd $wrksrc/x11
|
|
./configure --with-x-toolkit=athena --without-toolkit-scroll-bars \
|
|
$(vopt_with dbus) --without-gconf --without-gsettings \
|
|
${configure_args}
|
|
|
|
cd $wrksrc/gtk2
|
|
./configure --with-x-toolkit=gtk2 ${configure_args}
|
|
|
|
cd $wrksrc/gtk3
|
|
./configure --with-x-toolkit=gtk3 --with-xwidgets ${configure_args}
|
|
}
|
|
|
|
do_build() {
|
|
make ${makejobs} -C nox
|
|
make ${makejobs} -C x11
|
|
make ${makejobs} -C gtk2
|
|
make ${makejobs} -C gtk3
|
|
}
|
|
|
|
do_install() {
|
|
make DESTDIR=$DESTDIR -C ${wrksrc}/nox install
|
|
rm -f ${DESTDIR}/usr/bin/ctags
|
|
rm -f ${DESTDIR}/usr/lib/systemd/user/emacs.service
|
|
rm -f ${DESTDIR}/usr/share/man/man1/ctags.1*
|
|
rm -f ${DESTDIR}/usr/share/info/info.info
|
|
rm -rf ${DESTDIR}/usr/share/applications
|
|
rm -rf ${DESTDIR}/usr/share/icons
|
|
}
|
|
|
|
emacs-common_package() {
|
|
short_desc+=" - common files"
|
|
pkg_install() {
|
|
vmove usr/share/emacs
|
|
vmove usr/share/man
|
|
vmove usr/share/info
|
|
rm -f ${PKGDESTDIR}/usr/share/info/info.info.gz
|
|
}
|
|
}
|
|
|
|
emacs-x11_package() {
|
|
depends="emacs-common-${version}_${revision}"
|
|
provides="emacs-${version}_${revision}"
|
|
replaces="emacs>=0"
|
|
short_desc+=" - X11 version"
|
|
pkg_install() {
|
|
make DESTDIR=${PKGDESTDIR} -C ${wrksrc}/x11 install
|
|
rm -f ${PKGDESTDIR}/usr/bin/ctags
|
|
rm -rf ${PKGDESTDIR}/usr/share
|
|
rm -rf ${PKGDESTDIR}/usr/lib
|
|
}
|
|
}
|
|
|
|
emacs-gtk2_package() {
|
|
depends="emacs-common-${version}_${revision} desktop-file-utils hicolor-icon-theme"
|
|
provides="emacs-${version}_${revision}"
|
|
replaces="emacs>=0"
|
|
short_desc+=" - GTK+2 version"
|
|
pkg_install() {
|
|
make DESTDIR=${PKGDESTDIR} -C ${wrksrc}/gtk2 install
|
|
rm -f ${PKGDESTDIR}/usr/bin/ctags
|
|
rm -rf ${PKGDESTDIR}/usr/share/{emacs,man,info}
|
|
rm -rf ${PKGDESTDIR}/usr/lib
|
|
}
|
|
}
|
|
|
|
emacs-gtk3_package() {
|
|
depends="emacs-common-${version}_${revision} desktop-file-utils hicolor-icon-theme"
|
|
provides="emacs-${version}_${revision}"
|
|
replaces="emacs>=0"
|
|
short_desc+=" - GTK+3 version"
|
|
pkg_install() {
|
|
make DESTDIR=${PKGDESTDIR} -C ${wrksrc}/gtk3 install
|
|
rm -f ${PKGDESTDIR}/usr/bin/ctags
|
|
rm -rf ${PKGDESTDIR}/usr/share/{emacs,man,info}
|
|
rm -rf ${PKGDESTDIR}/usr/lib
|
|
}
|
|
}
|