diff options
Diffstat (limited to 'system/emacs/APKBUILD')
-rw-r--r-- | system/emacs/APKBUILD | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/system/emacs/APKBUILD b/system/emacs/APKBUILD new file mode 100644 index 000000000..0092c9070 --- /dev/null +++ b/system/emacs/APKBUILD @@ -0,0 +1,140 @@ +# Contributor: Timo Teräs <timo.teras@iki.fi> +# Maintainer: Horst Burkhardt <horst@adelielinux.org> +pkgname=emacs +pkgver=26.1 +pkgrel=0 +pkgdesc="The extensible, customizable, self-documenting real-time display editor" +arch="all" +depends="emacs-nox" +options="!check !dbg" +url="https://www.gnu.org/software/emacs/emacs.html" +license="GPL-3.0" +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="ftp://ftp.gnu.org/gnu/emacs/emacs-$pkgver.tar.xz + gamedir.patch" + +prepare() { + cd "$builddir/$1" + default_prepare || return 1 + ./autogen.sh || return 1 +} + +builddir="$srcdir/emacs-$pkgver" +_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() { + cd "$builddir" + 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 - without X11" + depends="!emacs-x11 !emacs-gtk2" + _subpackage nox +} + +x11() { + pkgdesc="$pkgdesc - with X11" + depends="!emacs-nox !emacs-gtk2 hicolor-icon-theme desktop-file-utils" + _subpackage x11 +} + +gtk2() { + pkgdesc="$pkgdesc - with GTK2" + depends="!emacs-nox !emacs-x11 hicolor-icon-theme desktop-file-utils" + _subpackage gtk2 +} + +sha512sums="537c2cfdd281151b360002419dde6280c313e07a937ed96405c67f754b3401ec5541091a3c0aa6690929bc33dd79e8e0d8844e7a6b014b7798c63cb15de210c2 emacs-26.1.tar.xz +8898f309aeaf274366849bd5c56c8e2a1be94dfee2f01b20f1700bf26203f49b9600237e5090fc3d8eaad3ea246f803ffd493d0c04cb3512084a4e3bf58f8f5e gamedir.patch" |