blob: 438cf665be949ec07e5d666f046381c271b01a7a (
plain) (
tree)
|
|
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Horst Burkhardt <horst@adelielinux.org>
pkgname=emacs
pkgver=26.2
pkgrel=0
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
arch="all"
options="!check !dbg"
url="https://www.gnu.org/software/emacs/"
license="GPL-3.0+"
depends="emacs-nox"
makedepends="autoconf automake linux-headers paxmark
librsvg-dev giflib-dev libxpm-dev gtk+2.0-dev gconf-dev alsa-lib-dev
glib-dev fontconfig-dev libpng-dev
libxml2-dev pango-dev tiff-dev libjpeg-turbo-dev ncurses-dev
ncurses-libs gnutls-dev libxaw-dev"
subpackages="$pkgname-doc $pkgname-nox $pkgname-x11 $pkgname-gtk2"
source="https://ftp.gnu.org/gnu/emacs/emacs-$pkgver.tar.xz
gamedir.patch"
prepare() {
default_prepare
./autogen.sh
}
_build_variant() {
cd "$builddir/$1"
shift
CFLAGS=-fno-pie \
LDFLAGS=-no-pie \
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
--localstatedir=/var \
--without-makeinfo \
--with-gameuser=:games \
"${@}"
make
}
_build_x11() {
_build_variant x11 \
--with-x-toolkit=athena \
--without-toolkit-scroll-bars \
--without-dbus \
--with-xft \
--with-jpeg=yes \
--with-tiff=yes
}
_build_gtk2() {
_build_variant gtk2 \
--with-x-toolkit=gtk2 \
--with-xft \
--with-jpeg=yes \
--with-tiff=no
}
_build_nox() {
_build_variant nox \
--without-sound \
--without-x \
--without-file-notification
}
build() {
mkdir -p nox
mv * nox || true
cp -a nox gtk2
cp -a nox x11
_build_x11
_build_nox
_build_gtk2
}
package() {
mkdir -p "$pkgdir"
}
doc() {
mkdir -p "$subpkgdir"
cd "$builddir/gtk2"
make DESTDIR="$subpkgdir" install
# remove conflict with ctags package
mv "$subpkgdir"/usr/share/man/man1/ctags.1.gz "$subpkgdir"/usr/share/man/man1/ctags.emacs.1.gz
# only keep info and man directories, all other is in the specific package
rm -rf "$subpkgdir"/usr/bin \
"$subpkgdir"/usr/lib \
"$subpkgdir"/usr/share/appdata \
"$subpkgdir"/usr/share/applications \
"$subpkgdir"/usr/share/emacs \
"$subpkgdir"/usr/share/icons \
"$subpkgdir"/var
}
_subpackage() {
cd "$builddir/$1"
make DESTDIR="$subpkgdir" install
# remove conflict with ctags package
mv "$subpkgdir"/usr/bin/ctags "$subpkgdir"/usr/bin/ctags.emacs
rm -rf "$subpkgdir"/usr/share/info \
"$subpkgdir"/usr/share/man
# fix user/root permissions on usr/share files
find "$subpkgdir"/usr/share/emacs/ -exec chown root:root {} \;
find "$subpkgdir"/usr/lib -perm -g+s,g+x ! -type d -exec chmod g-s {} \;
# fix perms on /var/games
chmod 775 "$subpkgdir"/var/games
chmod 775 "$subpkgdir"/var/games/emacs
chmod 664 "$subpkgdir"/var/games/emacs/*
chown -R root:games "$subpkgdir"/var/games
}
nox() {
pkgdesc="$pkgdesc - terminal frontend"
depends="!emacs-x11 !emacs-gtk2"
_subpackage nox
}
x11() {
pkgdesc="$pkgdesc - X11 frontend"
depends="!emacs-nox !emacs-gtk2 hicolor-icon-theme desktop-file-utils"
_subpackage x11
}
gtk2() {
pkgdesc="$pkgdesc - GTK+ 2 frontend"
depends="!emacs-nox !emacs-x11 hicolor-icon-theme desktop-file-utils"
_subpackage gtk2
}
sha512sums="c223ff5c51ca8bdf887bacb2dc37b08a637d39ed6f887cc24f67397e46fe5fdb68f33f21b97300b985c749f32aa09080d33103271637ed4ce5d9f2ea34ce9fe1 emacs-26.2.tar.xz
8898f309aeaf274366849bd5c56c8e2a1be94dfee2f01b20f1700bf26203f49b9600237e5090fc3d8eaad3ea246f803ffd493d0c04cb3512084a4e3bf58f8f5e gamedir.patch"
|