diff options
author | stf <7o5rfu92t@ctrlc.hu> | 2016-11-15 16:11:37 +0000 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2016-11-16 15:52:28 +0100 |
commit | 4a3a8807fb455042bc4cc8641583511ada295222 (patch) | |
tree | 504a3c8b38d2232850aaf20149f4d66d68132dcd /community/emacs | |
parent | e986c6ab3e496f884725c5e251832b9f2274e574 (diff) | |
download | aports-4a3a8807fb455042bc4cc8641583511ada295222.tar.bz2 aports-4a3a8807fb455042bc4cc8641583511ada295222.tar.xz |
community/emacs cleaned up testing&unmaintained
bumped to v25.1, added nox, x11 and gtk2 variants
Diffstat (limited to 'community/emacs')
-rw-r--r-- | community/emacs/APKBUILD | 153 | ||||
-rw-r--r-- | community/emacs/gamedir.patch | 11 | ||||
-rw-r--r-- | community/emacs/musl.patch | 87 | ||||
-rw-r--r-- | community/emacs/noaslr-dump.patch | 20 |
4 files changed, 271 insertions, 0 deletions
diff --git a/community/emacs/APKBUILD b/community/emacs/APKBUILD new file mode 100644 index 0000000000..b2efeb8380 --- /dev/null +++ b/community/emacs/APKBUILD @@ -0,0 +1,153 @@ +# Maintainer: stef <l0ls0fo2i@ctrlc.hu> +# Contributor: Timo Teräs <timo.teras@iki.fi> + +pkgname=emacs +pkgver=25.1 +pkgrel=0 +pkgdesc="The extensible, customizable, self-documenting real-time display editor" +arch="all" +depends="emacs-nox" +url="http://www.gnu.org/software/emacs/emacs.html" +license="GPL3" +makedepends="autoconf automake linux-headers paxmark gawk + librsvg-dev giflib-dev libxpm-dev gtk+2.0-dev gconf-dev alsa-lib-dev + imagemagick-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 + noaslr-dump.patch + musl.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 \ + "${@}" \ + || return 1 + 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 + cp -a nox gtk2 + cp -a nox x11 + _build_x11 || return 1 + _build_nox || return 1 + _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 +} + +md5sums="4f3d42fb22823a659e16bfa89078a74c emacs-25.1.tar.xz +c95bf3abad87ec6c74488ff1b7062dfa gamedir.patch +96eb456995fe4dfa7530bee8b54f1bd3 noaslr-dump.patch +eb965a14fc23c23d67e6210386147c67 musl.patch" +sha256sums="19f2798ee3bc26c95dca3303e7ab141e7ad65d6ea2b6945eeba4dbea7df48f33 emacs-25.1.tar.xz +e8e43127bfed67ce9e4ba1fcb9bf2f173771a667965f0bf75a26b5e43e3d602b gamedir.patch +f66b53fca3cd41b36943484f50e37a913be1f126a819b41b4d1b9a0b709c5979 noaslr-dump.patch +c53b38298af75b327e6bfcfc93f1de7815ad361d08ace03a68c5adbf63127297 musl.patch" +sha512sums="67442b9027869c44430e1d4c3e92e74601e667c9aef7e3da16f20a562b5e3fa8c64efdd4b4055919550523093d32eac73c094b644f6573fed41b4e0938668922 emacs-25.1.tar.xz +8898f309aeaf274366849bd5c56c8e2a1be94dfee2f01b20f1700bf26203f49b9600237e5090fc3d8eaad3ea246f803ffd493d0c04cb3512084a4e3bf58f8f5e gamedir.patch +d3a30a9bf7ef7349806a75ee919d6683a8000eb70f4c3040d149bd8911dc95b931a05c7cbf9f5b93176940ad87520dbb2ddef3b4136b0d5b140de0cdbc4b7a8f noaslr-dump.patch +4ec078f970c2d0ad9b082a613e7c7e64e40f37eaee96e67ab9b2e467595c74533f94ced74f6753e393a9c0ead88fad75adcfdd31be4295f5763292a6dd846fe8 musl.patch" diff --git a/community/emacs/gamedir.patch b/community/emacs/gamedir.patch new file mode 100644 index 0000000000..c1bcbadd63 --- /dev/null +++ b/community/emacs/gamedir.patch @@ -0,0 +1,11 @@ +diff -urw emacs-25.1/lib-src/Makefile.in emacs-25.1-gamedir/lib-src/Makefile.in +--- emacs-25.1/lib-src/Makefile.in 2016-06-29 09:49:18.000000000 +0000 ++++ emacs-25.1-gamedir/lib-src/Makefile.in 2016-10-24 15:37:46.718699816 +0000 +@@ -414,7 +414,6 @@ + + update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h) + $(AM_V_CCLD)$(CC) ${ALL_CFLAGS} \ +- -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \ + $< $(NTLIB) $(LOADLIBES) -o $@ + + emacsclient.res: ../nt/emacsclient.rc $(NTINC)/../icons/emacs.ico diff --git a/community/emacs/musl.patch b/community/emacs/musl.patch new file mode 100644 index 0000000000..7841d04e76 --- /dev/null +++ b/community/emacs/musl.patch @@ -0,0 +1,87 @@ +--- emacs-25.1/configure.ac 2016-07-25 07:08:36.000000000 +0000 ++++ emacs-25.1-musl/configure.ac 2016-10-24 15:38:00.518625055 +0000 +@@ -2133,7 +2133,7 @@ + + system_malloc=$emacs_cv_sanitize_address + +-hybrid_malloc= ++hybrid_malloc=yes + + case "$opsys" in + ## darwin ld insists on the use of malloc routines in the System framework. +--- emacs-25.1/src/Makefile.in 2016-06-29 09:49:20.000000000 +0000 ++++ emacs-25.1-musl/src/Makefile.in 2016-10-24 15:38:00.518625055 +0000 +@@ -398,6 +398,7 @@ + doprnt.o intervals.o textprop.o composite.o xml.o $(NOTIFY_OBJ) \ + $(XWIDGETS_OBJ) \ + profiler.o decompress.o \ ++ sheap.o \ + $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) \ + $(W32_OBJ) $(WINDOW_SYSTEM_OBJ) $(XGSELOBJ) + obj = $(base_obj) $(NS_OBJC_OBJ) +--- emacs-25.1/src/gmalloc.c 2016-06-29 09:49:22.000000000 +0000 ++++ emacs-25.1-musl/src/gmalloc.c 2016-10-24 15:38:00.518625055 +0000 +@@ -70,7 +70,7 @@ + #define aligned_alloc galigned_alloc + #define free gfree + +-#ifdef CYGWIN ++//#ifdef CYGWIN + extern void *bss_sbrk (ptrdiff_t size); + extern int bss_sbrk_did_unexec; + extern char bss_sbrk_buffer[]; +@@ -78,7 +78,7 @@ + #define DUMPED bss_sbrk_did_unexec + #define ALLOCATED_BEFORE_DUMPING(P) \ + ((P) < bss_sbrk_buffer_end && (P) >= (void *) bss_sbrk_buffer) +-#endif ++//#endif + + #ifdef __cplusplus + extern "C" +@@ -1523,16 +1523,19 @@ + __default_morecore (ptrdiff_t increment) + { + void *result; +-#if defined (CYGWIN) ++//#if defined (CYGWIN) + if (!DUMPED) + { + return bss_sbrk (increment); + } +-#endif ++//#endif ++#if 0 + result = (void *) __sbrk (increment); + if (result == (void *) -1) + return NULL; + return result; ++#endif ++ return NULL; + } + /* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. + +--- emacs-25.1/src/print.c 2016-06-29 09:49:22.000000000 +0000 ++++ emacs-25.1-musl/src/print.c 2016-10-24 15:38:00.518625055 +0000 +@@ -775,7 +775,7 @@ + print_output_debug_flag = x; + } + +-#if defined (GNU_LINUX) ++#if defined (GNU_LINUX) && defined (__GLIBC__) + + /* This functionality is not vitally important in general, so we rely on + non-portable ability to use stderr as lvalue. */ +--- emacs-25.1/src/unexelf.c 2016-06-29 09:49:23.000000000 +0000 ++++ emacs-25.1-musl/src/unexelf.c 2016-10-24 15:38:00.518625055 +0000 +@@ -227,6 +227,9 @@ + off_t new_file_size; + void *new_break; + ++ extern int bss_sbrk_did_unexec; ++ bss_sbrk_did_unexec = 1; ++ + /* Pointers to the base of the image of the two files. */ + caddr_t old_base, new_base; + + diff --git a/community/emacs/noaslr-dump.patch b/community/emacs/noaslr-dump.patch new file mode 100644 index 0000000000..b7dfcb5e78 --- /dev/null +++ b/community/emacs/noaslr-dump.patch @@ -0,0 +1,20 @@ +diff -urw emacs-25.1/src/Makefile.in emacs-25.1-noaslr-dump/src/Makefile.in +--- emacs-25.1/src/Makefile.in 2016-06-29 09:49:20.000000000 +0000 ++++ emacs-25.1-noaslr-dump/src/Makefile.in 2016-10-24 15:38:10.365238378 +0000 +@@ -532,6 +532,7 @@ + ifeq ($(CANNOT_DUMP),yes) + ln -f temacs$(EXEEXT) $@ + else ++ paxmark -r temacs$(EXEEXT) + LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump + ifneq ($(PAXCTL_dumped),) + $(PAXCTL_dumped) $@ +@@ -737,6 +738,7 @@ + ifeq ($(CANNOT_DUMP),yes) + ln -f temacs$(EXEEXT) $@ + else ++ paxmark -r temacs$(EXEEXT) + $(RUN_TEMACS) --batch --load loadup bootstrap + ifneq ($(PAXCTL_dumped),) + $(PAXCTL_dumped) emacs$(EXEEXT) +Only in emacs-25.1-noaslr-dump/src: Makefile.in.orig |